From 5793034b109789fc6acba562f46e6a450daad973 Mon Sep 17 00:00:00 2001 From: Alex Szabo Date: Wed, 13 Dec 2023 12:39:27 +0100 Subject: [PATCH 001/123] chore: re-resolve transitive dependency that breaks on CI (#173254) ## Summary Several cases of the cache population build is failing due to 401 on `https://packages.atlassian.com/api/npm/npm-remote`. It seems it's the only one artifact with that resolved path. After a forced re-resolution, this path goes away, so let's ditch it! It also seems to be present in `8.12` - so needs a backport See: - https://buildkite.com/elastic/kibana-macos-bazel-cache/builds/29364#018c6293-9782-4b89-aa59-6344ee6fe3a8 - https://buildkite.com/elastic/kibana-macos-bazel-cache/builds/29365#018c62a9-42c9-49b6-86ae-48f128131bbb - https://buildkite.com/elastic/kibana-macos-bazel-cache/builds/29366#018c62b7-776a-4239-94cf-065089a452ba --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index bf873a460349f..c0708f7153e9f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25694,9 +25694,9 @@ react-remove-scroll-bar@^2.3.4: tslib "^2.0.0" react-remove-scroll@^2.5.6: - version "2.5.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-remove-scroll/-/react-remove-scroll-2.5.6.tgz#7510b8079e9c7eebe00e65a33daaa3aa29a10336" - integrity sha512-bO856ad1uDYLefgArk559IzUNeQ6SWH4QnrevIUjH+GczV56giDfl3h0Idptf2oIKxQmd1p9BN25jleKodTALg== + version "2.5.7" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz#15a1fd038e8497f65a695bf26a4a57970cac1ccb" + integrity sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA== dependencies: react-remove-scroll-bar "^2.3.4" react-style-singleton "^2.2.1" From 5085d237d94de0a77f578e336f1c008e3c9a611f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Efe=20G=C3=BCrkan=20YALAMAN?= Date: Wed, 13 Dec 2023 12:40:33 +0100 Subject: [PATCH 002/123] [Enterprise Search] Kibana connector License updates. (#172930) Following connector configurations are updated. Azure Blob Storage Google Cloud Storage Postgres MSSQL Amazon S3 MongoDB MySQL Screenshot 2023-12-08 at 11 53 46 --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- packages/kbn-search-connectors/connectors.ts | 18 +- .../types/native_connectors.ts | 331 +++++++++++++++++- .../search_index/connector/constants.ts | 6 + 3 files changed, 339 insertions(+), 16 deletions(-) diff --git a/packages/kbn-search-connectors/connectors.ts b/packages/kbn-search-connectors/connectors.ts index 199a96308631c..998fc3bf2a2a7 100644 --- a/packages/kbn-search-connectors/connectors.ts +++ b/packages/kbn-search-connectors/connectors.ts @@ -25,7 +25,7 @@ export interface ConnectorServerSideDefinition { export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [ { iconPath: 'azure_blob_storage.svg', - isBeta: true, + isBeta: false, isNative: true, keywords: ['cloud', 'azure', 'blob', 's3', 'connector'], name: i18n.translate('searchConnectors.content.nativeConnectors.azureBlob.name', { @@ -76,8 +76,8 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [ }, { iconPath: 'google_cloud_storage.svg', - isBeta: true, - isNative: false, + isBeta: false, + isNative: true, keywords: ['google', 'cloud', 'blob', 's3', 'connector'], name: i18n.translate('searchConnectors.content.nativeConnectors.googleCloud.name', { defaultMessage: 'Google Cloud Storage', @@ -116,7 +116,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [ }, { iconPath: 'mssql.svg', - isBeta: true, + isBeta: false, isNative: true, keywords: ['mssql', 'microsoft', 'sql', 'database', 'connector'], name: i18n.translate('searchConnectors.content.nativeConnectors.microsoftSQL.name', { @@ -136,7 +136,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [ }, { iconPath: 'postgresql.svg', - isBeta: true, + isBeta: false, isNative: true, keywords: ['postgresql', 'sql', 'database', 'connector'], name: i18n.translate('searchConnectors.content.nativeConnectors.postgresql.name', { @@ -147,7 +147,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [ { iconPath: 'salesforce.svg', isBeta: true, - isNative: false, + isNative: true, isTechPreview: false, keywords: ['salesforce', 'cloud', 'connector'], name: i18n.translate('searchConnectors.content.nativeConnectors.salesforce.name', { @@ -191,7 +191,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [ { iconPath: 'oracle.svg', isBeta: true, - isNative: false, + isNative: true, keywords: ['oracle', 'sql', 'database', 'connector'], name: i18n.translate('searchConnectors.content.nativeConnectors.oracle.name', { defaultMessage: 'Oracle', @@ -210,8 +210,8 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [ }, { iconPath: 's3.svg', - isBeta: true, - isNative: false, + isBeta: false, + isNative: true, keywords: ['s3', 'cloud', 'amazon', 'connector'], name: i18n.translate('searchConnectors.content.nativeConnectors.s3.name', { defaultMessage: 'S3', diff --git a/packages/kbn-search-connectors/types/native_connectors.ts b/packages/kbn-search-connectors/types/native_connectors.ts index 232484011a1c1..b4efc74ba7969 100644 --- a/packages/kbn-search-connectors/types/native_connectors.ts +++ b/packages/kbn-search-connectors/types/native_connectors.ts @@ -489,6 +489,9 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record = { externalAuthDocsUrl: 'https://learn.microsoft.com/azure/storage/common/authorize-data-access', externalDocsUrl: 'https://learn.microsoft.com/azure/storage/blobs/', icon: CONNECTOR_ICONS.azure_blob_storage, + platinumOnly: true, }, box: { docsUrl: docLinks.connectorsBox, @@ -68,6 +69,7 @@ export const CONNECTORS_DICT: Record = { externalAuthDocsUrl: 'https://cloud.google.com/storage/docs/authentication', externalDocsUrl: 'https://cloud.google.com/storage/docs', icon: CONNECTOR_ICONS.google_cloud_storage, + platinumOnly: true, }, google_drive: { docsUrl: docLinks.connectorsGoogleDrive, @@ -88,6 +90,7 @@ export const CONNECTORS_DICT: Record = { externalAuthDocsUrl: 'https://www.mongodb.com/docs/atlas/app-services/authentication/', externalDocsUrl: 'https://www.mongodb.com/docs/', icon: CONNECTOR_ICONS.mongodb, + platinumOnly: true, }, mssql: { docsUrl: docLinks.connectorsMicrosoftSQL, @@ -95,11 +98,13 @@ export const CONNECTORS_DICT: Record = { 'https://learn.microsoft.com/sql/relational-databases/security/authentication-access/getting-started-with-database-engine-permissions', externalDocsUrl: 'https://learn.microsoft.com/sql/', icon: CONNECTOR_ICONS.microsoft_sql, + platinumOnly: true, }, mysql: { docsUrl: docLinks.connectorsMySQL, externalDocsUrl: 'https://dev.mysql.com/doc/', icon: CONNECTOR_ICONS.mysql, + platinumOnly: true, }, network_drive: { docsUrl: docLinks.connectorsNetworkDrive, @@ -140,6 +145,7 @@ export const CONNECTORS_DICT: Record = { externalAuthDocsUrl: 'https://docs.aws.amazon.com/s3/index.html', externalDocsUrl: '', icon: CONNECTOR_ICONS.amazon_s3, + platinumOnly: true, }, salesforce: { docsUrl: docLinks.connectorsSalesforce, From 86bdae2d25d763e2c3013229ebbfd25ec08dda22 Mon Sep 17 00:00:00 2001 From: Lola Date: Wed, 13 Dec 2023 06:45:13 -0500 Subject: [PATCH 003/123] [Cloud Security] address pr nit comments (#172853) ## Summary Summarize your PR. If it involves visual changes include a screenshot or gif. Address nit comments from [Compliance Dashboard UI/API PR](https://github.com/elastic/kibana/pull/171312) --- x-pack/plugins/cloud_security_posture/common/constants.ts | 2 ++ .../compliance_charts/compliance_score_chart.tsx | 4 ++-- .../server/routes/compliance_dashboard/get_trends.ts | 6 ++++-- .../server/tasks/findings_stats_task.ts | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/cloud_security_posture/common/constants.ts b/x-pack/plugins/cloud_security_posture/common/constants.ts index 770f4ef5d06e3..5e56b1131f10f 100644 --- a/x-pack/plugins/cloud_security_posture/common/constants.ts +++ b/x-pack/plugins/cloud_security_posture/common/constants.ts @@ -78,6 +78,8 @@ export const RULE_FAILED = `failed`; export const POSTURE_TYPE_ALL = 'all'; +export const CSPM_FINDINGS_STATS_INTERVAL = 5; + // A mapping of in-development features to their status. These features should be hidden from users but can be easily // activated via a simple code change in a single location. export const INTERNAL_FEATURE_FLAGS = { diff --git a/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/compliance_score_chart.tsx b/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/compliance_score_chart.tsx index 01821e04403ff..58c06b2d35e7d 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/compliance_score_chart.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/compliance_score_chart.tsx @@ -132,7 +132,7 @@ const CompactPercentageLabels = ({ ); -const NonCompactPercentageLabels = ({ +const PercentageLabels = ({ onEvalCounterClick, stats, }: { @@ -301,7 +301,7 @@ export const ComplianceScoreChart = ({ onEvalCounterClick={onEvalCounterClick} /> ) : ( - diff --git a/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_trends.ts b/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_trends.ts index 150c531f4a1fa..f0369dd3a562a 100644 --- a/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_trends.ts +++ b/x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/get_trends.ts @@ -7,10 +7,12 @@ import { ElasticsearchClient, Logger } from '@kbn/core/server'; import { calculatePostureScore } from '../../../common/utils/helpers'; -import { BENCHMARK_SCORE_INDEX_DEFAULT_NS } from '../../../common/constants'; +import { + BENCHMARK_SCORE_INDEX_DEFAULT_NS, + CSPM_FINDINGS_STATS_INTERVAL, +} from '../../../common/constants'; import type { PosturePolicyTemplate, Stats } from '../../../common/types_old'; import { toBenchmarkDocFieldKey } from '../../lib/mapping_field_util'; -import { CSPM_FINDINGS_STATS_INTERVAL } from '../../tasks/findings_stats_task'; interface FindingsDetails { total_findings: number; diff --git a/x-pack/plugins/cloud_security_posture/server/tasks/findings_stats_task.ts b/x-pack/plugins/cloud_security_posture/server/tasks/findings_stats_task.ts index c157e8081546a..93886c8f8acca 100644 --- a/x-pack/plugins/cloud_security_posture/server/tasks/findings_stats_task.ts +++ b/x-pack/plugins/cloud_security_posture/server/tasks/findings_stats_task.ts @@ -19,6 +19,7 @@ import { getIdentifierRuntimeMapping } from '../../common/runtime_mappings/get_i import { FindingsStatsTaskResult, ScoreByPolicyTemplateBucket, VulnSeverityAggs } from './types'; import { BENCHMARK_SCORE_INDEX_DEFAULT_NS, + CSPM_FINDINGS_STATS_INTERVAL, LATEST_FINDINGS_INDEX_DEFAULT_NS, LATEST_VULNERABILITIES_INDEX_DEFAULT_NS, VULNERABILITIES_SEVERITY, @@ -36,7 +37,6 @@ import { toBenchmarkMappingFieldKey } from '../lib/mapping_field_util'; const CSPM_FINDINGS_STATS_TASK_ID = 'cloud_security_posture-findings_stats'; const CSPM_FINDINGS_STATS_TASK_TYPE = 'cloud_security_posture-stats_task'; -export const CSPM_FINDINGS_STATS_INTERVAL = 5; export async function scheduleFindingsStatsTask( taskManager: TaskManagerStartContract, From e9e9041381c3cdaf9f8de052af723b1cfbc92803 Mon Sep 17 00:00:00 2001 From: Coen Warmer Date: Wed, 13 Dec 2023 13:24:09 +0100 Subject: [PATCH 004/123] Fix incorrectly passed doc_id param (#173180) --- .../public/hooks/use_create_knowledge_base_entry.ts | 2 +- .../components/knowledge_base_edit_manual_entry_flyout.tsx | 1 - .../public/routes/components/knowledge_base_tab.test.tsx | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/plugins/ai_assistant_management/observability/public/hooks/use_create_knowledge_base_entry.ts b/src/plugins/ai_assistant_management/observability/public/hooks/use_create_knowledge_base_entry.ts index 5d367a8e66023..9c68437774255 100644 --- a/src/plugins/ai_assistant_management/observability/public/hooks/use_create_knowledge_base_entry.ts +++ b/src/plugins/ai_assistant_management/observability/public/hooks/use_create_knowledge_base_entry.ts @@ -29,7 +29,7 @@ export function useCreateKnowledgeBaseEntry() { { entry: Omit< KnowledgeBaseEntry, - '@timestamp' | 'confidence' | 'is_correction' | 'public' | 'labels' | 'role' + '@timestamp' | 'confidence' | 'is_correction' | 'public' | 'labels' | 'role' | 'doc_id' >; } >( diff --git a/src/plugins/ai_assistant_management/observability/public/routes/components/knowledge_base_edit_manual_entry_flyout.tsx b/src/plugins/ai_assistant_management/observability/public/routes/components/knowledge_base_edit_manual_entry_flyout.tsx index 80918e00a768d..aa973bb4db940 100644 --- a/src/plugins/ai_assistant_management/observability/public/routes/components/knowledge_base_edit_manual_entry_flyout.tsx +++ b/src/plugins/ai_assistant_management/observability/public/routes/components/knowledge_base_edit_manual_entry_flyout.tsx @@ -50,7 +50,6 @@ export function KnowledgeBaseEditManualEntryFlyout({ createEntry({ entry: { id: newEntryId, - doc_id: newEntryId, text: newEntryText, }, }).then(onClose); diff --git a/src/plugins/ai_assistant_management/observability/public/routes/components/knowledge_base_tab.test.tsx b/src/plugins/ai_assistant_management/observability/public/routes/components/knowledge_base_tab.test.tsx index a7abaca3210f6..4a5ad8daf96d5 100644 --- a/src/plugins/ai_assistant_management/observability/public/routes/components/knowledge_base_tab.test.tsx +++ b/src/plugins/ai_assistant_management/observability/public/routes/components/knowledge_base_tab.test.tsx @@ -80,7 +80,7 @@ describe('KnowledgeBaseTab', () => { getByTestId('knowledgeBaseEditManualEntryFlyoutSaveButton').click(); - expect(createMock).toHaveBeenCalledWith({ entry: { id: 'foo', doc_id: 'foo', text: '' } }); + expect(createMock).toHaveBeenCalledWith({ entry: { id: 'foo', text: '' } }); }); }); From 5f6dfb63284ca9298696d29a528fc8ed8b4f71f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20St=C3=BCrmer?= Date: Wed, 13 Dec 2023 13:28:35 +0100 Subject: [PATCH 005/123] [Logs Explorer] Fix discover tab time range test (#173198) --- .../observability_log_explorer/header_menu.ts | 30 +++++++++++++++---- .../observability_log_explorer/index.ts | 1 - 2 files changed, 25 insertions(+), 6 deletions(-) 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 41a75282e22e9..4a71ac1fcb9bf 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 @@ -22,9 +22,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'svlCommonNavigation', ]); - // Failing: See https://github.com/elastic/kibana/issues/173165 - // Failing: See https://github.com/elastic/kibana/issues/173165 - describe.skip('Header menu', () => { + describe('Header menu', () => { before(async () => { await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/discover'); await esArchiver.load( @@ -52,7 +50,18 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('Discover fallback link', () => { before(async () => { - await PageObjects.observabilityLogExplorer.navigateTo(); + await PageObjects.observabilityLogExplorer.navigateTo({ + pageState: { + // avoid aligning with the test data, because that's what Discover + // does later in this test and we wouldn't be able to check the time + // range state transfer + time: { + from: '2023-08-03T00:00:00.000Z', + to: '2023-08-03T12:00:00.000Z', + mode: 'absolute', + }, + }, + }); await PageObjects.header.waitUntilLoadingHasFinished(); }); @@ -97,7 +106,18 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('Discover tabs', () => { before(async () => { - await PageObjects.observabilityLogExplorer.navigateTo(); + await PageObjects.observabilityLogExplorer.navigateTo({ + pageState: { + // avoid aligning with the test data, because that's what Discover + // does later in this test and we wouldn't be able to check the time + // range state transfer + time: { + from: '2023-08-03T00:00:00.000Z', + to: '2023-08-03T12:00:00.000Z', + mode: 'absolute', + }, + }, + }); await PageObjects.header.waitUntilLoadingHasFinished(); }); diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/index.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/index.ts index 9f3d9b7e39c86..ad6f7b7278e48 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/index.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/index.ts @@ -16,7 +16,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./filter_controls')); loadTestFile(require.resolve('./flyout')); loadTestFile(require.resolve('./header_menu')); - loadTestFile(require.resolve('./header_menu')); loadTestFile(require.resolve('./flyout_highlights.ts')); }); } From d28da807121b43f4c4b8a5a61b170e8f740f076b Mon Sep 17 00:00:00 2001 From: Coen Warmer Date: Wed, 13 Dec 2023 14:00:40 +0100 Subject: [PATCH 006/123] Onboarding Polish (#172974) --- .../public/assets/elastic_ai_assistant.png | Bin 70328 -> 95099 bytes .../action_menu_item/action_menu_item.tsx | 2 +- .../buttons/ask_assistant_button.tsx | 4 +- .../components/chat/chat_actions_menu.tsx | 18 +- .../public/components/chat/chat_body.tsx | 190 ++++++---- .../public/components/chat/chat_flyout.tsx | 11 +- .../public/components/chat/chat_header.tsx | 13 +- .../public/components/chat/chat_timeline.tsx | 77 ++-- .../components/chat/chat_welcome_panel.tsx | 52 --- .../public/components/chat/disclaimer.tsx | 30 +- .../components/chat/initial_setup_panel.tsx | 175 --------- .../components/chat/welcome_message.test.tsx | 355 ++++++++++++++++++ .../components/chat/welcome_message.tsx | 127 +++++++ .../chat/welcome_message_connectors.tsx | 79 ++++ .../chat/welcome_message_knowledge_base.tsx | 193 ++++++++++ ...ssage_knowledge_base_setup_error_panel.tsx | 151 ++++++++ .../public/hooks/use_knowledge_base.tsx | 18 +- .../server/routes/knowledge_base/route.ts | 10 +- .../service/knowledge_base_service/index.ts | 3 + .../translations/translations/fr-FR.json | 8 - .../translations/translations/ja-JP.json | 8 - .../translations/translations/zh-CN.json | 8 - 22 files changed, 1114 insertions(+), 418 deletions(-) delete mode 100644 x-pack/plugins/observability_ai_assistant/public/components/chat/chat_welcome_panel.tsx delete mode 100644 x-pack/plugins/observability_ai_assistant/public/components/chat/initial_setup_panel.tsx create mode 100644 x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message.test.tsx create mode 100644 x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message.tsx create mode 100644 x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_connectors.tsx create mode 100644 x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_knowledge_base.tsx create mode 100644 x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_knowledge_base_setup_error_panel.tsx diff --git a/x-pack/plugins/observability_ai_assistant/public/assets/elastic_ai_assistant.png b/x-pack/plugins/observability_ai_assistant/public/assets/elastic_ai_assistant.png index 63bd19136f512c4086db86fbfc6d10fdd1709f10..af1064557968369b9d426fde8eb9891240436f55 100644 GIT binary patch literal 95099 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≧cyL3ADuVDC5UQB;*_fCcrl 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

$JcxZ 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 literal 70328 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 diff --git a/x-pack/plugins/observability_ai_assistant/public/components/action_menu_item/action_menu_item.tsx b/x-pack/plugins/observability_ai_assistant/public/components/action_menu_item/action_menu_item.tsx index e77b055e568fa..119a87554d30e 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/action_menu_item/action_menu_item.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/action_menu_item/action_menu_item.tsx @@ -48,7 +48,7 @@ export function ObservabilityAIAssistantActionMenuItem() { {!isOpen || chatService.value ? ( ) : ( - + )} diff --git a/x-pack/plugins/observability_ai_assistant/public/components/buttons/ask_assistant_button.tsx b/x-pack/plugins/observability_ai_assistant/public/components/buttons/ask_assistant_button.tsx index f3ac2d2a735ad..e13ba34110434 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/buttons/ask_assistant_button.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/buttons/ask_assistant_button.tsx @@ -85,7 +85,7 @@ export function AskAssistantButton({ { + toggleActionsMenu(); + handleNavigateToSettings(); + }, + }, { name: (

@@ -86,15 +95,6 @@ export function ChatActionsMenu({ ), panel: 1, }, - { - name: i18n.translate('xpack.observabilityAiAssistant.chatHeader.actions.settings', { - defaultMessage: 'AI Assistant Settings', - }), - onClick: () => { - toggleActionsMenu(); - handleNavigateToSettings(); - }, - }, { name: i18n.translate( 'xpack.observabilityAiAssistant.chatHeader.actions.knowledgeBase', diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx index cf3b57e3ebed6..4a8081e5fb2eb 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx @@ -5,44 +5,48 @@ * 2.0. */ +import React, { useEffect, useRef, useState } from 'react'; +import { css, keyframes } from '@emotion/css'; import { EuiCallOut, EuiFlexGroup, EuiFlexItem, EuiHorizontalRule, - EuiLoadingSpinner, EuiPanel, EuiSpacer, } from '@elastic/eui'; -import { css } from '@emotion/css'; import type { AuthenticatedUser } from '@kbn/security-plugin/common'; import { euiThemeVars } from '@kbn/ui-theme'; -import React, { useEffect, useRef, useState } from 'react'; import { i18n } from '@kbn/i18n'; -import { Conversation, Message, MessageRole } from '../../../common/types'; import { ChatState } from '../../hooks/use_chat'; import { useConversation } from '../../hooks/use_conversation'; -import type { UseGenAIConnectorsResult } from '../../hooks/use_genai_connectors'; -import type { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base'; import { useLicense } from '../../hooks/use_license'; import { useObservabilityAIAssistantChatService } from '../../hooks/use_observability_ai_assistant_chat_service'; -import { StartedFrom } from '../../utils/get_timeline_items_from_conversation'; +import type { UseGenAIConnectorsResult } from '../../hooks/use_genai_connectors'; +import type { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base'; +import { type Conversation, type Message, MessageRole } from '../../../common/types'; import { ChatHeader } from './chat_header'; import { ChatPromptEditor } from './chat_prompt_editor'; import { ChatTimeline } from './chat_timeline'; +import { Feedback } from '../feedback_buttons'; import { IncorrectLicensePanel } from './incorrect_license_panel'; -import { InitialSetupPanel } from './initial_setup_panel'; -import { ChatActionClickType } from './types'; +import { WelcomeMessage } from './welcome_message'; import { EMPTY_CONVERSATION_TITLE } from '../../i18n'; -import { Feedback } from '../feedback_buttons'; import { MESSAGE_FEEDBACK } from '../../analytics/schema'; +import { ChatActionClickType } from './types'; +import type { StartedFrom } from '../../utils/get_timeline_items_from_conversation'; + +const fullHeightClassName = css` + height: 100%; +`; const timelineClassName = css` overflow-y: auto; `; -const loadingSpinnerContainerClassName = css` - align-self: center; +const promptEditorClassname = css` + overflow: hidden; + transition: height ${euiThemeVars.euiAnimSpeedFast} ${euiThemeVars.euiAnimSlightResistance}; `; const incorrectLicenseContainer = css` @@ -54,6 +58,29 @@ const chatBodyContainerClassNameWithError = css` align-self: center; `; +const promptEditorContainerClassName = css` + padding-top: 12px; + padding-bottom: 8px; +`; + +const fadeInAnimation = keyframes` + from { + opacity: 0; + transform: scale(0.9); + } + to { + opacity: 1; + transform: scale(1); + } +`; + +const animClassName = css` + height: 100%; + opacity: 0; + animation: ${fadeInAnimation} ${euiThemeVars.euiAnimSpeedNormal} + ${euiThemeVars.euiAnimSlightBounce} ${euiThemeVars.euiAnimSpeedNormal} forwards; +`; + export function ChatBody({ initialTitle, initialMessages, @@ -175,83 +202,86 @@ export function ChatBody({ ); - } else if ( - connectors.loading || - knowledgeBase.status.loading || - (!conversation.value && conversation.loading) - ) { - footer = ( - - - - ); - } else if (connectors.connectors?.length === 0 && !initialConversationId) { - footer = ( - - ); + } else if (!conversation.value && conversation.loading) { + footer = null; } else { footer = ( <> -
- - { - const indexOf = messages.indexOf(editedMessage); - next(messages.slice(0, indexOf).concat(newMessage)); - }} - onFeedback={handleFeedback} - onRegenerate={(message) => { - const indexOf = messages.indexOf(message); - next(messages.slice(0, indexOf)); - }} - onStopGenerating={() => { - stop(); - }} - onActionClick={(payload) => { - setStickToBottom(true); - switch (payload.type) { - case ChatActionClickType.executeEsqlQuery: - next( - messages.concat({ - '@timestamp': new Date().toISOString(), - message: { - role: MessageRole.Assistant, - content: '', - function_call: { - name: 'execute_query', - arguments: JSON.stringify({ - query: payload.query, - }), - trigger: MessageRole.User, +
+ + {connectors.connectors?.length === 0 || messages.length === 1 ? ( + + ) : ( + { + const indexOf = messages.indexOf(editedMessage); + next(messages.slice(0, indexOf).concat(newMessage)); + }} + onFeedback={handleFeedback} + onRegenerate={(message) => { + const indexOf = messages.indexOf(message); + next(messages.slice(0, indexOf)); + }} + onStopGenerating={() => { + stop(); + }} + onActionClick={(payload) => { + setStickToBottom(true); + switch (payload.type) { + case ChatActionClickType.executeEsqlQuery: + next( + messages.concat({ + '@timestamp': new Date().toISOString(), + message: { + role: MessageRole.Assistant, + content: '', + function_call: { + name: 'execute_query', + arguments: JSON.stringify({ + query: payload.query, + }), + trigger: MessageRole.User, + }, }, - }, - }) - ); - break; - } - }} - /> + }) + ); + break; + } + }} + /> + )}
- + + - - - + void; }) { - const { euiTheme } = useEuiTheme(); const { services: { http }, } = useKibana(); + const { euiTheme } = useEuiTheme(); + const currentUser = useCurrentUser(); const connectors = useGenAIConnectors(); @@ -54,6 +55,12 @@ export function ChatFlyout({ const [conversationId, setConversationId] = useState(undefined); + const conversationsHeaderClassName = css` + padding-top: 12px; + padding-bottom: 12px; + border-bottom: solid 1px ${euiTheme.border.color}; + `; + return isOpen ? ( {conversationId ? ( (null); return ( - + {loading ? : } diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx index 065208695349d..c956f6d9cf9cc 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx @@ -9,19 +9,18 @@ import React, { ReactNode, useMemo } from 'react'; import { css } from '@emotion/css'; import { EuiCommentList } from '@elastic/eui'; import type { AuthenticatedUser } from '@kbn/security-plugin/common'; -import { ChatItem } from './chat_item'; -import { ChatWelcomePanel } from './chat_welcome_panel'; -import { ChatConsolidatedItems } from './chat_consolidated_items'; import type { Feedback } from '../feedback_buttons'; -import { type Message } from '../../../common'; +import type { Message } from '../../../common'; import type { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base'; import type { ChatActionClickHandler } from './types'; +import type { ObservabilityAIAssistantChatService } from '../../types'; +import { ChatItem } from './chat_item'; +import { ChatConsolidatedItems } from './chat_consolidated_items'; +import { ChatState } from '../../hooks/use_chat'; import { getTimelineItemsfromConversation, StartedFrom, } from '../../utils/get_timeline_items_from_conversation'; -import { ObservabilityAIAssistantChatService } from '../../types'; -import { ChatState } from '../../hooks/use_chat'; export interface ChatTimelineItem extends Pick { @@ -107,44 +106,40 @@ export function ChatTimeline({ return ( - {items.length <= 1 ? ( - - ) : ( - items.map((item, index) => { - return Array.isArray(item) ? ( - - ) : ( - { - onFeedback(item.message, feedback); - }} - onRegenerateClick={() => { - onRegenerate(item.message); - }} - onEditSubmit={(message) => { - onEdit(item.message, message); - }} - onStopGeneratingClick={onStopGenerating} - onActionClick={onActionClick} - /> - ); - }) - )} + {items.map((item, index) => { + return Array.isArray(item) ? ( + + ) : ( + { + onFeedback(item.message, feedback); + }} + onRegenerateClick={() => { + onRegenerate(item.message); + }} + onEditSubmit={(message) => { + onEdit(item.message, message); + }} + onStopGeneratingClick={onStopGenerating} + onActionClick={onActionClick} + /> + ); + })} ); } diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_welcome_panel.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_welcome_panel.tsx deleted file mode 100644 index 141551b511cb5..0000000000000 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_welcome_panel.tsx +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; -import { EuiButton, EuiFlexGroup, EuiPanel } from '@elastic/eui'; -import { css } from '@emotion/css'; -import { i18n } from '@kbn/i18n'; -import { euiThemeVars } from '@kbn/ui-theme'; -import { Disclaimer } from './disclaimer'; -import type { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base'; - -const incorrectLicenseContainer = css` - height: 100%; - padding: ${euiThemeVars.euiPanelPaddingModifiers.paddingMedium}; -`; - -export function ChatWelcomePanel({ knowledgeBase }: { knowledgeBase: UseKnowledgeBaseResult }) { - return ( - - - - - {!knowledgeBase.status.value?.ready ? ( - - {i18n.translate( - 'xpack.observabilityAiAssistant.chatWelcomePanel.knowledgeBase.buttonLabel.notInstalledYet', - { - defaultMessage: 'Set up knowledge base', - } - )} - - ) : null} - - - ); -} diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/disclaimer.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/disclaimer.tsx index f92ea0d5913cc..e4eb5176469de 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/disclaimer.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/disclaimer.tsx @@ -6,27 +6,21 @@ */ import React from 'react'; -import { EuiImage, EuiText, EuiTitle } from '@elastic/eui'; +import { EuiText } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import ctaImage from '../../assets/elastic_ai_assistant.png'; export function Disclaimer() { return ( - <> - - -

- {i18n.translate('xpack.observabilityAiAssistant.disclaimer.title', { - defaultMessage: 'Welcome to the Elastic AI Assistant for Observability', - })} -

-
- - {i18n.translate('xpack.observabilityAiAssistant.disclaimer.thisChatIsPoweredTextLabel', { - defaultMessage: - 'This chat is powered by an integration with your LLM provider. LLMs are known to produce hallucinations. Elastic supports the configuration and connection to the LLM provider and to your Knowledge base, but is not responsible for the LLM responses.', - })} - - + + {i18n.translate('xpack.observabilityAiAssistant.disclaimer.disclaimerLabel', { + defaultMessage: + "This chat is powered by an integration with your LLM provider. LLMs are known to sometimes present incorrect information as if it's correct. Elastic supports configuration and connection to the LLM provider and your knowledge base, but is not responsible for the LLM's responses.", + })} + ); } diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/initial_setup_panel.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/initial_setup_panel.tsx deleted file mode 100644 index 28c33d2b79699..0000000000000 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/initial_setup_panel.tsx +++ /dev/null @@ -1,175 +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, { useState } from 'react'; -import { - EuiBetaBadge, - EuiButton, - EuiCard, - EuiFlexGroup, - EuiFlexItem, - EuiIcon, - EuiPanel, - EuiSpacer, - EuiText, -} from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; -import type { ActionConnector } from '@kbn/triggers-actions-ui-plugin/public'; -import { ConnectorSelectorBase } from '../connector_selector/connector_selector_base'; -import { Disclaimer } from './disclaimer'; -import { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base'; -import { StartedFrom } from '../../utils/get_timeline_items_from_conversation'; -import { useKibana } from '../../hooks/use_kibana'; -import type { UseGenAIConnectorsResult } from '../../hooks/use_genai_connectors'; - -export function InitialSetupPanel({ - connectors, - startedFrom, -}: { - connectors: UseGenAIConnectorsResult; - connectorsManagementHref: string; - knowledgeBase: UseKnowledgeBaseResult; - startedFrom?: StartedFrom; -}) { - const [connectorFlyoutOpen, setConnectorFlyoutOpen] = useState(false); - - const { - application: { navigateToApp, capabilities }, - triggersActionsUi: { getAddConnectorFlyout: ConnectorFlyout }, - } = useKibana().services; - - const handleConnectorClick = () => { - if (capabilities.management?.insightsAndAlerting?.triggersActions) { - setConnectorFlyoutOpen(true); - } else { - navigateToApp('management', { - path: '/insightsAndAlerting/triggersActionsConnectors/connectors', - }); - } - }; - - const onConnectorCreated = (createdConnector: ActionConnector) => { - setConnectorFlyoutOpen(false); - - if (createdConnector.actionTypeId === '.gen-ai') { - connectors.reloadConnectors(); - } - }; - - return ( - <> - - - - - - - {i18n.translate('xpack.observabilityAiAssistant.initialSetupPanel.title', { - defaultMessage: 'Start your Al experience with Elastic by completing the steps below.', - })} - - - - - - - } - title={i18n.translate( - 'xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.title', - { - defaultMessage: 'Connector setup', - } - )} - description={ - !connectors.connectors?.length ? ( - <> - - {i18n.translate( - 'xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description1', - { - defaultMessage: 'Set up an OpenAI connector with your AI provider.', - } - )} - - - - {i18n.translate( - 'xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description2', - { - defaultMessage: - 'The OpenAI model needs to support function calls. We strongly recommend using GPT4.', - } - )} - - - - ) : connectors.connectors.length && !connectors.selectedConnector ? ( - - {i18n.translate( - 'xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description', - { - defaultMessage: 'Please select a provider.', - } - )} - - ) : undefined - } - footer={ - !connectors.connectors?.length ? ( - - {i18n.translate( - 'xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.buttonLabel', - { - defaultMessage: 'Set up OpenAI connector', - } - )} - - ) : connectors.connectors.length && !connectors.selectedConnector ? ( - - ) : null - } - /> - - - - - - - {i18n.translate('xpack.observabilityAiAssistant.initialSetupPanel.disclaimer', { - defaultMessage: - 'The AI provider that is configured may collect telemetry when using the Elastic AI Assistant. Contact your AI provider for information on how data is collected.', - })} - - - - {connectorFlyoutOpen ? ( - setConnectorFlyoutOpen(false)} - onConnectorCreated={onConnectorCreated} - /> - ) : null} - - ); -} diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message.test.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message.test.tsx new file mode 100644 index 0000000000000..ce18f0fb0878d --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message.test.tsx @@ -0,0 +1,355 @@ +/* + * 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, render as rtlRender } from '@testing-library/react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; +import { waitForEuiPopoverClose, waitForEuiPopoverOpen } from '@elastic/eui/lib/test/rtl'; +import { WelcomeMessage } from './welcome_message'; +import { useKibana } from '../../hooks/use_kibana'; +import type { + MlDeploymentAllocationState, + MlDeploymentState, +} from '@elastic/elasticsearch/lib/api/types'; + +jest.mock('../../hooks/use_kibana'); + +const useKibanaMock = useKibana as jest.Mock; +const navigateToApp = jest.fn(); + +const reloadConnectors = jest.fn(); +const selectConnector = jest.fn(); +const install = jest.fn().mockResolvedValue(undefined); +const refresh = jest.fn(); + +const baseKnowledgeBase = { + install, +}; + +const emptyKnowledgeBase = { + ...baseKnowledgeBase, + status: { value: { ready: false }, loading: false, refresh }, + isInstalling: false, + installError: undefined, +}; + +const installingKnowledgeBase = { + ...baseKnowledgeBase, + status: { value: { ready: false }, loading: false, refresh }, + isInstalling: true, + installError: undefined, +}; + +const loadingKnowledgeBase = { + ...baseKnowledgeBase, + status: { value: { ready: false }, loading: true, refresh }, + isInstalling: false, + installError: undefined, +}; + +const installedKnowledgeBase = { + ...baseKnowledgeBase, + status: { + value: { + ready: true, + model_name: 'foo', + deployment_state: 'started' as MlDeploymentState, + allocation_state: 'allocated' as MlDeploymentAllocationState, + }, + loading: false, + refresh, + }, + isInstalling: false, + installError: undefined, +}; + +const baseConnectors = { + reloadConnectors, + selectConnector, + loading: false, +}; + +const emptyConnectors = { + ...baseConnectors, + connectors: [], +}; + +const filledConnectors = { + ...baseConnectors, + connectors: [ + { + id: 'test', + actionTypeId: 'test', + name: 'test', + referencedByCount: 0, + isPreconfigured: false, + isDeprecated: false, + isSystemAction: false, + }, + ], +}; + +const render = (component: React.ReactElement) => { + return rtlRender({component}); +}; + +describe('Welcome Message', () => { + beforeEach(() => { + useKibanaMock.mockReturnValue({ + services: { + application: { navigateToApp, capabilities: {} }, + http: { basePath: { prepend: jest.fn((path: string) => `/${path}`) } }, + triggersActionsUi: { + getAddConnectorFlyout: () => , + }, + }, + }); + }); + + describe('when no connectors are available', () => { + it('should show a disclaimer', () => { + const { getByTestId } = render( + + ); + + expect(getByTestId('observabilityAiAssistantDisclaimer')).toBeInTheDocument(); + }); + + it('should show a set up connector button', () => { + const { getByTestId } = render( + + ); + + expect( + getByTestId('observabilityAiAssistantInitialSetupPanelSetUpGenerativeAiConnectorButton') + ).toBeInTheDocument(); + }); + + describe('when no triggersactionsUi capabilities are available', () => { + it('should navigate to stack management', () => { + const { getByTestId } = render( + + ); + + fireEvent.click( + getByTestId('observabilityAiAssistantInitialSetupPanelSetUpGenerativeAiConnectorButton') + ); + + expect(navigateToApp).toHaveBeenCalledWith('management', { + path: '/insightsAndAlerting/triggersActionsConnectors/connectors', + }); + }); + }); + + describe('when triggersactionsUi capabilities are available', () => { + beforeEach(() => { + useKibanaMock.mockReturnValue({ + services: { + application: { + navigateToApp, + capabilities: { + management: { + insightsAndAlerting: { + triggersActions: true, + }, + }, + }, + }, + triggersActionsUi: { + getAddConnectorFlyout: () => , + }, + }, + }); + }); + + it('should render a connector flyout when clicking the set up connector button', () => { + const { getByTestId } = render( + + ); + + fireEvent.click( + getByTestId('observabilityAiAssistantInitialSetupPanelSetUpGenerativeAiConnectorButton') + ); + + expect(getByTestId('connectorFlyout')).toBeInTheDocument(); + }); + + describe('when creating a new connector', () => { + // it('should call reloadConnectors and install knowledge base', () => { + // const { getByTestId } = render( + // + // ); + // fireEvent.click( + // getByTestId('observabilityAiAssistantInitialSetupPanelSetUpGenerativeAiConnectorButton') + // ); + // fireEvent.click(getByTestId('connectorFlyout')); + // expect(reloadConnectors).toHaveBeenCalled(); + // expect(install).toHaveBeenCalled(); + // }); + // it('should install the knowledge base', () => { + // const { getByTestId } = render( + // + // ); + // fireEvent.click( + // getByTestId('observabilityAiAssistantInitialSetupPanelSetUpGenerativeAiConnectorButton') + // ); + // fireEvent.click(getByTestId('connectorFlyout')); + // expect(install).toHaveBeenCalled(); + // }); + }); + }); + }); + + describe('when connectors are available', () => { + it('should show a disclaimer', () => { + const { getByTestId } = render( + + ); + + expect(getByTestId('observabilityAiAssistantDisclaimer')).toBeInTheDocument(); + }); + + describe('when knowledge base is not installed', () => { + it('should render the retry and inspect errors buttons', () => { + const { getByTestId } = render( + + ); + + expect( + getByTestId('observabilityAiAssistantWelcomeMessageSetUpKnowledgeBaseButton') + ).toBeInTheDocument(); + + expect( + getByTestId('observabilityAiAssistantWelcomeMessageInspectErrorsButton') + ).toBeInTheDocument(); + }); + + it('should call kb install when clicking retry', async () => { + const { getByTestId } = render( + + ); + + await act(async () => { + fireEvent.click( + getByTestId('observabilityAiAssistantWelcomeMessageSetUpKnowledgeBaseButton') + ); + expect(install).toBeCalled(); + }); + }); + + it('should render a popover with installation errors when clicking inspect', async () => { + const { getByTestId } = render( + + ); + + fireEvent.click(getByTestId('observabilityAiAssistantWelcomeMessageInspectErrorsButton')); + + await waitForEuiPopoverOpen(); + + expect( + getByTestId('observabilityAiAssistantWelcomeMessageKnowledgeBaseSetupErrorPanel') + ).toBeInTheDocument(); + + fireEvent.click( + getByTestId( + 'observabilityAiAssistantWelcomeMessageKnowledgeBaseSetupErrorPanelRetryInstallingLink' + ) + ); + + await waitForEuiPopoverClose(); + + expect(install).toBeCalled(); + }); + + it('should navigate to ML when clicking the link in the error popover', async () => { + const { getByTestId } = render( + + ); + + fireEvent.click(getByTestId('observabilityAiAssistantWelcomeMessageInspectErrorsButton')); + + await waitForEuiPopoverOpen(); + + const link = getByTestId('observabilityAiAssistantWelcomeMessageTrainedModelsLink'); + + expect(link).toHaveProperty('href', 'http://app/ml/trained_models'); + }); + }); + }); + + describe('when knowledge base is installing', () => { + it('should not show a failure message', () => { + const { queryByTestId } = render( + + ); + + expect( + queryByTestId('observabilityAiAssistantWelcomeMessageSetUpKnowledgeBaseButton') + ).not.toBeInTheDocument(); + + expect( + queryByTestId('observabilityAiAssistantWelcomeMessageInspectErrorsButton') + ).not.toBeInTheDocument(); + }); + + it('should show a disclaimer', () => { + const { getByTestId } = render( + + ); + + expect(getByTestId('observabilityAiAssistantDisclaimer')).toBeInTheDocument(); + }); + }); + + describe('when knowledge base is loading', () => { + it('should not show a failure message', () => { + const { queryByTestId } = render( + + ); + + expect( + queryByTestId('observabilityAiAssistantWelcomeMessageSetUpKnowledgeBaseButton') + ).not.toBeInTheDocument(); + + expect( + queryByTestId('observabilityAiAssistantWelcomeMessageInspectErrorsButton') + ).not.toBeInTheDocument(); + }); + + it('should show a disclaimer', () => { + const { getByTestId } = render( + + ); + + expect(getByTestId('observabilityAiAssistantDisclaimer')).toBeInTheDocument(); + }); + }); + + describe('when knowledge base is installed', () => { + it('should not show a failure message', () => { + const { queryByTestId } = render( + + ); + + expect( + queryByTestId('observabilityAiAssistantWelcomeMessageSetUpKnowledgeBaseButton') + ).not.toBeInTheDocument(); + + expect( + queryByTestId('observabilityAiAssistantWelcomeMessageInspectErrorsButton') + ).not.toBeInTheDocument(); + }); + + it('should show a disclaimer', () => { + const { getByTestId } = render( + + ); + + expect(getByTestId('observabilityAiAssistantDisclaimer')).toBeInTheDocument(); + }); + }); +}); diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message.tsx new file mode 100644 index 0000000000000..afd9cbdf0e76e --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message.tsx @@ -0,0 +1,127 @@ +/* + * 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, { useState } from 'react'; +import { css } from '@emotion/css'; +import { + EuiFlexGroup, + EuiFlexItem, + EuiImage, + EuiSpacer, + EuiTitle, + useCurrentEuiBreakpoint, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import type { ActionConnector } from '@kbn/triggers-actions-ui-plugin/public'; +import type { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base'; +import type { UseGenAIConnectorsResult } from '../../hooks/use_genai_connectors'; +import ctaImage from '../../assets/elastic_ai_assistant.png'; +import { Disclaimer } from './disclaimer'; +import { WelcomeMessageConnectors } from './welcome_message_connectors'; +import { WelcomeMessageKnowledgeBase } from './welcome_message_knowledge_base'; +import { useKibana } from '../../hooks/use_kibana'; + +const fullHeightClassName = css` + height: 100%; +`; + +const centerMaxWidthClassName = css` + max-width: 600px; + text-align: center; +`; + +export function WelcomeMessage({ + connectors, + knowledgeBase, +}: { + connectors: UseGenAIConnectorsResult; + knowledgeBase: UseKnowledgeBaseResult; +}) { + const breakpoint = useCurrentEuiBreakpoint(); + + const { + application: { navigateToApp, capabilities }, + triggersActionsUi: { getAddConnectorFlyout: ConnectorFlyout }, + } = useKibana().services; + + const [connectorFlyoutOpen, setConnectorFlyoutOpen] = useState(false); + + const handleConnectorClick = () => { + if (capabilities.management?.insightsAndAlerting?.triggersActions) { + setConnectorFlyoutOpen(true); + } else { + navigateToApp('management', { + path: '/insightsAndAlerting/triggersActionsConnectors/connectors', + }); + } + }; + + const onConnectorCreated = (createdConnector: ActionConnector) => { + setConnectorFlyoutOpen(false); + + if (createdConnector.actionTypeId === '.gen-ai') { + connectors.reloadConnectors(); + } + + if (!knowledgeBase.status.value || knowledgeBase.status.value?.ready === false) { + knowledgeBase.install(); + } + }; + + return ( + <> + + + + + + + + + +

+ {i18n.translate('xpack.observabilityAiAssistant.disclaimer.title', { + defaultMessage: 'Welcome to the AI Assistant for Observability', + })} +

+
+ + + + + + +
+ + + + + +
+ + {connectorFlyoutOpen ? ( + setConnectorFlyoutOpen(false)} + /> + ) : null} + + ); +} diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_connectors.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_connectors.tsx new file mode 100644 index 0000000000000..314a1f853bb7a --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_connectors.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { css, keyframes } from '@emotion/css'; +import { EuiBetaBadge, EuiButton, EuiSpacer, EuiText } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { euiThemeVars } from '@kbn/ui-theme'; +import type { UseGenAIConnectorsResult } from '../../hooks/use_genai_connectors'; + +const fadeInAnimation = keyframes` + from { + opacity: 0; + } + to { + opacity: 1; + } +`; + +const fadeInClassName = css` + animation: ${fadeInAnimation} ${euiThemeVars.euiAnimSpeedNormal} ease-in-out; +`; + +export function WelcomeMessageConnectors({ + connectors, + onSetupConnectorClick, +}: { + connectors: UseGenAIConnectorsResult; + onSetupConnectorClick?: () => void; +}) { + return !connectors.loading && connectors.connectors?.length === 0 && onSetupConnectorClick ? ( +
+ + {i18n.translate( + 'xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description2', + { + defaultMessage: + 'Start working with the Elastic AI Assistant by setting up a connector for your AI provider. The OpenAI model needs to support function calls. We strongly recommend using GPT4.', + } + )} + + + + + +
+ + {i18n.translate( + 'xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.buttonLabel', + { + defaultMessage: 'Set up GenAI connector', + } + )} + +
+
+ ) : null; +} diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_knowledge_base.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_knowledge_base.tsx new file mode 100644 index 0000000000000..849a07b7cabfc --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_knowledge_base.tsx @@ -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 React, { useEffect, useState } from 'react'; +import { noop } from 'lodash'; +import { i18n } from '@kbn/i18n'; +import { + EuiButton, + EuiButtonEmpty, + EuiFlexGroup, + EuiFlexItem, + EuiIcon, + EuiPopover, + EuiSpacer, + EuiText, +} from '@elastic/eui'; +import usePrevious from 'react-use/lib/usePrevious'; +import useTimeoutFn from 'react-use/lib/useTimeoutFn'; +import useInterval from 'react-use/lib/useInterval'; +import { WelcomeMessageKnowledgeBaseSetupErrorPanel } from './welcome_message_knowledge_base_setup_error_panel'; +import type { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base'; +import type { UseGenAIConnectorsResult } from '../../hooks/use_genai_connectors'; + +export function WelcomeMessageKnowledgeBase({ + connectors, + knowledgeBase, +}: { + connectors: UseGenAIConnectorsResult; + knowledgeBase: UseKnowledgeBaseResult; +}) { + const previouslyNotInstalled = usePrevious(knowledgeBase.status.value?.ready === false); + const [showHasBeenInstalled, setShowHasBeenInstalled] = useState(false); + const [timeoutTime, setTimeoutTime] = useState(0); + const [, , reset] = useTimeoutFn(() => setShowHasBeenInstalled(false), timeoutTime); + + const [isPopoverOpen, setIsPopoverOpen] = useState(false); + const handleClosePopover = () => setIsPopoverOpen(false); + + const [checkForInstallStatus, setCheckForInstallStatus] = useState(false); + + // When the knowledge base is installed, show a success message for 3 seconds + useEffect(() => { + if (previouslyNotInstalled && knowledgeBase.status.value?.ready) { + setTimeoutTime(3000); + reset(); + setShowHasBeenInstalled(true); + } + }, [knowledgeBase.status.value?.ready, previouslyNotInstalled, reset]); + + // When the knowledge base is installed, stop checking for install status + useEffect(() => { + if (!checkForInstallStatus && knowledgeBase.status.value?.ready) { + setCheckForInstallStatus(false); + } + }, [checkForInstallStatus, knowledgeBase.status.value?.ready]); + + // Check for install status every 5 seconds + useInterval( + () => { + knowledgeBase.status.refresh(); + }, + checkForInstallStatus ? 5000 : null + ); + + const handleRetryInstall = async () => { + setCheckForInstallStatus(true); + setIsPopoverOpen(false); + + await knowledgeBase.install().then(() => { + setCheckForInstallStatus(false); + }); + }; + + return knowledgeBase.status.value?.ready !== undefined ? ( + <> + {knowledgeBase.isInstalling ? ( + <> + + {i18n.translate( + 'xpack.observabilityAiAssistant.welcomeMessage.weAreSettingUpTextLabel', + { + defaultMessage: + 'We are setting up your knowledge base. This may take a few minutes. You can continue to use the Assistant while this process is underway.', + } + )} + + + + + + {i18n.translate( + 'xpack.observabilityAiAssistant.welcomeMessage.div.settingUpKnowledgeBaseLabel', + { defaultMessage: 'Setting up Knowledge base' } + )} + + + ) : null} + + {connectors.connectors?.length ? ( + (!knowledgeBase.isInstalling && knowledgeBase.installError) || + (!knowledgeBase.isInstalling && + knowledgeBase.status.loading === false && + knowledgeBase.status.value.ready === false) ? ( + <> + + {i18n.translate( + 'xpack.observabilityAiAssistant.welcomeMessageKnowledgeBase.yourKnowledgeBaseIsNotSetUpCorrectlyLabel', + { defaultMessage: 'Your Knowledge base is not set up correctly' } + )} + + + + + + +
+ + {i18n.translate( + 'xpack.observabilityAiAssistant.welcomeMessage.retryButtonLabel', + { + defaultMessage: 'Retry install', + } + )} + +
+
+ + + setIsPopoverOpen(!isPopoverOpen)} + > + {i18n.translate( + 'xpack.observabilityAiAssistant.welcomeMessage.inspectErrorsButtonEmptyLabel', + { defaultMessage: 'Inspect issues' } + )} + + } + isOpen={isPopoverOpen} + panelPaddingSize="none" + closePopover={handleClosePopover} + > + + + +
+ + + + ) : null + ) : null} + + {showHasBeenInstalled ? ( +
+ + + + + + + {i18n.translate( + 'xpack.observabilityAiAssistant.welcomeMessage.knowledgeBaseSuccessfullyInstalledLabel', + { defaultMessage: 'Knowledge base successfully installed' } + )} + + + +
+ ) : null} + + ) : null; +} diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_knowledge_base_setup_error_panel.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_knowledge_base_setup_error_panel.tsx new file mode 100644 index 0000000000000..a9a6fcff85240 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/welcome_message_knowledge_base_setup_error_panel.tsx @@ -0,0 +1,151 @@ +/* + * 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 { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { + EuiCode, + EuiDescriptionList, + EuiDescriptionListTitle, + EuiDescriptionListDescription, + EuiLink, + EuiSpacer, + EuiIcon, + EuiText, + EuiHorizontalRule, + EuiPanel, +} from '@elastic/eui'; +import { css } from '@emotion/css'; +import { useKibana } from '../../hooks/use_kibana'; +import type { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base'; + +const panelContainerClassName = css` + width: 330px; +`; + +export function WelcomeMessageKnowledgeBaseSetupErrorPanel({ + knowledgeBase, + onRetryInstall, +}: { + knowledgeBase: UseKnowledgeBaseResult; + onRetryInstall: () => void; +}) { + const { http } = useKibana().services; + + const modelName = knowledgeBase.status.value?.model_name; + + return ( +
+ + + + {i18n.translate( + 'xpack.observabilityAiAssistant.welcomeMessage.issuesDescriptionListTitleLabel', + { defaultMessage: 'Issues' } + )} + + + + + +
    + {!knowledgeBase.status.value?.deployment_state ? ( +
  • + {' '} + {modelName}, + }} + /> +
  • + ) : null} + + {knowledgeBase.status.value?.deployment_state && + knowledgeBase.status.value.deployment_state !== 'started' ? ( +
  • + {' '} + {modelName}, + deploymentState: ( + {knowledgeBase.status.value?.deployment_state} + ), + }} + /> +
  • + ) : null} + + {knowledgeBase.status.value?.allocation_state && + knowledgeBase.status.value.allocation_state !== 'fully_allocated' ? ( +
  • + {' '} + {modelName}, + allocationState: ( + {knowledgeBase.status.value?.allocation_state} + ), + }} + /> +
  • + ) : null} +
+
+
+
+ + + + + + + {i18n.translate( + 'xpack.observabilityAiAssistant.welcomeMessageKnowledgeBaseSetupErrorPanel.retryInstallingLinkLabel', + { defaultMessage: 'Retry install' } + )} + + ), + trainedModelsLink: ( + + {i18n.translate( + 'xpack.observabilityAiAssistant.welcomeMessage.trainedModelsLinkLabel', + { defaultMessage: 'Trained Models' } + )} + + ), + }} + /> + + +
+ ); +} diff --git a/x-pack/plugins/observability_ai_assistant/public/hooks/use_knowledge_base.tsx b/x-pack/plugins/observability_ai_assistant/public/hooks/use_knowledge_base.tsx index 84cc7fd2a9932..4035a8461098c 100644 --- a/x-pack/plugins/observability_ai_assistant/public/hooks/use_knowledge_base.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/hooks/use_knowledge_base.tsx @@ -5,6 +5,10 @@ * 2.0. */ import { i18n } from '@kbn/i18n'; +import type { + MlDeploymentAllocationState, + MlDeploymentState, +} from '@elastic/elasticsearch/lib/api/types'; import { useMemo, useState } from 'react'; import { AbortableAsyncState, useAbortableAsync } from './use_abortable_async'; import { useKibana } from './use_kibana'; @@ -14,8 +18,9 @@ export interface UseKnowledgeBaseResult { status: AbortableAsyncState<{ ready: boolean; error?: any; - deployment_state?: string; - allocation_state?: string; + deployment_state?: MlDeploymentState; + allocation_state?: MlDeploymentAllocationState; + model_name?: string; }>; isInstalling: boolean; installError?: Error; @@ -50,15 +55,6 @@ export function useKnowledgeBase(): UseKnowledgeBaseResult { }) .then(() => { status.refresh(); - toasts.addSuccess({ - title: i18n.translate('xpack.observabilityAiAssistant.knowledgeBaseReadyTitle', { - defaultMessage: 'Knowledge base is ready', - }), - text: i18n.translate('xpack.observabilityAiAssistant.knowledgeBaseReadyContentReload', { - defaultMessage: 'A page reload is needed to be able to use it.', - }), - toastLifeTimeMs: Number.MAX_VALUE, - }); }) .catch((error) => { if ( diff --git a/x-pack/plugins/observability_ai_assistant/server/routes/knowledge_base/route.ts b/x-pack/plugins/observability_ai_assistant/server/routes/knowledge_base/route.ts index 40a47a5a46cfa..5490c8052e615 100644 --- a/x-pack/plugins/observability_ai_assistant/server/routes/knowledge_base/route.ts +++ b/x-pack/plugins/observability_ai_assistant/server/routes/knowledge_base/route.ts @@ -4,6 +4,11 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ + +import type { + MlDeploymentAllocationState, + MlDeploymentState, +} from '@elastic/elasticsearch/lib/api/types'; import { notImplemented } from '@hapi/boom'; import { nonEmptyStringRt, toBooleanRt } from '@kbn/io-ts-utils'; import * as t from 'io-ts'; @@ -20,8 +25,9 @@ const getKnowledgeBaseStatus = createObservabilityAIAssistantServerRoute({ ): Promise<{ ready: boolean; error?: any; - deployment_state?: string; - allocation_state?: string; + deployment_state?: MlDeploymentState; + allocation_state?: MlDeploymentAllocationState; + model_name?: string; }> => { const client = await resources.service.getClient({ request: resources.request }); diff --git a/x-pack/plugins/observability_ai_assistant/server/service/knowledge_base_service/index.ts b/x-pack/plugins/observability_ai_assistant/server/service/knowledge_base_service/index.ts index a3c92c5cdcdba..dd44675c800ca 100644 --- a/x-pack/plugins/observability_ai_assistant/server/service/knowledge_base_service/index.ts +++ b/x-pack/plugins/observability_ai_assistant/server/service/knowledge_base_service/index.ts @@ -275,15 +275,18 @@ export class KnowledgeBaseService { const elserModelStats = modelStats.trained_model_stats[0]; const deploymentState = elserModelStats.deployment_stats?.state; const allocationState = elserModelStats.deployment_stats?.allocation_status.state; + return { ready: deploymentState === 'started' && allocationState === 'fully_allocated', deployment_state: deploymentState, allocation_state: allocationState, + model_name: ELSER_MODEL_ID, }; } catch (error) { return { error: error instanceof errors.ResponseError ? error.body.error : String(error), ready: false, + model_name: ELSER_MODEL_ID, }; } }; diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index c50ea53446bd8..11753ac3dc20d 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -29505,7 +29505,6 @@ "xpack.observabilityAiAssistant.chatTimeline.messages.elasticAssistant.label": "Assistant d'Elastic", "xpack.observabilityAiAssistant.chatTimeline.messages.system.label": "Système", "xpack.observabilityAiAssistant.chatTimeline.messages.user.label": "Vous", - "xpack.observabilityAiAssistant.chatWelcomePanel.knowledgeBase.buttonLabel.notInstalledYet": "Configurer la base de connaissances", "xpack.observabilityAiAssistant.checkingKbAvailability": "Vérification de la disponibilité de la base de connaissances", "xpack.observabilityAiAssistant.confirmDeleteButtonText": "Supprimer la conversation", "xpack.observabilityAiAssistant.confirmDeleteConversationContent": "Cette action ne peut pas être annulée.", @@ -29538,13 +29537,8 @@ "xpack.observabilityAiAssistant.incorrectLicense.manageLicense": "Gérer la licence", "xpack.observabilityAiAssistant.incorrectLicense.subscriptionPlansButton": "Plans d'abonnement", "xpack.observabilityAiAssistant.incorrectLicense.title": "Mettez votre licence à niveau", - "xpack.observabilityAiAssistant.initialSetupPanel.disclaimer": "Le fournisseur d'intelligence artificielle configuré peut collecter des données télémétriques lors de l'utilisation de l'assistant d'intelligence artificielle d'Elastic. Contactez votre fournisseur d'intelligence artificielle pour obtenir des informations sur le mode de collecte des données.", "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.buttonLabel": "Configurez un connecteur OpenAI", - "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description": "Veuillez sélectionner un fournisseur.", - "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description1": "Configurez un connecteur OpenAI avec votre fournisseur d'intelligence artificielle.", "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description2": "Le modèle OpenAi doit être compatible avec l'appel de fonctions. Nous recommandons fortement d'utiliser GPT4.", - "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.title": "Configuration du connecteur", - "xpack.observabilityAiAssistant.initialSetupPanel.title": "Embarquez aux côtés de l'intelligence artificielle grâce à Elastic une fois les étapes ci-dessous effectuées.", "xpack.observabilityAiAssistant.insight.actions": "Actions", "xpack.observabilityAiAssistant.insight.defaultDescription": "Obtenez des informations utiles grâce à l'assistant d'intelligence artificielle d'Elastic.", "xpack.observabilityAiAssistant.insight.error.buttonLabel": "Régénérer", @@ -29555,8 +29549,6 @@ "xpack.observabilityAiAssistant.insight.feedbackButtons.title": "Cela a-t-il été utile ?", "xpack.observabilityAiAssistant.insight.response.startChat": "Lancer le chat", "xpack.observabilityAiAssistant.installingKb": "Configuration de la base de connaissances", - "xpack.observabilityAiAssistant.knowledgeBaseReadyContentReload": "Il faut recharger la page pour pouvoir l'utiliser.", - "xpack.observabilityAiAssistant.knowledgeBaseReadyTitle": "La base de connaissances est prête", "xpack.observabilityAiAssistant.lensFunction.openInLens": "Ouvrir dans Lens", "xpack.observabilityAiAssistant.lensFunction.save": "Enregistrer", "xpack.observabilityAiAssistant.missingCredentialsCallout.buttonLabel": "Connecter l'assistant", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 491f7a41672b3..0e37dee1b2e73 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -29505,7 +29505,6 @@ "xpack.observabilityAiAssistant.chatTimeline.messages.elasticAssistant.label": "Elastic Assistant", "xpack.observabilityAiAssistant.chatTimeline.messages.system.label": "システム", "xpack.observabilityAiAssistant.chatTimeline.messages.user.label": "あなた", - "xpack.observabilityAiAssistant.chatWelcomePanel.knowledgeBase.buttonLabel.notInstalledYet": "ナレッジベースをセットアップ", "xpack.observabilityAiAssistant.checkingKbAvailability": "ナレッジベースの利用可能性を確認中", "xpack.observabilityAiAssistant.confirmDeleteButtonText": "会話を削除", "xpack.observabilityAiAssistant.confirmDeleteConversationContent": "この操作は元に戻すことができません。", @@ -29538,13 +29537,8 @@ "xpack.observabilityAiAssistant.incorrectLicense.manageLicense": "ライセンスの管理", "xpack.observabilityAiAssistant.incorrectLicense.subscriptionPlansButton": "サブスクリプションオプション", "xpack.observabilityAiAssistant.incorrectLicense.title": "ライセンスをアップグレード", - "xpack.observabilityAiAssistant.initialSetupPanel.disclaimer": "構成されたAIプロバイダーは、Elastic AI Assistantの使用時にテレメトリを収集することがあります。データの収集方法については、AIプロバイダーにお問い合わせください。", "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.buttonLabel": "OpenAIコネクターをセットアップ", - "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description": "プロバイダーを選択してください。", - "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description1": "AIプロバイダーとOpenAIコネクターを設定します。", "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description2": "OpenAIモデルは関数呼び出しをサポートしている必要があります。GPT4の使用を強くお勧めします。", - "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.title": "コネクターセットアップ", - "xpack.observabilityAiAssistant.initialSetupPanel.title": "以下のステップを完了することで、ElasticでAIエクスペリエンスを開始できます。", "xpack.observabilityAiAssistant.insight.actions": "アクション", "xpack.observabilityAiAssistant.insight.defaultDescription": "Elastic AI Assistantから役立つインサイトを得ることができます。", "xpack.observabilityAiAssistant.insight.error.buttonLabel": "再生成", @@ -29555,8 +29549,6 @@ "xpack.observabilityAiAssistant.insight.feedbackButtons.title": "役に立ちましたか。", "xpack.observabilityAiAssistant.insight.response.startChat": "チャットを開始", "xpack.observabilityAiAssistant.installingKb": "ナレッジベースをセットアップ中", - "xpack.observabilityAiAssistant.knowledgeBaseReadyContentReload": "使用するにはページの再読み込みが必要です。", - "xpack.observabilityAiAssistant.knowledgeBaseReadyTitle": "ナレッジベースを使用できます", "xpack.observabilityAiAssistant.lensFunction.openInLens": "Lensで開く", "xpack.observabilityAiAssistant.lensFunction.save": "保存", "xpack.observabilityAiAssistant.missingCredentialsCallout.buttonLabel": "アシスタントを接続", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 641492381ffa5..42adf8d8f7172 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -29502,7 +29502,6 @@ "xpack.observabilityAiAssistant.chatTimeline.messages.elasticAssistant.label": "Elastic 助手", "xpack.observabilityAiAssistant.chatTimeline.messages.system.label": "系统", "xpack.observabilityAiAssistant.chatTimeline.messages.user.label": "您", - "xpack.observabilityAiAssistant.chatWelcomePanel.knowledgeBase.buttonLabel.notInstalledYet": "设置知识库", "xpack.observabilityAiAssistant.checkingKbAvailability": "正在检查知识库的可用性", "xpack.observabilityAiAssistant.confirmDeleteButtonText": "删除对话", "xpack.observabilityAiAssistant.confirmDeleteConversationContent": "此操作无法撤消。", @@ -29535,13 +29534,8 @@ "xpack.observabilityAiAssistant.incorrectLicense.manageLicense": "管理许可证", "xpack.observabilityAiAssistant.incorrectLicense.subscriptionPlansButton": "订阅计划", "xpack.observabilityAiAssistant.incorrectLicense.title": "升级您的许可证", - "xpack.observabilityAiAssistant.initialSetupPanel.disclaimer": "配置的 AI 提供商可能会在使用 Elastic AI 助手时收集遥测数据。请联系您的 AI 提供商了解有关如何收集数据的信息。", "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.buttonLabel": "设置 OpenAI 连接器", - "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description": "请选择提供商。", - "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description1": "通过 AI 提供商设置 OpenAI 连接器。", "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description2": "OpenAI 模型需要支持函数调用。强烈建议使用 GPT4。", - "xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.title": "连接器设置", - "xpack.observabilityAiAssistant.initialSetupPanel.title": "通过完成以下步骤,利用 Elastic 开始您的 AI 体验。", "xpack.observabilityAiAssistant.insight.actions": "操作", "xpack.observabilityAiAssistant.insight.defaultDescription": "从 Elastic AI 助手获取有用的洞见。", "xpack.observabilityAiAssistant.insight.error.buttonLabel": "重新生成", @@ -29552,8 +29546,6 @@ "xpack.observabilityAiAssistant.insight.feedbackButtons.title": "这是否有帮助?", "xpack.observabilityAiAssistant.insight.response.startChat": "开始聊天", "xpack.observabilityAiAssistant.installingKb": "正在设置知识库", - "xpack.observabilityAiAssistant.knowledgeBaseReadyContentReload": "需要重新加载页面才能使用它。", - "xpack.observabilityAiAssistant.knowledgeBaseReadyTitle": "知识库已准备就绪", "xpack.observabilityAiAssistant.lensFunction.openInLens": "在 Lens 中打开", "xpack.observabilityAiAssistant.lensFunction.save": "保存", "xpack.observabilityAiAssistant.missingCredentialsCallout.buttonLabel": "连接助手", From 528acd73148a4b8e5ff1d967139a16c38a89f5b2 Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Wed, 13 Dec 2023 14:16:43 +0100 Subject: [PATCH 007/123] [Security Solution] Fixes paths on the Cypress quality gates scripts (#173256) ## Summary Fixes the paths on the Cypress quality gates scripts for `detection engine` since currently it is pointing to the `rule management` tests folder. --- x-pack/test/security_solution_cypress/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/test/security_solution_cypress/package.json b/x-pack/test/security_solution_cypress/package.json index 6b366061b381c..fe8585e530f4e 100644 --- a/x-pack/test/security_solution_cypress/package.json +++ b/x-pack/test/security_solution_cypress/package.json @@ -43,8 +43,8 @@ "cypress:run:qa:serverless:explore": "yarn cypress:qa:serverless --spec './cypress/e2e/explore/**/*.cy.ts'", "cypress:run:qa:serverless:rule_management": "yarn cypress:qa:serverless --spec './cypress/e2e/detection_response/rule_management/!(prebuilt_rules)/**/*.cy.ts'", "cypress:run:qa:serverless:rule_management:prebuilt_rules": "yarn cypress:qa:serverless --spec './cypress/e2e/detection_response/rule_management/prebuilt_rules/**/*.cy.ts'", - "cypress:run:qa:serverless:detection_engine": "yarn cypress:qa:serverless --spec './cypress/e2e/detection_response/rule_management/!(exceptions)/**/*.cy.ts'", - "cypress:run:qa:serverless:detection_engine:exceptions": "yarn cypress:qa:serverless --spec './cypress/e2e/detection_response/rule_management/exceptions/**/*.cy.ts'", + "cypress:run:qa:serverless:detection_engine": "yarn cypress:qa:serverless --spec './cypress/e2e/detection_response/detection_engine/!(exceptions)/**/*.cy.ts'", + "cypress:run:qa:serverless:detection_engine:exceptions": "yarn cypress:qa:serverless --spec './cypress/e2e/detection_response/detection_engine/exceptions/**/*.cy.ts'", "cypress:run:qa:serverless:ai_assistant": "yarn cypress:qa:serverless --spec './cypress/e2e/ai_assistant/**/*.cy.ts'" } } \ No newline at end of file From 6a5a194e3c193e8ce01953e12cbf150f5fdf0d5b Mon Sep 17 00:00:00 2001 From: Marco Antonio Ghiani Date: Wed, 13 Dec 2023 14:34:10 +0100 Subject: [PATCH 008/123] [Logs Explorer] Display flyout field description (#173144) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 📓 Summary Closes #172806 This work retrieves from the static ECS fields list the details about the field type and short description, and displays them in a tooltip for informative context on the field. https://github.com/elastic/kibana/assets/34506779/c4a6c041-8be3-4898-a959-ee8fca3469d7 --------- Co-authored-by: Marco Antonio Ghiani Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- packages/kbn-ecs/package.json | 3 +- .../sub_components/highlight_field.tsx | 16 +++++++-- .../highlight_field_description.tsx | 33 +++++++++++++++++++ x-pack/plugins/log_explorer/tsconfig.json | 4 ++- 4 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 x-pack/plugins/log_explorer/public/components/flyout_detail/sub_components/highlight_field_description.tsx diff --git a/packages/kbn-ecs/package.json b/packages/kbn-ecs/package.json index ad23a36d8f82a..07ffc9fed886a 100644 --- a/packages/kbn-ecs/package.json +++ b/packages/kbn-ecs/package.json @@ -2,5 +2,6 @@ "name": "@kbn/ecs", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0" + "license": "SSPL-1.0 OR Elastic License 2.0", + "sideEffects": false } diff --git a/x-pack/plugins/log_explorer/public/components/flyout_detail/sub_components/highlight_field.tsx b/x-pack/plugins/log_explorer/public/components/flyout_detail/sub_components/highlight_field.tsx index 8d3368bfd8e33..7e039497a9bd2 100644 --- a/x-pack/plugins/log_explorer/public/components/flyout_detail/sub_components/highlight_field.tsx +++ b/x-pack/plugins/log_explorer/public/components/flyout_detail/sub_components/highlight_field.tsx @@ -8,9 +8,12 @@ import { EuiFlexGroup, EuiFlexItem, EuiText, EuiTextTruncate } from '@elastic/eui'; import React, { ReactNode } from 'react'; import { ValuesType } from 'utility-types'; +import { dynamic } from '../../../utils/dynamic'; import { HoverActionPopover } from './hover_popover_action'; import { LogDocument } from '../types'; +const HighlightFieldDescription = dynamic(() => import('./highlight_field_description')); + interface HighlightFieldProps { field: string; formattedValue: string; @@ -32,9 +35,16 @@ export function HighlightField({ return formattedValue ? ( - - {label} - + + + + {label} + + + + + + diff --git a/x-pack/plugins/log_explorer/public/components/flyout_detail/sub_components/highlight_field_description.tsx b/x-pack/plugins/log_explorer/public/components/flyout_detail/sub_components/highlight_field_description.tsx new file mode 100644 index 0000000000000..915758cbcca5f --- /dev/null +++ b/x-pack/plugins/log_explorer/public/components/flyout_detail/sub_components/highlight_field_description.tsx @@ -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 { EuiFlexGroup, EuiFlexItem, EuiIconTip } from '@elastic/eui'; +import { EcsFlat } from '@kbn/ecs'; +import { FieldIcon } from '@kbn/react-field'; +import React from 'react'; + +export function HighlightFieldDescription({ fieldName }: { fieldName: string }) { + const { short, type } = EcsFlat[fieldName as keyof typeof EcsFlat] ?? {}; + + if (!short) return null; + + const title = ( + + {type && ( + + + + )} + {fieldName} + + ); + + return ; +} + +// eslint-disable-next-line import/no-default-export +export default HighlightFieldDescription; diff --git a/x-pack/plugins/log_explorer/tsconfig.json b/x-pack/plugins/log_explorer/tsconfig.json index b236e7f03ced3..b93676d3b1951 100644 --- a/x-pack/plugins/log_explorer/tsconfig.json +++ b/x-pack/plugins/log_explorer/tsconfig.json @@ -37,7 +37,9 @@ "@kbn/unified-data-table", "@kbn/unified-field-list", "@kbn/unified-search-plugin", - "@kbn/xstate-utils" + "@kbn/xstate-utils", + "@kbn/ecs", + "@kbn/react-field" ], "exclude": [ "target/**/*" From b049e0eae4dd8c7360b90270f8d202b6978382f8 Mon Sep 17 00:00:00 2001 From: Francois-Clement Brossard Date: Wed, 13 Dec 2023 22:39:15 +0900 Subject: [PATCH 009/123] [SR] Prevent some fields to be edited in managed repositories (#173137) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #172476 ## Summary This PR prevent the `Client`, `Bucket / Container`, `Base Path` fields for managed repositories to be edited. Changing these fields can lead to unexpected behaviors on ESS. ### Azure ![azure](https://github.com/elastic/kibana/assets/7076736/69801d87-c51f-4bdf-9a98-29fe2f72cee4) ### GCS ![gcs](https://github.com/elastic/kibana/assets/7076736/10136dca-8a7c-4ec2-bdbd-62a9a7b5dfcf) ### S3 ![s3](https://github.com/elastic/kibana/assets/7076736/1a7aa484-3047-4cd7-8cad-785d138f6afc) ### Unmanaged ![unmanaged](https://github.com/elastic/kibana/assets/7076736/7540844c-a413-4b21-9563-eb06367e7455) ### 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 - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) ### Release Note Some input fields are now disabled when editing managed repositories in Snapshot & Restore. --------- Co-authored-by: Yulia Čech <6585477+yuliacech@users.noreply.github.com> Co-authored-by: Yulia Cech --- .../repository_edit.test.tsx | 67 ++++++++++++++++--- .../components/repository_form/step_two.tsx | 1 + .../type_settings/azure_settings.tsx | 5 ++ .../type_settings/gcs_settings.tsx | 5 ++ .../repository_form/type_settings/index.tsx | 3 + .../type_settings/s3_settings.tsx | 5 ++ 6 files changed, 78 insertions(+), 8 deletions(-) diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_edit.test.tsx b/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_edit.test.tsx index dc05d9c09e627..1beb7c1fb532e 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_edit.test.tsx +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_edit.test.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; -import { setupEnvironment, pageHelpers, nextTick, TestBed, getRandomString } from './helpers'; +import { setupEnvironment, pageHelpers, TestBed, getRandomString } from './helpers'; import { RepositoryForm } from '../../public/application/components/repository_form'; import { RepositoryEditTestSubjects } from './helpers/repository_edit.helpers'; import { RepositoryAddTestSubjects } from './helpers/repository_add.helpers'; @@ -45,12 +45,11 @@ describe('', () => { repository: REPOSITORY_EDIT, snapshots: { count: 0 }, }); - testBed = await setup(httpSetup); await act(async () => { - await nextTick(); - testBed.component.update(); + testBed = await setup(httpSetup); }); + testBed.component.update(); }); test('should set the correct page title', () => { @@ -78,18 +77,70 @@ describe('', () => { }); }); - describe('should populate the correct values', () => { + describe('should disable client, bucket / container and base path fields for managed repositories', () => { const mountComponentWithMock = async (repository: any) => { httpRequestsMockHelpers.setGetRepositoryResponse(REPOSITORY_NAME, { repository: { name: getRandomString(), ...repository }, snapshots: { count: 0 }, + isManagedRepository: true, + }); + + await act(async () => { + testBed = await setup(httpSetup); }); - testBed = await setup(httpSetup); + testBed.component.update(); + }; + + it('azure repository', async () => { + await mountComponentWithMock({ type: 'azure' }); + const { find } = testBed; + const clientInput = find('clientInput'); + expect(clientInput.props().disabled).toEqual(true); + + const containerInput = find('containerInput'); + expect(containerInput.props().disabled).toEqual(true); + + const basePathInput = find('basePathInput'); + expect(basePathInput.props().disabled).toEqual(true); + }); + + it('gcs repository', async () => { + await mountComponentWithMock({ type: 'gcs' }); + const { find } = testBed; + const clientInput = find('clientInput'); + expect(clientInput.props().disabled).toEqual(true); + + const bucketInput = find('bucketInput'); + expect(bucketInput.props().disabled).toEqual(true); + const basePathInput = find('basePathInput'); + expect(basePathInput.props().disabled).toEqual(true); + }); + + it('s3 repository', async () => { + await mountComponentWithMock({ type: 's3' }); + const { find } = testBed; + const clientInput = find('clientInput'); + expect(clientInput.props().disabled).toEqual(true); + + const bucketInput = find('bucketInput'); + expect(bucketInput.props().disabled).toEqual(true); + + const basePathInput = find('basePathInput'); + expect(basePathInput.props().disabled).toEqual(true); + }); + }); + + describe('should populate the correct values', () => { + const mountComponentWithMock = async (repository: any) => { + httpRequestsMockHelpers.setGetRepositoryResponse(REPOSITORY_NAME, { + repository: { name: getRandomString(), ...repository }, + snapshots: { count: 0 }, + }); await act(async () => { - await nextTick(); - testBed.component.update(); + testBed = await setup(httpSetup); }); + testBed.component.update(); }; it('fs repository', async () => { diff --git a/x-pack/plugins/snapshot_restore/public/application/components/repository_form/step_two.tsx b/x-pack/plugins/snapshot_restore/public/application/components/repository_form/step_two.tsx index fc33fb7f682c6..3845f2c8c7567 100644 --- a/x-pack/plugins/snapshot_restore/public/application/components/repository_form/step_two.tsx +++ b/x-pack/plugins/snapshot_restore/public/application/components/repository_form/step_two.tsx @@ -97,6 +97,7 @@ export const RepositoryFormStepTwo: React.FunctionComponent = ({ {/* Repository settings fields */} , replaceSettings?: boolean @@ -30,6 +31,7 @@ interface Props { export const AzureSettings: React.FunctionComponent = ({ repository, + isManagedRepository, updateRepositorySettings, settingErrors, }) => { @@ -101,6 +103,7 @@ export const AzureSettings: React.FunctionComponent = ({ }); }} data-test-subj="clientInput" + disabled={isManagedRepository} /> @@ -145,6 +148,7 @@ export const AzureSettings: React.FunctionComponent = ({ }); }} data-test-subj="containerInput" + disabled={isManagedRepository} /> @@ -189,6 +193,7 @@ export const AzureSettings: React.FunctionComponent = ({ }); }} data-test-subj="basePathInput" + disabled={isManagedRepository} /> diff --git a/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/gcs_settings.tsx b/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/gcs_settings.tsx index 97eb0b25b1485..4cacb7e628e07 100644 --- a/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/gcs_settings.tsx +++ b/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/gcs_settings.tsx @@ -15,6 +15,7 @@ import { ChunkSizeField, MaxSnapshotsField, MaxRestoreField } from './common'; interface Props { repository: GCSRepository; + isManagedRepository?: boolean; updateRepositorySettings: ( updatedSettings: Partial, replaceSettings?: boolean @@ -24,6 +25,7 @@ interface Props { export const GCSSettings: React.FunctionComponent = ({ repository, + isManagedRepository, updateRepositorySettings, settingErrors, }) => { @@ -89,6 +91,7 @@ export const GCSSettings: React.FunctionComponent = ({ }); }} data-test-subj="clientInput" + disabled={isManagedRepository} /> @@ -133,6 +136,7 @@ export const GCSSettings: React.FunctionComponent = ({ }); }} data-test-subj="bucketInput" + disabled={isManagedRepository} /> @@ -177,6 +181,7 @@ export const GCSSettings: React.FunctionComponent = ({ }); }} data-test-subj="basePathInput" + disabled={isManagedRepository} /> diff --git a/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/index.tsx b/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/index.tsx index 90c4cff74a3b0..2909279379299 100644 --- a/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/index.tsx +++ b/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/index.tsx @@ -23,12 +23,14 @@ import { S3Settings } from './s3_settings'; interface Props { repository: Repository | EmptyRepository; + isManagedRepository?: boolean; updateRepository: (updatedFields: Partial) => void; settingErrors: RepositorySettingsValidation; } export const TypeSettings: React.FunctionComponent = ({ repository, + isManagedRepository, updateRepository, settingErrors, }) => { @@ -71,6 +73,7 @@ export const TypeSettings: React.FunctionComponent = ({ return ( diff --git a/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/s3_settings.tsx b/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/s3_settings.tsx index 887d416f9e85e..26cb2a091762a 100644 --- a/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/s3_settings.tsx +++ b/x-pack/plugins/snapshot_restore/public/application/components/repository_form/type_settings/s3_settings.tsx @@ -23,6 +23,7 @@ import { ChunkSizeField, MaxSnapshotsField, MaxRestoreField } from './common'; interface Props { repository: S3Repository; + isManagedRepository?: boolean; updateRepositorySettings: ( updatedSettings: Partial, replaceSettings?: boolean @@ -32,6 +33,7 @@ interface Props { export const S3Settings: React.FunctionComponent = ({ repository, + isManagedRepository, updateRepositorySettings, settingErrors, }) => { @@ -124,6 +126,7 @@ export const S3Settings: React.FunctionComponent = ({ }); }} data-test-subj="clientInput" + disabled={isManagedRepository} /> @@ -168,6 +171,7 @@ export const S3Settings: React.FunctionComponent = ({ }); }} data-test-subj="bucketInput" + disabled={isManagedRepository} /> @@ -212,6 +216,7 @@ export const S3Settings: React.FunctionComponent = ({ }); }} data-test-subj="basePathInput" + disabled={isManagedRepository} /> From e74f60ee4700b10903588f5c528d6162778f0471 Mon Sep 17 00:00:00 2001 From: Sean Story Date: Wed, 13 Dec 2023 08:09:33 -0600 Subject: [PATCH 010/123] nit (#173214) ## Summary reading copy on the new search hub as part of https://github.com/elastic/enterprise-search-team/issues/6428, noticed some disagreement. ### Checklist ### 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) --- .../components/product_selector/welcome_banner.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/welcome_banner.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/welcome_banner.tsx index cca519fa6f194..effeae6757dc6 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/welcome_banner.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/welcome_banner.tsx @@ -37,7 +37,7 @@ export const WelcomeBanner: React.FC = ({ user, image }) => {i18n.translate('xpack.enterpriseSearch.welcomeBanner.header.titleDescription', { defaultMessage: - "There's endless ways to ingest and explore data with Elasticsearch, but here's a few of the most popular", + 'There are endless ways to ingest and explore data with Elasticsearch, but here are a few of the most popular', })} From 4936d8c6f1aa9f16994733fb16c637d67094396b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Wed, 13 Dec 2023 14:14:21 +0000 Subject: [PATCH 011/123] [Profiling] Removing hardcoded value (#173266) --- .../components/differential_topn_functions_grid/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/profiling/public/components/differential_topn_functions_grid/index.tsx b/x-pack/plugins/profiling/public/components/differential_topn_functions_grid/index.tsx index a006a4724a9bf..621a3b2ba0329 100644 --- a/x-pack/plugins/profiling/public/components/differential_topn_functions_grid/index.tsx +++ b/x-pack/plugins/profiling/public/components/differential_topn_functions_grid/index.tsx @@ -143,7 +143,7 @@ export function DifferentialTopNFunctionsGrid({ baseRows: getFunctionsRows({ calculateImpactEstimates, topNFunctions: base, - totalSeconds: 900, + totalSeconds, }), comparisonRows: getFunctionsRows({ baselineScaleFactor, From 3fbd25ba3da646f89892c4d0718ac6a5dc880c85 Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Wed, 13 Dec 2023 09:19:16 -0500 Subject: [PATCH 012/123] [Fleet] Fix unpackBufferToCache to avoid getting cache in a non valid state (#173201) --- x-pack/plugins/fleet/server/services/epm/archive/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/fleet/server/services/epm/archive/index.ts b/x-pack/plugins/fleet/server/services/epm/archive/index.ts index bf96318d8d410..ec19fbba55a19 100644 --- a/x-pack/plugins/fleet/server/services/epm/archive/index.ts +++ b/x-pack/plugins/fleet/server/services/epm/archive/index.ts @@ -45,10 +45,10 @@ export async function unpackBufferToCache({ contentType: string; archiveBuffer: Buffer; }): Promise { + const entries = await unpackBufferEntries(archiveBuffer, contentType); // Make sure any buffers from previous installations from registry or upload are deleted first clearPackageFileCache({ name, version }); - const entries = await unpackBufferEntries(archiveBuffer, contentType); const paths: string[] = []; entries.forEach((entry) => { const { path, buffer } = entry; From 29f762b4d46a94c3adcd5144bc81cc7e9a56f498 Mon Sep 17 00:00:00 2001 From: Jan Monschke Date: Wed, 13 Dec 2023 15:43:07 +0100 Subject: [PATCH 013/123] [SecuritySolution] Fix flaky timeline creation tests (#172799) ## Summary Fixes the flakiness in the timeline creation cypress tests. The cause for the flakiness was the extra save operation that is happening in the background for the saved search. Awaiting that operation removed the flakiness. [Flaky test runner result](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4329) Fixes: https://github.com/elastic/kibana/issues/172304, https://github.com/elastic/kibana/issues/172031 --- .../investigations/timelines/creation.cy.ts | 167 ++++++++---------- .../cypress/screens/timeline.ts | 2 - .../cypress/tasks/timeline.ts | 5 +- .../cypress/tasks/timelines.ts | 3 +- 4 files changed, 73 insertions(+), 104 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts index a40479fdab26d..9857e24e5b337 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts @@ -21,6 +21,7 @@ import { SAVE_TIMELINE_ACTION_BTN, SAVE_TIMELINE_TOOLTIP, } from '../../../screens/timeline'; +import { LOADING_INDICATOR } from '../../../screens/security_header'; import { ROWS } from '../../../screens/timelines'; import { createTimelineTemplate } from '../../../tasks/api_calls/timelines'; @@ -48,20 +49,15 @@ import { createTimeline } from '../../../tasks/timelines'; import { OVERVIEW_URL, TIMELINE_TEMPLATES_URL, TIMELINES_URL } from '../../../urls/navigation'; -// Failing: See https://github.com/elastic/kibana/issues/172304 -describe.skip('Create a timeline from a template', { tags: ['@ess', '@serverless'] }, () => { - before(() => { - deleteTimelines(); - login(); - createTimelineTemplate(getTimeline()); - }); - +describe('Timelines', { tags: ['@ess', '@serverless'] }, (): void => { beforeEach(() => { login(); - visit(TIMELINE_TEMPLATES_URL); + deleteTimelines(); }); - it('Should have the same query and open the timeline modal', () => { + it('creates a timeline from a template and should have the same query and open the timeline modal', () => { + createTimelineTemplate(getTimeline()); + visit(TIMELINE_TEMPLATES_URL); selectCustomTemplates(); expandEventAction(); clickingOnCreateTimelineFormTemplateBtn(); @@ -69,15 +65,9 @@ describe.skip('Create a timeline from a template', { tags: ['@ess', '@serverless cy.get(TIMELINE_QUERY).should('have.text', getTimeline().query); closeTimeline(); }); -}); - -describe('Timelines', (): void => { - before(() => { - deleteTimelines(); - }); describe('Toggle create timeline from "New" btn', () => { - context('Privileges: CRUD', { tags: '@ess' }, () => { + context('Privileges: CRUD', () => { beforeEach(() => { login(); visitWithTimeRange(OVERVIEW_URL); @@ -91,7 +81,7 @@ describe('Timelines', (): void => { }); }); - context('Privileges: READ', { tags: '@ess' }, () => { + context('Privileges: READ', () => { beforeEach(() => { login(ROLES.t1_analyst); visitWithTimeRange(OVERVIEW_URL); @@ -112,99 +102,80 @@ describe('Timelines', (): void => { }); }); - describe( - 'Creates a timeline by clicking untitled timeline from bottom bar', - { tags: ['@ess', '@serverless'] }, - () => { - beforeEach(() => { - login(); - visitWithTimeRange(OVERVIEW_URL); - openTimelineUsingToggle(); - addNameAndDescriptionToTimeline(getTimeline()); - populateTimeline(); - goToQueryTab(); - }); + it('creates a timeline by clicking untitled timeline from bottom bar', () => { + visitWithTimeRange(OVERVIEW_URL); + openTimelineUsingToggle(); + addNameAndDescriptionToTimeline(getTimeline()); + populateTimeline(); + goToQueryTab(); - it.skip('can be added filter', () => { - addFilter(getTimeline().filter); - cy.get(TIMELINE_FILTER(getTimeline().filter)).should('exist'); - }); + addFilter(getTimeline().filter); + cy.get(TIMELINE_FILTER(getTimeline().filter)).should('exist'); - it('pins an event', () => { - pinFirstEvent(); - cy.get(PIN_EVENT) - .should('have.attr', 'aria-label') - .and('match', /Unpin the event in row 2/); - }); + pinFirstEvent(); + cy.get(PIN_EVENT) + .should('have.attr', 'aria-label') + .and('match', /Unpin the event in row 2/); - it('has a lock icon', () => { - cy.get(LOCKED_ICON).should('be.visible'); - }); + cy.get(LOCKED_ICON).should('be.visible'); - // TO-DO: Issue 163398 - it.skip('can be added notes', () => { - addNotesToTimeline(getTimeline().notes); - cy.get(TIMELINE_TAB_CONTENT_GRAPHS_NOTES) - .find(NOTES_TEXT) - .should('have.text', getTimeline().notes); - }); - } - ); - - // FLAKY: https://github.com/elastic/kibana/issues/172031 - describe.skip('shows the different timeline states', () => { - before(() => { - login(); - visitWithTimeRange(OVERVIEW_URL); - openTimelineUsingToggle(); - createNewTimeline(); - }); + addNotesToTimeline(getTimeline().notes); + cy.get(TIMELINE_TAB_CONTENT_GRAPHS_NOTES) + .find(NOTES_TEXT) + .should('have.text', getTimeline().notes); + }); - it('should show the correct timeline status', { tags: ['@ess', '@serverless'] }, () => { - // Unsaved - cy.get(TIMELINE_PANEL).should('be.visible'); - cy.get(TIMELINE_STATUS).should('be.visible'); - cy.get(TIMELINE_STATUS).should('have.text', 'Unsaved'); + it('shows the different timeline states', () => { + visitWithTimeRange(TIMELINES_URL); + createTimeline(); - addNameToTimelineAndSave('Test'); + // Unsaved + cy.get(TIMELINE_PANEL).should('be.visible'); + cy.get(TIMELINE_STATUS).should('be.visible'); + cy.get(TIMELINE_STATUS).should('have.text', 'Unsaved'); - // Saved - cy.get(TIMELINE_STATUS).should('be.visible'); - cy.get(TIMELINE_STATUS) - .invoke('text') - .should('match', /^Saved/); + addNameToTimelineAndSave('Test'); - executeTimelineKQL('agent.name : *'); + // Saved + cy.get(TIMELINE_STATUS).should('be.visible'); + cy.get(TIMELINE_STATUS) + .invoke('text') + .should('match', /^Saved/); - // Saved but has unsaved changes - cy.get(TIMELINE_STATUS).should('be.visible'); - cy.get(TIMELINE_STATUS) - .invoke('text') - .should('match', /^Has unsaved changes/); - }); + // Offsetting the extra save that is happening in the background + // for the saved search object. + cy.get(LOADING_INDICATOR).should('be.visible'); + cy.get(LOADING_INDICATOR).should('not.exist'); + + executeTimelineKQL('agent.name : *'); + + // Saved but has unsaved changes + cy.get(TIMELINE_STATUS).should('be.visible'); + cy.get(TIMELINE_STATUS) + .invoke('text') + .should('match', /^Has unsaved changes/); }); - describe('saves timeline as new', () => { - before(() => { - deleteTimelines(); - login(); - visitWithTimeRange(TIMELINES_URL); - }); + it('should save timelines as new', () => { + visitWithTimeRange(TIMELINES_URL); + cy.get(ROWS).should('have.length', '0'); - it('should save timelines as new', { tags: ['@ess', '@serverless'] }, () => { - cy.get(ROWS).should('have.length', '0'); + createTimeline(); + addNameToTimelineAndSave('First'); - createTimeline(); - addNameToTimelineAndSave('First'); - addNameToTimelineAndSaveAsNew('Second'); - closeTimeline(); + // Offsetting the extra save that is happening in the background + // for the saved search object. + cy.get(LOADING_INDICATOR).should('be.visible'); + cy.get(LOADING_INDICATOR).should('not.exist'); - cy.get(ROWS).should('have.length', '2'); - cy.get(ROWS) - .first() - .invoke('text') - .should('match', /Second/); - cy.get(ROWS).last().invoke('text').should('match', /First/); - }); + addNameToTimelineAndSaveAsNew('Second'); + closeTimeline(); + + cy.get(ROWS).should('have.length', '2'); + cy.get(ROWS) + .first() + .invoke('text') + .should('match', /Second/); + cy.get(ROWS).last().invoke('text').should('match', /First/); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts b/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts index 35ed8f63b216b..fd5f2fb571077 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts @@ -29,8 +29,6 @@ export const CORRELATION_EVENT_TABLE_CELL = export const CLOSE_TIMELINE_BTN = '[data-test-subj="close-timeline"]'; -export const COMBO_BOX = 'button.euiFilterSelectItem[role="option"]'; - export const COMBO_BOX_INPUT = '[data-test-subj="comboBoxInput"]'; export const CREATE_NEW_TIMELINE = '[data-test-subj="timeline-new"]'; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts index 5d175ed84f34d..c39d5f9e6cb9a 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts @@ -21,7 +21,6 @@ import { ATTACH_TIMELINE_TO_EXISTING_CASE_ICON, ATTACH_TIMELINE_TO_NEW_CASE_ICON, CLOSE_TIMELINE_BTN, - COMBO_BOX, COMBO_BOX_INPUT, CREATE_NEW_TIMELINE, DELETE_TIMELINE_BTN, @@ -211,8 +210,8 @@ export const addEqlToTimeline = (eql: string) => { export const addFilter = (filter: TimelineFilter): Cypress.Chainable> => { cy.get(ADD_FILTER).click(); cy.get(TIMELINE_FILTER_FIELD).type(`${filter.field}{downarrow}{enter}`); - cy.get(TIMELINE_FILTER_OPERATOR).type(filter.operator); - cy.get(COMBO_BOX).contains(filter.operator).trigger('click'); + cy.get(TIMELINE_FILTER_OPERATOR).type(`${filter.operator}{downarrow}{enter}`); + if (filter.operator !== 'exists') { cy.get(TIMELINE_FILTER_VALUE).type(`${filter.value}{enter}`); } diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/timelines.ts b/x-pack/test/security_solution_cypress/cypress/tasks/timelines.ts index 355bf7447e8a2..7c88cdcb21f86 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/timelines.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/timelines.ts @@ -65,4 +65,5 @@ export const exportSelectedTimelines = () => { cy.get(EXPORT_TIMELINE_ACTION).click(); }; -export const createTimeline = () => cy.get(CREATE_NEW_TIMELINE_WITH_BORDER).click(); +export const createTimeline = () => + cy.get(CREATE_NEW_TIMELINE_WITH_BORDER).should('be.visible').click(); From c36410f78ee0103cb9c6dd056b1921c1eeec1e58 Mon Sep 17 00:00:00 2001 From: Dario Gieselaar Date: Wed, 13 Dec 2023 15:43:59 +0100 Subject: [PATCH 014/123] [Obs AI Assistant] Evaluation framework (#173010) Adds an evaluation framework for the Observability AI Assistant. For more details, [see the README](https://github.com/dgieselaar/kibana/blob/obs-ai-assistant-evaluation-framework/x-pack/plugins/observability_ai_assistant/scripts/evaluation/README.md). --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- package.json | 2 + .../common/utils/concatenate_openai_chunks.ts | 17 +- .../scripts/evaluation/README.md | 37 ++ .../scripts/evaluation/cli.ts | 78 +++++ .../scripts/evaluation/evaluation.ts | 202 +++++++++++ .../scripts/evaluation/get_service_urls.ts | 152 ++++++++ .../scripts/evaluation/index.js | 10 + .../scripts/evaluation/kibana_client.ts | 327 ++++++++++++++++++ .../scripts/evaluation/read_kibana_config.ts | 44 +++ .../scenarios/elasticsearch/index.ts | 21 ++ .../evaluation/scenarios/esql/index.ts | 173 +++++++++ .../scripts/evaluation/types.ts | 28 ++ .../server/service/client/index.test.ts | 1 + .../server/service/client/index.ts | 3 + .../observability_ai_assistant/tsconfig.json | 6 +- yarn.lock | 16 +- 16 files changed, 1106 insertions(+), 11 deletions(-) create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/evaluation/README.md create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/evaluation/cli.ts create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/evaluation/evaluation.ts create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/evaluation/get_service_urls.ts create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/evaluation/index.js create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/evaluation/kibana_client.ts create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/evaluation/read_kibana_config.ts create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/evaluation/scenarios/elasticsearch/index.ts create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/evaluation/scenarios/esql/index.ts create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/evaluation/types.ts diff --git a/package.json b/package.json index 6c1ff7e4effcb..74e36e83621af 100644 --- a/package.json +++ b/package.json @@ -934,6 +934,7 @@ "exponential-backoff": "^3.1.1", "extract-zip": "^2.0.1", "fast-deep-equal": "^3.1.1", + "fast-glob": "^3.3.2", "fflate": "^0.6.9", "file-saver": "^1.3.8", "fnv-plus": "^1.3.1", @@ -1634,6 +1635,7 @@ "supertest": "^6.3.3", "supports-color": "^7.0.0", "svgo": "^2.8.0", + "table": "^6.8.1", "tape": "^5.0.1", "tempy": "^0.3.0", "terser": "^5.16.5", diff --git a/x-pack/plugins/observability_ai_assistant/common/utils/concatenate_openai_chunks.ts b/x-pack/plugins/observability_ai_assistant/common/utils/concatenate_openai_chunks.ts index f15a193908a4e..e14b4cce868f1 100644 --- a/x-pack/plugins/observability_ai_assistant/common/utils/concatenate_openai_chunks.ts +++ b/x-pack/plugins/observability_ai_assistant/common/utils/concatenate_openai_chunks.ts @@ -7,10 +7,23 @@ import { cloneDeep } from 'lodash'; import { type Observable, scan } from 'rxjs'; -import { CreateChatCompletionResponseChunk, MessageRole } from '../types'; +import { type CreateChatCompletionResponseChunk, MessageRole } from '../types'; export const concatenateOpenAiChunks = - () => (source: Observable) => + () => + ( + source: Observable + ): Observable<{ + message: { + content: string; + role: MessageRole; + function_call: { + name: string; + arguments: string; + trigger: MessageRole.Assistant | MessageRole.User; + }; + }; + }> => source.pipe( scan( (acc, { choices }) => { diff --git a/x-pack/plugins/observability_ai_assistant/scripts/evaluation/README.md b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/README.md new file mode 100644 index 0000000000000..c5ff90ed582f2 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/README.md @@ -0,0 +1,37 @@ +# Observability AI Assistant Evaluation Framework + +## Overview + +This tool is developed for our team working on the Elastic Observability platform, specifically focusing on evaluating the Observability AI Assistant. It simplifies scripting and evaluating various scenarios with the Large Language Model (LLM) integration. + +## Setup requirements + +- An Elasticsearch instance +- A Kibana instance +- At least one .gen-ai connector set up + +## Running evaluations + +Run the tool using: + +`$ node x-pack/plugins/observability_ai_assistant/scripts/evaluation/index.js` + +This will evaluate all existing scenarios, and write the evaluation results to the terminal. + +### Configuration + +#### Kibana and Elasticsearch + +By default, the tool will look for a Kibana instance running locally (at `http://localhost:5601`, which is the default address for running Kibana in development mode). It will also attempt to read the Kibana config file for the Elasticsearch address & credentials. If you want to override these settings, use `--kibana` and `--es`. Only basic auth is supported, e.g. `--kibana http://username:password@localhost:5601`. If you want to use a specific space, use `--spaceId` + +#### Connector + +Use `--connectorId` to specify a `.gen-ai` connector to use. If none are given, it will prompt you to select a connector based on the ones that are available. If only a single `.gen-ai` connector is found, it will be used without prompting. + +#### Persisting conversations + +By default, completed conversations are not persisted. If you do want to persist them, for instance for reviewing purposes, set the `--persist` flag to store them. This will also generate a clickable link in the output of the evaluation that takes you to the conversation. + +If you want to clear conversations on startup, use the `--clear` flag. This only works when `--persist` is enabled. If `--spaceId` is set, only conversations for the current space will be cleared. + +When storing conversations, the name of the scenario is used as a title. Set the `--autoTitle` flag to have the LLM generate a title for you. diff --git a/x-pack/plugins/observability_ai_assistant/scripts/evaluation/cli.ts b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/cli.ts new file mode 100644 index 0000000000000..fe4fb7ec6e69d --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/cli.ts @@ -0,0 +1,78 @@ +/* + * 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 { format, parse } from 'url'; +import { Argv } from 'yargs'; +import { readKibanaConfig } from './read_kibana_config'; + +export function options(y: Argv) { + const config = readKibanaConfig(); + + return y + .option('files', { + string: true as const, + array: true, + describe: 'A file or list of files containing the scenarios to evaluate. Defaults to all', + }) + .option('grep', { + string: true, + array: false, + describe: 'A string or regex to filter scenarios by', + }) + .option('kibana', { + describe: 'Where Kibana is running', + string: true, + default: process.env.KIBANA_HOST || 'http://localhost:5601', + }) + .option('spaceId', { + describe: + 'The space to use. If space is set, conversations will only be cleared for that spaceId', + string: true, + array: false, + }) + .option('elasticsearch', { + alias: 'es', + describe: 'Where Elasticsearch is running', + string: true, + default: format({ + ...parse(config['elasticsearch.hosts']), + auth: `${config['elasticsearch.username']}:${config['elasticsearch.password']}`, + }), + }) + .option('connectorId', { + describe: 'The ID of the connector', + string: true, + }) + .option('persist', { + describe: + 'Whether the conversations should be stored. Adding this will generate a link at which the conversation can be opened.', + boolean: true, + default: false, + }) + .option('clear', { + describe: 'Clear conversations on startup', + boolean: true, + default: false, + }) + .option('autoTitle', { + describe: 'Whether to generate titles for new conversations', + boolean: true, + default: false, + }) + .option('logLevel', { + describe: 'Log level', + default: 'info', + }) + .check((argv) => { + if (!argv.persist && argv.clear) { + throw new Error('clear cannot be true if persist is false'); + } + if (!argv.persist && argv.autoTitle) { + throw new Error('autoTitle cannot be true if persist is false'); + } + return true; + }); +} diff --git a/x-pack/plugins/observability_ai_assistant/scripts/evaluation/evaluation.ts b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/evaluation.ts new file mode 100644 index 0000000000000..5c51653036645 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/evaluation.ts @@ -0,0 +1,202 @@ +/* + * 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 yargs from 'yargs'; +import { run } from '@kbn/dev-cli-runner'; +import { Client } from '@elastic/elasticsearch'; +import inquirer from 'inquirer'; +import * as fastGlob from 'fast-glob'; +import Path from 'path'; +import chalk from 'chalk'; +import * as table from 'table'; +import { castArray, omit, sortBy } from 'lodash'; +import { TableUserConfig } from 'table'; +import { format, parse } from 'url'; +import { options } from './cli'; +import { getServiceUrls } from './get_service_urls'; +import { KibanaClient } from './kibana_client'; +import { EvaluationFunction } from './types'; +import { MessageRole } from '../../common'; + +function runEvaluations() { + yargs(process.argv.slice(2)) + .command('*', 'Run AI Assistant evaluations', options, (argv) => { + run( + async ({ log }) => { + const serviceUrls = await getServiceUrls({ + log, + elasticsearch: argv.elasticsearch, + kibana: argv.kibana, + }); + + const kibanaClient = new KibanaClient(serviceUrls.kibanaUrl, argv.spaceId); + const esClient = new Client({ + node: serviceUrls.esUrl, + }); + + const connectors = await kibanaClient.getConnectors(); + + if (!connectors.length) { + throw new Error('No connectors found'); + } + + let connector = connectors.find((item) => item.id === argv.connectorId); + + if (!connector && argv.connectorId) { + log.warning(`Could not find connector ${argv.connectorId}`); + } + + if (!connector && connectors.length === 1) { + connector = connectors[0]; + log.debug('Using the only connector found'); + } else { + const connectorChoice = await inquirer.prompt({ + type: 'list', + name: 'connector', + message: 'Select a connector', + choices: connectors.map((item) => item.name), + }); + + connector = connectors.find((item) => item.name === connectorChoice.connector)!; + } + + log.info(`Using connector ${connector.id}`); + + const scenarios = + (argv.files !== undefined && + castArray(argv.files).map((file) => Path.join(process.cwd(), file))) || + fastGlob.sync(Path.join(__dirname, './scenarios/**/*.ts')); + + if (!scenarios.length) { + throw new Error('No scenarios to run'); + } + + if (argv.clear) { + log.info('Clearing conversations'); + await esClient.deleteByQuery({ + index: '.kibana-observability-ai-assistant-conversations', + query: { + ...(argv.spaceId ? { term: { namespace: argv.spaceId } } : { match_all: {} }), + }, + refresh: true, + }); + } + + let evaluationFunctions: Array<{ + name: string; + fileName: string; + fn: EvaluationFunction; + }> = []; + + for (const fileName of scenarios) { + log.info(`Running scenario ${fileName}`); + const mod = await import(fileName); + Object.keys(mod).forEach((key) => { + evaluationFunctions.push({ name: key, fileName, fn: mod[key] }); + }); + } + + if (argv.grep) { + const lc = argv.grep.toLowerCase(); + evaluationFunctions = evaluationFunctions.filter((fn) => + fn.name.toLowerCase().includes(lc) + ); + } + + const header: string[][] = [ + [chalk.bold('Criterion'), chalk.bold('Result'), chalk.bold('Reasoning')], + ]; + + const tableConfig: TableUserConfig = { + singleLine: false, + border: { + topBody: `─`, + topJoin: `┬`, + topLeft: `┌`, + topRight: `┐`, + + bottomBody: `─`, + bottomJoin: `┴`, + bottomLeft: `└`, + bottomRight: `┘`, + + bodyLeft: `│`, + bodyRight: `│`, + bodyJoin: `│`, + + joinBody: `─`, + joinLeft: `├`, + joinRight: `┤`, + joinJoin: `┼`, + }, + spanningCells: [ + { row: 0, col: 0, colSpan: 3 }, + { row: 1, col: 0, colSpan: 3 }, + ], + columns: [ + { wrapWord: true, width: 60 }, + { wrapWord: true }, + { wrapWord: true, width: 60 }, + ], + }; + + const sortedEvaluationFunctions = sortBy(evaluationFunctions, 'fileName', 'name'); + + for (const { name, fn } of sortedEvaluationFunctions) { + log.debug(`Executing ${name}`); + const result = await fn({ + esClient, + kibanaClient, + chatClient: kibanaClient.createChatClient({ + connectorId: connector.id!, + persist: argv.persist, + title: argv.autoTitle ? undefined : name, + }), + }); + log.debug(`Result:`, JSON.stringify(result)); + const output: string[][] = [ + [ + result.messages.find((message) => message.role === MessageRole.User)!.content!, + '', + '', + ], + result.conversationId + ? [ + `${format(omit(parse(serviceUrls.kibanaUrl), 'auth'))}/${ + argv.spaceId ? `s/${argv.spaceId}/` : '' + }app/observabilityAIAssistant/conversations/${result.conversationId}`, + '', + '', + ] + : ['', '', ''], + ...header, + ]; + + result.scores.forEach((score) => { + output.push([ + score.criterion, + score.score === 0 ? chalk.redBright('failed') : chalk.greenBright('passed'), + score.reasoning, + ]); + }); + log.write(table.table(output, tableConfig)); + } + }, + { + log: { + defaultLevel: argv.logLevel as any, + }, + flags: { + allowUnexpected: true, + }, + } + ); + }) + .parse(); +} + +runEvaluations(); diff --git a/x-pack/plugins/observability_ai_assistant/scripts/evaluation/get_service_urls.ts b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/get_service_urls.ts new file mode 100644 index 0000000000000..d554e6c70a2fc --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/get_service_urls.ts @@ -0,0 +1,152 @@ +/* + * 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 { ToolingLog } from '@kbn/tooling-log'; +import { omit } from 'lodash'; +import fetch from 'node-fetch'; +import { format, parse, Url } from 'url'; + +async function discoverAuth(parsedTarget: Url, log: ToolingLog) { + const possibleCredentials = [`admin:changeme`, `elastic:changeme`]; + for (const auth of possibleCredentials) { + const url = format({ + ...parsedTarget, + auth, + }); + let status: number; + try { + log.debug(`Fetching ${url}`); + const response = await fetch(url); + status = response.status; + } catch (err) { + log.debug(`${url} resulted in ${err.message}`); + status = 0; + } + + if (status === 200) { + return auth; + } + } + + throw new Error(`Failed to authenticate user for ${format(parsedTarget)}`); +} + +async function getKibanaUrl({ kibana, log }: { kibana: string; log: ToolingLog }) { + try { + const isCI = process.env.CI?.toLowerCase() === 'true'; + + const parsedKibanaUrl = parse(kibana); + + const kibanaUrlWithoutAuth = format(omit(parsedKibanaUrl, 'auth')); + + log.debug(`Checking Kibana URL ${kibanaUrlWithoutAuth} for a redirect`); + + const unredirectedResponse = await fetch(kibanaUrlWithoutAuth, { + headers: { + ...(parsedKibanaUrl.auth + ? { Authorization: `Basic ${Buffer.from(parsedKibanaUrl.auth).toString('base64')}` } + : {}), + }, + method: 'HEAD', + follow: 1, + redirect: 'manual', + }); + + log.debug('Unredirected response', unredirectedResponse.headers.get('location')); + + const discoveredKibanaUrl = + unredirectedResponse.headers + .get('location') + ?.replace('/spaces/enter', '') + ?.replace('spaces/space_selector', '') || kibanaUrlWithoutAuth; + + log.debug(`Discovered Kibana URL at ${discoveredKibanaUrl}`); + + const parsedTarget = parse(kibana); + + const parsedDiscoveredUrl = parse(discoveredKibanaUrl); + + const discoveredKibanaUrlWithAuth = format({ + ...parsedDiscoveredUrl, + auth: parsedTarget.auth, + }); + + const redirectedResponse = await fetch(discoveredKibanaUrlWithAuth, { + method: 'HEAD', + }); + + if (redirectedResponse.status !== 200) { + throw new Error( + `Expected HTTP 200 from ${discoveredKibanaUrlWithAuth}, got ${redirectedResponse.status}` + ); + } + + const discoveredKibanaUrlWithoutAuth = format({ + ...parsedDiscoveredUrl, + auth: undefined, + }); + + log.info( + `Discovered kibana running at: ${ + isCI ? discoveredKibanaUrlWithoutAuth : discoveredKibanaUrlWithAuth + }` + ); + + return discoveredKibanaUrlWithAuth.replace(/\/$/, ''); + } catch (error) { + throw new Error(`Could not connect to Kibana: ` + error.message); + } +} + +export async function getServiceUrls({ + log, + elasticsearch, + kibana, +}: { + elasticsearch: string; + kibana: string; + log: ToolingLog; +}) { + if (!elasticsearch) { + // assume things are running locally + kibana = kibana || 'http://127.0.0.1:5601'; + elasticsearch = 'http://127.0.0.1:9200'; + } + + if (!elasticsearch) { + throw new Error('Could not determine an Elasticsearch target'); + } + + const parsedTarget = parse(elasticsearch); + + let auth = parsedTarget.auth; + + if (!parsedTarget.auth) { + auth = await discoverAuth(parsedTarget, log); + } + + const formattedEsUrl = format({ + ...parsedTarget, + auth, + }); + + const suspectedKibanaUrl = kibana || elasticsearch.replace('.es', '.kb'); + + const parsedKibanaUrl = parse(suspectedKibanaUrl); + + const kibanaUrlWithAuth = format({ + ...parsedKibanaUrl, + auth, + }); + + const validatedKibanaUrl = await getKibanaUrl({ kibana: kibanaUrlWithAuth, log }); + + return { + kibanaUrl: validatedKibanaUrl, + esUrl: formattedEsUrl, + }; +} diff --git a/x-pack/plugins/observability_ai_assistant/scripts/evaluation/index.js b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/index.js new file mode 100644 index 0000000000000..963e1a2ecfbed --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/index.js @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +require('@kbn/babel-register').install(); + +require('./evaluation'); diff --git a/x-pack/plugins/observability_ai_assistant/scripts/evaluation/kibana_client.ts b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/kibana_client.ts new file mode 100644 index 0000000000000..7c447931f30de --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/kibana_client.ts @@ -0,0 +1,327 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import axios, { AxiosInstance, AxiosResponse } from 'axios'; +import { pick } from 'lodash'; +import { filter, lastValueFrom, map, tap, toArray } from 'rxjs'; +import { format, parse, UrlObject } from 'url'; +import { Message, MessageRole } from '../../common'; +import { + ChatCompletionErrorCode, + ConversationCompletionError, + ConversationCreateEvent, + MessageAddEvent, + StreamingChatResponseEvent, + StreamingChatResponseEventType, +} from '../../common/conversation_complete'; +import { FunctionDefinition } from '../../common/types'; +import { concatenateOpenAiChunks } from '../../common/utils/concatenate_openai_chunks'; +import { processOpenAiStream } from '../../common/utils/process_openai_stream'; +import { APIReturnType, ObservabilityAIAssistantAPIClientRequestParamsOf } from '../../public'; +import { getAssistantSetupMessage } from '../../public/service/get_assistant_setup_message'; +import { streamIntoObservable } from '../../server/service/util/stream_into_observable'; +import { EvaluationResult } from './types'; + +type InnerMessage = Message['message']; +type StringOrMessageList = string | InnerMessage[]; + +interface ChatClient { + chat: (message: StringOrMessageList) => Promise; + complete: ( + ...args: [StringOrMessageList] | [string, InnerMessage[]] + ) => Promise<{ conversationId?: string; messages: InnerMessage[] }>; + + evaluate: ( + {}: { conversationId?: string; messages: InnerMessage[] }, + criteria: string[] + ) => Promise; +} + +export class KibanaClient { + axios: AxiosInstance; + constructor(private readonly url: string, private readonly spaceId?: string) { + this.axios = axios.create({ + headers: { + 'kbn-xsrf': 'foo', + }, + }); + } + + private getUrl(props: { query?: UrlObject['query']; pathname: string }) { + const parsed = parse(this.url); + + const baseUrl = parsed.pathname?.replaceAll('/', '') ?? ''; + + const url = format({ + ...parsed, + pathname: `/${[ + baseUrl, + ...(this.spaceId ? ['s', this.spaceId] : []), + props.pathname.startsWith('/') ? props.pathname.substring(1) : props.pathname, + ].join('/')}`, + query: props.query, + }); + + return url; + } + + createChatClient({ + connectorId, + persist, + title, + }: { + connectorId: string; + persist: boolean; + title?: string; + }): ChatClient { + function getMessages(message: string | Array): Array { + if (typeof message === 'string') { + return [ + { + content: message, + role: MessageRole.User, + }, + ]; + } + return message; + } + + const that = this; + + async function getFunctions() { + const { + data: { functionDefinitions, contextDefinitions }, + }: AxiosResponse> = + await that.axios.get( + that.getUrl({ pathname: '/internal/observability_ai_assistant/functions' }) + ); + + return { functionDefinitions, contextDefinitions }; + } + + async function chat({ + messages, + functions, + functionCall, + }: { + messages: Message[]; + functions: FunctionDefinition[]; + functionCall?: string; + }) { + const params: ObservabilityAIAssistantAPIClientRequestParamsOf<'POST /internal/observability_ai_assistant/chat'>['params']['body'] = + { + messages, + connectorId, + functions: functions.map((fn) => pick(fn, 'name', 'description', 'parameters')), + functionCall, + }; + const stream$ = streamIntoObservable( + ( + await that.axios.post( + that.getUrl({ + pathname: '/internal/observability_ai_assistant/chat', + query: { stream: true }, + }), + params, + { responseType: 'stream' } + ) + ).data + ).pipe(processOpenAiStream(), concatenateOpenAiChunks()); + + const receivedMessage = await lastValueFrom(stream$); + + return receivedMessage.message; + } + + return { + chat: async (message) => { + const { functionDefinitions, contextDefinitions } = await getFunctions(); + const messages = [ + getAssistantSetupMessage({ contexts: contextDefinitions }), + ...getMessages(message).map((msg) => ({ + message: msg, + '@timestamp': new Date().toISOString(), + })), + ]; + return chat({ messages, functions: functionDefinitions }); + }, + complete: async (...args) => { + const messagesArg = args.length === 1 ? args[0] : args[1]; + const conversationId = args.length === 1 ? undefined : args[0]; + const { contextDefinitions } = await getFunctions(); + const messages = [ + getAssistantSetupMessage({ contexts: contextDefinitions }), + ...getMessages(messagesArg).map((msg) => ({ + message: msg, + '@timestamp': new Date().toISOString(), + })), + ]; + + const stream$ = streamIntoObservable( + ( + await that.axios.post( + that.getUrl({ + pathname: '/internal/observability_ai_assistant/chat/complete', + }), + { + conversationId, + messages, + connectorId, + persist, + title, + }, + { responseType: 'stream' } + ) + ).data + ).pipe( + map((line) => JSON.parse(line) as StreamingChatResponseEvent), + tap((event) => { + if (event.type === StreamingChatResponseEventType.ConversationCompletionError) { + throw new ConversationCompletionError( + event.error.code ?? ChatCompletionErrorCode.InternalError, + event.error.message + ); + } + }), + filter( + (event): event is MessageAddEvent | ConversationCreateEvent => + event.type === StreamingChatResponseEventType.MessageAdd || + event.type === StreamingChatResponseEventType.ConversationCreate + ), + toArray() + ); + + const events = await lastValueFrom(stream$); + + return { + messages: messages + .map((msg) => msg.message) + .concat( + events + .filter( + (event): event is MessageAddEvent => + event.type === StreamingChatResponseEventType.MessageAdd + ) + .map((event) => event.message.message) + ), + conversationId: + conversationId || + events.find( + (event): event is ConversationCreateEvent => + event.type === StreamingChatResponseEventType.ConversationCreate + )?.conversation.id, + }; + }, + evaluate: async ({ messages, conversationId }, criteria) => { + const message = await chat({ + messages: [ + { + '@timestamp': new Date().toISOString(), + message: { + role: MessageRole.System, + content: `You are a critical assistant for evaluating conversations with the Elastic Observability AI Assistant, + which helps our users make sense of their Observability data. + + Your goal is to verify whether a conversation between the user and the assistant matches the given criteria. + + For each criterion, calculate a score. Explain your score, by describing what the assistant did right, and what the + assistant did wrong, where it could improve, and what the root cause was in case of a failure.`, + }, + }, + { + '@timestamp': new Date().toString(), + message: { + role: MessageRole.User, + content: `Evaluate the conversation according to the following criteria: + + ${criteria.map((criterion, index) => { + return `${index}: ${criterion}`; + })} + + This is the conversation: + + ${JSON.stringify(messages)}`, + }, + }, + ], + functions: [ + { + name: 'scores', + parameters: { + type: 'object', + properties: { + criteria: { + type: 'array', + items: { + type: 'object', + properties: { + index: { + type: 'number', + description: 'The number of the criterion', + }, + score: { + type: 'number', + description: + 'A score of either 0 (criterion failed) or 1 (criterion succeeded)', + }, + reasoning: { + type: 'string', + description: + 'Your reasoning for the score. Explain your score by mentioning what you expected to happen and what did happen.', + }, + }, + required: ['index', 'score', 'reasoning'], + }, + }, + }, + required: ['criteria'], + }, + contexts: [], + description: 'Call this function to return scores for the criteria', + }, + ], + functionCall: 'scores', + }); + + return { + conversationId, + messages, + scores: ( + JSON.parse(message.function_call.arguments) as { + criteria: Array<{ index: number; score: number; reasoning: string }>; + } + ).criteria.map(({ index, score, reasoning }) => { + return { + criterion: criteria[index], + score, + reasoning, + }; + }), + }; + }, + }; + } + + async getConnectors() { + const connectors: AxiosResponse< + Array<{ + id: string; + connector_type_id: string; + name: string; + is_preconfigured: boolean; + is_deprecated: boolean; + referenced_by_count: number; + }> + > = await axios.get( + this.getUrl({ + pathname: '/api/actions/connectors', + }) + ); + + return connectors.data.filter((connector) => connector.connector_type_id === '.gen-ai'); + } +} diff --git a/x-pack/plugins/observability_ai_assistant/scripts/evaluation/read_kibana_config.ts b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/read_kibana_config.ts new file mode 100644 index 0000000000000..5b64bb2f56189 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/read_kibana_config.ts @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import path from 'path'; +import fs from 'fs'; +import yaml from 'js-yaml'; +import { identity, pickBy } from 'lodash'; + +export type KibanaConfig = ReturnType; + +export const readKibanaConfig = () => { + const kibanaConfigDir = path.join(__filename, '../../../../../../config'); + const kibanaDevConfig = path.join(kibanaConfigDir, 'kibana.dev.yml'); + const kibanaConfig = path.join(kibanaConfigDir, 'kibana.yml'); + + const loadedKibanaConfig = (yaml.safeLoad( + fs.readFileSync(fs.existsSync(kibanaDevConfig) ? kibanaDevConfig : kibanaConfig, 'utf8') + ) || {}) as {}; + + const cliEsCredentials = pickBy( + { + 'elasticsearch.username': process.env.ELASTICSEARCH_USERNAME, + 'elasticsearch.password': process.env.ELASTICSEARCH_PASSWORD, + 'elasticsearch.hosts': process.env.ELASTICSEARCH_HOST, + }, + identity + ) as { + 'elasticsearch.username'?: string; + 'elasticsearch.password'?: string; + 'elasticsearch.hosts'?: string; + }; + + return { + 'elasticsearch.hosts': 'http://localhost:9200', + 'elasticsearch.username': 'elastic', + 'elasticsearch.password': 'changeme', + ...loadedKibanaConfig, + ...cliEsCredentials, + }; +}; diff --git a/x-pack/plugins/observability_ai_assistant/scripts/evaluation/scenarios/elasticsearch/index.ts b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/scenarios/elasticsearch/index.ts new file mode 100644 index 0000000000000..1f73f9a9a625d --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/scenarios/elasticsearch/index.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EvaluationFunction } from '../../types'; + +export const health: EvaluationFunction = async ({ chatClient }) => { + const conversation = await chatClient.complete( + 'Can you tell me what the state of my Elasticsearch cluster is?' + ); + + const evaluation = await chatClient.evaluate(conversation, [ + 'Calls the Elasticsearch function with method: GET and path: _cluster/health', + 'Describes the cluster status based on the response from the Elasticsearch function', + ]); + + return evaluation; +}; diff --git a/x-pack/plugins/observability_ai_assistant/scripts/evaluation/scenarios/esql/index.ts b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/scenarios/esql/index.ts new file mode 100644 index 0000000000000..c55df6e08849b --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/scenarios/esql/index.ts @@ -0,0 +1,173 @@ +/* + * 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 { last } from 'lodash'; +import { MessageRole } from '../../../../common'; +import { EvaluationFunction } from '../../types'; + +function extractEsqlQuery(response: string) { + return response.match(/```esql([\s\S]*?)```/)?.[1]; +} + +function createEsqlQueryEvaluation({ + question, + expected, + criteria = [], + execute = true, +}: { + question: string; + expected?: string; + criteria?: string[]; + execute?: boolean; +}): EvaluationFunction { + return async ({ chatClient }) => { + let conversation = await chatClient.complete(question); + + const esqlQuery = extractEsqlQuery(last(conversation.messages)?.content || ''); + + if (esqlQuery && execute) { + conversation = await chatClient.complete( + conversation.conversationId!, + conversation.messages.concat({ + content: '', + role: MessageRole.Assistant, + function_call: { + name: 'execute_query', + arguments: JSON.stringify({ + query: esqlQuery, + }), + trigger: MessageRole.User, + }, + }) + ); + } + + const evaluation = await chatClient.evaluate(conversation, [ + ...(expected + ? [ + `Returns a ES|QL query that is functionally equivalent to: + ${expected}`, + ] + : []), + ...(execute && expected ? [`The query successfully executed without an error`] : []), + ...criteria, + ]); + + return evaluation; + }; +} + +export const metricsApmQuery = createEsqlQueryEvaluation({ + question: + 'I want to see a query for metrics-apm*, filtering on metricset.name:transaction and metricset.interval:1m, showing the average duration (via transaction.duration.histogram), in 50 buckets.', + expected: `FROM metrics-apm* + | WHERE metricset.name == "transaction" AND metricset.interval == "1m" + | EVAL bucket = AUTO_BUCKET(@timestamp, 50, , ) + | STATS avg_duration = AVG(transaction.duration.histogram) BY bucket`, +}); + +export const packetbeatUniqueDomainsQuery = createEsqlQueryEvaluation({ + question: + 'For standard Elastic ECS compliant packetbeat data view, create an ES|QL query that shows the top 10 unique domains by doc count', + expected: `FROM packetbeat-* + | STATS doc_count = COUNT(destination.domain) BY destination.domain + | SORT doc_count DESC + | LIMIT 10`, +}); + +export const fiveEarliestEmployeesQuery = createEsqlQueryEvaluation({ + question: + 'From employees, I want to see the 5 earliest employees (hire_date), I want to display only the month and the year that they were hired in and their employee number (emp_no). Format the date as e.g. "September 2019".', + expected: `FROM employees + | EVAL hire_date_formatted = DATE_FORMAT(hire_date, ""MMMM yyyy"") + | SORT hire_date + | KEEP emp_no, hire_date_formatted + | LIMIT 5`, + execute: false, +}); + +export const employeesWithPaginationQuery = createEsqlQueryEvaluation({ + question: + 'From employees, I want to sort the documents by salary, and then return 10 results per page, and then see the second page', + criteria: ['The assistant should mention that pagination is currently not supported in ES|QL'], +}); + +export const logsAvgCpuQuery = createEsqlQueryEvaluation({ + question: + 'My logs data (ECS) is in `logs-*`. Show me a query that gets the average CPU per host, limit it to the top 10 results, in 1m buckets, and only include the last 15m. ', + expected: `FROM logs-* + | WHERE @timestamp >= NOW() - 15 minutes + | EVAL bucket = DATE_TRUNC(1 minute, @timestamp) + | STATS avg_cpu = AVG(system.cpu.total.norm.pct) BY bucket, host.name + | LIMIT 10`, +}); + +export const apmServiceInventoryQuery = createEsqlQueryEvaluation({ + question: + 'I want to show a list of services with APM data. My data is in `traces-apm*`. I want to show the average transaction duration, the success rate (by dividing event.outcome:failure by event.outcome:failure+success), and total amount of requests. As a time range, select the last 24 hours. Use ES|QL.', + expected: `FROM traces-apm* + | WHERE @timestamp >= NOW() - 24 hours + | EVAL successful = CASE(event.outcome == "success", 1, 0), + failed = CASE(event.outcome == "failure", 1, 0) + | STATS success_rate = AVG(successful), + avg_duration = AVG(transaction.duration), + total_requests = COUNT(transaction.id) BY service.name`, +}); + +export const metricbeatCpuQuery = createEsqlQueryEvaluation({ + question: `from \`metricbeat*\`, using ES|QL, I want to see the percentage of CPU time normalized by the number of CPU cores, broken down by hostname. the fields are system.cpu.user.pct, system.cpu.system.pct, and system.cpu.cores`, + expected: `FROM metricbeat* + | EVAL cpu_pct_normalized = (system.cpu.user.pct + system.cpu.system.pct) / system.cpu.cores + | STATS AVG(cpu_pct_normalized) BY host.name`, +}); + +export const postgresDurationQuery = createEsqlQueryEvaluation({ + question: + 'extract the query duration from postgres log messages in postgres-logs*, using ECS fields, and calculate the avg', + expected: `FROM postgres-logs + | DISSECT message "%{} duration: %{query_duration} ms" + | EVAL query_duration_num = TO_DOUBLE(query_duration) + | STATS avg_duration = AVG(query_duration_num)`, +}); + +export const apmExitSpanQuery = createEsqlQueryEvaluation({ + question: `I've got APM data in \`metrics-apm\`. Filter on \`metricset.name:service_destination\` and the last 24 hours. Break down by span.destination.service.resource. Each document contains the count of total events (span.destination.service.response_time.count) for that document's interval and the total amount of latency (span.destination.service.response_time.sum.us). A document either contains an aggregate of failed events (event.outcome:success) or failed events (event.outcome:failure). A single document might represent multiple failures or successes, depending on the value of span.destination.service.response_time.count. For each value of span.destination.service.resource, give me the average throughput, latency per request, and failure rate, as a value between 0 and 1. Just show me the query.`, + expected: `FROM metrics-apm + | WHERE metricset.name == "service_destination" AND @timestamp >= NOW() - 24 hours + | EVAL total_response_time = span.destination.service.response_time.sum.us / span.destination.service.response_time.count, total_failures = CASE(event.outcome == "failure", 1, 0) * span.destination.service.response_time.count + | STATS + avg_throughput = AVG(span.destination.service.response_time.count), + avg_latency = AVG(total_response_time), + failure_rate = AVG(total_failures) + BY span.destination.service.resource`, +}); + +export const highCardinalityLogsErrorQuery = createEsqlQueryEvaluation({ + question: `i have logs in high-cardinality-data-fake_stack.admin-console-* . errors are found when log.level contais the value ERROR. generate a query to obtain the error rate as a percetage of the total logs per day for the last 7 days`, + expected: `FROM high-cardinality-data-fake_stack.admin-console-* + | WHERE @timestamp >= NOW() - 7 days + | EVAL error = CASE(log.level == "ERROR", 1, 0), total = 1 + | EVAL bucket = DATE_TRUNC(1 day, @timestamp) + | STATS total_errors = SUM(error), total_logs = SUM(total) BY bucket + | EVAL error_rate = (total_errors / total_logs) * 100`, +}); + +export const nycTaxisDropoffTimeQuery = createEsqlQueryEvaluation({ + question: + 'From `nyc_taxis`, give me a query that shows the top 10 results where the drop off time was between 6am and 10am.', + expected: `FROM nyc_taxis + | WHERE DATE_EXTRACT(drop_off_time, "hour") >= 6 AND DATE_EXTRACT(drop_off_time, "hour") < 10 + | LIMIT 10`, +}); + +export const apmTraceDurationQuery = createEsqlQueryEvaluation({ + question: + 'My APM data is in `traces-apm*`. What’s the average for `transaction.duration.us` per service over the last hour?', + expected: `FROM traces-apm* + | WHERE @timestamp > NOW() - 1 hour + | STATS AVG(transaction.duration.us) BY service.name`, +}); diff --git a/x-pack/plugins/observability_ai_assistant/scripts/evaluation/types.ts b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/types.ts new file mode 100644 index 0000000000000..3ee8c2eaebe99 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/evaluation/types.ts @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { Client } from '@elastic/elasticsearch'; +import { Message } from '../../common'; +import { KibanaClient } from './kibana_client'; + +export interface ScenarioOptions { + esClient: Client; + kibanaClient: KibanaClient; + chatClient: ReturnType; +} + +export interface EvaluationResult { + conversationId?: string; + messages: Array; + scores: Array<{ + criterion: string; + reasoning: string; + score: number; + }>; +} + +export type EvaluationFunction = (options: ScenarioOptions) => Promise; diff --git a/x-pack/plugins/observability_ai_assistant/server/service/client/index.test.ts b/x-pack/plugins/observability_ai_assistant/server/service/client/index.test.ts index 062377cda5112..0349e5ec899f9 100644 --- a/x-pack/plugins/observability_ai_assistant/server/service/client/index.test.ts +++ b/x-pack/plugins/observability_ai_assistant/server/service/client/index.test.ts @@ -90,6 +90,7 @@ describe('Observability AI Assistant service', () => { const loggerMock: DeeplyMockedKeys = { log: jest.fn(), error: jest.fn(), + debug: jest.fn(), } as any; const functionClientMock: DeeplyMockedKeys = { diff --git a/x-pack/plugins/observability_ai_assistant/server/service/client/index.ts b/x-pack/plugins/observability_ai_assistant/server/service/client/index.ts index c111af3d92d48..9423977428d66 100644 --- a/x-pack/plugins/observability_ai_assistant/server/service/client/index.ts +++ b/x-pack/plugins/observability_ai_assistant/server/service/client/index.ts @@ -406,6 +406,9 @@ export class ObservabilityAIAssistantClient { function_call: functionCall ? { name: functionCall } : undefined, }; + this.dependencies.logger.debug(`Sending conversation to connector`); + this.dependencies.logger.debug(JSON.stringify(request, null, 2)); + const executeResult = await this.dependencies.actionsClient.execute({ actionId: connectorId, params: { diff --git a/x-pack/plugins/observability_ai_assistant/tsconfig.json b/x-pack/plugins/observability_ai_assistant/tsconfig.json index 03c1fddb28ecf..d1facbb985cb5 100644 --- a/x-pack/plugins/observability_ai_assistant/tsconfig.json +++ b/x-pack/plugins/observability_ai_assistant/tsconfig.json @@ -7,6 +7,7 @@ "../../../typings/**/*", "common/**/*", "public/**/*", + "scripts/**/*", "typings/**/*", "public/**/*.json", "server/**/*" @@ -48,7 +49,10 @@ "@kbn/licensing-plugin", "@kbn/share-plugin", "@kbn/utility-types-jest", - "@kbn/analytics-client" + "@kbn/analytics-client", + "@kbn/tooling-log", + "@kbn/babel-register", + "@kbn/dev-cli-runner" ], "exclude": ["target/**/*"] } diff --git a/yarn.lock b/yarn.lock index c0708f7153e9f..1bcbde9d29c4a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16631,10 +16631,10 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.0.3, fast-glob@^3.1.1, fast-glob@^3.2.11, fast-glob@^3.2.2, fast-glob@^3.2.7, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== +fast-glob@^3.0.3, fast-glob@^3.1.1, fast-glob@^3.2.11, fast-glob@^3.2.2, fast-glob@^3.2.7, fast-glob@^3.2.9, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -28628,10 +28628,10 @@ tabbable@^5.3.3: resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-5.3.3.tgz#aac0ff88c73b22d6c3c5a50b1586310006b47fbf" integrity sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA== -table@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== +table@^6.8.0, table@^6.8.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== dependencies: ajv "^8.0.1" lodash.truncate "^4.4.2" From 1daa450adeb9b17664d2653aef212495a89966ea Mon Sep 17 00:00:00 2001 From: Paul Bianciardi <70908889+paulb-elastic@users.noreply.github.com> Date: Wed, 13 Dec 2023 14:46:10 +0000 Subject: [PATCH 015/123] Update team labels for new Observability org structure (#172866) Update the team labels as per the Observability re-org --- .github/paths-labeller.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/paths-labeller.yml b/.github/paths-labeller.yml index 4f4057935265a..5f1ac0401ab31 100644 --- a/.github/paths-labeller.yml +++ b/.github/paths-labeller.yml @@ -8,18 +8,17 @@ - "Feature:ExpressionLanguage": - "src/plugins/expressions/**/*.*" - "src/plugins/bfetch/**/*.*" - - "Team:apm": + - "Team:obs-ux-infra_services": - "x-pack/plugins/apm/**/*.*" - "x-pack/test/apm_api_integration/**/*.*" - "packages/kbn-apm-synthtrace/**/*.*" - "packages/kbn-apm-synthtrace-client/**/*.*" - "packages/kbn-apm-utils/**/*.*" - - "Team:Fleet": - - "x-pack/plugins/fleet/**/*.*" - - "x-pack/test/fleet_api_integration/**/*.*" - - "Team:uptime": - "x-pack/plugins/synthetics/**/*.*" - "x-pack/plugins/ux/**/*.*" - "x-pack/plugins/observability/public/components/shared/exploratory_view/**/*.*" + - "Team:Fleet": + - "x-pack/plugins/fleet/**/*.*" + - "x-pack/test/fleet_api_integration/**/*.*" - "Team:obs-ux-management": - "x-pack/plugins/observability/**/*.*" From e426543eb20e92097ab79c64c83bde5d0fd7b7fa Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Wed, 13 Dec 2023 09:51:13 -0500 Subject: [PATCH 016/123] skip failing test suite (#173094) --- x-pack/test/functional/apps/discover/saved_queries.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/discover/saved_queries.ts b/x-pack/test/functional/apps/discover/saved_queries.ts index 2795ce3beafd6..466524f4dbf80 100644 --- a/x-pack/test/functional/apps/discover/saved_queries.ts +++ b/x-pack/test/functional/apps/discover/saved_queries.ts @@ -26,7 +26,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const savedQueryName = 'shared-saved-query'; const destinationSpaceId = 'nondefaultspace'; - describe('Discover Saved Queries', () => { + // Failing: See https://github.com/elastic/kibana/issues/173094 + describe.skip('Discover Saved Queries', () => { before('initialize tests', async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); await kibanaServer.importExport.load( From 4c79672181d54856d180f7cbb90d5e775ffc60a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Louv-Jansen?= Date: Wed, 13 Dec 2023 16:31:56 +0100 Subject: [PATCH 017/123] [APM] Make `useDataViewId` optional and remove default values (#173278) follow-up to https://github.com/elastic/kibana/pull/170857 --- .../src/scenarios/simple_trace.ts | 2 +- .../app/metrics/static_dashboard/index.tsx | 4 ++++ .../geo_map/embedded_map.test.tsx | 10 +++++++++- .../service_overview/geo_map/embedded_map.tsx | 2 +- .../links/discover_links/discover_link.tsx | 4 ++++ .../discover_links.integration.test.tsx | 8 ++++---- .../transaction_action_menu/sections.ts | 4 ++-- .../transaction_action_menu.test.tsx | 9 ++++++++- .../apm/public/hooks/use_data_view_id.tsx | 8 ++++---- .../plugins/apm/public/utils/test_helpers.tsx | 20 +++++++++++++------ 10 files changed, 51 insertions(+), 20 deletions(-) diff --git a/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts b/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts index 26b0c1282d514..c93e37b4f99b3 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts @@ -25,7 +25,7 @@ const scenario: Scenario = async (runOptions) => { const instances = [...Array(numServices).keys()].map((index) => apm - .service({ name: `synth-go-${index}`, environment: ENVIRONMENT, agentName: 'go' }) + .service({ name: `synth-node-${index}`, environment: ENVIRONMENT, agentName: 'nodejs' }) .instance('instance') ); const instanceSpans = (instance: Instance) => { diff --git a/x-pack/plugins/apm/public/components/app/metrics/static_dashboard/index.tsx b/x-pack/plugins/apm/public/components/app/metrics/static_dashboard/index.tsx index 29ebf34cca44f..1498ad8ac4dc7 100644 --- a/x-pack/plugins/apm/public/components/app/metrics/static_dashboard/index.tsx +++ b/x-pack/plugins/apm/public/components/app/metrics/static_dashboard/index.tsx @@ -62,6 +62,10 @@ export function JsonMetricsDashboard(dashboardProps: MetricsDashboardProps) { }); }, [dataView, serviceName, environment, dashboard]); + if (!dataViewId) { + return null; + } + return ( diff --git a/x-pack/plugins/apm/public/components/app/mobile/service_overview/geo_map/embedded_map.test.tsx b/x-pack/plugins/apm/public/components/app/mobile/service_overview/geo_map/embedded_map.test.tsx index 88e94ef82a61c..82bbd07ba8588 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/service_overview/geo_map/embedded_map.test.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/service_overview/geo_map/embedded_map.test.tsx @@ -31,6 +31,12 @@ describe('Embedded Map', () => { }), })); + const mockSpaces = { + getActiveSpace: jest + .fn() + .mockImplementation(() => ({ id: 'mockSpaceId' })), + }; + const { findByTestId } = render( { ]} > - + { const setLayerList = async () => { - if (embeddable && !isErrorEmbeddable(embeddable)) { + if (embeddable && !isErrorEmbeddable(embeddable) && dataViewId) { const layerList = await getLayerList({ selectedMap, maps, dataViewId }); await Promise.all([ embeddable.setLayerList(layerList), diff --git a/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_link.tsx b/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_link.tsx index 1f066d1322eb6..987fe5b23de52 100644 --- a/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_link.tsx +++ b/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_link.tsx @@ -66,6 +66,10 @@ export function DiscoverLink({ query = {}, ...rest }: Props) { const location = useLocation(); const dataViewId = useDataViewId(); + if (!dataViewId) { + return null; + } + const href = getDiscoverHref({ basePath: core.http.basePath, query, diff --git a/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_links.integration.test.tsx b/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_links.integration.test.tsx index f4d95a87df5dc..4d79e5e8f2796 100644 --- a/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_links.integration.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_links.integration.test.tsx @@ -35,7 +35,7 @@ describe('DiscoverLinks', () => { ); expect(href).toMatchInlineSnapshot( - `"/basepath/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:now/w,to:now))&_a=(index:apm_static_data_view_id_default,interval:auto,query:(language:kuery,query:'processor.event:\\"transaction\\" AND transaction.id:\\"8b60bd32ecc6e150\\" AND trace.id:\\"8b60bd32ecc6e1506735a8b6cfcf175c\\"'))"` + `"/basepath/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:now/w,to:now))&_a=(index:apm_static_data_view_id_mockSpaceId,interval:auto,query:(language:kuery,query:'processor.event:\\"transaction\\" AND transaction.id:\\"8b60bd32ecc6e150\\" AND trace.id:\\"8b60bd32ecc6e1506735a8b6cfcf175c\\"'))"` ); }); @@ -55,7 +55,7 @@ describe('DiscoverLinks', () => { ); expect(href).toMatchInlineSnapshot( - `"/basepath/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:now/w,to:now))&_a=(index:apm_static_data_view_id_default,interval:auto,query:(language:kuery,query:'span.id:\\"test-span-id\\"'))"` + `"/basepath/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:now/w,to:now))&_a=(index:apm_static_data_view_id_mockSpaceId,interval:auto,query:(language:kuery,query:'span.id:\\"test-span-id\\"'))"` ); }); @@ -77,7 +77,7 @@ describe('DiscoverLinks', () => { ); expect(href).toMatchInlineSnapshot( - `"/basepath/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:now/w,to:now))&_a=(index:apm_static_data_view_id_default,interval:auto,query:(language:kuery,query:'service.name:\\"service-name\\" AND error.grouping_key:\\"grouping-key\\"'),sort:('@timestamp':desc))"` + `"/basepath/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:now/w,to:now))&_a=(index:apm_static_data_view_id_mockSpaceId,interval:auto,query:(language:kuery,query:'service.name:\\"service-name\\" AND error.grouping_key:\\"grouping-key\\"'),sort:('@timestamp':desc))"` ); }); @@ -100,7 +100,7 @@ describe('DiscoverLinks', () => { ); expect(href).toMatchInlineSnapshot( - `"/basepath/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:now/w,to:now))&_a=(index:apm_static_data_view_id_default,interval:auto,query:(language:kuery,query:'service.name:\\"service-name\\" AND error.grouping_key:\\"grouping-key\\" AND some:kuery-string'),sort:('@timestamp':desc))"` + `"/basepath/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:now/w,to:now))&_a=(index:apm_static_data_view_id_mockSpaceId,interval:auto,query:(language:kuery,query:'service.name:\\"service-name\\" AND error.grouping_key:\\"grouping-key\\" AND some:kuery-string'),sort:('@timestamp':desc))"` ); }); }); diff --git a/x-pack/plugins/apm/public/components/shared/transaction_action_menu/sections.ts b/x-pack/plugins/apm/public/components/shared/transaction_action_menu/sections.ts index b50bbd5239ccb..a21e79353e675 100644 --- a/x-pack/plugins/apm/public/components/shared/transaction_action_menu/sections.ts +++ b/x-pack/plugins/apm/public/components/shared/transaction_action_menu/sections.ts @@ -69,9 +69,9 @@ export const getSections = ({ allDatasetsLocator: LocatorPublic; logsLocator: LocatorPublic; nodeLogsLocator: LocatorPublic; - dataViewId: string; + dataViewId?: string; }) => { - if (!transaction) return []; + if (!transaction || !dataViewId) return []; const hostName = transaction.host?.hostname; const podId = transaction.kubernetes?.pod?.uid; diff --git a/x-pack/plugins/apm/public/components/shared/transaction_action_menu/transaction_action_menu.test.tsx b/x-pack/plugins/apm/public/components/shared/transaction_action_menu/transaction_action_menu.test.tsx index 28fc0657ee831..20e3d2ad0c948 100644 --- a/x-pack/plugins/apm/public/components/shared/transaction_action_menu/transaction_action_menu.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/transaction_action_menu/transaction_action_menu.test.tsx @@ -30,6 +30,7 @@ import { } from '../../../utils/test_helpers'; import { TransactionActionMenu } from './transaction_action_menu'; import * as Transactions from './__fixtures__/mock_data'; +import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; const apmContextMock = { ...mockApmPluginContextValue, @@ -60,10 +61,16 @@ history.replace( ); function Wrapper({ children }: { children?: React.ReactNode }) { + const mockSpaces = { + getActiveSpace: jest.fn().mockImplementation(() => ({ id: 'mockSpaceId' })), + }; + return ( - {children} + + {children} + ); diff --git a/x-pack/plugins/apm/public/hooks/use_data_view_id.tsx b/x-pack/plugins/apm/public/hooks/use_data_view_id.tsx index 3390471ff60e7..14e1a1fb92721 100644 --- a/x-pack/plugins/apm/public/hooks/use_data_view_id.tsx +++ b/x-pack/plugins/apm/public/hooks/use_data_view_id.tsx @@ -11,15 +11,15 @@ import { getDataViewId } from '../../common/data_view_constants'; import { ApmPluginStartDeps } from '../plugin'; export function useDataViewId() { - const [dataViewId, setDataViewId] = useState( - getDataViewId('default') - ); + const [dataViewId, setDataViewId] = useState(); const { spaces } = useKibana().services; useEffect(() => { const fetchSpaceId = async () => { const space = await spaces?.getActiveSpace(); - setDataViewId(getDataViewId(space?.id ?? 'default')); + if (space?.id) { + setDataViewId(getDataViewId(space?.id)); + } }; fetchSpaceId(); diff --git a/x-pack/plugins/apm/public/utils/test_helpers.tsx b/x-pack/plugins/apm/public/utils/test_helpers.tsx index bb81f73ef7705..360ac9a95298b 100644 --- a/x-pack/plugins/apm/public/utils/test_helpers.tsx +++ b/x-pack/plugins/apm/public/utils/test_helpers.tsx @@ -19,6 +19,7 @@ import { Moment } from 'moment-timezone'; import React from 'react'; import { MemoryRouter } from 'react-router-dom'; import { EuiThemeProvider } from '@kbn/kibana-react-plugin/common'; +import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { MockApmPluginContextWrapper } from '../context/apm_plugin/mock_apm_plugin_context'; import { UrlParamsProvider } from '../context/url_params_context/url_params_context'; @@ -61,20 +62,27 @@ export function mockMoment() { // Useful for getting the rendered href from any kind of link component export async function getRenderedHref(Component: React.FC, location: Location) { + const mockSpaces = { + getActiveSpace: jest.fn().mockImplementation(() => ({ id: 'mockSpaceId' })), + }; + const el = render( - - - + + + + + ); - const a = el.container.querySelector('a'); - await waitFor(() => {}, { container: a! }); + await waitFor(() => el.container.querySelector('a') !== null, { + container: el.container, + }); - return a ? a.getAttribute('href') : ''; + return el.container.querySelector('a')?.getAttribute('href'); } export function mockNow(date: string | number | Date) { From d91ae9ca65733f1398612dd389ac2bd9c5edf338 Mon Sep 17 00:00:00 2001 From: Steph Milovic Date: Wed, 13 Dec 2023 09:32:33 -0600 Subject: [PATCH 018/123] [Security solution] Explore cypress, remove use of force: true (#173173) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Removes the use of `force: true` in Explore cypress tests as it doesn’t allow cypress to test for visibility before clicking Test runner build: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4523 --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../e2e/explore/cases/attach_timeline.cy.ts | 2 +- .../cypress/e2e/explore/urls/state.cy.ts | 8 ++++---- .../cypress/e2e/explore/users/users_tabs.cy.ts | 9 +++++---- .../cypress/tasks/all_cases.ts | 6 +++--- .../cypress/tasks/case_details.ts | 6 +++--- .../cypress/tasks/common.ts | 11 +++++++++++ .../cypress/tasks/hosts/all_hosts.ts | 2 +- .../cypress/tasks/hosts/events.ts | 14 +++++--------- .../cypress/tasks/hosts/main.ts | 9 +++++---- .../cypress/tasks/network/flows.ts | 2 +- .../cypress/tasks/timeline.ts | 12 ++---------- 11 files changed, 41 insertions(+), 40 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_timeline.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_timeline.cy.ts index c0a2295887a1f..a6e82d8e6aa97 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_timeline.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/attach_timeline.cy.ts @@ -88,7 +88,7 @@ describe('attach timeline to case', { tags: ['@ess', '@serverless'] }, () => { it('modal can be re-opened once closed', function () { visitTimeline(this.timelineId); attachTimelineToExistingCase(); - cy.get('[data-test-subj="all-cases-modal-cancel-button"]').click({ force: true }); + cy.get('[data-test-subj="all-cases-modal-cancel-button"]').click(); cy.get('[data-test-subj="all-cases-modal"]').should('not.exist'); attachTimelineToExistingCase(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/urls/state.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/urls/state.cy.ts index e24998fd9f304..e48a03aef2d39 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/urls/state.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/urls/state.cy.ts @@ -21,7 +21,7 @@ import { KQL_INPUT, NETWORK, LOADING_INDICATOR, - openNavigationPanel, + openNavigationPanel as toggleNavigationPanel, } from '../../../screens/security_header'; import { TIMELINE_DATE_PICKER_CONTAINER, TIMELINE_TITLE } from '../../../screens/timeline'; @@ -228,7 +228,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { kqlSearch('source.ip: "10.142.0.9" {enter}'); navigateFromHeaderTo(HOSTS); - openNavigationPanel(EXPLORE_PANEL_BTN); + toggleNavigationPanel(EXPLORE_PANEL_BTN); cy.get(NETWORK) .should('have.attr', 'href') .and( @@ -236,14 +236,13 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { `/app/security/network?sourcerer=(default:(id:security-solution-default,selectedPatterns:!('auditbeat-*')))&query=(language:kuery,query:'source.ip:%20%2210.142.0.9%22%20')&timerange=(global:(linkTo:!(timeline),timerange:(from:'2019-08-01T20:03:29.186Z',kind:absolute,to:'2019-08-01T20:33:29.186Z')),timeline:(linkTo:!(global),timerange:(from:'2019-08-01T20:03:29.186Z',kind:absolute,to:'2019-08-01T20:33:29.186Z')))` ); }); - it('sets KQL in host page and detail page and check if href match on breadcrumb, tabs and subTabs', () => { visit(ABSOLUTE_DATE_RANGE.urlHostNew); kqlSearch('host.name: "siem-kibana" {enter}'); openAllHosts(); waitForAllHostsToBeLoaded(); - openNavigationPanel(EXPLORE_PANEL_BTN); + toggleNavigationPanel(EXPLORE_PANEL_BTN); cy.get(HOSTS) .should('have.attr', 'href') .and( @@ -256,6 +255,7 @@ describe('url state', { tags: ['@ess', '@brokenInServerless'] }, () => { 'contain', `/app/security/network?sourcerer=(default:(id:security-solution-default,selectedPatterns:!('auditbeat-*')))&query=(language:kuery,query:'host.name:%20%22siem-kibana%22%20')&timerange=(global:(linkTo:!(timeline),timerange:(from:'2019-08-01T20:03:29.186Z',kind:absolute,to:'2023-01-01T21:33:29.186Z')),timeline:(linkTo:!(global),timerange:(from:'2019-08-01T20:03:29.186Z',kind:absolute,to:'2023-01-01T21:33:29.186Z')))` ); + toggleNavigationPanel(EXPLORE_PANEL_BTN); cy.get(HOSTS_NAMES).first().should('have.text', 'siem-kibana'); openFirstHostDetails(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts index 0d884816ad964..1f198bb7627c9 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts @@ -18,6 +18,7 @@ import { login } from '../../../tasks/login'; import { visitUserDetailsPage, visitWithTimeRange } from '../../../tasks/navigation'; import { USERS_URL } from '../../../urls/navigation'; +import { waitForTabToBeLoaded } from '../../../tasks/common'; describe('Users stats and tables', { tags: ['@ess', '@serverless'] }, () => { before(() => { @@ -48,7 +49,7 @@ describe('Users stats and tables', { tags: ['@ess', '@serverless'] }, () => { it(`renders all authentications`, () => { const totalUsers = 1; - cy.get(AUTHENTICATIONS_TAB).click(); + waitForTabToBeLoaded(AUTHENTICATIONS_TAB); cy.get(AUTHENTICATIONS_TABLE) .find(HEADER_SUBTITLE) @@ -56,19 +57,19 @@ describe('Users stats and tables', { tags: ['@ess', '@serverless'] }, () => { }); it(`renders anomalies tab`, () => { - cy.get(ANOMALIES_TAB).click({ force: true }); + waitForTabToBeLoaded(ANOMALIES_TAB); cy.get(ANOMALIES_TAB_CONTENT).should('exist'); }); it(`renders events tab`, () => { - cy.get(EVENTS_TAB).click({ force: true }); + waitForTabToBeLoaded(EVENTS_TAB); cy.get(EVENTS_TAB_CONTENT).should('exist'); }); it(`renders users risk tab`, () => { - cy.get(RISK_SCORE_TAB).click({ force: true }); + waitForTabToBeLoaded(RISK_SCORE_TAB); cy.get(RISK_SCORE_TAB_CONTENT).should('exist'); }); diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/all_cases.ts b/x-pack/test/security_solution_cypress/cypress/tasks/all_cases.ts index 90d41a92c8f16..b81aaa8b8909b 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/all_cases.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/all_cases.ts @@ -12,13 +12,13 @@ import { } from '../screens/all_cases'; export const goToCreateNewCase = () => { - cy.get(ALL_CASES_CREATE_NEW_CASE_BTN, { timeout: 60000 }).click({ force: true }); + cy.get(ALL_CASES_CREATE_NEW_CASE_BTN, { timeout: 60000 }).click(); }; export const goToCaseDetails = () => { - cy.get(ALL_CASES_NAME).click({ force: true }); + cy.get(ALL_CASES_NAME).click(); }; export const goToEditExternalConnection = () => { - cy.get(EDIT_EXTERNAL_CONNECTION).click({ force: true }); + cy.get(EDIT_EXTERNAL_CONNECTION).click(); }; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/case_details.ts b/x-pack/test/security_solution_cypress/cypress/tasks/case_details.ts index 0609c784064a7..269e5311b1d10 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/case_details.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/case_details.ts @@ -14,9 +14,9 @@ import { } from '../screens/case_details'; export const deleteCase = () => { - cy.get(CASE_ACTIONS).first().click({ force: true }); - cy.get(CASE_DELETE).click({ force: true }); - cy.get(DELETE_CASE_CONFIRM_BUTTON).click({ force: true }); + cy.get(CASE_ACTIONS).first().click(); + cy.get(CASE_DELETE).click(); + cy.get(DELETE_CASE_CONFIRM_BUTTON).click(); }; export const openCaseTimeline = () => { diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/common.ts b/x-pack/test/security_solution_cypress/cypress/tasks/common.ts index b7d0062cd5d02..21a20a7027a12 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/common.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/common.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { recurse } from 'cypress-recurse'; import { KIBANA_LOADING_ICON } from '../screens/security_header'; import { EUI_BASIC_TABLE_LOADING } from '../screens/common/controls'; @@ -81,3 +82,13 @@ export const waitForTableToLoad = () => { cy.get(EUI_BASIC_TABLE_LOADING).should('exist'); cy.get(EUI_BASIC_TABLE_LOADING).should('not.exist'); }; + +export const waitForTabToBeLoaded = (tabId: string) => { + recurse( + () => cy.get(tabId).should('be.visible').click(), + ($el) => expect($el).to.have.class('euiTab-isSelected'), + { + delay: 500, + } + ); +}; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/hosts/all_hosts.ts b/x-pack/test/security_solution_cypress/cypress/tasks/hosts/all_hosts.ts index 44009de3e530d..7c891050c6aee 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/hosts/all_hosts.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/hosts/all_hosts.ts @@ -8,7 +8,7 @@ import { ALL_HOSTS_TABLE, HOSTS_NAMES } from '../../screens/hosts/all_hosts'; export const openFirstHostDetails = () => { - cy.get(HOSTS_NAMES).first().click({ force: true }); + cy.get(HOSTS_NAMES).first().click(); }; export const waitForAllHostsToBeLoaded = () => { diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/hosts/events.ts b/x-pack/test/security_solution_cypress/cypress/tasks/hosts/events.ts index f92adb475d9df..5b1aa90a7266c 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/hosts/events.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/hosts/events.ts @@ -15,26 +15,22 @@ import { } from '../../screens/hosts/events'; export const addsHostGeoCityNameToHeader = () => { - cy.get(HOST_GEO_CITY_NAME_CHECKBOX).check({ - force: true, - }); + cy.get(HOST_GEO_CITY_NAME_CHECKBOX).check(); }; export const addsHostGeoCountryNameToHeader = () => { - cy.get(HOST_GEO_COUNTRY_NAME_CHECKBOX).check({ - force: true, - }); + cy.get(HOST_GEO_COUNTRY_NAME_CHECKBOX).check(); }; export const openEventsViewerFieldsBrowser = () => { - cy.get(EVENTS_VIEWER_FIELDS_BUTTON).click({ force: true }); + cy.get(EVENTS_VIEWER_FIELDS_BUTTON).click(); cy.get(SERVER_SIDE_EVENT_COUNT).should('not.have.text', '0'); cy.get(FIELDS_BROWSER_CONTAINER).should('exist'); }; export const opensInspectQueryModal = () => { - cy.get(INSPECT_QUERY).should('exist').trigger('mousemove', { force: true }); - cy.get(INSPECT_QUERY).should('exist').click({ force: true }); + cy.get(INSPECT_QUERY).should('exist').trigger('mousemove'); + cy.get(INSPECT_QUERY).should('exist').click(); }; export const waitsForEventsToBeLoaded = () => { diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/hosts/main.ts b/x-pack/test/security_solution_cypress/cypress/tasks/hosts/main.ts index fd271d13cb1c8..f1d9a5b3859a4 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/hosts/main.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/hosts/main.ts @@ -11,11 +11,12 @@ import { SESSIONS_TAB, UNCOMMON_PROCESSES_TAB, } from '../../screens/hosts/main'; +import { waitForTabToBeLoaded } from '../common'; -export const openAllHosts = () => cy.get(ALL_HOSTS_TAB).click({ force: true }); +export const openAllHosts = () => waitForTabToBeLoaded(ALL_HOSTS_TAB); -export const openEvents = () => cy.get(EVENTS_TAB).click({ force: true }); +export const openEvents = () => waitForTabToBeLoaded(EVENTS_TAB); -export const openUncommonProcesses = () => cy.get(UNCOMMON_PROCESSES_TAB).click({ force: true }); +export const openUncommonProcesses = () => waitForTabToBeLoaded(UNCOMMON_PROCESSES_TAB); -export const openSessions = () => cy.get(SESSIONS_TAB).click({ force: true }); +export const openSessions = () => waitForTabToBeLoaded(SESSIONS_TAB); diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/network/flows.ts b/x-pack/test/security_solution_cypress/cypress/tasks/network/flows.ts index b9febb6a39381..5aa9ae55688cc 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/network/flows.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/network/flows.ts @@ -48,5 +48,5 @@ export const clickOnShowTopN = () => { export const clickOnCopyValue = () => { cy.get(COPY).first().focus(); - cy.focused().click({ force: true }); // eslint-disable-line cypress/unsafe-to-chain-command + cy.focused().click(); // eslint-disable-line cypress/unsafe-to-chain-command }; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts index c39d5f9e6cb9a..43d27d7e409a0 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts @@ -94,7 +94,7 @@ import { SAVE_TIMELINE_ACTION_BTN, } from '../screens/timeline'; import { REFRESH_BUTTON, TIMELINE } from '../screens/timelines'; -import { drag, drop } from './common'; +import { drag, drop, waitForTabToBeLoaded } from './common'; import { closeFieldsBrowser, filterFieldsBrowser } from './fields_browser'; @@ -155,15 +155,7 @@ export const goToNotesTab = (): Cypress.Chainable> => { return cy.get(NOTES_TAB_BUTTON); }; -export const goToEsqlTab = () => { - recurse( - () => cy.get(ESQL_TAB).should('be.visible').click(), - ($el) => expect($el).to.have.class('euiTab-isSelected'), - { - delay: 500, - } - ); -}; +export const goToEsqlTab = () => waitForTabToBeLoaded(ESQL_TAB); export const goToCorrelationTab = () => { cy.get(TIMELINE_CORRELATION_TAB).click(); From 08f2f7cf670a7f42baf39be96f729c5512065da1 Mon Sep 17 00:00:00 2001 From: Vitalii Dmyterko <92328789+vitaliidm@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:35:06 +0000 Subject: [PATCH 019/123] [Security Solution][Detection Engine] fixes list index privileges messaging (#172578) ## Summary - addresses https://github.com/elastic/kibana/issues/170590 - updates outdated list of index permissions according to https://www.elastic.co/guide/en/security/current/detections-permissions-section.html, adds `manage` instead of `maintenance` for `lists` and `items` data streams - disables import value lists, when lists data stream does not exist and user doesn't have privileges to create it(`manage` cluster). `manage` cluster privilege is required to create lists index template. Shows message, on lack of manage cluster privileges, when hover on import value lists button ## UI ### Before Outdated privileges Screenshot 2023-12-05 at 18 45 05 ### After Updated privileges Screenshot 2023-12-05 at 18 44 24 Disabled button (before, user would see not very helpful error message when trying to import list, refer to https://github.com/elastic/kibana/issues/170590) Screenshot 2023-12-05 at 18 42 06 ### 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 - [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> Co-authored-by: Nastasha Solomon <79124755+nastasha-solomon@users.noreply.github.com> --- .../pages/rule_management/index.tsx | 21 ++++++- .../use_missing_privileges.ts | 4 +- .../lists/use_lists_config.mock.ts | 2 + .../lists/use_lists_config.test.tsx | 63 ++++++++++++++++--- .../lists/use_lists_config.tsx | 23 ++++++- .../detection_engine/rules/translations.ts | 8 +++ 6 files changed, 107 insertions(+), 14 deletions(-) diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/pages/rule_management/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/pages/rule_management/index.tsx index c9160c3cba1b9..17c5368a4b1c5 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/pages/rule_management/index.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/pages/rule_management/index.tsx @@ -66,7 +66,9 @@ const RulesPageComponent: React.FC = () => { const { loading: listsConfigLoading, canWriteIndex: canWriteListsIndex, + canCreateIndex: canCreateListsIndex, needsConfiguration: needsListsConfiguration, + needsIndex: needsListsIndex, } = useListsConfig(); const loading = userInfoLoading || listsConfigLoading; @@ -85,6 +87,14 @@ const RulesPageComponent: React.FC = () => { return null; } + // - if lists data stream does not exist and user doesn't have enough privileges to create it, + // lists button should be disabled + // - if data stream exists and user doesn't have enough privileges to create it, + // user still can import value lists, so button should not be disabled if user has enough other privileges + const cantCreateNonExistentListIndex = needsListsIndex && !canCreateListsIndex; + const isImportValueListDisabled = + cantCreateNonExistentListIndex || !canWriteListsIndex || !canUserCRUD || loading; + return ( <> @@ -117,11 +127,18 @@ const RulesPageComponent: React.FC = () => {
- + {i18n.IMPORT_VALUE_LISTS} diff --git a/x-pack/plugins/security_solution/public/detections/components/callouts/missing_privileges_callout/use_missing_privileges.ts b/x-pack/plugins/security_solution/public/detections/components/callouts/missing_privileges_callout/use_missing_privileges.ts index cc5376c29d892..a25174a4f37a6 100644 --- a/x-pack/plugins/security_solution/public/detections/components/callouts/missing_privileges_callout/use_missing_privileges.ts +++ b/x-pack/plugins/security_solution/public/detections/components/callouts/missing_privileges_callout/use_missing_privileges.ts @@ -11,7 +11,7 @@ import type { Privilege } from '../../../containers/detection_engine/alerts/type import { useUserData } from '../../user_info'; import { useUserPrivileges } from '../../../../common/components/user_privileges'; -const REQUIRED_INDEX_PRIVILIGES = ['read', 'write', 'view_index_metadata', 'maintenance'] as const; +const REQUIRED_INDEX_PRIVILEGES = ['read', 'write', 'view_index_metadata', 'manage'] as const; const getIndexName = (indexPrivileges: Privilege['index']) => { const [indexName] = Object.keys(indexPrivileges); @@ -24,7 +24,7 @@ const getMissingIndexPrivileges = ( ): MissingIndexPrivileges | undefined => { const indexName = getIndexName(indexPrivileges); const privileges = indexPrivileges[indexName]; - const missingPrivileges = REQUIRED_INDEX_PRIVILIGES.filter((privelege) => !privileges[privelege]); + const missingPrivileges = REQUIRED_INDEX_PRIVILEGES.filter((privilege) => !privileges[privilege]); if (missingPrivileges.length) { return [indexName, missingPrivileges]; diff --git a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.mock.ts b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.mock.ts index 94d506b1e7af7..2b8c2f5df996f 100644 --- a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.mock.ts +++ b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.mock.ts @@ -13,4 +13,6 @@ export const getUseListsConfigMock: () => jest.Mocked = () enabled: true, loading: false, needsConfiguration: false, + needsIndex: false, + canCreateIndex: false, }); diff --git a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.test.tsx b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.test.tsx index 81eaede2a821e..b8439e2f9a861 100644 --- a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.test.tsx @@ -13,10 +13,14 @@ import { useListsPrivileges } from './use_lists_privileges'; import { getUseListsIndexMock } from './use_lists_index.mock'; import { getUseListsPrivilegesMock } from './use_lists_privileges.mock'; import { useListsConfig } from './use_lists_config'; +import { useUserPrivileges } from '../../../../common/components/user_privileges'; jest.mock('../../../../common/lib/kibana'); jest.mock('./use_lists_index'); jest.mock('./use_lists_privileges'); +jest.mock('../../../../common/components/user_privileges'); + +const useUserPrivilegesMock = useUserPrivileges as jest.Mock; describe('useListsConfig', () => { let listsIndexMock: ReturnType; @@ -27,16 +31,19 @@ describe('useListsConfig', () => { listsPrivilegesMock = getUseListsPrivilegesMock(); (useListsIndex as jest.Mock).mockReturnValue(listsIndexMock); (useListsPrivileges as jest.Mock).mockReturnValue(listsPrivilegesMock); + useUserPrivilegesMock.mockReturnValue({ + detectionEnginePrivileges: { result: { cluster: { manage: false } } }, + }); }); it("returns the user's write permissions", () => { listsPrivilegesMock.canWriteIndex = false; const { result } = renderHook(() => useListsConfig()); - expect(result.current.canWriteIndex).toEqual(false); + expect(result.current.canWriteIndex).toBe(false); listsPrivilegesMock.canWriteIndex = true; const { result: result2 } = renderHook(() => useListsConfig()); - expect(result2.current.canWriteIndex).toEqual(true); + expect(result2.current.canWriteIndex).toBe(true); }); describe('when lists are disabled', () => { @@ -46,8 +53,8 @@ describe('useListsConfig', () => { it('indicates that lists are not enabled, and need configuration', () => { const { result } = renderHook(() => useListsConfig()); - expect(result.current.enabled).toEqual(false); - expect(result.current.needsConfiguration).toEqual(true); + expect(result.current.enabled).toBe(false); + expect(result.current.needsConfiguration).toBe(true); }); }); @@ -61,16 +68,26 @@ describe('useListsConfig', () => { listsPrivilegesMock.canManageIndex = false; const { result } = renderHook(() => useListsConfig()); - expect(result.current.needsConfiguration).toEqual(true); + expect(result.current.needsConfiguration).toBe(true); expect(listsIndexMock.createIndex).not.toHaveBeenCalled(); }); - it('attempts to create the indexes if the user can manage indexes', () => { + it('attempts to create the indexes if the user can manage indexes and have cluster privilege', () => { + useUserPrivilegesMock.mockReturnValue({ + detectionEnginePrivileges: { result: { cluster: { manage: true } } }, + }); listsPrivilegesMock.canManageIndex = true; renderHook(() => useListsConfig()); expect(listsIndexMock.createIndex).toHaveBeenCalled(); }); + + it('does not call create index if the user can manage indexes but not cluster privilege', () => { + listsPrivilegesMock.canManageIndex = true; + + renderHook(() => useListsConfig()); + expect(listsIndexMock.createIndex).not.toHaveBeenCalled(); + }); }); describe('when lists are enabled and indexes exist', () => { @@ -81,7 +98,39 @@ describe('useListsConfig', () => { it('does not need configuration', () => { const { result } = renderHook(() => useListsConfig()); - expect(result.current.needsConfiguration).toEqual(false); + expect(result.current.needsConfiguration).toBe(false); + }); + }); + + describe('create index privileges', () => { + it('canCreateIndex is true, when user can manage indices and cluster', () => { + useUserPrivilegesMock.mockReturnValue({ + detectionEnginePrivileges: { result: { cluster: { manage: true } } }, + }); + listsPrivilegesMock.canManageIndex = true; + + const { result } = renderHook(() => useListsConfig()); + expect(result.current.canCreateIndex).toBe(true); + }); + + it('canCreateIndex is false, when user can manage indices and can not manage cluster', () => { + useUserPrivilegesMock.mockReturnValue({ + detectionEnginePrivileges: { result: { cluster: { manage: false } } }, + }); + listsPrivilegesMock.canManageIndex = true; + + const { result } = renderHook(() => useListsConfig()); + expect(result.current.canCreateIndex).toBe(false); + }); + + it('canCreateIndex is false, when user can not manage indices and can manage cluster', () => { + useUserPrivilegesMock.mockReturnValue({ + detectionEnginePrivileges: { result: { cluster: { manage: true } } }, + }); + listsPrivilegesMock.canManageIndex = false; + + const { result } = renderHook(() => useListsConfig()); + expect(result.current.canCreateIndex).toBe(false); }); }); }); diff --git a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.tsx b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.tsx index e07367367d153..f8db3528ba615 100644 --- a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.tsx +++ b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists/use_lists_config.tsx @@ -10,6 +10,7 @@ import { useEffect } from 'react'; import { useKibana } from '../../../../common/lib/kibana'; import { useListsIndex } from './use_lists_index'; import { useListsPrivileges } from './use_lists_privileges'; +import { useUserPrivileges } from '../../../../common/components/user_privileges'; export interface UseListsConfigReturn { canManageIndex: boolean | null; @@ -17,13 +18,18 @@ export interface UseListsConfigReturn { enabled: boolean; loading: boolean; needsConfiguration: boolean; + needsIndex: boolean; + canCreateIndex: boolean | null; } export const useListsConfig = (): UseListsConfigReturn => { const { createIndex, indexExists, loading: indexLoading, error: indexError } = useListsIndex(); const { canManageIndex, canWriteIndex, loading: privilegesLoading } = useListsPrivileges(); + const { detectionEnginePrivileges } = useUserPrivileges(); + const { lists } = useKibana().services; + const canManageCluster = detectionEnginePrivileges.result?.cluster.manage ?? null; const enabled = lists != null; const loading = indexLoading || privilegesLoading; const needsIndex = indexExists === false; @@ -31,12 +37,23 @@ export const useListsConfig = (): UseListsConfigReturn => { const needsIndexConfiguration = needsIndex && (canManageIndex === false || (canManageIndex === true && hasIndexError)); const needsConfiguration = !enabled || needsIndexConfiguration; + // Index can be created only when manage cluster privilege assigned to user role. + // It's needed to create index templates + const canCreateIndex = canManageIndex && canManageCluster; useEffect(() => { - if (needsIndex && canManageIndex) { + if (needsIndex && canCreateIndex) { createIndex(); } - }, [canManageIndex, createIndex, needsIndex]); + }, [createIndex, needsIndex, canCreateIndex]); - return { canManageIndex, canWriteIndex, enabled, loading, needsConfiguration }; + return { + canManageIndex, + canWriteIndex, + enabled, + loading, + needsConfiguration, + needsIndex, + canCreateIndex, + }; }; diff --git a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/translations.ts b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/translations.ts index b35c07e86f057..97f782c7dd95c 100644 --- a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/translations.ts +++ b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/translations.ts @@ -35,6 +35,14 @@ export const UPLOAD_VALUE_LISTS_TOOLTIP = i18n.translate( } ); +export const UPLOAD_VALUE_LISTS_PRIVILEGES_TOOLTIP = i18n.translate( + 'xpack.securitySolution.lists.detectionEngine.rules.uploadValueListsButtonPrivilegesTooltip', + { + defaultMessage: + 'A user with manage cluster privileges must visit the Rules page before you can import value lists.', + } +); + export const ADD_NEW_RULE = i18n.translate( 'xpack.securitySolution.detectionEngine.rules.addNewRuleTitle', { From a26eec451fb54317a2b08d1f49b3f2b30fcbddca Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Wed, 13 Dec 2023 17:00:20 +0100 Subject: [PATCH 020/123] [Fleet] allow agent upgrades if patch version is higher than kibana (#173167) ## Summary Closes https://github.com/elastic/kibana/issues/168502 Changed the version check to allow agent upgrade if the agent version has a newer patch than kibana. To verify: - change kibana locally to return a mock version `8.11.0` [here](https://github.com/elastic/kibana/blob/05bfe53cb3a2fe33ecb9eec4a6fcb19a492aaadf/x-pack/plugins/fleet/public/hooks/use_kibana_version.ts#L17) - enroll an agent version 8.11.0 - verify that the upgrade is allowed to 8.11.1 and 8.11.2 - verify that the upgrade works image image image Tested the new agent build version by adding a dummy version to the available_versions API response. It is showing up for an agent 8.11.1 (same as the mock kibana version): image ### 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 --- .../agent_upgrade_modal/index.test.tsx | 231 ++++++++++-------- .../components/agent_upgrade_modal/index.tsx | 5 +- .../public/hooks/use_agent_version.test.ts | 43 ++++ .../fleet/public/hooks/use_agent_version.ts | 19 +- 4 files changed, 194 insertions(+), 104 deletions(-) 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 11dcd1a34bb2a..7850ae3a3128d 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 @@ -11,7 +11,7 @@ import { act, fireEvent, waitFor } from '@testing-library/react'; import { createFleetTestRendererMock } from '../../../../../../mock'; -import { sendPostBulkAgentUpgrade } from '../../../../hooks'; +import { sendGetAgentsAvailableVersions, sendPostBulkAgentUpgrade } from '../../../../hooks'; import { AgentUpgradeAgentModal } from '.'; import type { AgentUpgradeAgentModalProps } from '.'; @@ -34,6 +34,8 @@ jest.mock('../../../../hooks', () => { const mockSendPostBulkAgentUpgrade = sendPostBulkAgentUpgrade as jest.Mock; +const mockSendGetAgentsAvailableVersions = sendGetAgentsAvailableVersions as jest.Mock; + function renderAgentUpgradeAgentModal(props: Partial) { const renderer = createFleetTestRendererMock(); @@ -45,126 +47,155 @@ function renderAgentUpgradeAgentModal(props: Partial { - it('should set the default to Immediately if there is less than 10 agents using kuery', async () => { - const { utils } = renderAgentUpgradeAgentModal({ - agents: '*', - agentCount: 3, + describe('maintenance window', () => { + it('should set the default to Immediately if there is less than 10 agents using kuery', async () => { + const { utils } = renderAgentUpgradeAgentModal({ + agents: '*', + agentCount: 3, + }); + + const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox'); + expect(el?.textContent).toBe('Immediately'); }); - const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox'); - expect(el?.textContent).toBe('Immediately'); - }); + it('should set the default to Immediately if there is less than 10 agents using selected agents', async () => { + const { utils } = renderAgentUpgradeAgentModal({ + agents: [{ id: 'agent1' }, { id: 'agent2' }] as any, + agentCount: 3, + }); - it('should set the default to Immediately if there is less than 10 agents using selected agents', async () => { - const { utils } = renderAgentUpgradeAgentModal({ - agents: [{ id: 'agent1' }, { id: 'agent2' }] as any, - agentCount: 3, + const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox'); + expect(el?.textContent).toBe('Immediately'); }); - const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox'); - expect(el?.textContent).toBe('Immediately'); - }); + it('should set the default to 1 hour if there is more than 10 agents', async () => { + const { utils } = renderAgentUpgradeAgentModal({ + agents: '*', + agentCount: 13, + }); - it('should set the default to 1 hour if there is more than 10 agents', async () => { - const { utils } = renderAgentUpgradeAgentModal({ - agents: '*', - agentCount: 13, + const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox'); + expect(el?.textContent).toBe('1 hour'); }); - - const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox'); - expect(el?.textContent).toBe('1 hour'); }); - it('should enable the version combo if agents is a query', async () => { - const { utils } = renderAgentUpgradeAgentModal({ - agents: '*', - agentCount: 30, + describe('version combo', () => { + it('should enable the version combo if agents is a query', async () => { + const { utils } = renderAgentUpgradeAgentModal({ + agents: '*', + agentCount: 30, + }); + + const el = utils.getByTestId('agentUpgradeModal.VersionCombobox'); + await waitFor(() => { + expect(el.classList.contains('euiComboBox-isDisabled')).toBe(false); + }); }); - const el = utils.getByTestId('agentUpgradeModal.VersionCombobox'); - await waitFor(() => { - expect(el.classList.contains('euiComboBox-isDisabled')).toBe(false); - }); - }); + it('should default the version combo to latest agent version', async () => { + const { utils } = renderAgentUpgradeAgentModal({ + agents: [{ id: 'agent1', local_metadata: { host: 'abc' } }] as any, + agentCount: 1, + }); - it('should default the version combo to latest agent version', async () => { - const { utils } = renderAgentUpgradeAgentModal({ - agents: [{ id: 'agent1', local_metadata: { host: 'abc' } }] as any, - agentCount: 1, + const el = utils.getByTestId('agentUpgradeModal.VersionCombobox'); + await waitFor(() => { + expect(el.textContent).toEqual('8.10.2'); + }); }); - const el = utils.getByTestId('agentUpgradeModal.VersionCombobox'); - await waitFor(() => { - expect(el.textContent).toEqual('8.10.2'); + it('should display available version options', async () => { + mockSendGetAgentsAvailableVersions.mockClear(); + mockSendGetAgentsAvailableVersions.mockResolvedValue({ + data: { + items: ['8.10.4', '8.10.2+build123456789', '8.10.2', '8.7.0'], + }, + }); + const { utils } = renderAgentUpgradeAgentModal({ + agents: [ + { + id: 'agent1', + local_metadata: { host: 'abc', elastic: { agent: { version: '8.10.2' } } }, + }, + ] as any, + agentCount: 1, + }); + fireEvent.click(await utils.findByTestId('comboBoxToggleListButton')); + const optionList = await utils.findByTestId( + 'comboBoxOptionsList agentUpgradeModal.VersionCombobox-optionsList' + ); + expect(optionList.textContent).toEqual(['8.10.4', '8.10.2+build123456789'].join('')); }); }); - 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, + describe('restart upgrade', () => { + 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 }) + ); }); - 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); + 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, + }) + ); }); - 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, + 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(); }); - - 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 d361349b3f327..0acb4296befdc 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 @@ -44,6 +44,7 @@ import { useConfig, sendGetAgentStatus, useAgentVersion, + differsOnlyInPatch, } from '../../../../hooks'; import { sendGetAgentsAvailableVersions } from '../../../../hooks'; @@ -164,7 +165,9 @@ export const AgentUpgradeAgentModal: React.FunctionComponent> = useMemo(() => { const displayVersions = minVersion - ? availableVersions.filter((v) => semverGt(v, minVersion)) + ? availableVersions.filter( + (v) => semverGt(v, minVersion) || differsOnlyInPatch(v, minVersion, false) + ) : availableVersions; const options = displayVersions.map((option) => ({ diff --git a/x-pack/plugins/fleet/public/hooks/use_agent_version.test.ts b/x-pack/plugins/fleet/public/hooks/use_agent_version.test.ts index 6cb1c8ee42248..34a7afe33baaa 100644 --- a/x-pack/plugins/fleet/public/hooks/use_agent_version.test.ts +++ b/x-pack/plugins/fleet/public/hooks/use_agent_version.test.ts @@ -37,6 +37,24 @@ describe('useAgentVersion', () => { expect(result.current).toEqual(mockKibanaVersion); }); + it('should return agent version with newer patch than kibana', async () => { + const mockKibanaVersion = '8.8.1'; + const mockAvailableVersions = ['8.9.0', '8.8.2', '8.8.0', '8.7.0']; + + (useKibanaVersion as jest.Mock).mockReturnValue(mockKibanaVersion); + (sendGetAgentsAvailableVersions as jest.Mock).mockResolvedValue({ + data: { items: mockAvailableVersions }, + }); + + const { result, waitForNextUpdate } = renderHook(() => useAgentVersion()); + + expect(sendGetAgentsAvailableVersions).toHaveBeenCalled(); + + await waitForNextUpdate(); + + expect(result.current).toEqual('8.8.2'); + }); + it('should return the latest availeble agent version if a version that matches Kibana version is not released', async () => { const mockKibanaVersion = '8.11.0'; const mockAvailableVersions = ['8.8.0', '8.7.0', '8.9.2', '7.16.0']; @@ -122,4 +140,29 @@ describe('useAgentVersion', () => { expect(result.current).toEqual(mockKibanaVersion); }); + + it('should return the latest availeble agent version if has build suffix', async () => { + const mockKibanaVersion = '8.11.0'; + const mockAvailableVersions = [ + '8.12.0', + '8.11.1+build123456789', + '8.8.0', + '8.7.0', + '8.9.2', + '7.16.0', + ]; + + (useKibanaVersion as jest.Mock).mockReturnValue(mockKibanaVersion); + (sendGetAgentsAvailableVersions as jest.Mock).mockResolvedValue({ + data: { items: mockAvailableVersions }, + }); + + const { result, waitForNextUpdate } = renderHook(() => useAgentVersion()); + + expect(sendGetAgentsAvailableVersions).toHaveBeenCalled(); + + await waitForNextUpdate(); + + expect(result.current).toEqual('8.11.1+build123456789'); + }); }); diff --git a/x-pack/plugins/fleet/public/hooks/use_agent_version.ts b/x-pack/plugins/fleet/public/hooks/use_agent_version.ts index 8c198dbc7773e..85409759cd88a 100644 --- a/x-pack/plugins/fleet/public/hooks/use_agent_version.ts +++ b/x-pack/plugins/fleet/public/hooks/use_agent_version.ts @@ -25,15 +25,15 @@ export const useAgentVersion = (): string | undefined => { const availableVersions = res?.data?.items; let agentVersionToUse; + availableVersions?.sort(semverRcompare); if ( availableVersions && availableVersions.length > 0 && - availableVersions.indexOf(kibanaVersion) === -1 + availableVersions.indexOf(kibanaVersion) !== 0 ) { - availableVersions.sort(semverRcompare); agentVersionToUse = availableVersions.find((version) => { - return semverLt(version, kibanaVersion); + return semverLt(version, kibanaVersion) || differsOnlyInPatch(version, kibanaVersion); }) || availableVersions[0]; } else { agentVersionToUse = kibanaVersion; @@ -50,3 +50,16 @@ export const useAgentVersion = (): string | undefined => { return agentVersion; }; + +export const differsOnlyInPatch = ( + versionA: string, + versionB: string, + allowEqualPatch: boolean = true +): boolean => { + const [majorA, minorA, patchA] = versionA.split('.'); + const [majorB, minorB, patchB] = versionB.split('.'); + + return ( + majorA === majorB && minorA === minorB && (allowEqualPatch ? patchA >= patchB : patchA > patchB) + ); +}; From c580213c00d6ffa148b7cdb49d3f74e77524fc1a Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Wed, 13 Dec 2023 17:12:57 +0100 Subject: [PATCH 021/123] [Security Solution] [Cypress] SAML for Serverless login and role testing (#172655) Relates to: * https://github.com/elastic/kibana/issues/166340 * https://github.com/elastic/kibana/pull/170852 * https://github.com/elastic/kibana/pull/170417 * https://github.com/elastic/kibana/pull/172678 ## Summary In this PR we are using the code implemented on https://github.com/elastic/kibana/pull/170417 and https://github.com/elastic/kibana/pull/172678 to allow SAML and role testing inside Cypress. * We are creating a Cypress task to use the above-developed code and be able to retrieve a session cookie given a role. * We updated the login task to know how we should perform the login depending if we are in Serverless (MKI or serverless FTR) or ESS * In the parallel serverless script: * We are updating the `BASE_ENV_URL` variable to use the proper QA environment (pending to be done in follow-up PRs, to extract this value so it is not hardcoded cc @dkirchan ) * We are adding the `IS_SERVERLESS` environment variable needed for the logic on the login task. This changed implied to update the `es_archiver` file to continue work as expected. * We have added the `TEST_CLOUD_HOST_NAME` environment variable needed for the code we are reusing to retrieve the session cookie for MKI. * We have updated the Security Solution quality gate script to set the `role_users.json` file needed by the code we are reusing to get the different session cookies on MKI * We have adjusted the tests because the username now follows the pattern `test ` (@dmlemeshko is it possible to have as username just the role? Is this something that can impact other tests and teams?) * We have [skipped](https://github.com/elastic/kibana/issues/173168) a test that got unstable after the changes. ## How to test it in your machine ### Serverless FTR 1. Navigate to `x-pack/test/security_solution_cypress` 2. Execute `yarn cypress:open:qa:serverless` 3. Click on `E2E testing` 4. Click on any test to execute it ### Serverless MKI Setup a valid Elastic Cloud API key for QA environment: 1. Navigate to QA environment. 2. Click on the `User menu button` located on the top right of the header. 3. Click on `Organization`. 5. Click on the `API keys` tab. 6. Click on `Create API key` button. 7. Add a name, set an expiration date, assign an organization owner role. 8. Click on `Create API key` 9. Save the value of the key Store the saved key on `~/.elastic/cloud.json` using the following format: ```json { "api_key": { "qa": "" } } ``` Store the email and password of the account you used to login in the QA Environment at the root directory of your Kibana project on `.ftr/role_users.json`, using the following format: ```json { "admin": { "email": "", "password": "" } } ``` If you want to execute a test with a role different from the default one, make sure you have created the user under your organization and is added to the above json following the format: ```json { "admin": { "email": "", "password": "" }, "": { "email": "", "password": "" } } ``` 1. Navigate to `x-pack/test/security_solution_cypress` 2. Execute `yarn cypress:open:qa:serverless` 3. Click on `E2E testing` 4. Click on any test to execute it --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../mki_security_solution_cypress.sh | 3 ++ .../run_cypress/parallel_serverless.ts | 4 +- .../cypress/README.md | 47 ++++++++++++++++++- .../cypress/cypress_ci_serverless.config.ts | 2 + .../cypress_ci_serverless_qa.config.ts | 2 + .../cypress/cypress_serverless.config.ts | 2 + .../cypress/e2e/explore/cases/creation.cy.ts | 4 +- .../e2e/explore/overview/overview.cy.ts | 3 +- .../cypress/screens/alerts.ts | 11 ++++- .../cypress/support/es_archiver.ts | 4 +- .../cypress/support/saml_auth.ts | 41 ++++++++++++++++ .../cypress/support/setup_users.ts | 2 +- .../cypress/tasks/login.ts | 18 ++++++- .../cypress/tsconfig.json | 2 +- 14 files changed, 131 insertions(+), 14 deletions(-) create mode 100644 x-pack/test/security_solution_cypress/cypress/support/saml_auth.ts diff --git a/.buildkite/scripts/pipelines/security_solution_quality_gate/security_solution_cypress/mki_security_solution_cypress.sh b/.buildkite/scripts/pipelines/security_solution_quality_gate/security_solution_cypress/mki_security_solution_cypress.sh index 56b44315bf064..9d353b167ea47 100755 --- a/.buildkite/scripts/pipelines/security_solution_quality_gate/security_solution_cypress/mki_security_solution_cypress.sh +++ b/.buildkite/scripts/pipelines/security_solution_quality_gate/security_solution_cypress/mki_security_solution_cypress.sh @@ -16,6 +16,9 @@ export JOB=kibana-security-solution-chrome buildkite-agent meta-data set "${BUILDKITE_JOB_ID}_is_test_execution_step" "true" +mkdir .ftr +retry 5 5 vault kv get -format=json -field=data secret/kibana-issues/dev/security-quality-gate/role-users > .ftr/role_users.json + cd x-pack/test/security_solution_cypress set +e diff --git a/x-pack/plugins/security_solution/scripts/run_cypress/parallel_serverless.ts b/x-pack/plugins/security_solution/scripts/run_cypress/parallel_serverless.ts index 22b51692eb33f..f3a7070aa7e33 100644 --- a/x-pack/plugins/security_solution/scripts/run_cypress/parallel_serverless.ts +++ b/x-pack/plugins/security_solution/scripts/run_cypress/parallel_serverless.ts @@ -61,7 +61,7 @@ const DEFAULT_CONFIGURATION: Readonly = [ const DEFAULT_REGION = 'aws-eu-west-1'; const PROJECT_NAME_PREFIX = 'kibana-cypress-security-solution-ephemeral'; -const BASE_ENV_URL = 'https://global.qa.cld.elstc.co'; +const BASE_ENV_URL = 'https://console.qa.cld.elstc.co'; let log: ToolingLog; const API_HEADERS = Object.freeze({ 'kbn-xsrf': 'cypress-creds', @@ -571,6 +571,7 @@ ${JSON.stringify(cypressConfigFile, null, 2)} KIBANA_PASSWORD: credentials.password, CLOUD_SERVERLESS: true, + IS_SERVERLESS: true, }; if (process.env.DEBUG && !process.env.CI) { @@ -582,6 +583,7 @@ ${JSON.stringify(cypressConfigFile, null, 2)} ---------------------------------------------- `); } + process.env.TEST_CLOUD_HOST_NAME = new URL(BASE_ENV_URL).hostname; if (isOpen) { await cypress.open({ diff --git a/x-pack/test/security_solution_cypress/cypress/README.md b/x-pack/test/security_solution_cypress/cypress/README.md index 16a93f0c3b5d5..0fa6bae6e2164 100644 --- a/x-pack/test/security_solution_cypress/cypress/README.md +++ b/x-pack/test/security_solution_cypress/cypress/README.md @@ -304,8 +304,51 @@ Store the saved key on `~/.elastic/cloud.json` using the following format: } ``` -#### Known limitations -- Currently RBAC cannot be tested. +Store the email and password of the account you used to login in the QA Environment at the root directory of your Kibana project on `.ftr/role_users.json`, using the following format: + +```json +{ + "admin": { + "email": "", + "password": "" + } +} +``` + +#### Testing with different roles + +If you want to execute a test using Cypress on visual mode with MKI, you need to make sure you have the user created in your organization, and add it tot he `.ftr/role_users.json`: + +```json +{ + "admin": { + "email": "", + "password": "" + }, + "": { + "email": "", + "password": "" + } +} +``` + +As role names please use: +- admin +- detections_admin +- editor +- endpoint_operations_analyst +- endpoint_policy_manager +- none +- platform_engineer +- rule_author +- soc_manager +- t1_analyst +- t2_analyst +- t3_analyst +- threat_intelligence_analyst +- viewer + +The above should be the same used on the automation. #### PLIs diff --git a/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts b/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts index 3a1be3ed0221a..62aec8c49e787 100644 --- a/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts +++ b/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts @@ -7,6 +7,7 @@ import { defineCypressConfig } from '@kbn/cypress-config'; import { esArchiver } from './support/es_archiver'; +import { samlAuthentication } from './support/saml_auth'; // eslint-disable-next-line import/no-default-export export default defineCypressConfig({ @@ -39,6 +40,7 @@ export default defineCypressConfig({ specPattern: './cypress/e2e/**/*.cy.ts', setupNodeEvents(on, config) { esArchiver(on, config); + samlAuthentication(on, config); // eslint-disable-next-line @typescript-eslint/no-var-requires require('@cypress/grep/src/plugin')(config); return config; diff --git a/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless_qa.config.ts b/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless_qa.config.ts index 342c3da34bef6..c88faf0d9cfe3 100644 --- a/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless_qa.config.ts +++ b/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless_qa.config.ts @@ -7,6 +7,7 @@ import { defineCypressConfig } from '@kbn/cypress-config'; import { esArchiver } from './support/es_archiver'; +import { samlAuthentication } from './support/saml_auth'; // eslint-disable-next-line import/no-default-export export default defineCypressConfig({ @@ -41,6 +42,7 @@ export default defineCypressConfig({ specPattern: './cypress/e2e/**/*.cy.ts', setupNodeEvents(on, config) { esArchiver(on, config); + samlAuthentication(on, config); process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; // eslint-disable-next-line @typescript-eslint/no-var-requires require('@cypress/grep/src/plugin')(config); diff --git a/x-pack/test/security_solution_cypress/cypress/cypress_serverless.config.ts b/x-pack/test/security_solution_cypress/cypress/cypress_serverless.config.ts index b925e18a83478..b76c7ff22bcbc 100644 --- a/x-pack/test/security_solution_cypress/cypress/cypress_serverless.config.ts +++ b/x-pack/test/security_solution_cypress/cypress/cypress_serverless.config.ts @@ -7,6 +7,7 @@ import { defineCypressConfig } from '@kbn/cypress-config'; import { esArchiver } from './support/es_archiver'; +import { samlAuthentication } from './support/saml_auth'; // eslint-disable-next-line import/no-default-export export default defineCypressConfig({ @@ -31,6 +32,7 @@ export default defineCypressConfig({ experimentalMemoryManagement: true, setupNodeEvents(on, config) { esArchiver(on, config); + samlAuthentication(on, config); // eslint-disable-next-line @typescript-eslint/no-var-requires require('@cypress/grep/src/plugin')(config); return config; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts index 8891a835b1fd7..698a97df6b5d6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts @@ -106,10 +106,10 @@ describe('Cases', { tags: ['@ess', '@serverless'] }, () => { ); cy.get(CASE_DETAILS_USERNAMES) .eq(REPORTER) - .should('have.text', Cypress.env(ELASTICSEARCH_USERNAME)); + .should('contain', Cypress.env(ELASTICSEARCH_USERNAME)); cy.get(CASE_DETAILS_USERNAMES) .eq(PARTICIPANTS) - .should('have.text', Cypress.env(ELASTICSEARCH_USERNAME)); + .should('contain', Cypress.env(ELASTICSEARCH_USERNAME)); cy.get(CASE_DETAILS_TAGS).should('have.text', expectedTags); EXPECTED_METRICS.forEach((metric) => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/overview/overview.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/overview/overview.cy.ts index f857805462877..b0b1a11bc69e0 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/overview/overview.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/overview/overview.cy.ts @@ -46,7 +46,8 @@ describe('Overview Page', { tags: ['@ess', '@serverless'] }, () => { }); }); - describe('Favorite Timelines', () => { + // https://github.com/elastic/kibana/issues/173168 + describe('Favorite Timelines', { tags: ['@brokenInServerless'] }, () => { it('should appear on overview page', () => { createTimeline(getTimeline()) .then((response) => response.body.data.persistTimeline.timeline.savedObjectId) diff --git a/x-pack/test/security_solution_cypress/cypress/screens/alerts.ts b/x-pack/test/security_solution_cypress/cypress/screens/alerts.ts index 0f1a513fc5d86..83de06466f251 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/alerts.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/alerts.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { IS_SERVERLESS, CLOUD_SERVERLESS } from '../env_var_names_constants'; import { getDataTestSubjectSelector } from '../helpers/common'; import { GLOBAL_FILTERS_CONTAINER } from './date_picker'; @@ -204,9 +205,15 @@ export const ALERT_ASSIGNEES_SELECT_PANEL = export const ALERT_ASSIGNEES_UPDATE_BUTTON = '[data-test-subj="securitySolutionAssigneesApplyButton"]'; -export const ALERT_USER_AVATAR = (assignee: string) => - `[data-test-subj="securitySolutionUsersAvatar-${assignee}"][title='${assignee}']`; +export const ALERT_USER_AVATAR = (assignee: string) => { + let expectedAssignee = assignee; + if (Cypress.env(IS_SERVERLESS) && !Cypress.env(CLOUD_SERVERLESS)) { + expectedAssignee = `test ${expectedAssignee}`; + } + + return `[data-test-subj^="securitySolutionUsersAvatar-"][title='${expectedAssignee}']`; +}; export const ALERT_AVATARS_PANEL = '[data-test-subj="securitySolutionUsersAvatarsPanel"]'; export const ALERT_ASIGNEES_COLUMN = diff --git a/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts b/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts index c9f271265a1d1..a5149b9df1e12 100644 --- a/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts +++ b/x-pack/test/security_solution_cypress/cypress/support/es_archiver.ts @@ -18,7 +18,7 @@ export const esArchiver = ( ): EsArchiver => { const log = new ToolingLog({ level: 'verbose', writeTo: process.stdout }); - const isSnapshotServerless = config.env.IS_SERVERLESS; + const isServerless = config.env.IS_SERVERLESS; const isCloudServerless = config.env.CLOUD_SERVERLESS; const serverlessCloudUser = { @@ -27,7 +27,7 @@ export const esArchiver = ( }; let authOverride; - if (!isSnapshotServerless) { + if (isServerless) { authOverride = isCloudServerless ? serverlessCloudUser : systemIndicesSuperuser; } diff --git a/x-pack/test/security_solution_cypress/cypress/support/saml_auth.ts b/x-pack/test/security_solution_cypress/cypress/support/saml_auth.ts new file mode 100644 index 0000000000000..0026f6c91ec27 --- /dev/null +++ b/x-pack/test/security_solution_cypress/cypress/support/saml_auth.ts @@ -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 { ToolingLog } from '@kbn/tooling-log'; + +import { SecurityRoleName } from '@kbn/security-solution-plugin/common/test'; +import { HostOptions, SamlSessionManager } from '@kbn/test'; + +export const samlAuthentication = async ( + on: Cypress.PluginEvents, + config: Cypress.PluginConfigOptions +): Promise => { + const log = new ToolingLog({ level: 'verbose', writeTo: process.stdout }); + + const kbnHost = config.env.KIBANA_URL || config.env.BASE_URL; + + const kbnUrl = new URL(kbnHost); + + const hostOptions: HostOptions = { + protocol: kbnUrl.protocol as 'http' | 'https', + hostname: kbnUrl.hostname, + port: parseInt(kbnUrl.port, 10), + username: config.env.ELASTICSEARCH_USERNAME, + password: config.env.ELASTICSEARCH_PASSWORD, + }; + + on('task', { + getSessionCookie: async (role: string | SecurityRoleName): Promise => { + const sessionManager = new SamlSessionManager({ + hostOptions, + log, + isCloud: config.env.CLOUD_SERVERLESS, + }); + return sessionManager.getSessionCookieForRole(role); + }, + }); +}; diff --git a/x-pack/test/security_solution_cypress/cypress/support/setup_users.ts b/x-pack/test/security_solution_cypress/cypress/support/setup_users.ts index 02ebebb6c10ea..73d17b26ab93b 100644 --- a/x-pack/test/security_solution_cypress/cypress/support/setup_users.ts +++ b/x-pack/test/security_solution_cypress/cypress/support/setup_users.ts @@ -39,7 +39,7 @@ function createUser(username: string, password: string, roles: string[] = []): v password, roles, full_name: username, - email: '', + email: `${username}@elastic.co`, }; rootRequest({ diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/login.ts b/x-pack/test/security_solution_cypress/cypress/tasks/login.ts index fb2a93770f8e7..90c9d245c3bba 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/login.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/login.ts @@ -41,8 +41,22 @@ export const getEnvAuth = (role: SecurityRoleName): User => { }; export const login = (role?: SecurityRoleName): void => { - const user = role ? getEnvAuth(role) : defaultUser; - loginWithUser(user); + let testRole = ''; + + if (Cypress.env(IS_SERVERLESS)) { + if (!role) { + testRole = Cypress.env(CLOUD_SERVERLESS) ? 'admin' : 'system_indices_superuser'; + } else { + testRole = role; + } + cy.task('getSessionCookie', testRole).then((cookie) => { + cy.setCookie('sid', cookie as string); + }); + cy.visit('/'); + } else { + const user = role ? getEnvAuth(role) : defaultUser; + loginWithUser(user); + } }; export const loginWithUser = (user: User): void => { diff --git a/x-pack/test/security_solution_cypress/cypress/tsconfig.json b/x-pack/test/security_solution_cypress/cypress/tsconfig.json index 45b526793e98e..d6a08efd3073f 100644 --- a/x-pack/test/security_solution_cypress/cypress/tsconfig.json +++ b/x-pack/test/security_solution_cypress/cypress/tsconfig.json @@ -40,6 +40,6 @@ "@kbn/management-settings-ids", "@kbn/es-query", "@kbn/ml-plugin", - "@kbn/license-management-plugin" + "@kbn/license-management-plugin", ] } From 2f69f1b59788432d0f8f5bc515d32a2df12da9ed Mon Sep 17 00:00:00 2001 From: Carlos Crespo Date: Wed, 13 Dec 2023 17:25:33 +0100 Subject: [PATCH 022/123] [Obs UX] Fix hosts view flaky test (#173243) fixes https://github.com/elastic/kibana/issues/172773 ## Summary https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4528 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/test/functional/apps/infra/hosts_view.ts | 4 +++- x-pack/test/functional/page_objects/infra_hosts_view.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/x-pack/test/functional/apps/infra/hosts_view.ts b/x-pack/test/functional/apps/infra/hosts_view.ts index f06ac57e893cb..f9932421690e0 100644 --- a/x-pack/test/functional/apps/infra/hosts_view.ts +++ b/x-pack/test/functional/apps/infra/hosts_view.ts @@ -424,7 +424,9 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); it('should have an option to open the chart in lens', async () => { - await pageObjects.infraHostsView.clickAndValidateMetriChartActionOptions(); + await retry.try(async () => { + await pageObjects.infraHostsView.clickAndValidateMetricChartActionOptions(); + }); }); }); diff --git a/x-pack/test/functional/page_objects/infra_hosts_view.ts b/x-pack/test/functional/page_objects/infra_hosts_view.ts index 3d37fc4da913f..3fbb3d361d879 100644 --- a/x-pack/test/functional/page_objects/infra_hosts_view.ts +++ b/x-pack/test/functional/page_objects/infra_hosts_view.ts @@ -108,7 +108,7 @@ export function InfraHostsViewProvider({ getService }: FtrProviderContext) { return container.findAllByCssSelector('[data-test-subj*="hostsView-metricChart-"]'); }, - async clickAndValidateMetriChartActionOptions() { + async clickAndValidateMetricChartActionOptions() { const element = await testSubjects.find('hostsView-metricChart-tx'); await element.moveMouseTo(); const button = await element.findByTestSubject('embeddablePanelToggleMenuIcon'); From 0d9c261530b102e7a7a87f4d5dcdf423cdd17a2c Mon Sep 17 00:00:00 2001 From: Andrew Macri Date: Wed, 13 Dec 2023 12:39:08 -0500 Subject: [PATCH 023/123] [Security Solution] [Elastic AI Assistant] Include acknowledged alerts in the context sent to the LLM (Retrieval Augmented Generation (RAG) for Alerts) (#173121) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## [Security Solution] [Elastic AI Assistant] Include `acknowledged` alerts in the context sent to the LLM (Retrieval Augmented Generation (RAG) for Alerts) This PR updates the query used by [[Security Solution] [Elastic AI Assistant] Retrieval Augmented Generation (RAG) for Alerts #172542](https://github.com/elastic/kibana/pull/172542) to include alerts with a `kibana.alert.workflow_status` value of `acknowledged`. The query previously only returned alerts with a status of `open`. This change ensures both `open` and `acknowledged` alerts are provided as context to the LLM. ### Updated Anonymization defaults Three fields, detailed below, were added as anonymization defaults because they improve the quality of responses from the LLM when it answers questions about alerts. For example, the LLM can refer to specific alerts by ID when the `_id` field is provided. This PR makes the following additive changes to the Assistant's `Anonymization` defaults: | Field | Allow by default | Anonymize by default | Value add | |--------------------------------|------------------|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `_id` | ✅ | ✅ | An anonymized `_id` field enables responses from the LLM to refer to specific documents (but doesn't provide it the actual document IDs). | | `kibana.alert.risk_score` | ✅ | ❌ | The `getOpenAndAcknowledgedAlertsQuery` query sorts alerts by `kibana.alert.risk_score` to return the `n` riskiest alerts. Allowing this field (by default) enables the LLM to include actual alert risk scores in responses. | | `kibana.alert.workflow_status` | ✅ | ❌ | The `getOpenAndAcknowledgedAlertsQuery` query filters alerts by `kibana.alert.workflow_status` to ensure only `open` and `acknowledged` alerts are provided as context to the LLM. Allowing this field (by default) enables the LLM answer questions about workflow status, and echo the workflow status of alerts in responses. | - Clicking the `Reset` button shown in the screenshot below will reset the user's `Anonymization` defaults, such that they include the additive changes in the table above: ![01__id_allowed_and_anonymized_by_default](https://github.com/elastic/kibana/assets/4459398/7b8bcfa0-deb3-478b-b32f-c7fe3cf039b0) ### Updated settings text The text in the settings below was also updated: ![updated_settings](https://github.com/elastic/kibana/assets/4459398/3b2d9f93-f89f-410a-b943-dd4c98e37a29) ### Desk testing To desk test this change: - Enable the `assistantRagOnAlerts` feature flag described in [#172542](https://github.com/elastic/kibana/pull/172542) must be enabled, per the following example: ``` xpack.securitySolution.enableExperimental: ['assistantRagOnAlerts'] ``` - The `Alerts` feature must be enabled in the assistant settings, per the screenshot below: ![alerts_enabled](https://github.com/elastic/kibana/assets/4459398/edd273c8-b9e7-4ecf-93bb-81fbf0f3e6b0) 1) Navigate to Security > Alerts 2) Click the `AI Assistant` button to open the assistant 3) Click the `Settings` gear to open the assistant settings 4) Click the `Anonymization` category 5) Click the `Reset` button, shown in the screenshot below ![01__id_allowed_and_anonymized_by_default](https://github.com/elastic/kibana/assets/4459398/7b8bcfa0-deb3-478b-b32f-c7fe3cf039b0) **Expected results** - `65` fields are allowed by default, per the screenshot above - `12` fields are anonymized by default, per the screenshot above - The `_id` field is allowed by default, per the screenshot above - The `_id` field is anonymized by default, per the screenshot above 6) Type `kibana.alert.risk` in the search box **Expected result** - The `kibana.alert.risk_score` field is allowed by default 7) Type `kibana.alert.workflow` in the search box **Expected result** - The `kibana.alert.workflow_status` field is allowed by default 8) Click `Save` 9) Click the `X` button to clear the conversation 10) Close the assistant 11) Add the following two fields as columns to the Alerts page table: - `kibana.alert.workflow_status` - `_id` 12) Sort the table, first by `kibana.alert.risk_score` from high to low, and then by `@timestamp` from new to old, per the screenshot below: ![fields_sorted](https://github.com/elastic/kibana/assets/4459398/e84f06d4-790d-4227-afbf-a233d4848178) 13) Filter the alerts page to only show `open` and `acknowledged` alerts **Expected result** - The alerts page has custom columns, sorting, and filtering, per the screenshot below: ![alerts_page_custom_filter_sort_and_columns](https://github.com/elastic/kibana/assets/4459398/ba191f83-ee4c-4c90-be4f-197eff6be68e) 14) Click the `AI Assistant` button to open the assistant 15) Ask the assistant: ``` What is the workflow status of my alerts? ``` **Expected result** - The assistant will report on the workflow status of alerts, per the example response below: ``` The workflow status for your alerts is currently 'open'. This status was observed on alerts related to processes started by Mimikatz, a known tool used in many cyberattacks, and sequences of processes that are often indicative of malicious activity. The severity of most of these alerts is 'high' or 'critical'. You may want to investigate these alerts further to ensure there's no ongoing threat to your system. ``` ![assistant_open_alerts](https://github.com/elastic/kibana/assets/4459398/93730bfe-9d6a-44f6-8270-14b6dd141514) 16) Close the assistant 17) Change the workflow status of an alert in the Alerts table from `open` to `acknowledged` **Expected result** - The alerts table shows the updated alert, per the screenshot below: ![acknowledged_alert](https://github.com/elastic/kibana/assets/4459398/df685381-ffd5-4253-897a-4058f1641747) 18) Once again, open the assistant 19) Once again, ask the (same) question: ``` What is the workflow status of my alerts? ``` **Expected result** - The response from the assistant makes reference to the alert who's workflow status was changed from `open` to `acknowledged`, per the example response below: ``` Based on the latest information, your alerts mainly show 'open' status, indicating that they have not been resolved yet. Some alerts have been acknowledged. Most of these unaddressed alerts have a critical severity rating and are primarily triggered by a Mimikatz process start and an EQL process sequence. You may want to prioritize these if the severity of the threat they pose is truly high or critical. It's also noteworthy that some alerts have a high severity rating. You should review all of these alerts as soon as possible to ensure your systems are secure. ``` ![assistant_some_alerts_acknowledged](https://github.com/elastic/kibana/assets/4459398/53bef5b6-1661-480e-bbf1-bdb14202480e) 20) Ask the assistant for details about the acknowledged alerts: ``` What are the details of the acknowledged alerts? ``` **Expected result** The assistant for details about the acknowledged alert that, for example, includes the `kibana.alert.risk_score`, per the example response below: ``` In response to your previous question, here are the details of the acknowledged alerts: 1. There is a 'mimikatz process started' alert, which is of 'critical' severity and 'acknowledged' status. It has a high risk score of 99. Its threat tactic is 'Command and Control'. The process involved was 'mimikatz.exe' running with arguments '--fo1'. 2. A 'Threshold rule' alert of 'critical' severity and 'open' status has also been detected with a risk score of 99 and threat tactic 'Collection'. 3. Lastly, there are several 'EQL process sequence' alerts of 'high' severity with 'open' status. These alerts involve execution of various processes including 'mimikatz.exe', 'lsass.exe', and 'notepad.exe'. Risk score for these alerts is 73 and the threat tactic involved is 'Execution'. Please, take appropriate action to address these alerts. ``` ![details_of_acknowledged_alert](https://github.com/elastic/kibana/assets/4459398/191400e3-f123-4a0d-8ebc-9b5c88f242ed) 21) Ask the assistant for the `_id` of the acknowledged alert: ``` What is the id of the acknowledged alert? ``` **Expected results** - The response from the assistant contains the `_id` of the `acknowledged` alert, per the example response below: ``` The id of the acknowledged alert is 'db9e3dbaf40a37e3b7b95d8015e99c5721b416731e04b9140536675f6e4fd170'. This alert was for a 'mimikatz process started' event with a severity rating of 'critical' and a risk score of 99. The host name associated with this alert is 'Host-terkvbzvtj'. ``` ![id_of_acknowledged_alert](https://github.com/elastic/kibana/assets/4459398/b360b957-b198-4c9f-a101-581589b279bd) - The `_id` shown in the assistant is the same `_id` of the acknowledged alert on the alerts page, per the screeenshot below: ![id_of_alert](https://github.com/elastic/kibana/assets/4459398/b9d4ef55-83ee-46cb-ab32-35bc467f4150) 22) Click the `Show anonymized` toggle in the assistant **Expected result** - The `_id` shown in the latest result is replaced with the actual anonymized value that was sent to the LLM, per the example screenshot below: ![show_anonymized_alert_id](https://github.com/elastic/kibana/assets/4459398/8ce47dd6-4bc6-4478-87c9-97d24b6eae82) --- .../impl/alerts/settings/alerts_settings.tsx | 12 +++++++ .../impl/knowledge_base/translations.ts | 16 +++++++++- .../server/lib/langchain/tools/index.ts | 4 +-- ...pen_and_acknowledged_alerts_query.test.ts} | 22 ++++++++++--- ...get_open_and_acknowledged_alerts_query.ts} | 18 +++++++++-- ...open_and_acknowledged_alerts_tool.test.ts} | 32 +++++++++++++------ .../get_open_and_acknowledged_alerts_tool.ts} | 10 +++--- .../helpers.test.ts | 0 .../helpers.ts | 0 .../assistant/content/anonymization/index.ts | 4 +++ 10 files changed, 92 insertions(+), 26 deletions(-) rename x-pack/plugins/elastic_assistant/server/lib/langchain/tools/{open_alerts/get_open_alerts_query.test.ts => open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.test.ts} (69%) rename x-pack/plugins/elastic_assistant/server/lib/langchain/tools/{open_alerts/get_open_alerts_query.ts => open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.ts} (73%) rename x-pack/plugins/elastic_assistant/server/lib/langchain/tools/{open_alerts/get_open_alerts_tool.test.ts => open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.test.ts} (83%) rename x-pack/plugins/elastic_assistant/server/lib/langchain/tools/{open_alerts/get_open_alerts_tool.ts => open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.ts} (89%) rename x-pack/plugins/elastic_assistant/server/lib/langchain/tools/{open_alerts => open_and_acknowledged_alerts}/helpers.test.ts (100%) rename x-pack/plugins/elastic_assistant/server/lib/langchain/tools/{open_alerts => open_and_acknowledged_alerts}/helpers.ts (100%) diff --git a/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.tsx b/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.tsx index 2e0bf6504d289..f23470bbbe7a7 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.tsx @@ -109,6 +109,18 @@ const AlertsSettingsComponent = ({ knowledgeBase, setUpdatedKnowledgeBaseSetting {i18n.LATEST_AND_RISKIEST_OPEN_ALERTS} + + + + {i18n.YOUR_ANONYMIZATION_SETTINGS} + + + + + + {i18n.SELECT_FEWER_ALERTS} + +
); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/translations.ts b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/translations.ts index 3c7cdda10f924..03e989ab6a055 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/translations.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/translations.ts @@ -23,9 +23,23 @@ export const ASK_QUESTIONS_ABOUT = i18n.translate( export const LATEST_AND_RISKIEST_OPEN_ALERTS = i18n.translate( 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.latestAndRiskiestOpenAlertsLabel', + { + defaultMessage: 'latest and riskiest open and acknowledged alerts in your environment.', + } +); + +export const YOUR_ANONYMIZATION_SETTINGS = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.yourAnonymizationSettingsLabel', + { + defaultMessage: 'Your Anonymization settings will be applied to the alerts.', + } +); + +export const SELECT_FEWER_ALERTS = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.selectFewerAlertsLabel', { defaultMessage: - 'latest and riskiest open alerts in your environment. Your Anonymization settings will be applied to the alerts', + "Select fewer alerts if the model's maximum context length is frequently exceeded.", } ); diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.ts index edc9c264b636a..048bdfabce437 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.ts @@ -12,7 +12,7 @@ import { Tool } from 'langchain/tools'; import { getAlertCountsTool } from './alert_counts/get_alert_counts_tool'; import { getEsqlLanguageKnowledgeBaseTool } from './esql_language_knowledge_base/get_esql_language_knowledge_base_tool'; -import { getOpenAlertsTool } from './open_alerts/get_open_alerts_tool'; +import { getOpenAndAcknowledgedAlertsTool } from './open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool'; import type { RequestBody } from '../types'; export interface GetApplicableTools { @@ -50,7 +50,7 @@ export const getApplicableTools = ({ replacements, request, }) ?? [], - getOpenAlertsTool({ + getOpenAndAcknowledgedAlertsTool({ alertsIndexPattern, allow, allowReplacement, diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_query.test.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.test.ts similarity index 69% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_query.test.ts rename to x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.test.ts index 673b1cae326fb..a0cf067099e92 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_query.test.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.test.ts @@ -5,15 +5,15 @@ * 2.0. */ -import { getOpenAlertsQuery } from './get_open_alerts_query'; +import { getOpenAndAcknowledgedAlertsQuery } from './get_open_and_acknowledged_alerts_query'; -describe('getOpenAlertsQuery', () => { +describe('getOpenAndAcknowledgedAlertsQuery', () => { it('returns the expected query', () => { const alertsIndexPattern = 'alerts-*'; const allow = ['field1', 'field2']; const size = 10; - const query = getOpenAlertsQuery({ alertsIndexPattern, allow, size }); + const query = getOpenAndAcknowledgedAlertsQuery({ alertsIndexPattern, allow, size }); expect(query).toEqual({ allow_no_indices: true, @@ -30,8 +30,20 @@ describe('getOpenAlertsQuery', () => { must: [], filter: [ { - match_phrase: { - 'kibana.alert.workflow_status': 'open', + bool: { + should: [ + { + match_phrase: { + 'kibana.alert.workflow_status': 'open', + }, + }, + { + match_phrase: { + 'kibana.alert.workflow_status': 'acknowledged', + }, + }, + ], + minimum_should_match: 1, }, }, { diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_query.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.ts similarity index 73% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_query.ts rename to x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.ts index 4b8e1afb23ee0..9fffaf85d1f21 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_query.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.ts @@ -5,7 +5,7 @@ * 2.0. */ -export const getOpenAlertsQuery = ({ +export const getOpenAndAcknowledgedAlertsQuery = ({ alertsIndexPattern, allow, size, @@ -28,8 +28,20 @@ export const getOpenAlertsQuery = ({ must: [], filter: [ { - match_phrase: { - 'kibana.alert.workflow_status': 'open', + bool: { + should: [ + { + match_phrase: { + 'kibana.alert.workflow_status': 'open', + }, + }, + { + match_phrase: { + 'kibana.alert.workflow_status': 'acknowledged', + }, + }, + ], + minimum_should_match: 1, }, }, { diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_tool.test.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.test.ts similarity index 83% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_tool.test.ts rename to x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.test.ts index 8c996db2d63b4..8c769ef284df3 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_tool.test.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.test.ts @@ -10,12 +10,12 @@ import type { KibanaRequest } from '@kbn/core-http-server'; import { DynamicTool } from 'langchain/tools'; import { omit } from 'lodash/fp'; -import { getOpenAlertsTool } from './get_open_alerts_tool'; +import { getOpenAndAcknowledgedAlertsTool } from './get_open_and_acknowledged_alerts_tool'; import { mockAlertsFieldsApi } from '../../../../__mocks__/alerts'; import type { RequestBody } from '../../types'; import { MAX_SIZE } from './helpers'; -describe('getOpenAlertsTool', () => { +describe('getOpenAndAcknowledgedAlertsTool', () => { const alertsIndexPattern = 'alerts-index'; const esClient = { search: jest.fn().mockResolvedValue(mockAlertsFieldsApi), @@ -37,7 +37,7 @@ describe('getOpenAlertsTool', () => { }); it('returns a `DynamicTool` with a `func` that calls `esClient.search()` with the expected query', async () => { - const tool: DynamicTool = getOpenAlertsTool({ + const tool: DynamicTool = getOpenAndAcknowledgedAlertsTool({ alertsIndexPattern, allow: request.body.allow, allowReplacement: request.body.allowReplacement, @@ -75,8 +75,20 @@ describe('getOpenAlertsTool', () => { bool: { filter: [ { - match_phrase: { - 'kibana.alert.workflow_status': 'open', + bool: { + should: [ + { + match_phrase: { + 'kibana.alert.workflow_status': 'open', + }, + }, + { + match_phrase: { + 'kibana.alert.workflow_status': 'acknowledged', + }, + }, + ], + minimum_should_match: 1, }, }, { @@ -130,7 +142,7 @@ describe('getOpenAlertsTool', () => { RequestBody >; - const tool = getOpenAlertsTool({ + const tool = getOpenAndAcknowledgedAlertsTool({ alertsIndexPattern, allow: requestWithMissingParams.body.allow, allowReplacement: requestWithMissingParams.body.allowReplacement, @@ -145,7 +157,7 @@ describe('getOpenAlertsTool', () => { }); it('returns null when alertsIndexPattern is undefined', () => { - const tool = getOpenAlertsTool({ + const tool = getOpenAndAcknowledgedAlertsTool({ // alertsIndexPattern is undefined allow: request.body.allow, allowReplacement: request.body.allowReplacement, @@ -160,7 +172,7 @@ describe('getOpenAlertsTool', () => { }); it('returns null when size is undefined', () => { - const tool = getOpenAlertsTool({ + const tool = getOpenAndAcknowledgedAlertsTool({ alertsIndexPattern, allow: request.body.allow, allowReplacement: request.body.allowReplacement, @@ -175,7 +187,7 @@ describe('getOpenAlertsTool', () => { }); it('returns null when size out of range', () => { - const tool = getOpenAlertsTool({ + const tool = getOpenAndAcknowledgedAlertsTool({ alertsIndexPattern, allow: request.body.allow, allowReplacement: request.body.allowReplacement, @@ -190,7 +202,7 @@ describe('getOpenAlertsTool', () => { }); it('returns a tool instance with the expected tags', () => { - const tool = getOpenAlertsTool({ + const tool = getOpenAndAcknowledgedAlertsTool({ alertsIndexPattern, allow: request.body.allow, allowReplacement: request.body.allowReplacement, diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_tool.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.ts similarity index 89% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_tool.ts rename to x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.ts index 755bfa7f9dc3a..c4748230f86ca 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_tool.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.ts @@ -13,17 +13,17 @@ import { DynamicTool, Tool } from 'langchain/tools'; import { requestHasRequiredAnonymizationParams } from '../../helpers'; import { RequestBody } from '../../types'; -import { getOpenAlertsQuery } from './get_open_alerts_query'; +import { getOpenAndAcknowledgedAlertsQuery } from './get_open_and_acknowledged_alerts_query'; import { getRawDataOrDefault, sizeIsOutOfRange } from './helpers'; export const OPEN_ALERTS_TOOL_DESCRIPTION = 'Call this for knowledge about the latest n open alerts (sorted by `kibana.alert.risk_score`) in the environment, or when answering questions about open alerts'; /** - * Returns a tool for querying open alerts, or null if the request - * doesn't have all the required parameters. + * Returns a tool for querying open and acknowledged alerts, or null if the + * request doesn't have all the required parameters. */ -export const getOpenAlertsTool = ({ +export const getOpenAndAcknowledgedAlertsTool = ({ alertsIndexPattern, allow, allowReplacement, @@ -55,7 +55,7 @@ export const getOpenAlertsTool = ({ name: 'open-alerts', description: OPEN_ALERTS_TOOL_DESCRIPTION, func: async () => { - const query = getOpenAlertsQuery({ + const query = getOpenAndAcknowledgedAlertsQuery({ alertsIndexPattern, allow: allow ?? [], size, diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/helpers.test.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/helpers.test.ts similarity index 100% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/helpers.test.ts rename to x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/helpers.test.ts diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/helpers.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/helpers.ts similarity index 100% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/helpers.ts rename to x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/helpers.ts diff --git a/x-pack/plugins/security_solution/public/assistant/content/anonymization/index.ts b/x-pack/plugins/security_solution/public/assistant/content/anonymization/index.ts index 06be36e0a2bc9..353cc3b3afce9 100644 --- a/x-pack/plugins/security_solution/public/assistant/content/anonymization/index.ts +++ b/x-pack/plugins/security_solution/public/assistant/content/anonymization/index.ts @@ -7,6 +7,7 @@ /** By default, these fields are allowed to be sent to the assistant */ export const DEFAULT_ALLOW = [ + '_id', '@timestamp', 'cloud.availability_zone', 'cloud.provider', @@ -28,6 +29,7 @@ export const DEFAULT_ALLOW = [ 'host.risk.calculated_level', 'host.risk.calculated_score_norm', 'kibana.alert.last_detected', + 'kibana.alert.risk_score', 'kibana.alert.rule.description', 'kibana.alert.rule.name', 'kibana.alert.rule.references', @@ -42,6 +44,7 @@ export const DEFAULT_ALLOW = [ 'kibana.alert.rule.threat.technique.subtechnique.name', 'kibana.alert.rule.threat.technique.subtechnique.reference', 'kibana.alert.severity', + 'kibana.alert.workflow_status', 'process.args', 'process.command_line', 'process.executable', @@ -73,6 +76,7 @@ export const DEFAULT_ALLOW = [ /** By default, these fields will be anonymized */ export const DEFAULT_ALLOW_REPLACEMENT = [ + '_id', // the document's _id is replaced with an anonymized value 'cloud.availability_zone', 'cloud.provider', 'cloud.region', From 103ca850aa6b39a48299128e39bf2abaa0a7187f Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Wed, 13 Dec 2023 10:43:40 -0800 Subject: [PATCH 024/123] [Connectors][ServiceNow ITSM] Edit labels, automate screenshots, add cross-scope privileges (#172533) --- .../action-types/servicenow-itom.asciidoc | 6 +- .../action-types/servicenow.asciidoc | 218 ++++++++++++------ .../images/servicenow-connector-basic.png | Bin 227564 -> 253117 bytes .../images/servicenow-connector-oauth.png | Bin 207832 -> 310717 bytes .../lib/servicenow/translations.ts | 6 +- .../servicenow_itsm_params.tsx | 21 +- .../stack_connectors/index.ts | 1 + .../servicenow_itsm_connector.ts | 48 ++++ 8 files changed, 219 insertions(+), 81 deletions(-) create mode 100644 x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/servicenow_itsm_connector.ts diff --git a/docs/management/connectors/action-types/servicenow-itom.asciidoc b/docs/management/connectors/action-types/servicenow-itom.asciidoc index 70ee48ccccd7b..ea21cb72248f7 100644 --- a/docs/management/connectors/action-types/servicenow-itom.asciidoc +++ b/docs/management/connectors/action-types/servicenow-itom.asciidoc @@ -31,16 +31,14 @@ image::management/connectors/images/servicenow-itom-connector-oauth.png[{sn-itom [[servicenow-itom-connector-configuration]] ==== Connector configuration -{sn-itom} connectors have the following configuration properties: +{sn-itom} connectors have a name and the following configuration properties: Client ID:: The client identifier assigned to your OAuth application. Client secret:: The client secret assigned to your OAuth application. -JWT key ID:: +JWT verifier key ID:: The key identifier assigned to the JWT verifier map of your OAuth application. -Connector name:: -The name is used to identify a connector in the management UI connector listing or in the connector list when configuring an action. Password:: The password for HTTP basic authentication. Private key:: diff --git a/docs/management/connectors/action-types/servicenow.asciidoc b/docs/management/connectors/action-types/servicenow.asciidoc index f3c636df29b6b..db0b9b3183a6f 100644 --- a/docs/management/connectors/action-types/servicenow.asciidoc +++ b/docs/management/connectors/action-types/servicenow.asciidoc @@ -12,9 +12,108 @@ The {sn-itsm} connector uses the https://developer.servicenow.com/dev.do#!/reference/api/sandiego/rest/c_ImportSetAPI[import set API] to create {sn} incidents. You can use the connector for rule actions and cases. +[float] +[[define-servicenow-ui]] +=== Create connectors in {kib} + +You can create connectors in *{stack-manage-app} > {connectors-ui}* +or as needed when you're creating a rule. You must choose whether to use OAuth for authentication. + +[role="screenshot"] +image::management/connectors/images/servicenow-connector-basic.png[ServiceNow connector using basic auth] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. + + +[role="screenshot"] +image::management/connectors/images/servicenow-connector-oauth.png[ServiceNow connector using OAuth] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. + +[float] +[[servicenow-connector-configuration]] +==== Connector configuration + +{sn-itsm} connectors have a name and the following configuration properties: + +Client ID:: +The client identifier assigned to your OAuth application. +Client secret:: +The client secret assigned to your OAuth application. +JWT verifier key ID:: +The key identifier assigned to the JWT verifier map of your OAuth application. +Password:: +The password for HTTP basic authentication. +Private key:: +The RSA private key that you created for use in {sn}. +Private key password:: +The password for the RSA private key. +This values is required if you set a password for your private key. +{sn} instance URL:: +The full URL for the {sn} instance. +Use OAuth authentication:: +By default, basic authentication is used instead of open authorization (OAuth). +User identifier:: +The identifier to use for OAuth type authentication. +This identifier should be the user field you selected during setup. For example, if the selected user field is `Email`, the user identifier should be the user's email address. +Username:: +The username for HTTP basic authentication. + +[float] +[[servicenow-action-configuration]] +=== Test connectors + +You can test connectors with the <> or +as you're creating or editing the connector in {kib}. For example: + +[role="screenshot"] +image::management/connectors/images/servicenow-params-test.png[ServiceNow params test] + +{sn-itsm} actions have the following configuration properties. + +Additional comments:: +Additional information for the client, such as how to troubleshoot the issue. +Category:: +The category of the incident. +Correlation ID:: +Connectors using the same correlation ID will be associated with the same {sn} incident. +This value determines whether a new {sn} incident will be created or an existing one is updated. +Modifying this value is optional; if not modified, the rule ID and alert ID are combined as `{{ruleID}}:{{alert ID}}` to form the correlation ID value in {sn}. +The maximum character length for this value is 100 characters. ++ +-- +NOTE: Using the default configuration of `{{ruleID}}:{{alert ID}}` ensures that {sn} will create a separate incident record for every generated alert that uses a unique alert ID. If the rule generates multiple alerts that use the same alert IDs, {sn} creates and continually updates a single incident record for the alert. +-- + +Correlation display:: +A descriptive label of the alert for correlation purposes in {sn}. +Description:: +The details about the incident. +Impact:: +The effect an incident has on business. +It can be measured by the number of affected users or by how critical it is to the business in question. +Severity:: +The severity of the incident. +Short description:: +A short description for the incident, used for searching the contents of the knowledge base. +Subcategory:: +The category of the incident. +Urgency:: +The extent to which the incident resolution can delay. + +[float] +[[servicenow-connector-networking-configuration]] +=== Connector networking configuration + +Use the <> to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use `xpack.actions.customHostSettings` to set per-host configurations. + +[float] +[[configuring-servicenow]] +=== Configure {sn} + +{sn} offers free https://developer.servicenow.com/dev.do#!/guides/madrid/now-platform/pdi-guide/obtaining-a-pdi[Personal Developer Instances], which you can use to test incidents. + [float] [[servicenow-itsm-connector-prerequisites]] -=== Prerequisites +==== Prerequisites After upgrading from {stack} version 7.15.0 or earlier to version 7.16.0 or later, you must complete the following steps within your {sn} instance before @@ -23,13 +122,56 @@ creating a new {sn-itsm} connector or . Install https://store.servicenow.com/sn_appstore_store.do#!/store/application/7148dbc91bf1f450ced060a7234bcb88[Elastic for ITSM] -from the {sn} Store. +from the {sn} store. +. <>. . <>. . <>. . If you use open authorization (OAuth), you must also: .. <>. .. <>. +[float] +[[servicenow-itsm-connector-privileges]] +==== Assign cross-scope privileges + +The Elastic for ITSM app requires specific cross-scope privilege records to run successfully. +In particular, you must have a privilege record for the `Elastic for ITSM` application and source scope with a `global` target scope for each of the following targets: + +|=== +|Target name, type|Operation|Status + +|GlideRecord.insert, Scriptable +|Execute API +|Allowed + +|GlideRecord.setValue, Scriptable +|Execute API +|Allowed + +|GlideRecordSecure.getValue, Scriptable +|Execute API +|Allowed + +|Incident, Table +|Read +|Allowed + +|ScriptableServiceResultBuilder.setBody, Scriptable +|Execute API +|Allowed + +|ScopedGlideElement, Scriptable +|Execute API +|Allowed +|=== + +To access the cross scope privileges table: + +1. Log into {sn} and set your application scope to Elastic for ITSM. +2. Click *All* and search for `sys_scope_privilege`. + +For more details, refer to the https://docs.servicenow.com/[{sn} product documentation]. + [float] [[servicenow-itsm-connector-prerequisites-integration-user]] ==== Create a {sn} integration user @@ -174,77 +316,7 @@ To update a deprecated connector: . Select the deprecated connector to open the *Edit connector* flyout. . In the warning message, click *Update this connector*. . Complete the guided steps in the *Edit connector* flyout. -.. Install https://store.servicenow.com/sn_appstore_store.do#!/store/application/7148dbc91bf1f450ced060a7234bcb88[Elastic for ITSM] and complete the <>. +.. Install https://store.servicenow.com/sn_appstore_store.do#!/store/application/7148dbc91bf1f450ced060a7234bcb88[Elastic for ITSM] and complete the <>. .. Enter the URL of your {sn} instance. .. Enter the username and password of your {sn} instance. . Click *Update*. - -[float] -[[define-servicenow-ui]] -=== Create connectors in {kib} - -You can create connectors in *{stack-manage-app} > {connectors-ui}* -or as needed when you're creating a rule. You must choose whether to use OAuth for authentication. - -[role="screenshot"] -image::management/connectors/images/servicenow-connector-basic.png[ServiceNow connector using basic auth] - -[role="screenshot"] -image::management/connectors/images/servicenow-connector-oauth.png[ServiceNow connector using OAuth] - -[float] -[[servicenow-connector-configuration]] -==== Connector configuration - -{sn-itsm} connectors have the following configuration properties: - -Name:: The name of the connector. -Is OAuth:: The type of authentication to use. -URL:: {sn} instance URL. -Username:: Username for HTTP Basic authentication. -Password:: Password for HTTP Basic authentication. -User Identifier:: Identifier to use for OAuth type authentication. This identifier should be the *User field* you selected during setup. For example, if the selected *User field* is *Email*, the user identifier should be the user's email address. -Client ID:: The client ID assigned to your OAuth application. -Client Secret:: The client secret assigned to your OAuth application. -JWT Key ID:: The key ID assigned to the JWT Verifier Map of your OAuth application. -Private Key:: The RSA private key generated during setup. -Private Key Password:: The password for the RSA private key generated during setup, if set. - -[float] -[[servicenow-action-configuration]] -=== Test connectors - -You can test connectors with the <> or -as you're creating or editing the connector in {kib}. For example: - -[role="screenshot"] -image::management/connectors/images/servicenow-params-test.png[ServiceNow params test] - - -{sn-itsm} actions have the following configuration properties. - -Urgency:: The extent to which the incident resolution can delay. -Severity:: The severity of the incident. -Impact:: The effect an incident has on business. Can be measured by the number of affected users or by how critical it is to the business in question. -Category:: The category of the incident. -Subcategory:: The category of the incident. -Correlation ID:: Connectors using the same Correlation ID will be associated with the same {sn} incident. This value determines whether a new {sn} incident will be created or an existing one is updated. Modifying this value is optional; if not modified, the rule ID and alert ID are combined as `{{ruleID}}:{{alert ID}}` to form the Correlation ID value in {sn}. The maximum character length for this value is 100 characters. - -NOTE: Using the default configuration of `{{ruleID}}:{{alert ID}}` ensures that {sn} will create a separate incident record for every generated alert that uses a unique alert ID. If the rule generates multiple alerts that use the same alert IDs, {sn} creates and continually updates a single incident record for the alert. - -Correlation Display:: A descriptive label of the alert for correlation purposes in {sn}. -Short description:: A short description for the incident, used for searching the contents of the knowledge base. -Description:: The details about the incident. -Additional comments:: Additional information for the client, such as how to troubleshoot the issue. - -[float] -[[servicenow-connector-networking-configuration]] -=== Connector networking configuration - -Use the <> to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use `xpack.actions.customHostSettings` to set per-host configurations. - -[float] -[[configuring-servicenow]] -=== Configure {sn} - -{sn} offers free https://developer.servicenow.com/dev.do#!/guides/madrid/now-platform/pdi-guide/obtaining-a-pdi[Personal Developer Instances], which you can use to test incidents. diff --git a/docs/management/connectors/images/servicenow-connector-basic.png b/docs/management/connectors/images/servicenow-connector-basic.png index e2bf73ad14594c1da2c600679e43aa43057806fa..4cf1f19fe8173a1ffa548188d2f2b4ba74839216 100644 GIT binary patch literal 253117 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

h@+iE;smC6u}X_-Ur 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≺S8r|n_)AOs)<4Vtegw2cP5g==Wc%l5g6-m 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ⅈ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 ALjV8( literal 227564 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 vsv~3Bb>&PmN)JmO7zO-a0Ae_y diff --git a/docs/management/connectors/images/servicenow-connector-oauth.png b/docs/management/connectors/images/servicenow-connector-oauth.png index f0124d39cfde9c4b1947c7af9329df6913ba77d2..8f818185f686b183549107a24e106ff4a8eb0d39 100644 GIT binary patch literal 310717 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𝔯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⩔qJ~{}s{ry&%CAzQ_kv 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

tT6%Ix!GfkXiS5- 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�~F3%5n0Sm}kZJ(VA;RC~W|*+ssQ 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 C%>$PJ diff --git a/x-pack/plugins/stack_connectors/public/connector_types/lib/servicenow/translations.ts b/x-pack/plugins/stack_connectors/public/connector_types/lib/servicenow/translations.ts index b0db38a93b69c..998f4540cfd47 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/lib/servicenow/translations.ts +++ b/x-pack/plugins/stack_connectors/public/connector_types/lib/servicenow/translations.ts @@ -77,7 +77,7 @@ export const SECURITY_INCIDENT = i18n.translate( export const SHORT_DESCRIPTION_LABEL = i18n.translate( 'xpack.stackConnectors.components.serviceNow.titleFieldLabel', { - defaultMessage: 'Short description (required)', + defaultMessage: 'Short description', } ); @@ -209,14 +209,14 @@ export const UNKNOWN = i18n.translate('xpack.stackConnectors.components.serviceN export const CORRELATION_ID = i18n.translate( 'xpack.stackConnectors.components.serviceNow.correlationID', { - defaultMessage: 'Correlation ID (optional)', + defaultMessage: 'Correlation ID', } ); export const CORRELATION_DISPLAY = i18n.translate( 'xpack.stackConnectors.components.serviceNow.correlationDisplay', { - defaultMessage: 'Correlation display (optional)', + defaultMessage: 'Correlation display', } ); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/servicenow_itsm/servicenow_itsm_params.tsx b/x-pack/plugins/stack_connectors/public/connector_types/servicenow_itsm/servicenow_itsm_params.tsx index 7c0c72db2b502..283e0c0fb9c8f 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/servicenow_itsm/servicenow_itsm_params.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/servicenow_itsm/servicenow_itsm_params.tsx @@ -12,6 +12,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiSpacer, + EuiText, EuiTitle, EuiLink, } from '@elastic/eui'; @@ -62,6 +63,11 @@ const CorrelationIdField: React.FunctionComponent< /> } + labelAppend={ + + {i18n.OPTIONAL_LABEL} + + } > - + + {i18n.OPTIONAL_LABEL} + + } + > + {i18n.REQUIRED_LABEL} + + } > { + await pageObjects.common.navigateToApp('connectors'); + await pageObjects.header.waitUntilLoadingHasFinished(); + }); + + it('servicenow itsm connector screenshots', async () => { + await pageObjects.common.navigateToApp('connectors'); + await pageObjects.header.waitUntilLoadingHasFinished(); + await actions.common.openNewConnectorForm('servicenow'); + await testSubjects.setValue('nameInput', 'ServiceNow ITSM test connector'); + await testSubjects.setValue('credentialsApiUrlFromInput', 'https://dev123.service-now.com'); + await testSubjects.click('input'); + await commonScreenshots.takeScreenshot( + 'servicenow-connector-oauth', + screenshotDirectories, + 1920, + 1600 + ); + await testSubjects.click('input'); + await testSubjects.setValue('connector-servicenow-username-form-input', 'testuser'); + await testSubjects.setValue('connector-servicenow-password-form-input', 'testpassword'); + await commonScreenshots.takeScreenshot( + 'servicenow-connector-basic', + screenshotDirectories, + 1920, + 1400 + ); + await testSubjects.click('euiFlyoutCloseButton'); + }); + }); +} From 49267f3914247ba963f13a0eb268cf0406e5c1ab Mon Sep 17 00:00:00 2001 From: "Christiane (Tina) Heiligers" Date: Wed, 13 Dec 2023 11:53:46 -0700 Subject: [PATCH 025/123] Splits repository api unit tests into individual tests (#173218) ## Summary Structural cleanup of the `SavedObjectsRepository`, continued from where https://github.com/elastic/kibana/pull/157154 left off. This PR holds changes to `repository.test.ts`, and splits the api unit tests into dedicated test files next to the api implementation. ### Tests This PR does not alter test coverage, its primary aim is to improve DevEx when it comes to SOR api unit testing. Hopefully, it'll make life easier for everyone touching the code. --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../README.md | 5 +- .../src/lib/apis/bulk_create.test.ts | 5 +- .../src/lib/apis/bulk_delete.test.ts | 600 +++ .../src/lib/apis/bulk_get.test.ts | 420 ++ .../src/lib/apis/bulk_resolve.test.ts | 127 + .../src/lib/apis/bulk_update.test.ts | 4 +- .../src/lib/apis/check_conflicts.test.ts | 201 + .../collect_multinamespace_references.test.ts | 105 + .../src/lib/apis/create.test.ts | 831 ++++ .../src/lib/apis/delete.test.ts | 382 ++ .../src/lib/apis/delete_by_namespace.test.ts | 162 + .../src/lib/apis/find.test.ts | 521 +++ .../src/lib/apis/get.test.ts | 279 ++ .../src/lib/apis/increment_counter.test.ts | 530 +++ .../src/lib/apis/open_point_in_time.test.ts | 237 ++ .../src/lib/apis/remove_references_to.test.ts | 304 +- .../src/lib/apis/resolve.test.ts | 108 + .../src/lib/apis/update.test.ts | 4 +- .../lib/apis/update_objects_spaces.test.ts | 113 + .../src/lib/repository.test.ts | 3631 +---------------- 20 files changed, 4882 insertions(+), 3687 deletions(-) create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_delete.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/check_conflicts.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/collect_multinamespace_references.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/delete.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/delete_by_namespace.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/increment_counter.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/open_point_in_time.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.test.ts create mode 100644 packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update_objects_spaces.test.ts diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/README.md b/packages/core/saved-objects/core-saved-objects-api-server-internal/README.md index b25fd29f5441c..5adcfcfea3750 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/README.md +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/README.md @@ -28,4 +28,7 @@ helpers to have to pass all the parameters again. ### lib/apis/internals I would call them 'utilities with business logic'. These are the 'big' chunks of logic called by the APIs. -E.g preflightCheckForCreate, internalBulkResolve and so on. \ No newline at end of file +E.g preflightCheckForCreate, internalBulkResolve and so on. + +### Unit tests +Unit tests should be kept close to the implementation. While not always possible to customize test fixtures and mocks completely, it is perfectly acceptible to duplicate code, with a focus on code coverage. diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_create.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_create.test.ts index 3faeee08048ef..91df493dcad88 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_create.test.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_create.test.ts @@ -56,7 +56,6 @@ import { mockTimestampFieldsWithCreated, } from '../../test_helpers/repository.test.common'; -// BEWARE: The SavedObjectClient depends on the implementation details of the SavedObjectsRepository // so any breaking changes to this repository are considered breaking changes to the SavedObjectsClient. interface ExpectedErrorResult { @@ -65,7 +64,7 @@ interface ExpectedErrorResult { error: Record; } -describe('SavedObjectsRepository', () => { +describe('#bulkCreate', () => { let client: ReturnType; let repository: SavedObjectsRepository; let migrator: ReturnType; @@ -135,7 +134,7 @@ describe('SavedObjectsRepository', () => { references: [{ name: 'search_0', type: 'search', id: '123' }], }); - describe('#bulkCreate', () => { + describe('performBulkCreate', () => { beforeEach(() => { mockPreflightCheckForCreate.mockReset(); mockPreflightCheckForCreate.mockImplementation(({ objects }) => { diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_delete.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_delete.test.ts new file mode 100644 index 0000000000000..15b7cf5164abb --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_delete.test.ts @@ -0,0 +1,600 @@ +/* + * 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. + */ + +/* eslint-disable @typescript-eslint/no-shadow */ + +import { + pointInTimeFinderMock, + mockGetBulkOperationError, + mockGetCurrentTime, + mockDeleteLegacyUrlAliases, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import type { Payload } from '@hapi/boom'; +import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +import type { + SavedObjectsBulkDeleteObject, + SavedObjectsBulkDeleteOptions, +} from '@kbn/core-saved-objects-api-server'; +import { ALL_NAMESPACES_STRING } from '@kbn/core-saved-objects-utils-server'; +import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + NAMESPACE_AGNOSTIC_TYPE, + MULTI_NAMESPACE_TYPE, + MULTI_NAMESPACE_ISOLATED_TYPE, + HIDDEN_TYPE, + mockTimestamp, + mappings, + createRegistry, + createDocumentMigrator, + getMockMgetResponse, + type TypeIdTuple, + createSpySerializer, + expectErrorInvalidType, + expectErrorNotFound, + createBadRequestErrorPayload, + getMockEsBulkDeleteResponse, + bulkDeleteSuccess, + createBulkDeleteSuccessStatus, +} from '../../test_helpers/repository.test.common'; + +interface ExpectedErrorResult { + type: string; + id: string; + error: Record; +} + +describe('#bulkDelete', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + // Setup migration mock for creating an object + + describe('performBulkDelete', () => { + const obj1: SavedObjectsBulkDeleteObject = { + type: 'config', + id: '6.0.0-alpha1', + }; + const obj2: SavedObjectsBulkDeleteObject = { + type: 'index-pattern', + id: 'logstash-*', + }; + + const namespace = 'foo-namespace'; + + const createNamespaceAwareGetId = (type: string, id: string) => + `${registry.isSingleNamespace(type) && namespace ? `${namespace}:` : ''}${type}:${id}`; + + // bulk delete calls only has one object for each source -- the action + const expectClientCallBulkDeleteArgsAction = ( + objects: TypeIdTuple[], + { + method, + _index = expect.any(String), + getId = () => expect.any(String), + overrides = {}, + }: { + method: string; + _index?: string; + getId?: (type: string, id: string) => string; + overrides?: Record; + } + ) => { + const body = []; + for (const { type, id } of objects) { + body.push({ + [method]: { + _index, + _id: getId(type, id), + ...overrides, + }, + }); + } + + expect(client.bulk).toHaveBeenCalledWith( + expect.objectContaining({ body }), + expect.anything() + ); + }; + + const createBulkDeleteFailStatus = ({ + type, + id, + error, + }: { + type: string; + id: string; + error?: ExpectedErrorResult['error']; + }) => ({ + type, + id, + success: false, + error: error ?? SavedObjectsErrorHelpers.createBadRequestError(), + }); + + // mocks a combination of success, error results for hidden and unknown object object types. + const repositoryBulkDeleteError = async ( + obj: SavedObjectsBulkDeleteObject, + isBulkError: boolean, + expectedErrorResult: ExpectedErrorResult + ) => { + const objects = [obj1, obj, obj2]; + const mockedBulkDeleteResponse = getMockEsBulkDeleteResponse(registry, objects); + if (isBulkError) { + mockGetBulkOperationError.mockReturnValueOnce(undefined); + mockGetBulkOperationError.mockReturnValueOnce(expectedErrorResult.error as Payload); + } + client.bulk.mockResponseOnce(mockedBulkDeleteResponse); + + const result = await repository.bulkDelete(objects); + expect(client.bulk).toHaveBeenCalled(); + expect(result).toEqual({ + statuses: [ + createBulkDeleteSuccessStatus(obj1), + createBulkDeleteFailStatus({ ...obj, error: expectedErrorResult.error }), + createBulkDeleteSuccessStatus(obj2), + ], + }); + }; + + const expectClientCallArgsAction = ( + objects: TypeIdTuple[], + { + method, + _index = expect.any(String), + getId = () => expect.any(String), + overrides = {}, + }: { + method: string; + _index?: string; + getId?: (type: string, id: string) => string; + overrides?: Record; + } + ) => { + const body = []; + for (const { type, id } of objects) { + body.push({ + [method]: { + _index, + _id: getId(type, id), + ...overrides, + }, + }); + } + expect(client.bulk).toHaveBeenCalledWith( + expect.objectContaining({ body }), + expect.anything() + ); + }; + + const bulkDeleteMultiNamespaceError = async ( + [obj1, _obj, obj2]: SavedObjectsBulkDeleteObject[], + options: SavedObjectsBulkDeleteOptions | undefined, + mgetResponse: estypes.MgetResponse, + mgetOptions?: { statusCode?: number } + ) => { + const getId = (type: string, id: string) => `${options?.namespace}:${type}:${id}`; + // mock the response for the not found doc + client.mget.mockResponseOnce(mgetResponse, { statusCode: mgetOptions?.statusCode }); + // get a mocked response for the valid docs + const bulkResponse = getMockEsBulkDeleteResponse(registry, [obj1, obj2], { namespace }); + client.bulk.mockResponseOnce(bulkResponse); + + const result = await repository.bulkDelete([obj1, _obj, obj2], options); + expect(client.bulk).toHaveBeenCalledTimes(1); + expect(client.mget).toHaveBeenCalledTimes(1); + + expectClientCallArgsAction([obj1, obj2], { method: 'delete', getId }); + expect(result).toEqual({ + statuses: [ + createBulkDeleteSuccessStatus(obj1), + { ...expectErrorNotFound(_obj), success: false }, + createBulkDeleteSuccessStatus(obj2), + ], + }); + }; + + beforeEach(() => { + mockDeleteLegacyUrlAliases.mockClear(); + mockDeleteLegacyUrlAliases.mockResolvedValue(); + }); + + describe('client calls', () => { + it(`should use the ES bulk action by default`, async () => { + await bulkDeleteSuccess(client, repository, registry, [obj1, obj2]); + expect(client.bulk).toHaveBeenCalled(); + }); + + it(`should use the ES mget action before bulk action for any types that are multi-namespace`, async () => { + const objects = [obj1, { ...obj2, type: MULTI_NAMESPACE_ISOLATED_TYPE }]; + await bulkDeleteSuccess(client, repository, registry, objects); + expect(client.bulk).toHaveBeenCalled(); + expect(client.mget).toHaveBeenCalled(); + + const docs = [ + expect.objectContaining({ _id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${obj2.id}` }), + ]; + expect(client.mget).toHaveBeenCalledWith( + expect.objectContaining({ body: { docs } }), + expect.anything() + ); + }); + + it(`should not use the ES bulk action when there are no valid documents to delete`, async () => { + const objects = [obj1, obj2].map((x) => ({ ...x, type: 'unknownType' })); + await repository.bulkDelete(objects); + expect(client.bulk).toHaveBeenCalledTimes(0); + }); + + it(`formats the ES request`, async () => { + const getId = createNamespaceAwareGetId; + await bulkDeleteSuccess(client, repository, registry, [obj1, obj2], { namespace }); + expectClientCallBulkDeleteArgsAction([obj1, obj2], { method: 'delete', getId }); + }); + + it(`formats the ES request for any types that are multi-namespace`, async () => { + const _obj2 = { ...obj2, type: MULTI_NAMESPACE_ISOLATED_TYPE }; + const getId = createNamespaceAwareGetId; + await bulkDeleteSuccess(client, repository, registry, [obj1, _obj2], { namespace }); + expectClientCallBulkDeleteArgsAction([obj1, _obj2], { method: 'delete', getId }); + }); + + it(`defaults to a refresh setting of wait_for`, async () => { + await bulkDeleteSuccess(client, repository, registry, [obj1, obj2]); + expect(client.bulk).toHaveBeenCalledWith( + expect.objectContaining({ refresh: 'wait_for' }), + expect.anything() + ); + }); + + it(`does not include the version of the existing document when not using a multi-namespace type`, async () => { + const objects = [obj1, { ...obj2, type: NAMESPACE_AGNOSTIC_TYPE }]; + await bulkDeleteSuccess(client, repository, registry, objects); + expectClientCallBulkDeleteArgsAction(objects, { method: 'delete' }); + }); + + it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { + const getId = createNamespaceAwareGetId; + await bulkDeleteSuccess(client, repository, registry, [obj1, obj2], { namespace }); + expectClientCallBulkDeleteArgsAction([obj1, obj2], { method: 'delete', getId }); + }); + + it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { + const getId = (type: string, id: string) => `${type}:${id}`; + await bulkDeleteSuccess(client, repository, registry, [obj1, obj2]); + expectClientCallBulkDeleteArgsAction([obj1, obj2], { method: 'delete', getId }); + }); + + it(`normalizes options.namespace from 'default' to undefined`, async () => { + const getId = (type: string, id: string) => `${type}:${id}`; + await bulkDeleteSuccess(client, repository, registry, [obj1, obj2], { + namespace: 'default', + }); + expectClientCallBulkDeleteArgsAction([obj1, obj2], { method: 'delete', getId }); + }); + + it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { + const getId = (type: string, id: string) => `${type}:${id}`; // not expecting namespace prefix; + const _obj1 = { ...obj1, type: NAMESPACE_AGNOSTIC_TYPE }; + const _obj2 = { ...obj2, type: MULTI_NAMESPACE_ISOLATED_TYPE }; + + await bulkDeleteSuccess(client, repository, registry, [_obj1, _obj2], { namespace }); + expectClientCallBulkDeleteArgsAction([_obj1, _obj2], { method: 'delete', getId }); + }); + }); + + describe('legacy URL aliases', () => { + it(`doesn't delete legacy URL aliases for single-namespace object types`, async () => { + await bulkDeleteSuccess(client, repository, registry, [obj1, obj2]); + expect(mockDeleteLegacyUrlAliases).not.toHaveBeenCalled(); + }); + + it(`deletes legacy URL aliases for multi-namespace object types (all spaces)`, async () => { + const testObject = { ...obj1, type: MULTI_NAMESPACE_TYPE }; + const internalOptions = { + mockMGetResponseObjects: [ + { + ...testObject, + initialNamespaces: [ALL_NAMESPACES_STRING], + }, + ], + }; + await bulkDeleteSuccess( + client, + repository, + registry, + [testObject], + { namespace, force: true }, + internalOptions + ); + expect(mockDeleteLegacyUrlAliases).toHaveBeenCalledWith( + expect.objectContaining({ + type: MULTI_NAMESPACE_TYPE, + id: testObject.id, + namespaces: [], + deleteBehavior: 'exclusive', + }) + ); + }); + + it(`deletes legacy URL aliases for multi-namespace object types (specific space)`, async () => { + const testObject = { ...obj1, type: MULTI_NAMESPACE_TYPE }; + const internalOptions = { + mockMGetResponseObjects: [ + { + ...testObject, + initialNamespaces: [namespace], + }, + ], + }; + // specifically test against the current namespace + await bulkDeleteSuccess( + client, + repository, + registry, + [testObject], + { namespace }, + internalOptions + ); + expect(mockDeleteLegacyUrlAliases).toHaveBeenCalledWith( + expect.objectContaining({ + type: MULTI_NAMESPACE_TYPE, + id: testObject.id, + namespaces: [namespace], + deleteBehavior: 'inclusive', + }) + ); + }); + + it(`deletes legacy URL aliases for multi-namespace object types shared to many specific spaces`, async () => { + const testObject = { ...obj1, type: MULTI_NAMESPACE_TYPE }; + const initialTestObjectNamespaces = [namespace, 'bar-namespace']; + const internalOptions = { + mockMGetResponseObjects: [ + { + ...testObject, + initialNamespaces: initialTestObjectNamespaces, + }, + ], + }; + // specifically test against named spaces ('*' is handled specifically, this assures we also take care of named spaces) + await bulkDeleteSuccess( + client, + repository, + registry, + [testObject], + { namespace, force: true }, + internalOptions + ); + expect(mockDeleteLegacyUrlAliases).toHaveBeenCalledWith( + expect.objectContaining({ + type: MULTI_NAMESPACE_TYPE, + id: testObject.id, + namespaces: initialTestObjectNamespaces, + deleteBehavior: 'inclusive', + }) + ); + }); + + it(`logs a message when deleteLegacyUrlAliases returns an error`, async () => { + const testObject = { type: MULTI_NAMESPACE_ISOLATED_TYPE, id: obj1.id }; + + client.mget.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise( + getMockMgetResponse(registry, [testObject], namespace) + ) + ); + const mockedBulkResponse = getMockEsBulkDeleteResponse(registry, [testObject], { + namespace, + }); + client.bulk.mockResolvedValueOnce(mockedBulkResponse); + + mockDeleteLegacyUrlAliases.mockRejectedValueOnce(new Error('Oh no!')); + + await repository.bulkDelete([testObject], { namespace }); + + expect(client.mget).toHaveBeenCalledTimes(1); + expect(logger.error).toHaveBeenCalledTimes(1); + expect(logger.error).toHaveBeenCalledWith( + 'Unable to delete aliases when deleting an object: Oh no!' + ); + }); + }); + + describe('errors', () => { + it(`throws an error when options.namespace is '*'`, async () => { + await expect( + repository.bulkDelete([obj1], { namespace: ALL_NAMESPACES_STRING }) + ).rejects.toThrowError( + SavedObjectsErrorHelpers.createBadRequestError('"options.namespace" cannot be "*"') + ); + }); + + it(`throws an error when client bulk response is not defined`, async () => { + client.mget.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise( + getMockMgetResponse(registry, [obj1], namespace) + ) + ); + const mockedBulkResponse = undefined; + // we have to cast here to test the assumption we always get a response. + client.bulk.mockResponseOnce(mockedBulkResponse as unknown as estypes.BulkResponse); + await expect(repository.bulkDelete([obj1], { namespace })).rejects.toThrowError( + 'Unexpected error in bulkDelete saved objects: bulkDeleteResponse is undefined' + ); + }); + + it(`returns an error for the object when the object's type is invalid`, async () => { + const unknownObjType = { ...obj1, type: 'unknownType' }; + await repositoryBulkDeleteError( + unknownObjType, + false, + expectErrorInvalidType(unknownObjType) + ); + }); + + it(`returns an error for an object when the object's type is hidden`, async () => { + const hiddenObject = { ...obj1, type: HIDDEN_TYPE }; + await repositoryBulkDeleteError(hiddenObject, false, expectErrorInvalidType(hiddenObject)); + }); + + it(`returns an error when ES is unable to find the document during mget`, async () => { + const notFoundObj = { ...obj1, type: MULTI_NAMESPACE_ISOLATED_TYPE, found: false }; + const mgetResponse = getMockMgetResponse(registry, [notFoundObj], namespace); + await bulkDeleteMultiNamespaceError([obj1, notFoundObj, obj2], { namespace }, mgetResponse); + }); + + it(`returns an error when ES is unable to find the index during mget`, async () => { + const notFoundObj = { ...obj1, type: MULTI_NAMESPACE_ISOLATED_TYPE, found: false }; + await bulkDeleteMultiNamespaceError( + [obj1, notFoundObj, obj2], + { namespace }, + {} as estypes.MgetResponse, + { + statusCode: 404, + } + ); + }); + + it(`returns an error when the type is multi-namespace and the document exists, but not in this namespace`, async () => { + const obj = { + type: MULTI_NAMESPACE_ISOLATED_TYPE, + id: 'three', + namespace: 'bar-namespace', + }; + const mgetResponse = getMockMgetResponse(registry, [obj], namespace); + await bulkDeleteMultiNamespaceError([obj1, obj, obj2], { namespace }, mgetResponse); + }); + + it(`returns an error when the type is multi-namespace and the document has multiple namespaces and the force option is not enabled`, async () => { + const testObject = { ...obj1, type: MULTI_NAMESPACE_TYPE }; + const internalOptions = { + mockMGetResponseObjects: [ + { + ...testObject, + initialNamespaces: [namespace, 'bar-namespace'], + }, + ], + }; + const result = await bulkDeleteSuccess( + client, + repository, + registry, + [testObject], + { namespace }, + internalOptions + ); + expect(result.statuses[0]).toStrictEqual( + createBulkDeleteFailStatus({ + ...testObject, + error: createBadRequestErrorPayload( + 'Unable to delete saved object that exists in multiple namespaces, use the `force` option to delete it anyway' + ), + }) + ); + }); + + it(`returns an error when the type is multi-namespace and the document has all namespaces and the force option is not enabled`, async () => { + const testObject = { ...obj1, type: ALL_NAMESPACES_STRING }; + const internalOptions = { + mockMGetResponseObjects: [ + { + ...testObject, + initialNamespaces: [namespace, 'bar-namespace'], + }, + ], + }; + const result = await bulkDeleteSuccess( + client, + repository, + registry, + [testObject], + { namespace }, + internalOptions + ); + expect(result.statuses[0]).toStrictEqual( + createBulkDeleteFailStatus({ + ...testObject, + error: createBadRequestErrorPayload("Unsupported saved object type: '*'"), + }) + ); + }); + }); + + describe('returns', () => { + it(`returns early for empty objects argument`, async () => { + await repository.bulkDelete([], { namespace }); + expect(client.bulk).toHaveBeenCalledTimes(0); + }); + + it(`formats the ES response`, async () => { + const response = await bulkDeleteSuccess(client, repository, registry, [obj1, obj2], { + namespace, + }); + expect(response).toEqual({ + statuses: [obj1, obj2].map(createBulkDeleteSuccessStatus), + }); + }); + + it(`handles a mix of successful deletes and errors`, async () => { + const notFoundObj = { ...obj1, type: MULTI_NAMESPACE_ISOLATED_TYPE, found: false }; + await bulkDeleteMultiNamespaceError( + [obj1, notFoundObj, obj2], + { namespace }, + {} as estypes.MgetResponse, + { statusCode: 404 } + ); + }); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.test.ts new file mode 100644 index 0000000000000..35e9b554a16c9 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.test.ts @@ -0,0 +1,420 @@ +/* + * 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 { + pointInTimeFinderMock, + mockGetBulkOperationError, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import type { Payload } from '@hapi/boom'; +import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +import type { SavedObjectsBulkGetObject } from '@kbn/core-saved-objects-api-server'; +import { type SavedObjectsRawDocSource, type SavedObject } from '@kbn/core-saved-objects-server'; +import { ALL_NAMESPACES_STRING } from '@kbn/core-saved-objects-utils-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { + SavedObjectsSerializer, + encodeHitVersion, +} from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + NAMESPACE_AGNOSTIC_TYPE, + MULTI_NAMESPACE_ISOLATED_TYPE, + HIDDEN_TYPE, + mockTimestamp, + mappings, + bulkGetSuccess, + createRegistry, + createDocumentMigrator, + getMockMgetResponse, + type TypeIdTuple, + createSpySerializer, + bulkGet, + expectErrorResult, + expectErrorInvalidType, + expectErrorNotFound, + expectError, + createBadRequestErrorPayload, +} from '../../test_helpers/repository.test.common'; + +interface ExpectedErrorResult { + type: string; + id: string; + error: Record; +} + +describe('#bulkGet', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + const expectSuccess = ({ type, id }: { type: string; id: string }) => { + // @ts-expect-error TS is not aware of the extension + return expect.toBeDocumentWithoutError(type, id); + }; + + const expectMigrationArgs = (args: unknown, contains = true, n = 1) => { + const obj = contains ? expect.objectContaining(args) : expect.not.objectContaining(args); + expect(migrator.migrateDocument).toHaveBeenNthCalledWith( + n, + obj, + expect.objectContaining({ + allowDowngrade: expect.any(Boolean), + }) + ); + }; + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('performBulkGet', () => { + const obj1: SavedObject = { + type: 'config', + id: '6.0.0-alpha1', + attributes: { title: 'Testing' }, + references: [ + { + name: 'ref_0', + type: 'test', + id: '1', + }, + ], + originId: 'some-origin-id', // only one of the results has an originId, this is intentional to test both a positive and negative case + }; + const obj2: SavedObject = { + type: 'index-pattern', + id: 'logstash-*', + attributes: { title: 'Testing' }, + references: [ + { + name: 'ref_0', + type: 'test', + id: '2', + }, + ], + }; + const namespace = 'foo-namespace'; + + const _expectClientCallArgs = ( + objects: TypeIdTuple[], + { + _index = expect.any(String), + getId = () => expect.any(String), + }: { _index?: string; getId?: (type: string, id: string) => string } + ) => { + expect(client.mget).toHaveBeenCalledWith( + expect.objectContaining({ + body: { + docs: objects.map(({ type, id }) => + expect.objectContaining({ + _index, + _id: getId(type, id), + }) + ), + }, + }), + expect.anything() + ); + }; + + describe('client calls', () => { + it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { + const getId = (type: string, id: string) => `${namespace}:${type}:${id}`; // test that the raw document ID equals this (e.g., has a namespace prefix) + await bulkGetSuccess(client, repository, registry, [obj1, obj2], { namespace }); + _expectClientCallArgs([obj1, obj2], { getId }); + }); + + it(`prepends namespace to the id when providing namespaces for single-namespace type`, async () => { + const getId = (type: string, id: string) => `${namespace}:${type}:${id}`; // test that the raw document ID equals this (e.g., has a namespace prefix) + const objects = [obj1, obj2].map((obj) => ({ ...obj, namespaces: [namespace] })); + await bulkGetSuccess(client, repository, registry, objects, { namespace: 'some-other-ns' }); + _expectClientCallArgs([obj1, obj2], { getId }); + }); + + it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { + const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) + await bulkGetSuccess(client, repository, registry, [obj1, obj2]); + _expectClientCallArgs([obj1, obj2], { getId }); + }); + + it(`normalizes options.namespace from 'default' to undefined`, async () => { + const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) + await bulkGetSuccess(client, repository, registry, [obj1, obj2], { namespace: 'default' }); + _expectClientCallArgs([obj1, obj2], { getId }); + }); + + it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { + const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) + let objects = [obj1, obj2].map((obj) => ({ ...obj, type: NAMESPACE_AGNOSTIC_TYPE })); + await bulkGetSuccess(client, repository, registry, objects, { namespace }); + _expectClientCallArgs(objects, { getId }); + + client.mget.mockClear(); + objects = [obj1, { ...obj2, namespaces: ['some-other-ns'] }].map((obj) => ({ + ...obj, + type: MULTI_NAMESPACE_ISOLATED_TYPE, + })); + await bulkGetSuccess(client, repository, registry, objects, { namespace }); + _expectClientCallArgs(objects, { getId }); + }); + }); + + describe('errors', () => { + const bulkGetError = async ( + obj: SavedObjectsBulkGetObject & { found?: boolean }, + isBulkError: boolean, + expectedErrorResult: ExpectedErrorResult + ) => { + let response; + if (isBulkError) { + // mock the bulk error for only the second object + mockGetBulkOperationError.mockReturnValueOnce(undefined); + mockGetBulkOperationError.mockReturnValueOnce(expectedErrorResult.error as Payload); + response = getMockMgetResponse(registry, [obj1, obj, obj2]); + } else { + response = getMockMgetResponse(registry, [obj1, obj2]); + } + client.mget.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + + const objects = [obj1, obj, obj2]; + const result = await bulkGet(repository, objects); + expect(client.mget).toHaveBeenCalled(); + expect(result).toEqual({ + saved_objects: [expectSuccess(obj1), expectedErrorResult, expectSuccess(obj2)], + }); + }; + + it(`throws when options.namespace is '*'`, async () => { + const obj = { type: 'dashboard', id: 'three' }; + await expect( + repository.bulkGet([obj], { namespace: ALL_NAMESPACES_STRING }) + ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); + }); + + it(`returns error when namespaces is used with a space-agnostic object`, async () => { + const obj = { type: NAMESPACE_AGNOSTIC_TYPE, id: 'three', namespaces: [] }; + await bulkGetError( + obj, + false, + expectErrorResult( + obj, + createBadRequestErrorPayload('"namespaces" cannot be used on space-agnostic types') + ) + ); + }); + + it(`returns error when namespaces is used with a space-isolated object and does not specify a single space`, async () => { + const doTest = async (objType: string, namespaces?: string[]) => { + const obj = { type: objType, id: 'three', namespaces }; + await bulkGetError( + obj, + false, + expectErrorResult( + obj, + createBadRequestErrorPayload( + '"namespaces" can only specify a single space when used with space-isolated types' + ) + ) + ); + }; + await doTest('dashboard', ['spacex', 'spacey']); + await doTest('dashboard', ['*']); + await doTest(MULTI_NAMESPACE_ISOLATED_TYPE, ['spacex', 'spacey']); + await doTest(MULTI_NAMESPACE_ISOLATED_TYPE, ['*']); + }); + + it(`returns error when type is invalid`, async () => { + const obj: SavedObjectsBulkGetObject = { type: 'unknownType', id: 'three' }; + await bulkGetError(obj, false, expectErrorInvalidType(obj)); + }); + + it(`returns error when type is hidden`, async () => { + const obj: SavedObjectsBulkGetObject = { type: HIDDEN_TYPE, id: 'three' }; + await bulkGetError(obj, false, expectErrorInvalidType(obj)); + }); + + it(`returns error when document is not found`, async () => { + const obj: SavedObjectsBulkGetObject & { found: boolean } = { + type: 'dashboard', + id: 'three', + found: false, + }; + await bulkGetError(obj, true, expectErrorNotFound(obj)); + }); + + it(`handles missing ids gracefully`, async () => { + const obj: SavedObjectsBulkGetObject & { found: boolean } = { + type: 'dashboard', + // @ts-expect-error id is undefined + id: undefined, + found: false, + }; + await bulkGetError(obj, true, expectErrorNotFound(obj)); + }); + + it(`returns error when type is multi-namespace and the document exists, but not in this namespace`, async () => { + const obj = { + type: MULTI_NAMESPACE_ISOLATED_TYPE, + id: 'three', + namespace: 'bar-namespace', + }; + await bulkGetError(obj, true, expectErrorNotFound(obj)); + }); + }); + + describe('returns', () => { + const expectSuccessResult = ( + { type, id }: TypeIdTuple, + doc: estypes.GetGetResult + ) => ({ + type, + id, + namespaces: doc._source!.namespaces ?? ['default'], + ...(doc._source!.originId && { originId: doc._source!.originId }), + ...(doc._source!.updated_at && { updated_at: doc._source!.updated_at }), + ...(doc._source!.created_at && { created_at: doc._source!.created_at }), + version: encodeHitVersion(doc), + attributes: doc._source![type], + references: doc._source!.references || [], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), + }); + + it(`returns early for empty objects argument`, async () => { + const result = await bulkGet(repository, []); + expect(result).toEqual({ saved_objects: [] }); + expect(client.mget).not.toHaveBeenCalled(); + }); + + it(`formats the ES response`, async () => { + const response = getMockMgetResponse(registry, [obj1, obj2]); + client.mget.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + const result = await bulkGet(repository, [obj1, obj2]); + expect(client.mget).toHaveBeenCalledTimes(1); + expect(result).toEqual({ + saved_objects: [ + expectSuccessResult( + obj1, + response.docs[0] as estypes.GetGetResult + ), + expectSuccessResult( + obj2, + response.docs[1] as estypes.GetGetResult + ), + ], + }); + }); + + it(`handles a mix of successful gets and errors`, async () => { + const response = getMockMgetResponse(registry, [obj1, obj2]); + client.mget.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + const obj: SavedObject = { + type: 'unknownType', + id: 'three', + attributes: {}, + references: [], + }; + const result = await bulkGet(repository, [obj1, obj, obj2]); + expect(client.mget).toHaveBeenCalledTimes(1); + expect(result).toEqual({ + saved_objects: [ + expectSuccessResult( + obj1, + response.docs[0] as estypes.GetGetResult + ), + expectError(obj), + expectSuccessResult( + obj2, + response.docs[1] as estypes.GetGetResult + ), + ], + }); + }); + + it(`includes namespaces property for single-namespace and multi-namespace documents`, async () => { + const obj: SavedObject = { + type: MULTI_NAMESPACE_ISOLATED_TYPE, + id: 'three', + attributes: {}, + references: [], + }; + const { result } = await bulkGetSuccess(client, repository, registry, [obj1, obj]); + expect(result).toEqual({ + saved_objects: [ + expect.objectContaining({ namespaces: ['default'] }), + expect.objectContaining({ namespaces: expect.any(Array) }), + ], + }); + }); + + it('migrates the fetched documents', async () => { + const response = getMockMgetResponse(registry, [obj1, obj2]); + client.mget.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + migrator.migrateDocument.mockReturnValue( + 'migrated' as unknown as ReturnType + ); + + await expect(bulkGet(repository, [obj1, obj2])).resolves.toHaveProperty('saved_objects', [ + 'migrated', + 'migrated', + ]); + expect(migrator.migrateDocument).toHaveBeenCalledTimes(2); + expectMigrationArgs({ id: obj1.id }, true, 1); + expectMigrationArgs({ id: obj2.id }, true, 2); + }); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.test.ts new file mode 100644 index 0000000000000..a71f8e27ccb98 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.test.ts @@ -0,0 +1,127 @@ +/* + * 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 { + pointInTimeFinderMock, + mockInternalBulkResolve, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + mockTimestamp, + mappings, + createRegistry, + createDocumentMigrator, + createSpySerializer, +} from '../../test_helpers/repository.test.common'; + +describe('#bulkResolve', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('performBulkResolve', () => { + afterEach(() => { + mockInternalBulkResolve.mockReset(); + }); + + it('passes arguments to the internalBulkResolve module and returns the expected results', async () => { + mockInternalBulkResolve.mockResolvedValue({ + resolved_objects: [ + { + saved_object: { type: 'mock', id: 'mock-object', attributes: {}, references: [] }, + outcome: 'exactMatch', + }, + { + type: 'obj-type', + id: 'obj-id-2', + error: SavedObjectsErrorHelpers.createGenericNotFoundError('obj-type', 'obj-id-2'), + }, + ], + }); + + const objects = [ + { type: 'obj-type', id: 'obj-id-1' }, + { type: 'obj-type', id: 'obj-id-2' }, + ]; + await expect(repository.bulkResolve(objects)).resolves.toEqual({ + resolved_objects: [ + { + saved_object: { type: 'mock', id: 'mock-object', attributes: {}, references: [] }, + outcome: 'exactMatch', + }, + { + saved_object: { + type: 'obj-type', + id: 'obj-id-2', + error: { + error: 'Not Found', + message: 'Saved object [obj-type/obj-id-2] not found', + statusCode: 404, + }, + }, + outcome: 'exactMatch', + }, + ], + }); + expect(mockInternalBulkResolve).toHaveBeenCalledTimes(1); + expect(mockInternalBulkResolve).toHaveBeenCalledWith(expect.objectContaining({ objects })); + }); + + it('throws when internalBulkResolve throws', async () => { + const error = new Error('Oh no!'); + mockInternalBulkResolve.mockRejectedValue(error); + + await expect(repository.resolve('some-type', 'some-id')).rejects.toEqual(error); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_update.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_update.test.ts index 60deaa64e3e63..983021d99005c 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_update.test.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_update.test.ts @@ -60,7 +60,7 @@ interface ExpectedErrorResult { error: Record; } -describe('SavedObjectsRepository', () => { +describe('#bulkUpdate', () => { let client: ReturnType; let repository: SavedObjectsRepository; let migrator: ReturnType; @@ -117,7 +117,7 @@ describe('SavedObjectsRepository', () => { mockGetSearchDsl.mockClear(); }); - describe('#bulkUpdate', () => { + describe('performBulkUpdate', () => { const obj1: SavedObjectsBulkUpdateObject = { type: 'config', id: '6.0.0-alpha1', diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/check_conflicts.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/check_conflicts.test.ts new file mode 100644 index 0000000000000..bce3a8be40d23 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/check_conflicts.test.ts @@ -0,0 +1,201 @@ +/* + * 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 { + pointInTimeFinderMock, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +import { ALL_NAMESPACES_STRING } from '@kbn/core-saved-objects-utils-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + NAMESPACE_AGNOSTIC_TYPE, + MULTI_NAMESPACE_ISOLATED_TYPE, + HIDDEN_TYPE, + mockTimestamp, + mappings, + createRegistry, + createDocumentMigrator, + getMockGetResponse, + type TypeIdTuple, + createSpySerializer, + checkConflicts, + checkConflictsSuccess, + createBadRequestErrorPayload, + createUnsupportedTypeErrorPayload, + createConflictErrorPayload, +} from '../../test_helpers/repository.test.common'; + +describe('#checkConflicts', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('performCheckConflicts', () => { + const obj1 = { type: 'dashboard', id: 'one' }; + const obj2 = { type: 'dashboard', id: 'two' }; + const obj3 = { type: MULTI_NAMESPACE_ISOLATED_TYPE, id: 'three' }; + const obj4 = { type: MULTI_NAMESPACE_ISOLATED_TYPE, id: 'four' }; + const obj5 = { type: MULTI_NAMESPACE_ISOLATED_TYPE, id: 'five' }; + const obj6 = { type: NAMESPACE_AGNOSTIC_TYPE, id: 'six' }; + const obj7 = { type: NAMESPACE_AGNOSTIC_TYPE, id: 'seven' }; + const namespace = 'foo-namespace'; + + const _expectClientCallArgs = ( + objects: TypeIdTuple[], + { + _index = expect.any(String), + getId = () => expect.any(String), + }: { _index?: string; getId?: (type: string, id: string) => string } + ) => { + expect(client.mget).toHaveBeenCalledWith( + expect.objectContaining({ + body: { + docs: objects.map(({ type, id }) => + expect.objectContaining({ + _index, + _id: getId(type, id), + }) + ), + }, + }), + expect.anything() + ); + }; + + describe('client calls', () => { + it(`doesn't make a cluster call if the objects array is empty`, async () => { + await checkConflicts(repository, []); + expect(client.mget).not.toHaveBeenCalled(); + }); + + it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { + const getId = (type: string, id: string) => `${namespace}:${type}:${id}`; // test that the raw document ID equals this (e.g., has a namespace prefix) + await checkConflictsSuccess(client, repository, registry, [obj1, obj2], { namespace }); + _expectClientCallArgs([obj1, obj2], { getId }); + }); + + it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { + const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) + await checkConflictsSuccess(client, repository, registry, [obj1, obj2]); + _expectClientCallArgs([obj1, obj2], { getId }); + }); + + it(`normalizes options.namespace from 'default' to undefined`, async () => { + const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) + await checkConflictsSuccess(client, repository, registry, [obj1, obj2], { + namespace: 'default', + }); + _expectClientCallArgs([obj1, obj2], { getId }); + }); + + it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { + const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) + // obj3 is multi-namespace, and obj6 is namespace-agnostic + await checkConflictsSuccess(client, repository, registry, [obj3, obj6], { namespace }); + _expectClientCallArgs([obj3, obj6], { getId }); + }); + }); + + describe('errors', () => { + it(`throws when options.namespace is '*'`, async () => { + await expect( + repository.checkConflicts([obj1], { namespace: ALL_NAMESPACES_STRING }) + ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); + }); + }); + + describe('returns', () => { + it(`expected results`, async () => { + const unknownTypeObj = { type: 'unknownType', id: 'three' }; + const hiddenTypeObj = { type: HIDDEN_TYPE, id: 'three' }; + const objects = [unknownTypeObj, hiddenTypeObj, obj1, obj2, obj3, obj4, obj5, obj6, obj7]; + const response = { + docs: [ + getMockGetResponse(registry, obj1), + { found: false }, + getMockGetResponse(registry, obj3), + getMockGetResponse(registry, { ...obj4, namespace: 'bar-namespace' }), + { found: false }, + getMockGetResponse(registry, obj6), + { found: false }, + ], + } as estypes.MgetResponse; + client.mget.mockResolvedValue( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + + const result = await checkConflicts(repository, objects); + expect(client.mget).toHaveBeenCalledTimes(1); + expect(result).toEqual({ + errors: [ + { ...unknownTypeObj, error: createUnsupportedTypeErrorPayload(unknownTypeObj.type) }, + { ...hiddenTypeObj, error: createUnsupportedTypeErrorPayload(hiddenTypeObj.type) }, + { ...obj1, error: createConflictErrorPayload(obj1.type, obj1.id) }, + // obj2 was not found so it does not result in a conflict error + { ...obj3, error: createConflictErrorPayload(obj3.type, obj3.id) }, + { + ...obj4, + error: { + ...createConflictErrorPayload(obj4.type, obj4.id), + metadata: { isNotOverwritable: true }, + }, + }, + // obj5 was not found so it does not result in a conflict error + { ...obj6, error: createConflictErrorPayload(obj6.type, obj6.id) }, + // obj7 was not found so it does not result in a conflict error + ], + }); + }); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/collect_multinamespace_references.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/collect_multinamespace_references.test.ts new file mode 100644 index 0000000000000..0f793d58c7dff --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/collect_multinamespace_references.test.ts @@ -0,0 +1,105 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { + pointInTimeFinderMock, + mockCollectMultiNamespaceReferences, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import type { + SavedObjectsCollectMultiNamespaceReferencesObject, + SavedObjectsCollectMultiNamespaceReferencesResponse, +} from '@kbn/core-saved-objects-api-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + mockTimestamp, + mappings, + createRegistry, + createDocumentMigrator, + createSpySerializer, +} from '../../test_helpers/repository.test.common'; + +describe('#collectMultiNamespaceReferences', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('performCollectMultiNamespaceReferences', () => { + afterEach(() => { + mockCollectMultiNamespaceReferences.mockReset(); + }); + + it('passes arguments to the collectMultiNamespaceReferences module and returns the result', async () => { + const objects: SavedObjectsCollectMultiNamespaceReferencesObject[] = [ + { type: 'foo', id: 'bar' }, + ]; + const expectedResult: SavedObjectsCollectMultiNamespaceReferencesResponse = { + objects: [{ type: 'foo', id: 'bar', spaces: ['ns-1'], inboundReferences: [] }], + }; + mockCollectMultiNamespaceReferences.mockResolvedValue(expectedResult); + + await expect(repository.collectMultiNamespaceReferences(objects)).resolves.toEqual( + expectedResult + ); + expect(mockCollectMultiNamespaceReferences).toHaveBeenCalledTimes(1); + expect(mockCollectMultiNamespaceReferences).toHaveBeenCalledWith( + expect.objectContaining({ objects }) + ); + }); + + it('returns an error from the collectMultiNamespaceReferences module', async () => { + const expectedResult = new Error('Oh no!'); + mockCollectMultiNamespaceReferences.mockRejectedValue(expectedResult); + + await expect(repository.collectMultiNamespaceReferences([])).rejects.toEqual(expectedResult); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.test.ts new file mode 100644 index 0000000000000..336c2bb2d4899 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.test.ts @@ -0,0 +1,831 @@ +/* + * 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. + */ + +/* eslint-disable @typescript-eslint/no-shadow */ + +import { + pointInTimeFinderMock, + mockGetCurrentTime, + mockPreflightCheckForCreate, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +import type { SavedObjectsCreateOptions } from '@kbn/core-saved-objects-api-server'; +import { + type SavedObjectsRawDoc, + type SavedObjectsRawDocSource, + type SavedObjectUnsanitizedDoc, + type SavedObjectReference, +} from '@kbn/core-saved-objects-server'; +import { ALL_NAMESPACES_STRING } from '@kbn/core-saved-objects-utils-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + CUSTOM_INDEX_TYPE, + NAMESPACE_AGNOSTIC_TYPE, + MULTI_NAMESPACE_TYPE, + MULTI_NAMESPACE_ISOLATED_TYPE, + HIDDEN_TYPE, + mockVersionProps, + mockTimestamp, + mappings, + mockVersion, + createRegistry, + createDocumentMigrator, + createSpySerializer, + createBadRequestErrorPayload, + createUnsupportedTypeErrorPayload, + createConflictErrorPayload, + mockTimestampFieldsWithCreated, +} from '../../test_helpers/repository.test.common'; + +describe('#create', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + const expectMigrationArgs = (args: unknown, contains = true, n = 1) => { + const obj = contains ? expect.objectContaining(args) : expect.not.objectContaining(args); + expect(migrator.migrateDocument).toHaveBeenNthCalledWith( + n, + obj, + expect.objectContaining({ + allowDowngrade: expect.any(Boolean), + }) + ); + }; + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + // Setup migration mock for creating an object + const mockMigrationVersion = { foo: '2.3.4' }; + const mockMigrateDocument = (doc: SavedObjectUnsanitizedDoc) => ({ + ...doc, + attributes: { + ...doc.attributes, + ...(doc.attributes?.title && { title: `${doc.attributes.title}!!` }), + }, + migrationVersion: mockMigrationVersion, + managed: doc.managed ?? false, + references: [{ name: 'search_0', type: 'search', id: '123' }], + }); + + describe('performCreate', () => { + beforeEach(() => { + mockPreflightCheckForCreate.mockReset(); + mockPreflightCheckForCreate.mockImplementation(({ objects }) => { + return Promise.resolve(objects.map(({ type, id }) => ({ type, id }))); // respond with no errors by default + }); + client.create.mockResponseImplementation((params) => { + return { + body: { + _id: params.id, + ...mockVersionProps, + } as estypes.CreateResponse, + }; + }); + }); + + const type = 'index-pattern'; + const attributes = { title: 'Logstash' }; + const id = 'logstash-*'; + const namespace = 'foo-namespace'; + const references = [ + { + name: 'ref_0', + type: 'test', + id: '123', + }, + ]; + + const createSuccess = async ( + type: string, + attributes: T, + options?: SavedObjectsCreateOptions + ) => { + return await repository.create(type, attributes, options); + }; + + describe('client calls', () => { + it(`should use the ES index action if ID is not defined`, async () => { + await createSuccess(type, attributes, { overwrite: true }); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.index).toHaveBeenCalled(); + }); + + it(`should use the ES index action if ID is not defined and a doc has managed=true`, async () => { + await createSuccess(type, attributes, { overwrite: true, managed: true }); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.index).toHaveBeenCalled(); + }); + + it(`should use the ES index action if ID is not defined and a doc has managed=false`, async () => { + await createSuccess(type, attributes, { overwrite: true, managed: false }); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.index).toHaveBeenCalled(); + }); + + it(`should use the ES create action if ID is not defined and overwrite=false`, async () => { + await createSuccess(type, attributes); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.create).toHaveBeenCalled(); + }); + + it(`should use the ES create action if ID is not defined, overwrite=false and a doc has managed=true`, async () => { + await createSuccess(type, attributes, { managed: true }); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.create).toHaveBeenCalled(); + }); + + it(`should use the ES create action if ID is not defined, overwrite=false and a doc has managed=false`, async () => { + await createSuccess(type, attributes, { managed: false }); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.create).toHaveBeenCalled(); + }); + + it(`should use the ES index with version if ID and version are defined and overwrite=true`, async () => { + await createSuccess(type, attributes, { id, overwrite: true, version: mockVersion }); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.index).toHaveBeenCalled(); + expect(client.index.mock.calls[0][0]).toMatchObject({ + if_seq_no: mockVersionProps._seq_no, + if_primary_term: mockVersionProps._primary_term, + }); + }); + + it(`should use the ES create action if ID is defined and overwrite=false`, async () => { + await createSuccess(type, attributes, { id }); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.create).toHaveBeenCalled(); + }); + + it(`should use the preflightCheckForCreate action then create action if type is multi-namespace, ID is defined, and overwrite=false`, async () => { + await createSuccess(MULTI_NAMESPACE_TYPE, attributes, { id }); + expect(mockPreflightCheckForCreate).toHaveBeenCalled(); + expect(mockPreflightCheckForCreate).toHaveBeenCalledWith( + expect.objectContaining({ + objects: [ + { type: MULTI_NAMESPACE_TYPE, id, overwrite: false, namespaces: ['default'] }, + ], + }) + ); + expect(client.create).toHaveBeenCalled(); + }); + + it(`should use the preflightCheckForCreate action then index action if type is multi-namespace, ID is defined, and overwrite=true`, async () => { + await createSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { id, overwrite: true }); + expect(mockPreflightCheckForCreate).toHaveBeenCalled(); + expect(mockPreflightCheckForCreate).toHaveBeenCalledWith( + expect.objectContaining({ + objects: [ + { type: MULTI_NAMESPACE_ISOLATED_TYPE, id, overwrite: true, namespaces: ['default'] }, + ], + }) + ); + expect(client.index).toHaveBeenCalled(); + }); + + it(`defaults to empty references array`, async () => { + await createSuccess(type, attributes, { id }); + expect( + (client.create.mock.calls[0][0] as estypes.CreateRequest).body! + .references + ).toEqual([]); + }); + + it(`accepts custom references array`, async () => { + const test = async (references: SavedObjectReference[]) => { + await createSuccess(type, attributes, { id, references }); + expect( + (client.create.mock.calls[0][0] as estypes.CreateRequest) + .body!.references + ).toEqual(references); + client.create.mockClear(); + }; + await test(references); + await test([{ type: 'type', id: 'id', name: 'some ref' }]); + await test([]); + }); + + it(`doesn't accept custom references if not an array`, async () => { + const test = async (references: unknown) => { + // @ts-expect-error references is unknown + await createSuccess(type, attributes, { id, references }); + expect( + (client.create.mock.calls[0][0] as estypes.CreateRequest) + .body!.references + ).not.toBeDefined(); + client.create.mockClear(); + }; + await test('string'); + await test(123); + await test(true); + await test(null); + }); + + describe('originId', () => { + for (const objType of [type, NAMESPACE_AGNOSTIC_TYPE]) { + it(`throws an error if originId is set for non-multi-namespace type`, async () => { + await expect( + repository.create(objType, attributes, { originId: 'some-originId' }) + ).rejects.toThrowError( + createBadRequestErrorPayload( + '"originId" can only be set for multi-namespace object types' + ) + ); + }); + } + + for (const objType of [MULTI_NAMESPACE_TYPE, MULTI_NAMESPACE_ISOLATED_TYPE]) { + it(`${objType} defaults to no originId`, async () => { + await createSuccess(objType, attributes, { id }); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.not.objectContaining({ originId: expect.anything() }), + }), + expect.anything() + ); + }); + + describe(`${objType} with existing originId`, () => { + beforeEach(() => { + mockPreflightCheckForCreate.mockImplementation(({ objects }) => { + const existingDocument = { + _source: { originId: 'existing-originId' }, + } as SavedObjectsRawDoc; + return Promise.resolve( + objects.map(({ type, id }) => ({ type, id, existingDocument })) + ); + }); + }); + + it(`accepts custom originId for multi-namespace type`, async () => { + // The preflight result has `existing-originId`, but that is discarded + await createSuccess(objType, attributes, { id, originId: 'some-originId' }); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.objectContaining({ originId: 'some-originId' }), + }), + expect.anything() + ); + }); + + it(`accepts undefined originId`, async () => { + // The preflight result has `existing-originId`, but that is discarded + await createSuccess(objType, attributes, { id, originId: undefined }); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.not.objectContaining({ originId: expect.anything() }), + }), + expect.anything() + ); + }); + + it(`preserves existing originId if originId option is not set`, async () => { + await createSuccess(objType, attributes, { id }); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.objectContaining({ originId: 'existing-originId' }), + }), + expect.anything() + ); + }); + }); + } + }); + + it(`defaults to a refresh setting of wait_for`, async () => { + await createSuccess(type, attributes); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ refresh: 'wait_for' }), + expect.anything() + ); + }); + + it(`should use default index`, async () => { + await createSuccess(type, attributes, { id }); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ index: '.kibana-test_8.0.0-testing' }), + expect.anything() + ); + }); + + it(`should use custom index`, async () => { + await createSuccess(CUSTOM_INDEX_TYPE, attributes, { id }); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ index: 'custom_8.0.0-testing' }), + expect.anything() + ); + }); + + it(`self-generates an id if none is provided`, async () => { + await createSuccess(type, attributes); + expect(client.create).toHaveBeenNthCalledWith( + 1, + expect.objectContaining({ + id: expect.objectContaining(/index-pattern:[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}/), + }), + expect.anything() + ); + await createSuccess(type, attributes, { id: '' }); + expect(client.create).toHaveBeenNthCalledWith( + 2, + expect.objectContaining({ + id: expect.objectContaining(/index-pattern:[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}/), + }), + expect.anything() + ); + }); + + it(`prepends namespace to the id and adds namespace to the body when providing namespace for single-namespace type`, async () => { + await createSuccess(type, attributes, { id, namespace }); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${namespace}:${type}:${id}`, + body: expect.objectContaining({ namespace }), + }), + expect.anything() + ); + }); + + it(`doesn't prepend namespace to the id or add namespace to the body when providing no namespace for single-namespace type`, async () => { + await createSuccess(type, attributes, { id }); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${type}:${id}`, + body: expect.not.objectContaining({ namespace: expect.anything() }), + }), + expect.anything() + ); + }); + + it(`normalizes options.namespace from 'default' to undefined`, async () => { + await createSuccess(type, attributes, { id, namespace: 'default' }); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${type}:${id}`, + body: expect.not.objectContaining({ namespace: expect.anything() }), + }), + expect.anything() + ); + }); + + it(`doesn't prepend namespace to the id and adds namespaces to body when using multi-namespace type`, async () => { + // first object does not have an existing document to overwrite + await createSuccess(MULTI_NAMESPACE_TYPE, attributes, { id, namespace }); + mockPreflightCheckForCreate.mockResolvedValueOnce([ + { + type: MULTI_NAMESPACE_TYPE, + id, + existingDocument: { + _id: id, + _source: { type: MULTI_NAMESPACE_TYPE, namespaces: ['*'] }, + }, // second object does have an existing document to overwrite + }, + ]); + await createSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { + id, + namespace, + overwrite: true, + }); + + expect(mockPreflightCheckForCreate).toHaveBeenCalledTimes(2); + expect(mockPreflightCheckForCreate).toHaveBeenNthCalledWith( + 1, + expect.objectContaining({ + objects: [ + { type: MULTI_NAMESPACE_TYPE, id, overwrite: false, namespaces: [namespace] }, + ], + }) + ); + expect(mockPreflightCheckForCreate).toHaveBeenNthCalledWith( + 2, + expect.objectContaining({ + objects: [ + { type: MULTI_NAMESPACE_ISOLATED_TYPE, id, overwrite: true, namespaces: [namespace] }, + ], + }) + ); + + expect(client.create).toHaveBeenCalledTimes(1); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${MULTI_NAMESPACE_TYPE}:${id}`, + body: expect.objectContaining({ namespaces: [namespace] }), + }), + expect.anything() + ); + expect(client.index).toHaveBeenCalledTimes(1); + expect(client.index).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${id}`, + body: expect.objectContaining({ namespaces: ['*'] }), + }), + expect.anything() + ); + }); + + it(`adds initialNamespaces instead of namespace`, async () => { + const ns2 = 'bar-namespace'; + const ns3 = 'baz-namespace'; + // first object does not get passed in to preflightCheckForCreate at all + await repository.create('dashboard', attributes, { + id, + namespace, + initialNamespaces: [ns2], + }); + // second object does not have an existing document to overwrite + await repository.create(MULTI_NAMESPACE_TYPE, attributes, { + id, + namespace, + initialNamespaces: [ns2, ns3], + }); + mockPreflightCheckForCreate.mockResolvedValueOnce([ + { + type: MULTI_NAMESPACE_ISOLATED_TYPE, + id, + existingDocument: { + _id: id, + _source: { type: MULTI_NAMESPACE_ISOLATED_TYPE, namespaces: ['something-else'] }, + }, // third object does have an existing document to overwrite + }, + ]); + await repository.create(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { + id, + namespace, + initialNamespaces: [ns2], + overwrite: true, + }); + + expect(mockPreflightCheckForCreate).toHaveBeenCalledTimes(2); + expect(mockPreflightCheckForCreate).toHaveBeenNthCalledWith( + 1, + expect.objectContaining({ + objects: [{ type: MULTI_NAMESPACE_TYPE, id, overwrite: false, namespaces: [ns2, ns3] }], + }) + ); + expect(mockPreflightCheckForCreate).toHaveBeenNthCalledWith( + 2, + expect.objectContaining({ + objects: [ + { type: MULTI_NAMESPACE_ISOLATED_TYPE, id, overwrite: true, namespaces: [ns2] }, + ], + }) + ); + + expect(client.create).toHaveBeenCalledTimes(2); + expect(client.create).toHaveBeenNthCalledWith( + 1, + expect.objectContaining({ + id: `${ns2}:dashboard:${id}`, + body: expect.objectContaining({ namespace: ns2 }), + }), + expect.anything() + ); + expect(client.create).toHaveBeenNthCalledWith( + 2, + expect.objectContaining({ + id: `${MULTI_NAMESPACE_TYPE}:${id}`, + body: expect.objectContaining({ namespaces: [ns2, ns3] }), + }), + expect.anything() + ); + expect(client.index).toHaveBeenCalledTimes(1); + expect(client.index).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${id}`, + body: expect.objectContaining({ namespaces: [ns2] }), + }), + expect.anything() + ); + }); + + it(`normalizes initialNamespaces from 'default' to undefined`, async () => { + await repository.create('dashboard', attributes, { + id, + namespace, + initialNamespaces: ['default'], + }); + + expect(client.create).toHaveBeenCalledTimes(1); + expect(client.create).toHaveBeenNthCalledWith( + 1, + expect.objectContaining({ + id: `dashboard:${id}`, + body: expect.not.objectContaining({ namespace: 'default' }), + }), + expect.anything() + ); + }); + + it(`doesn't prepend namespace to the id or add namespace or namespaces fields when using namespace-agnostic type`, async () => { + await createSuccess(NAMESPACE_AGNOSTIC_TYPE, attributes, { id, namespace }); + expect(client.create).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${NAMESPACE_AGNOSTIC_TYPE}:${id}`, + body: expect.not.objectContaining({ + namespace: expect.anything(), + namespaces: expect.anything(), + }), + }), + expect.anything() + ); + }); + }); + + describe('errors', () => { + it(`throws when options.initialNamespaces is used with a space-agnostic object`, async () => { + await expect( + repository.create(NAMESPACE_AGNOSTIC_TYPE, attributes, { + initialNamespaces: [namespace], + }) + ).rejects.toThrowError( + createBadRequestErrorPayload('"initialNamespaces" cannot be used on space-agnostic types') + ); + }); + + it(`throws when options.initialNamespaces is empty`, async () => { + await expect( + repository.create(MULTI_NAMESPACE_TYPE, attributes, { initialNamespaces: [] }) + ).rejects.toThrowError( + createBadRequestErrorPayload('"initialNamespaces" must be a non-empty array of strings') + ); + }); + + it(`throws when options.initialNamespaces is used with a space-isolated object and does not specify a single space`, async () => { + const doTest = async (objType: string, initialNamespaces?: string[]) => { + await expect( + repository.create(objType, attributes, { initialNamespaces }) + ).rejects.toThrowError( + createBadRequestErrorPayload( + '"initialNamespaces" can only specify a single space when used with space-isolated types' + ) + ); + }; + await doTest('dashboard', ['spacex', 'spacey']); + await doTest('dashboard', ['*']); + await doTest(MULTI_NAMESPACE_ISOLATED_TYPE, ['spacex', 'spacey']); + await doTest(MULTI_NAMESPACE_ISOLATED_TYPE, ['*']); + }); + + it(`throws when options.namespace is '*'`, async () => { + await expect( + repository.create(type, attributes, { namespace: ALL_NAMESPACES_STRING }) + ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); + }); + + it(`throws when type is invalid`, async () => { + await expect(repository.create('unknownType', attributes)).rejects.toThrowError( + createUnsupportedTypeErrorPayload('unknownType') + ); + expect(client.create).not.toHaveBeenCalled(); + }); + + it(`throws when type is hidden`, async () => { + await expect(repository.create(HIDDEN_TYPE, attributes)).rejects.toThrowError( + createUnsupportedTypeErrorPayload(HIDDEN_TYPE) + ); + expect(client.create).not.toHaveBeenCalled(); + }); + + it(`throws when schema validation fails`, async () => { + await expect( + repository.create('dashboard', { title: 123 }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"[attributes.title]: expected value of type [string] but got [number]: Bad Request"` + ); + expect(client.create).not.toHaveBeenCalled(); + }); + + it(`throws when there is a conflict from preflightCheckForCreate`, async () => { + mockPreflightCheckForCreate.mockResolvedValueOnce([ + { type: MULTI_NAMESPACE_ISOLATED_TYPE, id, error: { type: 'unresolvableConflict' } }, // error type and metadata dont matter + ]); + await expect( + repository.create(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { + id, + overwrite: true, + namespace, + }) + ).rejects.toThrowError(createConflictErrorPayload(MULTI_NAMESPACE_ISOLATED_TYPE, id)); + expect(mockPreflightCheckForCreate).toHaveBeenCalled(); + }); + + it.todo(`throws when automatic index creation fails`); + + it.todo(`throws when an unexpected failure occurs`); + }); + + describe('migration', () => { + beforeEach(() => { + migrator.migrateDocument.mockImplementation(mockMigrateDocument); + }); + + it(`migrates a document and serializes the migrated doc`, async () => { + const migrationVersion = mockMigrationVersion; + const coreMigrationVersion = '8.0.0'; + const managed = false; + await createSuccess(type, attributes, { + id, + references, + migrationVersion, + coreMigrationVersion, + managed, + }); + const doc = { + type, + id, + attributes, + references, + managed, + migrationVersion, + coreMigrationVersion, + ...mockTimestampFieldsWithCreated, + }; + expectMigrationArgs(doc); + + const migratedDoc = migrator.migrateDocument(doc); + expect(serializer.savedObjectToRaw).toHaveBeenLastCalledWith(migratedDoc); + }); + + it(`migrates a document, adds managed=false and serializes the migrated doc`, async () => { + const migrationVersion = mockMigrationVersion; + const coreMigrationVersion = '8.0.0'; + await createSuccess(type, attributes, { + id, + references, + migrationVersion, + coreMigrationVersion, + managed: undefined, + }); + const doc = { + type, + id, + attributes, + references, + managed: undefined, + migrationVersion, + coreMigrationVersion, + ...mockTimestampFieldsWithCreated, + }; + expectMigrationArgs({ ...doc, managed: false }); + + const migratedDoc = migrator.migrateDocument(doc); + expect(migratedDoc.managed).toBe(false); + expect(serializer.savedObjectToRaw).toHaveBeenLastCalledWith(migratedDoc); + }); + + it(`migrates a document, does not change managed=true to managed=false and serializes the migrated doc`, async () => { + const migrationVersion = mockMigrationVersion; + const coreMigrationVersion = '8.0.0'; + await createSuccess(type, attributes, { + id, + references, + migrationVersion, + coreMigrationVersion, + managed: true, + }); + const doc = { + type, + id, + attributes, + references, + managed: true, + migrationVersion, + coreMigrationVersion, + ...mockTimestampFieldsWithCreated, + }; + expectMigrationArgs(doc); + + const migratedDoc = migrator.migrateDocument(doc); + expect(migratedDoc.managed).toBe(true); + expect(serializer.savedObjectToRaw).toHaveBeenLastCalledWith(migratedDoc); + }); + + it(`adds namespace to body when providing namespace for single-namespace type`, async () => { + await createSuccess(type, attributes, { id, namespace }); + expectMigrationArgs({ namespace }); + }); + + it(`doesn't add namespace to body when providing no namespace for single-namespace type`, async () => { + await createSuccess(type, attributes, { id }); + expectMigrationArgs({ namespace: expect.anything() }, false); + }); + + it(`doesn't add namespace to body when not using single-namespace type`, async () => { + await createSuccess(NAMESPACE_AGNOSTIC_TYPE, attributes, { id, namespace }); + expectMigrationArgs({ namespace: expect.anything() }, false, 1); + + client.create.mockClear(); + await createSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { id }); + expectMigrationArgs({ namespace: expect.anything() }, false, 2); + }); + + it(`adds namespaces to body when providing namespace for multi-namespace type`, async () => { + await createSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { id, namespace }); + expectMigrationArgs({ namespaces: [namespace] }); + }); + + it(`adds default namespaces to body when providing no namespace for multi-namespace type`, async () => { + await createSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { id }); + expectMigrationArgs({ namespaces: ['default'] }); + }); + + it(`doesn't add namespaces to body when not using multi-namespace type`, async () => { + await createSuccess(type, attributes, { id }); + expectMigrationArgs({ namespaces: expect.anything() }, false, 1); + + client.create.mockClear(); + await createSuccess(NAMESPACE_AGNOSTIC_TYPE, attributes, { id }); + expectMigrationArgs({ namespaces: expect.anything() }, false, 2); + }); + }); + + describe('returns', () => { + it(`formats the ES response`, async () => { + const result = await createSuccess(MULTI_NAMESPACE_TYPE, attributes, { + id, + namespace, + references, + }); + expect(result).toEqual({ + type: MULTI_NAMESPACE_TYPE, + id, + ...mockTimestampFieldsWithCreated, + version: mockVersion, + attributes, + references, + namespaces: [namespace ?? 'default'], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: '1.1.1', + managed: false, + }); + }); + it(`allows setting 'managed' to true`, async () => { + const result = await createSuccess(MULTI_NAMESPACE_TYPE, attributes, { + id, + namespace, + references, + managed: true, + }); + expect(result).toEqual({ + type: MULTI_NAMESPACE_TYPE, + id, + ...mockTimestampFieldsWithCreated, + version: mockVersion, + attributes, + references, + namespaces: [namespace ?? 'default'], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: '1.1.1', + managed: true, + }); + }); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/delete.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/delete.test.ts new file mode 100644 index 0000000000000..d852bf0906b3c --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/delete.test.ts @@ -0,0 +1,382 @@ +/* + * 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. + */ + +/* eslint-disable @typescript-eslint/no-shadow */ + +import { + pointInTimeFinderMock, + mockGetCurrentTime, + mockDeleteLegacyUrlAliases, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +import type { SavedObjectsDeleteOptions } from '@kbn/core-saved-objects-api-server'; +import { ALL_NAMESPACES_STRING } from '@kbn/core-saved-objects-utils-server'; + +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + NAMESPACE_AGNOSTIC_TYPE, + MULTI_NAMESPACE_TYPE, + MULTI_NAMESPACE_ISOLATED_TYPE, + HIDDEN_TYPE, + mockVersionProps, + mockTimestamp, + mappings, + createRegistry, + createDocumentMigrator, + getMockGetResponse, + createSpySerializer, + deleteSuccess, + createBadRequestErrorPayload, + createGenericNotFoundErrorPayload, +} from '../../test_helpers/repository.test.common'; + +describe('#delete', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('performDelete', () => { + const type = 'index-pattern'; + const id = 'logstash-*'; + const namespace = 'foo-namespace'; + + beforeEach(() => { + mockDeleteLegacyUrlAliases.mockClear(); + mockDeleteLegacyUrlAliases.mockResolvedValue(); + }); + + describe('client calls', () => { + it(`should use the ES delete action when not using a multi-namespace type`, async () => { + await deleteSuccess(client, repository, registry, type, id); + expect(client.get).not.toHaveBeenCalled(); + expect(client.delete).toHaveBeenCalledTimes(1); + }); + + it(`should use ES get action then delete action when using a multi-namespace type`, async () => { + await deleteSuccess(client, repository, registry, MULTI_NAMESPACE_ISOLATED_TYPE, id); + expect(client.get).toHaveBeenCalledTimes(1); + expect(client.delete).toHaveBeenCalledTimes(1); + }); + + it(`does not includes the version of the existing document when using a multi-namespace type`, async () => { + await deleteSuccess(client, repository, registry, MULTI_NAMESPACE_ISOLATED_TYPE, id); + const versionProperties = { + if_seq_no: mockVersionProps._seq_no, + if_primary_term: mockVersionProps._primary_term, + }; + expect(client.delete).toHaveBeenCalledWith( + expect.not.objectContaining(versionProperties), + expect.anything() + ); + }); + + it(`defaults to a refresh setting of wait_for`, async () => { + await deleteSuccess(client, repository, registry, type, id); + expect(client.delete).toHaveBeenCalledWith( + expect.objectContaining({ refresh: 'wait_for' }), + expect.anything() + ); + }); + + it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { + await deleteSuccess(client, repository, registry, type, id, { namespace }); + expect(client.delete).toHaveBeenCalledWith( + expect.objectContaining({ id: `${namespace}:${type}:${id}` }), + expect.anything() + ); + }); + + it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { + await deleteSuccess(client, repository, registry, type, id); + expect(client.delete).toHaveBeenCalledWith( + expect.objectContaining({ id: `${type}:${id}` }), + expect.anything() + ); + }); + + it(`normalizes options.namespace from 'default' to undefined`, async () => { + await deleteSuccess(client, repository, registry, type, id, { namespace: 'default' }); + expect(client.delete).toHaveBeenCalledWith( + expect.objectContaining({ id: `${type}:${id}` }), + expect.anything() + ); + }); + + it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { + await deleteSuccess(client, repository, registry, NAMESPACE_AGNOSTIC_TYPE, id, { + namespace, + }); + expect(client.delete).toHaveBeenCalledWith( + expect.objectContaining({ id: `${NAMESPACE_AGNOSTIC_TYPE}:${id}` }), + expect.anything() + ); + + client.delete.mockClear(); + await deleteSuccess(client, repository, registry, MULTI_NAMESPACE_ISOLATED_TYPE, id, { + namespace, + }); + expect(client.delete).toHaveBeenCalledWith( + expect.objectContaining({ id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${id}` }), + expect.anything() + ); + }); + }); + + describe('legacy URL aliases', () => { + it(`doesn't delete legacy URL aliases for single-namespace object types`, async () => { + await deleteSuccess(client, repository, registry, type, id, { namespace }); + expect(mockDeleteLegacyUrlAliases).not.toHaveBeenCalled(); + }); + + // We intentionally do not include a test case for a multi-namespace object with a "not found" preflight result, because that throws + // an error (without deleting aliases) and we already have a test case for that + + it(`deletes legacy URL aliases for multi-namespace object types (all spaces)`, async () => { + const internalOptions = { + mockGetResponseValue: getMockGetResponse( + registry, + { type: MULTI_NAMESPACE_TYPE, id }, + ALL_NAMESPACES_STRING + ), + }; + await deleteSuccess( + client, + repository, + registry, + MULTI_NAMESPACE_TYPE, + id, + { namespace, force: true }, + internalOptions + ); + expect(mockDeleteLegacyUrlAliases).toHaveBeenCalledWith( + expect.objectContaining({ + type: MULTI_NAMESPACE_TYPE, + id, + namespaces: [], + deleteBehavior: 'exclusive', + }) + ); + }); + + it(`deletes legacy URL aliases for multi-namespace object types (specific spaces)`, async () => { + await deleteSuccess(client, repository, registry, MULTI_NAMESPACE_TYPE, id, { namespace }); // this function mocks a preflight response with the given namespace by default + expect(mockDeleteLegacyUrlAliases).toHaveBeenCalledWith( + expect.objectContaining({ + type: MULTI_NAMESPACE_TYPE, + id, + namespaces: [namespace], + deleteBehavior: 'inclusive', + }) + ); + }); + + it(`logs a message when deleteLegacyUrlAliases returns an error`, async () => { + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise( + getMockGetResponse(registry, { type: MULTI_NAMESPACE_ISOLATED_TYPE, id, namespace }) + ) + ); + client.delete.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise({ + result: 'deleted', + } as estypes.DeleteResponse) + ); + mockDeleteLegacyUrlAliases.mockRejectedValueOnce(new Error('Oh no!')); + await repository.delete(MULTI_NAMESPACE_ISOLATED_TYPE, id, { namespace }); + expect(client.get).toHaveBeenCalledTimes(1); + expect(logger.error).toHaveBeenCalledTimes(1); + expect(logger.error).toHaveBeenCalledWith( + 'Unable to delete aliases when deleting an object: Oh no!' + ); + }); + }); + + describe('errors', () => { + const expectNotFoundError = async ( + type: string, + id: string, + options?: SavedObjectsDeleteOptions + ) => { + await expect(repository.delete(type, id, options)).rejects.toThrowError( + createGenericNotFoundErrorPayload(type, id) + ); + }; + + it(`throws when options.namespace is '*'`, async () => { + await expect( + repository.delete(type, id, { namespace: ALL_NAMESPACES_STRING }) + ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); + }); + + it(`throws when type is invalid`, async () => { + await expectNotFoundError('unknownType', id); + expect(client.delete).not.toHaveBeenCalled(); + }); + + it(`throws when type is hidden`, async () => { + await expectNotFoundError(HIDDEN_TYPE, id); + expect(client.delete).not.toHaveBeenCalled(); + }); + + it(`throws when ES is unable to find the document during get`, async () => { + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise({ + found: false, + } as estypes.GetResponse) + ); + await expectNotFoundError(MULTI_NAMESPACE_ISOLATED_TYPE, id); + expect(client.get).toHaveBeenCalledTimes(1); + }); + + it(`throws when ES is unable to find the index during get`, async () => { + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise({} as estypes.GetResponse, { + statusCode: 404, + }) + ); + await expectNotFoundError(MULTI_NAMESPACE_ISOLATED_TYPE, id); + expect(client.get).toHaveBeenCalledTimes(1); + }); + + it(`throws when the type is multi-namespace and the document exists, but not in this namespace`, async () => { + const response = getMockGetResponse( + registry, + { type: MULTI_NAMESPACE_ISOLATED_TYPE, id }, + namespace + ); + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + await expectNotFoundError(MULTI_NAMESPACE_ISOLATED_TYPE, id, { + namespace: 'bar-namespace', + }); + expect(client.get).toHaveBeenCalledTimes(1); + }); + + it(`throws when the type is multi-namespace and the document has multiple namespaces and the force option is not enabled`, async () => { + const response = getMockGetResponse(registry, { + type: MULTI_NAMESPACE_ISOLATED_TYPE, + id, + namespace, + }); + response._source!.namespaces = [namespace, 'bar-namespace']; + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + await expect( + repository.delete(MULTI_NAMESPACE_ISOLATED_TYPE, id, { namespace }) + ).rejects.toThrowError( + 'Unable to delete saved object that exists in multiple namespaces, use the `force` option to delete it anyway' + ); + expect(client.get).toHaveBeenCalledTimes(1); + }); + + it(`throws when the type is multi-namespace and the document has all namespaces and the force option is not enabled`, async () => { + const response = getMockGetResponse(registry, { + type: MULTI_NAMESPACE_ISOLATED_TYPE, + id, + namespace, + }); + response._source!.namespaces = ['*']; + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + await expect( + repository.delete(MULTI_NAMESPACE_ISOLATED_TYPE, id, { namespace }) + ).rejects.toThrowError( + 'Unable to delete saved object that exists in multiple namespaces, use the `force` option to delete it anyway' + ); + expect(client.get).toHaveBeenCalledTimes(1); + }); + + it(`throws when ES is unable to find the document during delete`, async () => { + client.delete.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise({ + result: 'not_found', + } as estypes.DeleteResponse) + ); + await expectNotFoundError(type, id); + expect(client.delete).toHaveBeenCalledTimes(1); + }); + + it(`throws when ES is unable to find the index during delete`, async () => { + client.delete.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise({ + // @elastic/elasticsearch doesn't declare error on DeleteResponse + error: { type: 'index_not_found_exception' }, + } as unknown as estypes.DeleteResponse) + ); + await expectNotFoundError(type, id); + expect(client.delete).toHaveBeenCalledTimes(1); + }); + + it(`throws when ES returns an unexpected response`, async () => { + client.delete.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise({ + result: 'something unexpected' as estypes.Result, + } as estypes.DeleteResponse) + ); + await expect(repository.delete(type, id)).rejects.toThrowError( + 'Unexpected Elasticsearch DELETE response' + ); + expect(client.delete).toHaveBeenCalledTimes(1); + }); + }); + + describe('returns', () => { + it(`returns an empty object on success`, async () => { + const result = await deleteSuccess(client, repository, registry, type, id); + expect(result).toEqual({}); + }); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/delete_by_namespace.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/delete_by_namespace.test.ts new file mode 100644 index 0000000000000..f0208d4cc056b --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/delete_by_namespace.test.ts @@ -0,0 +1,162 @@ +/* + * 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. + */ + +/* eslint-disable @typescript-eslint/no-shadow */ + +import { + pointInTimeFinderMock, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import type { SavedObjectsDeleteByNamespaceOptions } from '@kbn/core-saved-objects-api-server'; +import { ALL_NAMESPACES_STRING } from '@kbn/core-saved-objects-utils-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { + SavedObjectsSerializer, + LEGACY_URL_ALIAS_TYPE, +} from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + mockTimestamp, + mappings, + createRegistry, + createDocumentMigrator, + createSpySerializer, +} from '../../test_helpers/repository.test.common'; + +describe('#deleteByNamespace', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('performDeleteByNamespace', () => { + const namespace = 'foo-namespace'; + const mockUpdateResults = { + took: 15, + timed_out: false, + total: 3, + updated: 2, + deleted: 1, + batches: 1, + version_conflicts: 0, + noops: 0, + retries: { bulk: 0, search: 0 }, + throttled_millis: 0, + requests_per_second: -1.0, + throttled_until_millis: 0, + failures: [], + }; + + const deleteByNamespaceSuccess = async ( + namespace: string, + options?: SavedObjectsDeleteByNamespaceOptions + ) => { + client.updateByQuery.mockResponseOnce(mockUpdateResults); + const result = await repository.deleteByNamespace(namespace, options); + expect(mockGetSearchDsl).toHaveBeenCalledTimes(1); + expect(client.updateByQuery).toHaveBeenCalledTimes(1); + return result; + }; + + describe('client calls', () => { + it(`should use the ES updateByQuery action`, async () => { + await deleteByNamespaceSuccess(namespace); + expect(client.updateByQuery).toHaveBeenCalledTimes(1); + }); + + it(`should use all indices for types that are not namespace-agnostic`, async () => { + await deleteByNamespaceSuccess(namespace); + expect(client.updateByQuery).toHaveBeenCalledWith( + expect.objectContaining({ + index: ['.kibana-test_8.0.0-testing', 'custom_8.0.0-testing'], + }), + expect.anything() + ); + }); + }); + + describe('errors', () => { + it(`throws when namespace is not a string or is '*'`, async () => { + const test = async (namespace: unknown) => { + // @ts-expect-error namespace is unknown + await expect(repository.deleteByNamespace(namespace)).rejects.toThrowError( + `namespace is required, and must be a string` + ); + expect(client.updateByQuery).not.toHaveBeenCalled(); + }; + await test(undefined); + await test(['namespace']); + await test(123); + await test(true); + await test(ALL_NAMESPACES_STRING); + }); + }); + + describe('returns', () => { + it(`returns the query results on success`, async () => { + const result = await deleteByNamespaceSuccess(namespace); + expect(result).toEqual(mockUpdateResults); + }); + }); + + describe('search dsl', () => { + it(`constructs a query using all multi-namespace types, and another using all single-namespace types`, async () => { + await deleteByNamespaceSuccess(namespace); + const allTypes = registry.getAllTypes().map((type) => type.name); + expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, { + namespaces: [namespace], + type: [ + ...allTypes.filter((type) => !registry.isNamespaceAgnostic(type)), + LEGACY_URL_ALIAS_TYPE, + ], + kueryNode: expect.anything(), + }); + }); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.test.ts new file mode 100644 index 0000000000000..6a16b71b1d9af --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.test.ts @@ -0,0 +1,521 @@ +/* + * 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 { + pointInTimeFinderMock, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import type { SavedObjectsFindOptions } from '@kbn/core-saved-objects-api-server'; + +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import * as esKuery from '@kbn/es-query'; + +import { + NAMESPACE_AGNOSTIC_TYPE, + HIDDEN_TYPE, + mockTimestampFields, + mockTimestamp, + mappings, + mockVersion, + createRegistry, + createDocumentMigrator, + createSpySerializer, + generateIndexPatternSearchResults, + findSuccess, +} from '../../test_helpers/repository.test.common'; + +const { nodeTypes } = esKuery; + +describe('find', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + const expectMigrationArgs = (args: unknown, contains = true, n = 1) => { + const obj = contains ? expect.objectContaining(args) : expect.not.objectContaining(args); + expect(migrator.migrateDocument).toHaveBeenNthCalledWith( + n, + obj, + expect.objectContaining({ + allowDowngrade: expect.any(Boolean), + }) + ); + }; + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('performFind', () => { + const type = 'index-pattern'; + const namespace = 'foo-namespace'; + + describe('client calls', () => { + it(`should use the ES search action`, async () => { + await findSuccess(client, repository, { type }); + expect(client.search).toHaveBeenCalledTimes(1); + }); + + it(`merges output of getSearchDsl into es request body`, async () => { + const query = { query: 1, aggregations: 2 }; + mockGetSearchDsl.mockReturnValue(query); + await findSuccess(client, repository, { type }); + + expect(client.search).toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.objectContaining({ ...query }), + }), + expect.anything() + ); + }); + + it(`accepts per_page/page`, async () => { + await findSuccess(client, repository, { type, perPage: 10, page: 6 }); + expect(client.search).toHaveBeenCalledWith( + expect.objectContaining({ + size: 10, + from: 50, + }), + expect.anything() + ); + }); + + it(`accepts preference`, async () => { + await findSuccess(client, repository, { type, preference: 'pref' }); + expect(client.search).toHaveBeenCalledWith( + expect.objectContaining({ + preference: 'pref', + }), + expect.anything() + ); + }); + + it(`can filter by fields`, async () => { + await findSuccess(client, repository, { type, fields: ['title'] }); + expect(client.search).toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.objectContaining({ + _source: [ + `${type}.title`, + 'namespace', + 'namespaces', + 'type', + 'references', + 'migrationVersion', + 'coreMigrationVersion', + 'typeMigrationVersion', + 'managed', + 'updated_at', + 'created_at', + 'originId', + ], + }), + }), + expect.anything() + ); + }); + + it(`should set rest_total_hits_as_int to true on a request`, async () => { + await findSuccess(client, repository, { type }); + expect(client.search).toHaveBeenCalledWith( + expect.objectContaining({ + rest_total_hits_as_int: true, + }), + expect.anything() + ); + }); + + it(`should not make a client call when attempting to find only invalid or hidden types`, async () => { + const test = async (types: string | string[]) => { + await repository.find({ type: types }); + expect(client.search).not.toHaveBeenCalled(); + }; + + await test('unknownType'); + await test(HIDDEN_TYPE); + await test(['unknownType', HIDDEN_TYPE]); + }); + }); + + describe('errors', () => { + it(`throws when type is not defined`, async () => { + // @ts-expect-error type should be defined + await expect(repository.find({})).rejects.toThrowError( + 'options.type must be a string or an array of strings' + ); + expect(client.search).not.toHaveBeenCalled(); + }); + + it(`throws when namespaces is an empty array`, async () => { + await expect(repository.find({ type: 'foo', namespaces: [] })).rejects.toThrowError( + 'options.namespaces cannot be an empty array' + ); + expect(client.search).not.toHaveBeenCalled(); + }); + + it(`throws when searchFields is defined but not an array`, async () => { + await expect( + // @ts-expect-error searchFields is an array + repository.find({ type, searchFields: 'string' }) + ).rejects.toThrowError('options.searchFields must be an array'); + expect(client.search).not.toHaveBeenCalled(); + }); + + it(`throws when fields is defined but not an array`, async () => { + // @ts-expect-error fields is an array + await expect(repository.find({ type, fields: 'string' })).rejects.toThrowError( + 'options.fields must be an array' + ); + expect(client.search).not.toHaveBeenCalled(); + }); + + it(`throws when a preference is provided with pit`, async () => { + await expect( + repository.find({ type: 'foo', pit: { id: 'abc123' }, preference: 'hi' }) + ).rejects.toThrowError('options.preference must be excluded when options.pit is used'); + expect(client.search).not.toHaveBeenCalled(); + }); + + it(`throws when KQL filter syntax is invalid`, async () => { + const findOpts: SavedObjectsFindOptions = { + namespaces: [namespace], + search: 'foo*', + searchFields: ['foo'], + type: ['dashboard'], + sortField: 'name', + sortOrder: 'desc', + defaultSearchOperator: 'AND', + hasReference: { + type: 'foo', + id: '1', + }, + filter: 'dashboard.attributes.otherField:<', + }; + + await expect(repository.find(findOpts)).rejects.toMatchInlineSnapshot(` + [Error: KQLSyntaxError: Expected "(", "{", value, whitespace but "<" found. + dashboard.attributes.otherField:< + --------------------------------^: Bad Request] + `); + expect(mockGetSearchDsl).not.toHaveBeenCalled(); + expect(client.search).not.toHaveBeenCalled(); + }); + }); + + describe('returns', () => { + it(`formats the ES response when there is no namespace`, async () => { + const noNamespaceSearchResults = generateIndexPatternSearchResults(); + client.search.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(noNamespaceSearchResults) + ); + const count = noNamespaceSearchResults.hits.hits.length; + + const response = await repository.find({ type }); + + expect(response.total).toBe(count); + expect(response.saved_objects).toHaveLength(count); + + noNamespaceSearchResults.hits.hits.forEach((doc, i) => { + expect(response.saved_objects[i]).toEqual({ + id: doc._id.replace(/(index-pattern|config|globalType)\:/, ''), + type: doc._source!.type, + originId: doc._source!.originId, + ...mockTimestampFields, + version: mockVersion, + score: doc._score, + attributes: doc._source![doc._source!.type], + references: [], + namespaces: doc._source!.type === NAMESPACE_AGNOSTIC_TYPE ? undefined : ['default'], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), + }); + }); + }); + + it(`formats the ES response when there is a namespace`, async () => { + const namespacedSearchResults = generateIndexPatternSearchResults(namespace); + client.search.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(namespacedSearchResults) + ); + const count = namespacedSearchResults.hits.hits.length; + + const response = await repository.find({ type, namespaces: [namespace] }); + + expect(response.total).toBe(count); + expect(response.saved_objects).toHaveLength(count); + + namespacedSearchResults.hits.hits.forEach((doc, i) => { + expect(response.saved_objects[i]).toEqual({ + id: doc._id.replace(/(foo-namespace\:)?(index-pattern|config|globalType)\:/, ''), + type: doc._source!.type, + originId: doc._source!.originId, + ...mockTimestampFields, + version: mockVersion, + score: doc._score, + attributes: doc._source![doc._source!.type], + references: [], + namespaces: doc._source!.type === NAMESPACE_AGNOSTIC_TYPE ? undefined : [namespace], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), + }); + }); + }); + + it(`should return empty results when attempting to find only invalid or hidden types`, async () => { + const test = async (types: string | string[]) => { + const result = await repository.find({ type: types }); + expect(result).toEqual(expect.objectContaining({ saved_objects: [] })); + expect(client.search).not.toHaveBeenCalled(); + }; + + await test('unknownType'); + await test(HIDDEN_TYPE); + await test(['unknownType', HIDDEN_TYPE]); + }); + + it('migrates the found document', async () => { + const noNamespaceSearchResults = generateIndexPatternSearchResults(); + client.search.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(noNamespaceSearchResults) + ); + migrator.migrateDocument.mockImplementationOnce((doc) => ({ ...doc, migrated: true })); + await expect(repository.find({ type })).resolves.toHaveProperty( + 'saved_objects.0.migrated', + true + ); + expect(migrator.migrateDocument).toHaveBeenCalledTimes( + noNamespaceSearchResults.hits.hits.length + ); + expectMigrationArgs({ + type, + id: noNamespaceSearchResults.hits.hits[0]._id.replace( + /(index-pattern|config|globalType)\:/, + '' + ), + }); + }); + }); + + describe('search dsl', () => { + const commonOptions: SavedObjectsFindOptions = { + type: [type], + namespaces: [namespace], + search: 'foo*', + searchFields: ['foo'], + sortField: 'name', + sortOrder: 'desc', + defaultSearchOperator: 'AND', + hasReference: { + type: 'foo', + id: '1', + }, + hasNoReference: { + type: 'bar', + id: '1', + }, + }; + + it(`passes mappings, registry, and search options to getSearchDsl`, async () => { + await findSuccess(client, repository, commonOptions, namespace); + expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, commonOptions); + }); + + it(`accepts hasReferenceOperator`, async () => { + const relevantOpts: SavedObjectsFindOptions = { + ...commonOptions, + hasReferenceOperator: 'AND', + }; + + await findSuccess(client, repository, relevantOpts, namespace); + expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, { + ...relevantOpts, + hasReferenceOperator: 'AND', + }); + }); + + it(`accepts searchAfter`, async () => { + const relevantOpts: SavedObjectsFindOptions = { + ...commonOptions, + searchAfter: ['1', 'a'], + }; + + await findSuccess(client, repository, relevantOpts, namespace); + expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, { + ...relevantOpts, + searchAfter: ['1', 'a'], + }); + }); + + it(`accepts pit`, async () => { + const relevantOpts: SavedObjectsFindOptions = { + ...commonOptions, + pit: { id: 'abc123', keepAlive: '2m' }, + }; + + await findSuccess(client, repository, relevantOpts, namespace); + expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, { + ...relevantOpts, + pit: { id: 'abc123', keepAlive: '2m' }, + }); + }); + + it(`accepts KQL expression filter and passes KueryNode to getSearchDsl`, async () => { + const findOpts: SavedObjectsFindOptions = { + namespaces: [namespace], + search: 'foo*', + searchFields: ['foo'], + type: ['dashboard'], + sortField: 'name', + sortOrder: 'desc', + defaultSearchOperator: 'AND', + hasReference: { + type: 'foo', + id: '1', + }, + filter: 'dashboard.attributes.otherField: *', + }; + + await findSuccess(client, repository, findOpts, namespace); + const { kueryNode } = mockGetSearchDsl.mock.calls[0][2]; + expect(kueryNode).toMatchInlineSnapshot(` + Object { + "arguments": Array [ + Object { + "isQuoted": false, + "type": "literal", + "value": "dashboard.otherField", + }, + Object { + "type": "wildcard", + "value": "@kuery-wildcard@", + }, + ], + "function": "is", + "type": "function", + } + `); + }); + + it(`accepts KQL KueryNode filter and passes KueryNode to getSearchDsl`, async () => { + const findOpts: SavedObjectsFindOptions = { + namespaces: [namespace], + search: 'foo*', + searchFields: ['foo'], + type: ['dashboard'], + sortField: 'name', + sortOrder: 'desc', + defaultSearchOperator: 'AND', + hasReference: { + type: 'foo', + id: '1', + }, + filter: nodeTypes.function.buildNode('is', `dashboard.attributes.otherField`, '*'), + }; + + await findSuccess(client, repository, findOpts, namespace); + const { kueryNode } = mockGetSearchDsl.mock.calls[0][2]; + expect(kueryNode).toMatchInlineSnapshot(` + Object { + "arguments": Array [ + Object { + "isQuoted": false, + "type": "literal", + "value": "dashboard.otherField", + }, + Object { + "type": "wildcard", + "value": "@kuery-wildcard@", + }, + ], + "function": "is", + "type": "function", + } + `); + }); + + it(`supports multiple types`, async () => { + const types = ['config', 'index-pattern']; + await findSuccess(client, repository, { type: types }); + + expect(mockGetSearchDsl).toHaveBeenCalledWith( + mappings, + registry, + expect.objectContaining({ + type: types, + }) + ); + }); + + it(`filters out invalid types`, async () => { + const types = ['config', 'unknownType', 'index-pattern']; + await findSuccess(client, repository, { type: types }); + + expect(mockGetSearchDsl).toHaveBeenCalledWith( + mappings, + registry, + expect.objectContaining({ + type: ['config', 'index-pattern'], + }) + ); + }); + + it(`filters out hidden types`, async () => { + const types = ['config', HIDDEN_TYPE, 'index-pattern']; + await findSuccess(client, repository, { type: types }); + + expect(mockGetSearchDsl).toHaveBeenCalledWith( + mappings, + registry, + expect.objectContaining({ + type: ['config', 'index-pattern'], + }) + ); + }); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.test.ts new file mode 100644 index 0000000000000..c1896e67a6205 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.test.ts @@ -0,0 +1,279 @@ +/* + * 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. + */ + +/* eslint-disable @typescript-eslint/no-shadow */ + +import { + pointInTimeFinderMock, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +import type { SavedObjectsBaseOptions } from '@kbn/core-saved-objects-api-server'; +import { ALL_NAMESPACES_STRING } from '@kbn/core-saved-objects-utils-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + NAMESPACE_AGNOSTIC_TYPE, + MULTI_NAMESPACE_ISOLATED_TYPE, + HIDDEN_TYPE, + mockTimestamp, + mappings, + mockVersion, + createRegistry, + createDocumentMigrator, + getMockGetResponse, + createSpySerializer, + getSuccess, + createBadRequestErrorPayload, + createGenericNotFoundErrorPayload, +} from '../../test_helpers/repository.test.common'; + +describe('#get', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + const expectMigrationArgs = (args: unknown, contains = true, n = 1) => { + const obj = contains ? expect.objectContaining(args) : expect.not.objectContaining(args); + expect(migrator.migrateDocument).toHaveBeenNthCalledWith( + n, + obj, + expect.objectContaining({ + allowDowngrade: expect.any(Boolean), + }) + ); + }; + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('performGet', () => { + const type = 'index-pattern'; + const id = 'logstash-*'; + const namespace = 'foo-namespace'; + const originId = 'some-origin-id'; + + describe('client calls', () => { + it(`should use the ES get action`, async () => { + await getSuccess(client, repository, registry, type, id); + expect(client.get).toHaveBeenCalledTimes(1); + }); + + it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { + await getSuccess(client, repository, registry, type, id, { namespace }); + expect(client.get).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${namespace}:${type}:${id}`, + }), + expect.anything() + ); + }); + + it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { + await getSuccess(client, repository, registry, type, id); + expect(client.get).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${type}:${id}`, + }), + expect.anything() + ); + }); + + it(`normalizes options.namespace from 'default' to undefined`, async () => { + await getSuccess(client, repository, registry, type, id, { namespace: 'default' }); + expect(client.get).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${type}:${id}`, + }), + expect.anything() + ); + }); + + it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { + await getSuccess(client, repository, registry, NAMESPACE_AGNOSTIC_TYPE, id, { namespace }); + expect(client.get).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${NAMESPACE_AGNOSTIC_TYPE}:${id}`, + }), + expect.anything() + ); + + client.get.mockClear(); + await getSuccess(client, repository, registry, MULTI_NAMESPACE_ISOLATED_TYPE, id, { + namespace, + }); + expect(client.get).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${id}`, + }), + expect.anything() + ); + }); + }); + + describe('errors', () => { + const expectNotFoundError = async ( + type: string, + id: string, + options?: SavedObjectsBaseOptions + ) => { + await expect(repository.get(type, id, options)).rejects.toThrowError( + createGenericNotFoundErrorPayload(type, id) + ); + }; + + it(`throws when options.namespace is '*'`, async () => { + await expect( + repository.get(type, id, { namespace: ALL_NAMESPACES_STRING }) + ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); + }); + + it(`throws when type is invalid`, async () => { + await expectNotFoundError('unknownType', id); + expect(client.get).not.toHaveBeenCalled(); + }); + + it(`throws when type is hidden`, async () => { + await expectNotFoundError(HIDDEN_TYPE, id); + expect(client.get).not.toHaveBeenCalled(); + }); + + it(`throws when ES is unable to find the document during get`, async () => { + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise({ + found: false, + } as estypes.GetResponse) + ); + await expectNotFoundError(type, id); + expect(client.get).toHaveBeenCalledTimes(1); + }); + + it(`throws when ES is unable to find the index during get`, async () => { + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise({} as estypes.GetResponse, { + statusCode: 404, + }) + ); + await expectNotFoundError(type, id); + expect(client.get).toHaveBeenCalledTimes(1); + }); + + it(`throws when type is multi-namespace and the document exists, but not in this namespace`, async () => { + const response = getMockGetResponse( + registry, + { type: MULTI_NAMESPACE_ISOLATED_TYPE, id }, + namespace + ); + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + await expectNotFoundError(MULTI_NAMESPACE_ISOLATED_TYPE, id, { + namespace: 'bar-namespace', + }); + expect(client.get).toHaveBeenCalledTimes(1); + }); + }); + + describe('returns', () => { + it(`formats the ES response`, async () => { + const result = await getSuccess(client, repository, registry, type, id); + expect(result).toEqual({ + id, + type, + updated_at: mockTimestamp, + version: mockVersion, + attributes: { + title: 'Testing', + }, + references: [], + namespaces: ['default'], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), + }); + }); + + it(`includes namespaces if type is multi-namespace`, async () => { + const result = await getSuccess( + client, + repository, + registry, + MULTI_NAMESPACE_ISOLATED_TYPE, + id + ); + expect(result).toMatchObject({ + namespaces: expect.any(Array), + }); + }); + + it(`include namespaces if type is not multi-namespace`, async () => { + const result = await getSuccess(client, repository, registry, type, id); + expect(result).toMatchObject({ + namespaces: ['default'], + }); + }); + + it(`includes originId property if present in cluster call response`, async () => { + const result = await getSuccess(client, repository, registry, type, id, {}, originId); + expect(result).toMatchObject({ originId }); + }); + }); + + it('migrates the fetched document', async () => { + migrator.migrateDocument.mockReturnValueOnce( + 'migrated' as unknown as ReturnType + ); + await expect(getSuccess(client, repository, registry, type, id)).resolves.toBe('migrated'); + expect(migrator.migrateDocument).toHaveBeenCalledTimes(1); + expectMigrationArgs({ + id, + type, + }); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/increment_counter.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/increment_counter.test.ts new file mode 100644 index 0000000000000..3e976295dc59e --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/increment_counter.test.ts @@ -0,0 +1,530 @@ +/* + * 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. + */ + +/* eslint-disable @typescript-eslint/no-shadow */ + +import { + pointInTimeFinderMock, + mockGetCurrentTime, + mockPreflightCheckForCreate, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +import type { + SavedObjectsIncrementCounterField, + SavedObjectsIncrementCounterOptions, +} from '@kbn/core-saved-objects-api-server'; +import { + type SavedObjectUnsanitizedDoc, + MAIN_SAVED_OBJECT_INDEX, +} from '@kbn/core-saved-objects-server'; +import { ALL_NAMESPACES_STRING } from '@kbn/core-saved-objects-utils-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + NAMESPACE_AGNOSTIC_TYPE, + MULTI_NAMESPACE_ISOLATED_TYPE, + HIDDEN_TYPE, + mockVersionProps, + mockTimestampFields, + mockTimestamp, + mappings, + mockVersion, + createRegistry, + createDocumentMigrator, + getMockGetResponse, + createSpySerializer, + createBadRequestErrorPayload, + createUnsupportedTypeErrorPayload, + createConflictErrorPayload, +} from '../../test_helpers/repository.test.common'; + +describe('#incrementCounter', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + const expectMigrationArgs = (args: unknown, contains = true, n = 1) => { + const obj = contains ? expect.objectContaining(args) : expect.not.objectContaining(args); + expect(migrator.migrateDocument).toHaveBeenNthCalledWith( + n, + obj, + expect.objectContaining({ + allowDowngrade: expect.any(Boolean), + }) + ); + }; + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + // Setup migration mock for creating an object + const mockMigrationVersion = { foo: '2.3.4' }; + const mockMigrateDocument = (doc: SavedObjectUnsanitizedDoc) => ({ + ...doc, + attributes: { + ...doc.attributes, + ...(doc.attributes?.title && { title: `${doc.attributes.title}!!` }), + }, + migrationVersion: mockMigrationVersion, + managed: doc.managed ?? false, + references: [{ name: 'search_0', type: 'search', id: '123' }], + }); + + describe('performIncrementCounter', () => { + const type = 'config'; + const id = 'one'; + const counterFields = ['buildNum', 'apiCallsCount']; + const namespace = 'foo-namespace'; + const originId = 'some-origin-id'; + + const incrementCounterSuccess = async ( + type: string, + id: string, + fields: Array, + options?: SavedObjectsIncrementCounterOptions, + internalOptions: { mockGetResponseValue?: estypes.GetResponse } = {} + ) => { + const { mockGetResponseValue } = internalOptions; + const isMultiNamespace = registry.isMultiNamespace(type); + if (isMultiNamespace) { + const response = + mockGetResponseValue ?? getMockGetResponse(registry, { type, id }, options?.namespace); + client.get.mockResponseOnce(response); + } + + client.update.mockResponseImplementation((params) => { + return { + body: { + _id: params.id, + ...mockVersionProps, + _index: MAIN_SAVED_OBJECT_INDEX, + get: { + found: true, + _source: { + type, + ...mockTimestampFields, + [type]: { + ...fields.reduce((acc, field) => { + acc[typeof field === 'string' ? field : field.fieldName] = 8468; + return acc; + }, {} as Record), + defaultIndex: 'logstash-*', + }, + }, + }, + } as estypes.UpdateResponse, + }; + }); + + const result = await repository.incrementCounter(type, id, fields, options); + expect(client.get).toHaveBeenCalledTimes(isMultiNamespace ? 1 : 0); + return result; + }; + + beforeEach(() => { + mockPreflightCheckForCreate.mockReset(); + mockPreflightCheckForCreate.mockImplementation(({ objects }) => { + return Promise.resolve(objects.map(({ type, id }) => ({ type, id }))); // respond with no errors by default + }); + }); + + describe('client calls', () => { + it(`should use the ES update action if type is not multi-namespace`, async () => { + await incrementCounterSuccess(type, id, counterFields, { namespace }); + expect(client.get).not.toHaveBeenCalled(); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.update).toHaveBeenCalledTimes(1); + }); + + it(`should use the ES get action then update action if type is multi-namespace, ID is defined, and overwrite=true`, async () => { + await incrementCounterSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, id, counterFields, { + namespace, + }); + expect(client.get).toHaveBeenCalledTimes(1); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.update).toHaveBeenCalledTimes(1); + }); + + it(`should check for alias conflicts if a new multi-namespace object would be created`, async () => { + await incrementCounterSuccess( + MULTI_NAMESPACE_ISOLATED_TYPE, + id, + counterFields, + { namespace }, + { mockGetResponseValue: { found: false } as estypes.GetResponse } + ); + expect(client.get).toHaveBeenCalledTimes(1); + expect(mockPreflightCheckForCreate).toHaveBeenCalledTimes(1); + expect(client.update).toHaveBeenCalledTimes(1); + }); + + it(`defaults to a refresh setting of wait_for`, async () => { + await incrementCounterSuccess(type, id, counterFields, { namespace }); + expect(client.update).toHaveBeenCalledWith( + expect.objectContaining({ + refresh: 'wait_for', + }), + expect.anything() + ); + }); + + it(`uses the 'upsertAttributes' option when specified`, async () => { + const upsertAttributes = { + foo: 'bar', + hello: 'dolly', + }; + await incrementCounterSuccess(type, id, counterFields, { namespace, upsertAttributes }); + expect(client.update).toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.objectContaining({ + upsert: expect.objectContaining({ + [type]: { + foo: 'bar', + hello: 'dolly', + ...counterFields.reduce((aggs, field) => { + return { + ...aggs, + [field]: 1, + }; + }, {}), + }, + }), + }), + }), + expect.anything() + ); + }); + + it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { + await incrementCounterSuccess(type, id, counterFields, { namespace }); + expect(client.update).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${namespace}:${type}:${id}`, + }), + expect.anything() + ); + }); + + it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { + await incrementCounterSuccess(type, id, counterFields); + expect(client.update).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${type}:${id}`, + }), + expect.anything() + ); + }); + + it(`normalizes options.namespace from 'default' to undefined`, async () => { + await incrementCounterSuccess(type, id, counterFields, { namespace: 'default' }); + expect(client.update).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${type}:${id}`, + }), + expect.anything() + ); + }); + + it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { + await incrementCounterSuccess(NAMESPACE_AGNOSTIC_TYPE, id, counterFields, { namespace }); + expect(client.update).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${NAMESPACE_AGNOSTIC_TYPE}:${id}`, + }), + expect.anything() + ); + + client.update.mockClear(); + await incrementCounterSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, id, counterFields, { + namespace, + }); + expect(client.update).toHaveBeenCalledWith( + expect.objectContaining({ + id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${id}`, + }), + expect.anything() + ); + }); + }); + + describe('errors', () => { + const expectUnsupportedTypeError = async ( + type: string, + id: string, + field: Array + ) => { + await expect(repository.incrementCounter(type, id, field)).rejects.toThrowError( + createUnsupportedTypeErrorPayload(type) + ); + }; + + it(`throws when options.namespace is '*'`, async () => { + await expect( + repository.incrementCounter(type, id, counterFields, { + namespace: ALL_NAMESPACES_STRING, + }) + ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); + }); + + it(`throws when type is not a string`, async () => { + const test = async (type: unknown) => { + await expect( + // @ts-expect-error type is supposed to be a string + repository.incrementCounter(type, id, counterFields) + ).rejects.toThrowError(`"type" argument must be a string`); + expect(client.update).not.toHaveBeenCalled(); + }; + + await test(null); + await test(42); + await test(false); + await test({}); + }); + + it(`throws when id is empty`, async () => { + await expect(repository.incrementCounter(type, '', counterFields)).rejects.toThrowError( + createBadRequestErrorPayload('id cannot be empty') + ); + expect(client.update).not.toHaveBeenCalled(); + }); + + it(`throws when counterField is not CounterField type`, async () => { + const test = async (field: unknown[]) => { + await expect( + // @ts-expect-error field is of wrong type + repository.incrementCounter(type, id, field) + ).rejects.toThrowError( + `"counterFields" argument must be of type Array` + ); + expect(client.update).not.toHaveBeenCalled(); + }; + + await test([null]); + await test([42]); + await test([false]); + await test([{}]); + await test([{}, false, 42, null, 'string']); + await test([{ fieldName: 'string' }, false, null, 'string']); + }); + + it(`throws when type is invalid`, async () => { + await expectUnsupportedTypeError('unknownType', id, counterFields); + expect(client.update).not.toHaveBeenCalled(); + }); + + it(`throws when type is hidden`, async () => { + await expectUnsupportedTypeError(HIDDEN_TYPE, id, counterFields); + expect(client.update).not.toHaveBeenCalled(); + }); + + it(`throws when there is a conflict with an existing multi-namespace saved object (get)`, async () => { + const response = getMockGetResponse( + registry, + { type: MULTI_NAMESPACE_ISOLATED_TYPE, id }, + 'bar-namespace' + ); + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + await expect( + repository.incrementCounter(MULTI_NAMESPACE_ISOLATED_TYPE, id, counterFields, { + namespace, + }) + ).rejects.toThrowError(createConflictErrorPayload(MULTI_NAMESPACE_ISOLATED_TYPE, id)); + expect(client.get).toHaveBeenCalledTimes(1); + expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); + expect(client.update).not.toHaveBeenCalled(); + }); + + it(`throws when there is an alias conflict from preflightCheckForCreate`, async () => { + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise({ + found: false, + } as estypes.GetResponse) + ); + mockPreflightCheckForCreate.mockResolvedValue([ + { type: 'foo', id: 'bar', error: { type: 'aliasConflict' } }, + ]); + await expect( + repository.incrementCounter(MULTI_NAMESPACE_ISOLATED_TYPE, id, counterFields, { + namespace, + }) + ).rejects.toThrowError(createConflictErrorPayload(MULTI_NAMESPACE_ISOLATED_TYPE, id)); + expect(client.get).toHaveBeenCalledTimes(1); + expect(mockPreflightCheckForCreate).toHaveBeenCalledTimes(1); + expect(client.update).not.toHaveBeenCalled(); + }); + + it(`does not throw when there is a different error from preflightCheckForCreate`, async () => { + client.get.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise({ + found: false, + } as estypes.GetResponse) + ); + mockPreflightCheckForCreate.mockResolvedValue([ + { type: 'foo', id: 'bar', error: { type: 'conflict' } }, + ]); + await incrementCounterSuccess( + MULTI_NAMESPACE_ISOLATED_TYPE, + id, + counterFields, + { namespace }, + { mockGetResponseValue: { found: false } as estypes.GetResponse } + ); + expect(client.get).toHaveBeenCalledTimes(1); + expect(mockPreflightCheckForCreate).toHaveBeenCalledTimes(1); + expect(client.update).toHaveBeenCalledTimes(1); + }); + }); + + describe('migration', () => { + beforeEach(() => { + migrator.migrateDocument.mockImplementation(mockMigrateDocument); + }); + + it(`migrates a document and serializes the migrated doc`, async () => { + const migrationVersion = mockMigrationVersion; + await incrementCounterSuccess(type, id, counterFields, { migrationVersion }); + const attributes = { buildNum: 1, apiCallsCount: 1 }; // this is added by the incrementCounter function + const doc = { type, id, attributes, migrationVersion, ...mockTimestampFields }; + expectMigrationArgs(doc); + + const migratedDoc = migrator.migrateDocument(doc); + expect(serializer.savedObjectToRaw).toHaveBeenLastCalledWith(migratedDoc); + }); + }); + + describe('returns', () => { + it(`formats the ES response`, async () => { + client.update.mockResponseImplementation((params) => { + return { + body: { + _id: params.id, + ...mockVersionProps, + _index: MAIN_SAVED_OBJECT_INDEX, + get: { + found: true, + _source: { + type: 'config', + ...mockTimestampFields, + config: { + buildNum: 8468, + apiCallsCount: 100, + defaultIndex: 'logstash-*', + }, + originId, + }, + }, + } as estypes.UpdateResponse, + }; + }); + + const response = await repository.incrementCounter( + 'config', + '6.0.0-alpha1', + ['buildNum', 'apiCallsCount'], + { + namespace: 'foo-namespace', + } + ); + + expect(response).toEqual({ + type: 'config', + id: '6.0.0-alpha1', + ...mockTimestampFields, + version: mockVersion, + references: [], + attributes: { + buildNum: 8468, + apiCallsCount: 100, + defaultIndex: 'logstash-*', + }, + originId, + }); + }); + + it('increments counter by incrementBy config', async () => { + await incrementCounterSuccess(type, id, [{ fieldName: counterFields[0], incrementBy: 3 }]); + + expect(client.update).toBeCalledTimes(1); + expect(client.update).toBeCalledWith( + expect.objectContaining({ + body: expect.objectContaining({ + script: expect.objectContaining({ + params: expect.objectContaining({ + counterFieldNames: [counterFields[0]], + counts: [3], + }), + }), + }), + }), + expect.anything() + ); + }); + + it('does not increment counter when incrementBy is 0', async () => { + await incrementCounterSuccess(type, id, [{ fieldName: counterFields[0], incrementBy: 0 }]); + + expect(client.update).toBeCalledTimes(1); + expect(client.update).toBeCalledWith( + expect.objectContaining({ + body: expect.objectContaining({ + script: expect.objectContaining({ + params: expect.objectContaining({ + counterFieldNames: [counterFields[0]], + counts: [0], + }), + }), + }), + }), + expect.anything() + ); + }); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/open_point_in_time.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/open_point_in_time.test.ts new file mode 100644 index 0000000000000..04b107d0a1028 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/open_point_in_time.test.ts @@ -0,0 +1,237 @@ +/* + * 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. + */ + +/* eslint-disable @typescript-eslint/no-shadow */ + +import { + pointInTimeFinderMock, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import type { + SavedObjectsCreatePointInTimeFinderDependencies, + SavedObjectsCreatePointInTimeFinderOptions, + SavedObjectsOpenPointInTimeOptions, +} from '@kbn/core-saved-objects-api-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + HIDDEN_TYPE, + mockTimestamp, + mappings, + createRegistry, + createDocumentMigrator, + createSpySerializer, + createGenericNotFoundErrorPayload, +} from '../../test_helpers/repository.test.common'; +import { PointInTimeFinder } from '../point_in_time_finder'; + +describe('SavedObjectsRepository', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('#openPointInTimeForType', () => { + const type = 'index-pattern'; + + const generateResults = (id?: string) => ({ id: id || 'id' }); + const successResponse = async (type: string, options?: SavedObjectsOpenPointInTimeOptions) => { + client.openPointInTime.mockResponseOnce(generateResults()); + const result = await repository.openPointInTimeForType(type, options); + expect(client.openPointInTime).toHaveBeenCalledTimes(1); + return result; + }; + + describe('client calls', () => { + it(`should use the ES PIT API`, async () => { + await successResponse(type); + expect(client.openPointInTime).toHaveBeenCalledTimes(1); + }); + + it(`accepts preference`, async () => { + await successResponse(type, { preference: 'pref' }); + expect(client.openPointInTime).toHaveBeenCalledWith( + expect.objectContaining({ + preference: 'pref', + }), + expect.anything() + ); + }); + + it(`accepts keepAlive`, async () => { + await successResponse(type, { keepAlive: '2m' }); + expect(client.openPointInTime).toHaveBeenCalledWith( + expect.objectContaining({ + keep_alive: '2m', + }), + expect.anything() + ); + }); + + it(`defaults keepAlive to 5m`, async () => { + await successResponse(type); + expect(client.openPointInTime).toHaveBeenCalledWith( + expect.objectContaining({ + keep_alive: '5m', + }), + expect.anything() + ); + }); + }); + + describe('errors', () => { + const expectNotFoundError = async (types: string | string[]) => { + await expect(repository.openPointInTimeForType(types)).rejects.toThrowError( + createGenericNotFoundErrorPayload() + ); + }; + + it(`throws when ES is unable to find the index`, async () => { + client.openPointInTime.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise( + { id: 'error' }, + { statusCode: 404 } + ) + ); + await expectNotFoundError(type); + expect(client.openPointInTime).toHaveBeenCalledTimes(1); + }); + + it(`should return generic not found error when attempting to find only invalid or hidden types`, async () => { + const test = async (types: string | string[]) => { + await expectNotFoundError(types); + expect(client.openPointInTime).not.toHaveBeenCalled(); + }; + + await test('unknownType'); + await test(HIDDEN_TYPE); + await test(['unknownType', HIDDEN_TYPE]); + }); + }); + + describe('returns', () => { + it(`returns id in the expected format`, async () => { + const id = 'abc123'; + const results = generateResults(id); + client.openPointInTime.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(results) + ); + const response = await repository.openPointInTimeForType(type); + expect(response).toEqual({ id }); + }); + }); + }); + + describe('#closePointInTime', () => { + const generateResults = () => ({ succeeded: true, num_freed: 3 }); + const successResponse = async (id: string) => { + client.closePointInTime.mockResponseOnce(generateResults()); + const result = await repository.closePointInTime(id); + expect(client.closePointInTime).toHaveBeenCalledTimes(1); + return result; + }; + + describe('client calls', () => { + it(`should use the ES PIT API`, async () => { + await successResponse('abc123'); + expect(client.closePointInTime).toHaveBeenCalledTimes(1); + }); + + it(`accepts id`, async () => { + await successResponse('abc123'); + expect(client.closePointInTime).toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.objectContaining({ + id: 'abc123', + }), + }), + expect.anything() + ); + }); + }); + + describe('returns', () => { + it(`returns response body from ES`, async () => { + const results = generateResults(); + client.closePointInTime.mockResponseOnce(results); + const response = await repository.closePointInTime('abc123'); + expect(response).toEqual(results); + }); + }); + }); + + describe('#createPointInTimeFinder', () => { + it('returns a new PointInTimeFinder instance', async () => { + const result = await repository.createPointInTimeFinder({ type: 'PIT' }); + expect(result).toBeInstanceOf(PointInTimeFinder); + }); + + it('calls PointInTimeFinder with the provided options and dependencies', async () => { + const options: SavedObjectsCreatePointInTimeFinderOptions = { + type: 'my-type', + }; + const dependencies: SavedObjectsCreatePointInTimeFinderDependencies = { + client: { + find: jest.fn(), + openPointInTimeForType: jest.fn(), + closePointInTime: jest.fn(), + }, + }; + + await repository.createPointInTimeFinder(options, dependencies); + expect(pointInTimeFinderMock).toHaveBeenCalledWith( + options, + expect.objectContaining({ + ...dependencies, + logger, + }) + ); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/remove_references_to.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/remove_references_to.test.ts index 78c3e8d1faf92..70e601235f184 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/remove_references_to.test.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/remove_references_to.test.ts @@ -6,71 +6,277 @@ * Side Public License, v 1. */ -import { apiContextMock, ApiExecutionContextMock } from '../../mocks'; -import { createType } from '../../test_helpers/repository.test.common'; +/* eslint-disable @typescript-eslint/no-shadow */ + +import { + pointInTimeFinderMock, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { apiContextMock, ApiExecutionContextMock, kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + mockTimestamp, + mappings, + createRegistry, + createDocumentMigrator, + removeReferencesToSuccess, + createSpySerializer, + createConflictErrorPayload, + createType, +} from '../../test_helpers/repository.test.common'; import { performRemoveReferencesTo } from './remove_references_to'; -const fooType = createType('foo', {}); -const barType = createType('bar', {}); +describe('SavedObjectsRepository', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; -describe('performRemoveReferencesTo', () => { - const namespace = 'some_ns'; - const indices = ['.kib_1', '.kib_2']; - let apiExecutionContext: ApiExecutionContextMock; + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + const fooType = createType('foo', {}); + const barType = createType('bar', {}); beforeEach(() => { - apiExecutionContext = apiContextMock.create(); - apiExecutionContext.registry.registerType(fooType); - apiExecutionContext.registry.registerType(barType); - - apiExecutionContext.helpers.common.getCurrentNamespace.mockImplementation( - (space) => space ?? 'default' - ); - apiExecutionContext.helpers.common.getIndicesForTypes.mockReturnValue(indices); + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); }); - describe('with all extensions enabled', () => { - it('calls getCurrentNamespace with the correct parameters', async () => { - await performRemoveReferencesTo( - { type: 'foo', id: 'id', options: { namespace } }, - apiExecutionContext - ); + describe('#removeReferencesTo', () => { + const type = 'type'; + const id = 'id'; + const defaultOptions = {}; + const updatedCount = 42; + + describe('client calls', () => { + it('should use the ES updateByQuery action', async () => { + await removeReferencesToSuccess(client, repository, type, id); + expect(client.updateByQuery).toHaveBeenCalledTimes(1); + }); - const commonHelper = apiExecutionContext.helpers.common; - expect(commonHelper.getCurrentNamespace).toHaveBeenCalledTimes(1); - expect(commonHelper.getCurrentNamespace).toHaveBeenLastCalledWith(namespace); + it('uses the correct default `refresh` value', async () => { + await removeReferencesToSuccess(client, repository, type, id); + expect(client.updateByQuery).toHaveBeenCalledWith( + expect.objectContaining({ + refresh: true, + }), + expect.any(Object) + ); + }); + + it('merges output of getSearchDsl into es request body', async () => { + const query = { query: 1, aggregations: 2 }; + mockGetSearchDsl.mockReturnValue(query); + await removeReferencesToSuccess(client, repository, type, id, { type }); + + expect(client.updateByQuery).toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.objectContaining({ ...query }), + }), + expect.anything() + ); + }); + + it('should set index to all known SO indices on the request', async () => { + await removeReferencesToSuccess(client, repository, type, id); + expect(client.updateByQuery).toHaveBeenCalledWith( + expect.objectContaining({ + index: ['.kibana-test_8.0.0-testing', 'custom_8.0.0-testing'], + }), + expect.anything() + ); + }); + + it('should use the `refresh` option in the request', async () => { + const refresh = Symbol(); + + await removeReferencesToSuccess(client, repository, type, id, { refresh }); + expect(client.updateByQuery).toHaveBeenCalledWith( + expect.objectContaining({ + refresh, + }), + expect.anything() + ); + }); + + it('should pass the correct parameters to the update script', async () => { + await removeReferencesToSuccess(client, repository, type, id); + expect(client.updateByQuery).toHaveBeenCalledWith( + expect.objectContaining({ + body: expect.objectContaining({ + script: expect.objectContaining({ + params: { + type, + id, + }, + }), + }), + }), + expect.anything() + ); + }); }); - it('calls authorizeRemoveReferences with the correct parameters', async () => { - await performRemoveReferencesTo( - { type: 'foo', id: 'id', options: { namespace } }, - apiExecutionContext - ); + describe('search dsl', () => { + it(`passes mappings and registry to getSearchDsl`, async () => { + await removeReferencesToSuccess(client, repository, type, id); + expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, expect.anything()); + }); + + it('passes namespace to getSearchDsl', async () => { + await removeReferencesToSuccess(client, repository, type, id, { namespace: 'some-ns' }); + expect(mockGetSearchDsl).toHaveBeenCalledWith( + mappings, + registry, + expect.objectContaining({ + namespaces: ['some-ns'], + }) + ); + }); - const securityExt = apiExecutionContext.extensions.securityExtension!; - expect(securityExt.authorizeRemoveReferences).toHaveBeenCalledTimes(1); - expect(securityExt.authorizeRemoveReferences).toHaveBeenLastCalledWith({ - namespace, - object: { type: 'foo', id: 'id' }, + it('passes hasReference to getSearchDsl', async () => { + await removeReferencesToSuccess(client, repository, type, id); + expect(mockGetSearchDsl).toHaveBeenCalledWith( + mappings, + registry, + expect.objectContaining({ + hasReference: { + type, + id, + }, + }) + ); + }); + + it('passes all known types to getSearchDsl', async () => { + await removeReferencesToSuccess(client, repository, type, id); + expect(mockGetSearchDsl).toHaveBeenCalledWith( + mappings, + registry, + expect.objectContaining({ + type: registry.getAllTypes().map((type) => type.name), + }) + ); }); }); - it('calls client.updateByQuery with the correct parameters', async () => { - await performRemoveReferencesTo( - { type: 'foo', id: 'id', options: { namespace, refresh: false } }, - apiExecutionContext - ); + describe('returns', () => { + it('returns the updated count from the ES response', async () => { + const response = await removeReferencesToSuccess(client, repository, type, id); + expect(response.updated).toBe(updatedCount); + }); + }); + + describe('errors', () => { + it(`throws when ES returns failures`, async () => { + client.updateByQuery.mockResponseOnce({ + updated: 7, + failures: [ + { id: 'failure' } as estypes.BulkIndexByScrollFailure, + { id: 'another-failure' } as estypes.BulkIndexByScrollFailure, + ], + }); + + await expect(repository.removeReferencesTo(type, id, defaultOptions)).rejects.toThrowError( + createConflictErrorPayload(type, id) + ); + }); + }); + }); + describe('performRemoveReferencesTo', () => { + const namespace = 'some_ns'; + const indices = ['.kib_1', '.kib_2']; + let apiExecutionContext: ApiExecutionContextMock; + + beforeEach(() => { + apiExecutionContext = apiContextMock.create(); + apiExecutionContext.registry.registerType(fooType); + apiExecutionContext.registry.registerType(barType); - const client = apiExecutionContext.client; - expect(client.updateByQuery).toHaveBeenCalledTimes(1); - expect(client.updateByQuery).toHaveBeenLastCalledWith( - { - refresh: false, - index: indices, - body: expect.any(Object), - }, - { ignore: [404], meta: true } + apiExecutionContext.helpers.common.getCurrentNamespace.mockImplementation( + (space) => space ?? 'default' ); + apiExecutionContext.helpers.common.getIndicesForTypes.mockReturnValue(indices); + }); + + describe('with all extensions enabled', () => { + it('calls getCurrentNamespace with the correct parameters', async () => { + await performRemoveReferencesTo( + { type: 'foo', id: 'id', options: { namespace } }, + apiExecutionContext + ); + + const commonHelper = apiExecutionContext.helpers.common; + expect(commonHelper.getCurrentNamespace).toHaveBeenCalledTimes(1); + expect(commonHelper.getCurrentNamespace).toHaveBeenLastCalledWith(namespace); + }); + + it('calls authorizeRemoveReferences with the correct parameters', async () => { + await performRemoveReferencesTo( + { type: 'foo', id: 'id', options: { namespace } }, + apiExecutionContext + ); + + const securityExt = apiExecutionContext.extensions.securityExtension!; + expect(securityExt.authorizeRemoveReferences).toHaveBeenCalledTimes(1); + expect(securityExt.authorizeRemoveReferences).toHaveBeenLastCalledWith({ + namespace, + object: { type: 'foo', id: 'id' }, + }); + }); + + it('calls client.updateByQuery with the correct parameters', async () => { + await performRemoveReferencesTo( + { type: 'foo', id: 'id', options: { namespace, refresh: false } }, + apiExecutionContext + ); + + const client = apiExecutionContext.client; + expect(client.updateByQuery).toHaveBeenCalledTimes(1); + expect(client.updateByQuery).toHaveBeenLastCalledWith( + { + refresh: false, + index: indices, + body: expect.any(Object), + }, + { ignore: [404], meta: true } + ); + }); }); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.test.ts new file mode 100644 index 0000000000000..25acc55cc77c2 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.test.ts @@ -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 { + pointInTimeFinderMock, + mockInternalBulkResolve, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import type { SavedObjectsResolveResponse } from '@kbn/core-saved-objects-api-server'; +import { type BulkResolveError } from '@kbn/core-saved-objects-server'; +import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + mockTimestamp, + mappings, + createRegistry, + createDocumentMigrator, + createSpySerializer, +} from '../../test_helpers/repository.test.common'; + +describe('SavedObjectsRepository', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('#resolve', () => { + afterEach(() => { + mockInternalBulkResolve.mockReset(); + }); + + it('passes arguments to the internalBulkResolve module and returns the result', async () => { + const expectedResult: SavedObjectsResolveResponse = { + saved_object: { type: 'type', id: 'id', attributes: {}, references: [] }, + outcome: 'exactMatch', + }; + mockInternalBulkResolve.mockResolvedValue({ resolved_objects: [expectedResult] }); + + await expect(repository.resolve('obj-type', 'obj-id')).resolves.toEqual(expectedResult); + expect(mockInternalBulkResolve).toHaveBeenCalledTimes(1); + expect(mockInternalBulkResolve).toHaveBeenCalledWith( + expect.objectContaining({ objects: [{ type: 'obj-type', id: 'obj-id' }] }) + ); + }); + + it('throws when internalBulkResolve result is an error', async () => { + const error = SavedObjectsErrorHelpers.decorateBadRequestError(new Error('Oh no!')); + const expectedResult: BulkResolveError = { type: 'obj-type', id: 'obj-id', error }; + mockInternalBulkResolve.mockResolvedValue({ resolved_objects: [expectedResult] }); + + await expect(repository.resolve('foo', '2')).rejects.toEqual(error); + }); + + it('throws when internalBulkResolve throws', async () => { + const error = new Error('Oh no!'); + mockInternalBulkResolve.mockRejectedValue(error); + + await expect(repository.resolve('foo', '2')).rejects.toEqual(error); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update.test.ts index dd5c51c6b433d..67076f912973a 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update.test.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update.test.ts @@ -45,7 +45,7 @@ import { updateSuccess, } from '../../test_helpers/repository.test.common'; -describe('SavedObjectsRepository', () => { +describe('#update', () => { let client: ReturnType; let repository: SavedObjectsRepository; let migrator: ReturnType; @@ -95,7 +95,7 @@ describe('SavedObjectsRepository', () => { mockGetCurrentTime.mockReturnValue(mockTimestamp); }); - describe('#update', () => { + describe('performUpdate', () => { const id = 'logstash-*'; const type = 'index-pattern'; const attributes = { title: 'Testing' }; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update_objects_spaces.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update_objects_spaces.test.ts new file mode 100644 index 0000000000000..b88d0007bcd55 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update_objects_spaces.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 { + pointInTimeFinderMock, + mockUpdateObjectsSpaces, + mockGetCurrentTime, + mockGetSearchDsl, +} from '../repository.test.mock'; + +import type { + SavedObjectsUpdateObjectsSpacesResponse, + SavedObjectsUpdateObjectsSpacesObject, + SavedObjectsUpdateObjectsSpacesOptions, +} from '@kbn/core-saved-objects-api-server'; +import { SavedObjectsRepository } from '../repository'; +import { loggerMock } from '@kbn/logging-mocks'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; +import { kibanaMigratorMock } from '../../mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; + +import { + mockTimestamp, + mappings, + createRegistry, + createDocumentMigrator, + createSpySerializer, +} from '../../test_helpers/repository.test.common'; + +describe('#updateObjectsSpaces', () => { + let client: ReturnType; + let repository: SavedObjectsRepository; + let migrator: ReturnType; + let logger: ReturnType; + let serializer: jest.Mocked; + + const registry = createRegistry(); + const documentMigrator = createDocumentMigrator(registry); + + beforeEach(() => { + pointInTimeFinderMock.mockClear(); + client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); + documentMigrator.prepareMigrations(); + migrator.migrateDocument = jest.fn().mockImplementation(documentMigrator.migrate); + migrator.runMigrations = jest.fn().mockResolvedValue([{ status: 'skipped' }]); + logger = loggerMock.create(); + + // create a mock serializer "shim" so we can track function calls, but use the real serializer's implementation + serializer = createSpySerializer(registry); + + const allTypes = registry.getAllTypes().map((type) => type.name); + const allowedTypes = [...new Set(allTypes.filter((type) => !registry.isHidden(type)))]; + + // @ts-expect-error must use the private constructor to use the mocked serializer + repository = new SavedObjectsRepository({ + index: '.kibana-test', + mappings, + client, + migrator, + typeRegistry: registry, + serializer, + allowedTypes, + logger, + }); + + mockGetCurrentTime.mockReturnValue(mockTimestamp); + mockGetSearchDsl.mockClear(); + }); + + describe('performUpdateObjectsSpaces', () => { + afterEach(() => { + mockUpdateObjectsSpaces.mockReset(); + }); + + it('passes arguments to the updateObjectsSpaces module and returns the result', async () => { + const objects: SavedObjectsUpdateObjectsSpacesObject[] = [{ type: 'type', id: 'id' }]; + const spacesToAdd = ['to-add', 'also-to-add']; + const spacesToRemove = ['to-remove']; + const options: SavedObjectsUpdateObjectsSpacesOptions = { namespace: 'ns-1' }; + const expectedResult: SavedObjectsUpdateObjectsSpacesResponse = { + objects: [ + { + type: 'type', + id: 'id', + spaces: ['foo', 'bar'], + }, + ], + }; + mockUpdateObjectsSpaces.mockResolvedValue(expectedResult); + + await expect( + repository.updateObjectsSpaces(objects, spacesToAdd, spacesToRemove, options) + ).resolves.toEqual(expectedResult); + expect(mockUpdateObjectsSpaces).toHaveBeenCalledTimes(1); + expect(mockUpdateObjectsSpaces).toHaveBeenCalledWith( + expect.objectContaining({ objects, spacesToAdd, spacesToRemove, options }) + ); + }); + + it('returns an error from the updateObjectsSpaces module', async () => { + const expectedResult = new Error('Oh no!'); + mockUpdateObjectsSpaces.mockRejectedValue(expectedResult); + + await expect(repository.updateObjectsSpaces([], [], [])).rejects.toEqual(expectedResult); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts index 3547d653e3de4..27f45aaa9c084 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts @@ -6,118 +6,26 @@ * Side Public License, v 1. */ -/* eslint-disable @typescript-eslint/no-shadow */ - import { pointInTimeFinderMock, - mockCollectMultiNamespaceReferences, - mockGetBulkOperationError, - mockInternalBulkResolve, - mockUpdateObjectsSpaces, mockGetCurrentTime, - mockPreflightCheckForCreate, - mockDeleteLegacyUrlAliases, mockGetSearchDsl, } from './repository.test.mock'; -import type { Payload } from '@hapi/boom'; -import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; - -import type { - SavedObjectsBaseOptions, - SavedObjectsFindOptions, - SavedObjectsUpdateObjectsSpacesResponse, - SavedObjectsDeleteByNamespaceOptions, - SavedObjectsIncrementCounterField, - SavedObjectsIncrementCounterOptions, - SavedObjectsCreatePointInTimeFinderDependencies, - SavedObjectsCreatePointInTimeFinderOptions, - SavedObjectsBulkGetObject, - SavedObjectsCreateOptions, - SavedObjectsDeleteOptions, - SavedObjectsOpenPointInTimeOptions, - SavedObjectsResolveResponse, - SavedObjectsCollectMultiNamespaceReferencesObject, - SavedObjectsCollectMultiNamespaceReferencesResponse, - SavedObjectsUpdateObjectsSpacesObject, - SavedObjectsUpdateObjectsSpacesOptions, - SavedObjectsBulkDeleteObject, - SavedObjectsBulkDeleteOptions, -} from '@kbn/core-saved-objects-api-server'; -import { - type SavedObjectsRawDoc, - type SavedObjectsRawDocSource, - type SavedObjectUnsanitizedDoc, - type SavedObject, - type SavedObjectReference, - type BulkResolveError, - MAIN_SAVED_OBJECT_INDEX, -} from '@kbn/core-saved-objects-server'; -import { ALL_NAMESPACES_STRING } from '@kbn/core-saved-objects-utils-server'; -import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; import { SavedObjectsRepository } from './repository'; -import { PointInTimeFinder } from './point_in_time_finder'; import { loggerMock } from '@kbn/logging-mocks'; -import { - SavedObjectsSerializer, - encodeHitVersion, - LEGACY_URL_ALIAS_TYPE, -} from '@kbn/core-saved-objects-base-server-internal'; +import { SavedObjectsSerializer } from '@kbn/core-saved-objects-base-server-internal'; import { kibanaMigratorMock } from '../mocks'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; -import * as esKuery from '@kbn/es-query'; import { - CUSTOM_INDEX_TYPE, - NAMESPACE_AGNOSTIC_TYPE, - MULTI_NAMESPACE_TYPE, - MULTI_NAMESPACE_ISOLATED_TYPE, - HIDDEN_TYPE, - mockVersionProps, - mockTimestampFields, mockTimestamp, mappings, - mockVersion, - bulkGetSuccess, createRegistry, createDocumentMigrator, - getMockGetResponse, - getMockMgetResponse, - type TypeIdTuple, createSpySerializer, - bulkGet, - expectErrorResult, - expectErrorInvalidType, - expectErrorNotFound, - expectError, - generateIndexPatternSearchResults, - findSuccess, - deleteSuccess, - removeReferencesToSuccess, - checkConflicts, - checkConflictsSuccess, - getSuccess, - createBadRequestErrorPayload, - createUnsupportedTypeErrorPayload, - createConflictErrorPayload, - createGenericNotFoundErrorPayload, - mockTimestampFieldsWithCreated, - getMockEsBulkDeleteResponse, - bulkDeleteSuccess, - createBulkDeleteSuccessStatus, } from '../test_helpers/repository.test.common'; -const { nodeTypes } = esKuery; - -// BEWARE: The SavedObjectClient depends on the implementation details of the SavedObjectsRepository -// so any breaking changes to this repository are considered breaking changes to the SavedObjectsClient. - -interface ExpectedErrorResult { - type: string; - id: string; - error: Record; -} - describe('SavedObjectsRepository', () => { let client: ReturnType; let repository: SavedObjectsRepository; @@ -128,22 +36,6 @@ describe('SavedObjectsRepository', () => { const registry = createRegistry(); const documentMigrator = createDocumentMigrator(registry); - const expectSuccess = ({ type, id }: { type: string; id: string }) => { - // @ts-expect-error TS is not aware of the extension - return expect.toBeDocumentWithoutError(type, id); - }; - - const expectMigrationArgs = (args: unknown, contains = true, n = 1) => { - const obj = contains ? expect.objectContaining(args) : expect.not.objectContaining(args); - expect(migrator.migrateDocument).toHaveBeenNthCalledWith( - n, - obj, - expect.objectContaining({ - allowDowngrade: expect.any(Boolean), - }) - ); - }; - beforeEach(() => { pointInTimeFinderMock.mockClear(); client = elasticsearchClientMock.createElasticsearchClient(); @@ -175,3527 +67,6 @@ describe('SavedObjectsRepository', () => { mockGetSearchDsl.mockClear(); }); - // Setup migration mock for creating an object - const mockMigrationVersion = { foo: '2.3.4' }; - const mockMigrateDocument = (doc: SavedObjectUnsanitizedDoc) => ({ - ...doc, - attributes: { - ...doc.attributes, - ...(doc.attributes?.title && { title: `${doc.attributes.title}!!` }), - }, - migrationVersion: mockMigrationVersion, - managed: doc.managed ?? false, - references: [{ name: 'search_0', type: 'search', id: '123' }], - }); - - describe('#bulkGet', () => { - const obj1: SavedObject = { - type: 'config', - id: '6.0.0-alpha1', - attributes: { title: 'Testing' }, - references: [ - { - name: 'ref_0', - type: 'test', - id: '1', - }, - ], - originId: 'some-origin-id', // only one of the results has an originId, this is intentional to test both a positive and negative case - }; - const obj2: SavedObject = { - type: 'index-pattern', - id: 'logstash-*', - attributes: { title: 'Testing' }, - references: [ - { - name: 'ref_0', - type: 'test', - id: '2', - }, - ], - }; - const namespace = 'foo-namespace'; - - const _expectClientCallArgs = ( - objects: TypeIdTuple[], - { - _index = expect.any(String), - getId = () => expect.any(String), - }: { _index?: string; getId?: (type: string, id: string) => string } - ) => { - expect(client.mget).toHaveBeenCalledWith( - expect.objectContaining({ - body: { - docs: objects.map(({ type, id }) => - expect.objectContaining({ - _index, - _id: getId(type, id), - }) - ), - }, - }), - expect.anything() - ); - }; - - describe('client calls', () => { - it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { - const getId = (type: string, id: string) => `${namespace}:${type}:${id}`; // test that the raw document ID equals this (e.g., has a namespace prefix) - await bulkGetSuccess(client, repository, registry, [obj1, obj2], { namespace }); - _expectClientCallArgs([obj1, obj2], { getId }); - }); - - it(`prepends namespace to the id when providing namespaces for single-namespace type`, async () => { - const getId = (type: string, id: string) => `${namespace}:${type}:${id}`; // test that the raw document ID equals this (e.g., has a namespace prefix) - const objects = [obj1, obj2].map((obj) => ({ ...obj, namespaces: [namespace] })); - await bulkGetSuccess(client, repository, registry, objects, { namespace: 'some-other-ns' }); - _expectClientCallArgs([obj1, obj2], { getId }); - }); - - it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { - const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) - await bulkGetSuccess(client, repository, registry, [obj1, obj2]); - _expectClientCallArgs([obj1, obj2], { getId }); - }); - - it(`normalizes options.namespace from 'default' to undefined`, async () => { - const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) - await bulkGetSuccess(client, repository, registry, [obj1, obj2], { namespace: 'default' }); - _expectClientCallArgs([obj1, obj2], { getId }); - }); - - it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { - const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) - let objects = [obj1, obj2].map((obj) => ({ ...obj, type: NAMESPACE_AGNOSTIC_TYPE })); - await bulkGetSuccess(client, repository, registry, objects, { namespace }); - _expectClientCallArgs(objects, { getId }); - - client.mget.mockClear(); - objects = [obj1, { ...obj2, namespaces: ['some-other-ns'] }].map((obj) => ({ - ...obj, - type: MULTI_NAMESPACE_ISOLATED_TYPE, - })); - await bulkGetSuccess(client, repository, registry, objects, { namespace }); - _expectClientCallArgs(objects, { getId }); - }); - }); - - describe('errors', () => { - const bulkGetError = async ( - obj: SavedObjectsBulkGetObject & { found?: boolean }, - isBulkError: boolean, - expectedErrorResult: ExpectedErrorResult - ) => { - let response; - if (isBulkError) { - // mock the bulk error for only the second object - mockGetBulkOperationError.mockReturnValueOnce(undefined); - mockGetBulkOperationError.mockReturnValueOnce(expectedErrorResult.error as Payload); - response = getMockMgetResponse(registry, [obj1, obj, obj2]); - } else { - response = getMockMgetResponse(registry, [obj1, obj2]); - } - client.mget.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - - const objects = [obj1, obj, obj2]; - const result = await bulkGet(repository, objects); - expect(client.mget).toHaveBeenCalled(); - expect(result).toEqual({ - saved_objects: [expectSuccess(obj1), expectedErrorResult, expectSuccess(obj2)], - }); - }; - - it(`throws when options.namespace is '*'`, async () => { - const obj = { type: 'dashboard', id: 'three' }; - await expect( - repository.bulkGet([obj], { namespace: ALL_NAMESPACES_STRING }) - ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); - }); - - it(`returns error when namespaces is used with a space-agnostic object`, async () => { - const obj = { type: NAMESPACE_AGNOSTIC_TYPE, id: 'three', namespaces: [] }; - await bulkGetError( - obj, - false, - expectErrorResult( - obj, - createBadRequestErrorPayload('"namespaces" cannot be used on space-agnostic types') - ) - ); - }); - - it(`returns error when namespaces is used with a space-isolated object and does not specify a single space`, async () => { - const doTest = async (objType: string, namespaces?: string[]) => { - const obj = { type: objType, id: 'three', namespaces }; - await bulkGetError( - obj, - false, - expectErrorResult( - obj, - createBadRequestErrorPayload( - '"namespaces" can only specify a single space when used with space-isolated types' - ) - ) - ); - }; - await doTest('dashboard', ['spacex', 'spacey']); - await doTest('dashboard', ['*']); - await doTest(MULTI_NAMESPACE_ISOLATED_TYPE, ['spacex', 'spacey']); - await doTest(MULTI_NAMESPACE_ISOLATED_TYPE, ['*']); - }); - - it(`returns error when type is invalid`, async () => { - const obj: SavedObjectsBulkGetObject = { type: 'unknownType', id: 'three' }; - await bulkGetError(obj, false, expectErrorInvalidType(obj)); - }); - - it(`returns error when type is hidden`, async () => { - const obj: SavedObjectsBulkGetObject = { type: HIDDEN_TYPE, id: 'three' }; - await bulkGetError(obj, false, expectErrorInvalidType(obj)); - }); - - it(`returns error when document is not found`, async () => { - const obj: SavedObjectsBulkGetObject & { found: boolean } = { - type: 'dashboard', - id: 'three', - found: false, - }; - await bulkGetError(obj, true, expectErrorNotFound(obj)); - }); - - it(`handles missing ids gracefully`, async () => { - const obj: SavedObjectsBulkGetObject & { found: boolean } = { - type: 'dashboard', - // @ts-expect-error id is undefined - id: undefined, - found: false, - }; - await bulkGetError(obj, true, expectErrorNotFound(obj)); - }); - - it(`returns error when type is multi-namespace and the document exists, but not in this namespace`, async () => { - const obj = { - type: MULTI_NAMESPACE_ISOLATED_TYPE, - id: 'three', - namespace: 'bar-namespace', - }; - await bulkGetError(obj, true, expectErrorNotFound(obj)); - }); - }); - - describe('returns', () => { - const expectSuccessResult = ( - { type, id }: TypeIdTuple, - doc: estypes.GetGetResult - ) => ({ - type, - id, - namespaces: doc._source!.namespaces ?? ['default'], - ...(doc._source!.originId && { originId: doc._source!.originId }), - ...(doc._source!.updated_at && { updated_at: doc._source!.updated_at }), - ...(doc._source!.created_at && { created_at: doc._source!.created_at }), - version: encodeHitVersion(doc), - attributes: doc._source![type], - references: doc._source!.references || [], - coreMigrationVersion: expect.any(String), - typeMigrationVersion: expect.any(String), - managed: expect.any(Boolean), - }); - - it(`returns early for empty objects argument`, async () => { - const result = await bulkGet(repository, []); - expect(result).toEqual({ saved_objects: [] }); - expect(client.mget).not.toHaveBeenCalled(); - }); - - it(`formats the ES response`, async () => { - const response = getMockMgetResponse(registry, [obj1, obj2]); - client.mget.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - const result = await bulkGet(repository, [obj1, obj2]); - expect(client.mget).toHaveBeenCalledTimes(1); - expect(result).toEqual({ - saved_objects: [ - expectSuccessResult( - obj1, - response.docs[0] as estypes.GetGetResult - ), - expectSuccessResult( - obj2, - response.docs[1] as estypes.GetGetResult - ), - ], - }); - }); - - it(`handles a mix of successful gets and errors`, async () => { - const response = getMockMgetResponse(registry, [obj1, obj2]); - client.mget.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - const obj: SavedObject = { - type: 'unknownType', - id: 'three', - attributes: {}, - references: [], - }; - const result = await bulkGet(repository, [obj1, obj, obj2]); - expect(client.mget).toHaveBeenCalledTimes(1); - expect(result).toEqual({ - saved_objects: [ - expectSuccessResult( - obj1, - response.docs[0] as estypes.GetGetResult - ), - expectError(obj), - expectSuccessResult( - obj2, - response.docs[1] as estypes.GetGetResult - ), - ], - }); - }); - - it(`includes namespaces property for single-namespace and multi-namespace documents`, async () => { - const obj: SavedObject = { - type: MULTI_NAMESPACE_ISOLATED_TYPE, - id: 'three', - attributes: {}, - references: [], - }; - const { result } = await bulkGetSuccess(client, repository, registry, [obj1, obj]); - expect(result).toEqual({ - saved_objects: [ - expect.objectContaining({ namespaces: ['default'] }), - expect.objectContaining({ namespaces: expect.any(Array) }), - ], - }); - }); - - it('migrates the fetched documents', async () => { - const response = getMockMgetResponse(registry, [obj1, obj2]); - client.mget.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - migrator.migrateDocument.mockReturnValue( - 'migrated' as unknown as ReturnType - ); - - await expect(bulkGet(repository, [obj1, obj2])).resolves.toHaveProperty('saved_objects', [ - 'migrated', - 'migrated', - ]); - expect(migrator.migrateDocument).toHaveBeenCalledTimes(2); - expectMigrationArgs({ id: obj1.id }, true, 1); - expectMigrationArgs({ id: obj2.id }, true, 2); - }); - }); - }); - - describe('#bulkResolve', () => { - afterEach(() => { - mockInternalBulkResolve.mockReset(); - }); - - it('passes arguments to the internalBulkResolve module and returns the expected results', async () => { - mockInternalBulkResolve.mockResolvedValue({ - resolved_objects: [ - { - saved_object: { type: 'mock', id: 'mock-object', attributes: {}, references: [] }, - outcome: 'exactMatch', - }, - { - type: 'obj-type', - id: 'obj-id-2', - error: SavedObjectsErrorHelpers.createGenericNotFoundError('obj-type', 'obj-id-2'), - }, - ], - }); - - const objects = [ - { type: 'obj-type', id: 'obj-id-1' }, - { type: 'obj-type', id: 'obj-id-2' }, - ]; - await expect(repository.bulkResolve(objects)).resolves.toEqual({ - resolved_objects: [ - { - saved_object: { type: 'mock', id: 'mock-object', attributes: {}, references: [] }, - outcome: 'exactMatch', - }, - { - saved_object: { - type: 'obj-type', - id: 'obj-id-2', - error: { - error: 'Not Found', - message: 'Saved object [obj-type/obj-id-2] not found', - statusCode: 404, - }, - }, - outcome: 'exactMatch', - }, - ], - }); - expect(mockInternalBulkResolve).toHaveBeenCalledTimes(1); - expect(mockInternalBulkResolve).toHaveBeenCalledWith(expect.objectContaining({ objects })); - }); - - it('throws when internalBulkResolve throws', async () => { - const error = new Error('Oh no!'); - mockInternalBulkResolve.mockRejectedValue(error); - - await expect(repository.resolve('some-type', 'some-id')).rejects.toEqual(error); - }); - }); - - describe('#bulkDelete', () => { - const obj1: SavedObjectsBulkDeleteObject = { - type: 'config', - id: '6.0.0-alpha1', - }; - const obj2: SavedObjectsBulkDeleteObject = { - type: 'index-pattern', - id: 'logstash-*', - }; - - const namespace = 'foo-namespace'; - - const createNamespaceAwareGetId = (type: string, id: string) => - `${registry.isSingleNamespace(type) && namespace ? `${namespace}:` : ''}${type}:${id}`; - - // bulk delete calls only has one object for each source -- the action - const expectClientCallBulkDeleteArgsAction = ( - objects: TypeIdTuple[], - { - method, - _index = expect.any(String), - getId = () => expect.any(String), - overrides = {}, - }: { - method: string; - _index?: string; - getId?: (type: string, id: string) => string; - overrides?: Record; - } - ) => { - const body = []; - for (const { type, id } of objects) { - body.push({ - [method]: { - _index, - _id: getId(type, id), - ...overrides, - }, - }); - } - - expect(client.bulk).toHaveBeenCalledWith( - expect.objectContaining({ body }), - expect.anything() - ); - }; - - const createBulkDeleteFailStatus = ({ - type, - id, - error, - }: { - type: string; - id: string; - error?: ExpectedErrorResult['error']; - }) => ({ - type, - id, - success: false, - error: error ?? SavedObjectsErrorHelpers.createBadRequestError(), - }); - - // mocks a combination of success, error results for hidden and unknown object object types. - const repositoryBulkDeleteError = async ( - obj: SavedObjectsBulkDeleteObject, - isBulkError: boolean, - expectedErrorResult: ExpectedErrorResult - ) => { - const objects = [obj1, obj, obj2]; - const mockedBulkDeleteResponse = getMockEsBulkDeleteResponse(registry, objects); - if (isBulkError) { - mockGetBulkOperationError.mockReturnValueOnce(undefined); - mockGetBulkOperationError.mockReturnValueOnce(expectedErrorResult.error as Payload); - } - client.bulk.mockResponseOnce(mockedBulkDeleteResponse); - - const result = await repository.bulkDelete(objects); - expect(client.bulk).toHaveBeenCalled(); - expect(result).toEqual({ - statuses: [ - createBulkDeleteSuccessStatus(obj1), - createBulkDeleteFailStatus({ ...obj, error: expectedErrorResult.error }), - createBulkDeleteSuccessStatus(obj2), - ], - }); - }; - - const expectClientCallArgsAction = ( - objects: TypeIdTuple[], - { - method, - _index = expect.any(String), - getId = () => expect.any(String), - overrides = {}, - }: { - method: string; - _index?: string; - getId?: (type: string, id: string) => string; - overrides?: Record; - } - ) => { - const body = []; - for (const { type, id } of objects) { - body.push({ - [method]: { - _index, - _id: getId(type, id), - ...overrides, - }, - }); - } - expect(client.bulk).toHaveBeenCalledWith( - expect.objectContaining({ body }), - expect.anything() - ); - }; - - const bulkDeleteMultiNamespaceError = async ( - [obj1, _obj, obj2]: SavedObjectsBulkDeleteObject[], - options: SavedObjectsBulkDeleteOptions | undefined, - mgetResponse: estypes.MgetResponse, - mgetOptions?: { statusCode?: number } - ) => { - const getId = (type: string, id: string) => `${options?.namespace}:${type}:${id}`; - // mock the response for the not found doc - client.mget.mockResponseOnce(mgetResponse, { statusCode: mgetOptions?.statusCode }); - // get a mocked response for the valid docs - const bulkResponse = getMockEsBulkDeleteResponse(registry, [obj1, obj2], { namespace }); - client.bulk.mockResponseOnce(bulkResponse); - - const result = await repository.bulkDelete([obj1, _obj, obj2], options); - expect(client.bulk).toHaveBeenCalledTimes(1); - expect(client.mget).toHaveBeenCalledTimes(1); - - expectClientCallArgsAction([obj1, obj2], { method: 'delete', getId }); - expect(result).toEqual({ - statuses: [ - createBulkDeleteSuccessStatus(obj1), - { ...expectErrorNotFound(_obj), success: false }, - createBulkDeleteSuccessStatus(obj2), - ], - }); - }; - - beforeEach(() => { - mockDeleteLegacyUrlAliases.mockClear(); - mockDeleteLegacyUrlAliases.mockResolvedValue(); - }); - - describe('client calls', () => { - it(`should use the ES bulk action by default`, async () => { - await bulkDeleteSuccess(client, repository, registry, [obj1, obj2]); - expect(client.bulk).toHaveBeenCalled(); - }); - - it(`should use the ES mget action before bulk action for any types that are multi-namespace`, async () => { - const objects = [obj1, { ...obj2, type: MULTI_NAMESPACE_ISOLATED_TYPE }]; - await bulkDeleteSuccess(client, repository, registry, objects); - expect(client.bulk).toHaveBeenCalled(); - expect(client.mget).toHaveBeenCalled(); - - const docs = [ - expect.objectContaining({ _id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${obj2.id}` }), - ]; - expect(client.mget).toHaveBeenCalledWith( - expect.objectContaining({ body: { docs } }), - expect.anything() - ); - }); - - it(`should not use the ES bulk action when there are no valid documents to delete`, async () => { - const objects = [obj1, obj2].map((x) => ({ ...x, type: 'unknownType' })); - await repository.bulkDelete(objects); - expect(client.bulk).toHaveBeenCalledTimes(0); - }); - - it(`formats the ES request`, async () => { - const getId = createNamespaceAwareGetId; - await bulkDeleteSuccess(client, repository, registry, [obj1, obj2], { namespace }); - expectClientCallBulkDeleteArgsAction([obj1, obj2], { method: 'delete', getId }); - }); - - it(`formats the ES request for any types that are multi-namespace`, async () => { - const _obj2 = { ...obj2, type: MULTI_NAMESPACE_ISOLATED_TYPE }; - const getId = createNamespaceAwareGetId; - await bulkDeleteSuccess(client, repository, registry, [obj1, _obj2], { namespace }); - expectClientCallBulkDeleteArgsAction([obj1, _obj2], { method: 'delete', getId }); - }); - - it(`defaults to a refresh setting of wait_for`, async () => { - await bulkDeleteSuccess(client, repository, registry, [obj1, obj2]); - expect(client.bulk).toHaveBeenCalledWith( - expect.objectContaining({ refresh: 'wait_for' }), - expect.anything() - ); - }); - - it(`does not include the version of the existing document when not using a multi-namespace type`, async () => { - const objects = [obj1, { ...obj2, type: NAMESPACE_AGNOSTIC_TYPE }]; - await bulkDeleteSuccess(client, repository, registry, objects); - expectClientCallBulkDeleteArgsAction(objects, { method: 'delete' }); - }); - - it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { - const getId = createNamespaceAwareGetId; - await bulkDeleteSuccess(client, repository, registry, [obj1, obj2], { namespace }); - expectClientCallBulkDeleteArgsAction([obj1, obj2], { method: 'delete', getId }); - }); - - it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { - const getId = (type: string, id: string) => `${type}:${id}`; - await bulkDeleteSuccess(client, repository, registry, [obj1, obj2]); - expectClientCallBulkDeleteArgsAction([obj1, obj2], { method: 'delete', getId }); - }); - - it(`normalizes options.namespace from 'default' to undefined`, async () => { - const getId = (type: string, id: string) => `${type}:${id}`; - await bulkDeleteSuccess(client, repository, registry, [obj1, obj2], { - namespace: 'default', - }); - expectClientCallBulkDeleteArgsAction([obj1, obj2], { method: 'delete', getId }); - }); - - it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { - const getId = (type: string, id: string) => `${type}:${id}`; // not expecting namespace prefix; - const _obj1 = { ...obj1, type: NAMESPACE_AGNOSTIC_TYPE }; - const _obj2 = { ...obj2, type: MULTI_NAMESPACE_ISOLATED_TYPE }; - - await bulkDeleteSuccess(client, repository, registry, [_obj1, _obj2], { namespace }); - expectClientCallBulkDeleteArgsAction([_obj1, _obj2], { method: 'delete', getId }); - }); - }); - - describe('legacy URL aliases', () => { - it(`doesn't delete legacy URL aliases for single-namespace object types`, async () => { - await bulkDeleteSuccess(client, repository, registry, [obj1, obj2]); - expect(mockDeleteLegacyUrlAliases).not.toHaveBeenCalled(); - }); - - it(`deletes legacy URL aliases for multi-namespace object types (all spaces)`, async () => { - const testObject = { ...obj1, type: MULTI_NAMESPACE_TYPE }; - const internalOptions = { - mockMGetResponseObjects: [ - { - ...testObject, - initialNamespaces: [ALL_NAMESPACES_STRING], - }, - ], - }; - await bulkDeleteSuccess( - client, - repository, - registry, - [testObject], - { namespace, force: true }, - internalOptions - ); - expect(mockDeleteLegacyUrlAliases).toHaveBeenCalledWith( - expect.objectContaining({ - type: MULTI_NAMESPACE_TYPE, - id: testObject.id, - namespaces: [], - deleteBehavior: 'exclusive', - }) - ); - }); - - it(`deletes legacy URL aliases for multi-namespace object types (specific space)`, async () => { - const testObject = { ...obj1, type: MULTI_NAMESPACE_TYPE }; - const internalOptions = { - mockMGetResponseObjects: [ - { - ...testObject, - initialNamespaces: [namespace], - }, - ], - }; - // specifically test against the current namespace - await bulkDeleteSuccess( - client, - repository, - registry, - [testObject], - { namespace }, - internalOptions - ); - expect(mockDeleteLegacyUrlAliases).toHaveBeenCalledWith( - expect.objectContaining({ - type: MULTI_NAMESPACE_TYPE, - id: testObject.id, - namespaces: [namespace], - deleteBehavior: 'inclusive', - }) - ); - }); - - it(`deletes legacy URL aliases for multi-namespace object types shared to many specific spaces`, async () => { - const testObject = { ...obj1, type: MULTI_NAMESPACE_TYPE }; - const initialTestObjectNamespaces = [namespace, 'bar-namespace']; - const internalOptions = { - mockMGetResponseObjects: [ - { - ...testObject, - initialNamespaces: initialTestObjectNamespaces, - }, - ], - }; - // specifically test against named spaces ('*' is handled specifically, this assures we also take care of named spaces) - await bulkDeleteSuccess( - client, - repository, - registry, - [testObject], - { namespace, force: true }, - internalOptions - ); - expect(mockDeleteLegacyUrlAliases).toHaveBeenCalledWith( - expect.objectContaining({ - type: MULTI_NAMESPACE_TYPE, - id: testObject.id, - namespaces: initialTestObjectNamespaces, - deleteBehavior: 'inclusive', - }) - ); - }); - - it(`logs a message when deleteLegacyUrlAliases returns an error`, async () => { - const testObject = { type: MULTI_NAMESPACE_ISOLATED_TYPE, id: obj1.id }; - - client.mget.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise( - getMockMgetResponse(registry, [testObject], namespace) - ) - ); - const mockedBulkResponse = getMockEsBulkDeleteResponse(registry, [testObject], { - namespace, - }); - client.bulk.mockResolvedValueOnce(mockedBulkResponse); - - mockDeleteLegacyUrlAliases.mockRejectedValueOnce(new Error('Oh no!')); - - await repository.bulkDelete([testObject], { namespace }); - - expect(client.mget).toHaveBeenCalledTimes(1); - expect(logger.error).toHaveBeenCalledTimes(1); - expect(logger.error).toHaveBeenCalledWith( - 'Unable to delete aliases when deleting an object: Oh no!' - ); - }); - }); - - describe('errors', () => { - it(`throws an error when options.namespace is '*'`, async () => { - await expect( - repository.bulkDelete([obj1], { namespace: ALL_NAMESPACES_STRING }) - ).rejects.toThrowError( - SavedObjectsErrorHelpers.createBadRequestError('"options.namespace" cannot be "*"') - ); - }); - - it(`throws an error when client bulk response is not defined`, async () => { - client.mget.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise( - getMockMgetResponse(registry, [obj1], namespace) - ) - ); - const mockedBulkResponse = undefined; - // we have to cast here to test the assumption we always get a response. - client.bulk.mockResponseOnce(mockedBulkResponse as unknown as estypes.BulkResponse); - await expect(repository.bulkDelete([obj1], { namespace })).rejects.toThrowError( - 'Unexpected error in bulkDelete saved objects: bulkDeleteResponse is undefined' - ); - }); - - it(`returns an error for the object when the object's type is invalid`, async () => { - const unknownObjType = { ...obj1, type: 'unknownType' }; - await repositoryBulkDeleteError( - unknownObjType, - false, - expectErrorInvalidType(unknownObjType) - ); - }); - - it(`returns an error for an object when the object's type is hidden`, async () => { - const hiddenObject = { ...obj1, type: HIDDEN_TYPE }; - await repositoryBulkDeleteError(hiddenObject, false, expectErrorInvalidType(hiddenObject)); - }); - - it(`returns an error when ES is unable to find the document during mget`, async () => { - const notFoundObj = { ...obj1, type: MULTI_NAMESPACE_ISOLATED_TYPE, found: false }; - const mgetResponse = getMockMgetResponse(registry, [notFoundObj], namespace); - await bulkDeleteMultiNamespaceError([obj1, notFoundObj, obj2], { namespace }, mgetResponse); - }); - - it(`returns an error when ES is unable to find the index during mget`, async () => { - const notFoundObj = { ...obj1, type: MULTI_NAMESPACE_ISOLATED_TYPE, found: false }; - await bulkDeleteMultiNamespaceError( - [obj1, notFoundObj, obj2], - { namespace }, - {} as estypes.MgetResponse, - { - statusCode: 404, - } - ); - }); - - it(`returns an error when the type is multi-namespace and the document exists, but not in this namespace`, async () => { - const obj = { - type: MULTI_NAMESPACE_ISOLATED_TYPE, - id: 'three', - namespace: 'bar-namespace', - }; - const mgetResponse = getMockMgetResponse(registry, [obj], namespace); - await bulkDeleteMultiNamespaceError([obj1, obj, obj2], { namespace }, mgetResponse); - }); - - it(`returns an error when the type is multi-namespace and the document has multiple namespaces and the force option is not enabled`, async () => { - const testObject = { ...obj1, type: MULTI_NAMESPACE_TYPE }; - const internalOptions = { - mockMGetResponseObjects: [ - { - ...testObject, - initialNamespaces: [namespace, 'bar-namespace'], - }, - ], - }; - const result = await bulkDeleteSuccess( - client, - repository, - registry, - [testObject], - { namespace }, - internalOptions - ); - expect(result.statuses[0]).toStrictEqual( - createBulkDeleteFailStatus({ - ...testObject, - error: createBadRequestErrorPayload( - 'Unable to delete saved object that exists in multiple namespaces, use the `force` option to delete it anyway' - ), - }) - ); - }); - - it(`returns an error when the type is multi-namespace and the document has all namespaces and the force option is not enabled`, async () => { - const testObject = { ...obj1, type: ALL_NAMESPACES_STRING }; - const internalOptions = { - mockMGetResponseObjects: [ - { - ...testObject, - initialNamespaces: [namespace, 'bar-namespace'], - }, - ], - }; - const result = await bulkDeleteSuccess( - client, - repository, - registry, - [testObject], - { namespace }, - internalOptions - ); - expect(result.statuses[0]).toStrictEqual( - createBulkDeleteFailStatus({ - ...testObject, - error: createBadRequestErrorPayload("Unsupported saved object type: '*'"), - }) - ); - }); - }); - - describe('returns', () => { - it(`returns early for empty objects argument`, async () => { - await repository.bulkDelete([], { namespace }); - expect(client.bulk).toHaveBeenCalledTimes(0); - }); - - it(`formats the ES response`, async () => { - const response = await bulkDeleteSuccess(client, repository, registry, [obj1, obj2], { - namespace, - }); - expect(response).toEqual({ - statuses: [obj1, obj2].map(createBulkDeleteSuccessStatus), - }); - }); - - it(`handles a mix of successful deletes and errors`, async () => { - const notFoundObj = { ...obj1, type: MULTI_NAMESPACE_ISOLATED_TYPE, found: false }; - await bulkDeleteMultiNamespaceError( - [obj1, notFoundObj, obj2], - { namespace }, - {} as estypes.MgetResponse, - { statusCode: 404 } - ); - }); - }); - }); - - describe('#checkConflicts', () => { - const obj1 = { type: 'dashboard', id: 'one' }; - const obj2 = { type: 'dashboard', id: 'two' }; - const obj3 = { type: MULTI_NAMESPACE_ISOLATED_TYPE, id: 'three' }; - const obj4 = { type: MULTI_NAMESPACE_ISOLATED_TYPE, id: 'four' }; - const obj5 = { type: MULTI_NAMESPACE_ISOLATED_TYPE, id: 'five' }; - const obj6 = { type: NAMESPACE_AGNOSTIC_TYPE, id: 'six' }; - const obj7 = { type: NAMESPACE_AGNOSTIC_TYPE, id: 'seven' }; - const namespace = 'foo-namespace'; - - const _expectClientCallArgs = ( - objects: TypeIdTuple[], - { - _index = expect.any(String), - getId = () => expect.any(String), - }: { _index?: string; getId?: (type: string, id: string) => string } - ) => { - expect(client.mget).toHaveBeenCalledWith( - expect.objectContaining({ - body: { - docs: objects.map(({ type, id }) => - expect.objectContaining({ - _index, - _id: getId(type, id), - }) - ), - }, - }), - expect.anything() - ); - }; - - describe('client calls', () => { - it(`doesn't make a cluster call if the objects array is empty`, async () => { - await checkConflicts(repository, []); - expect(client.mget).not.toHaveBeenCalled(); - }); - - it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { - const getId = (type: string, id: string) => `${namespace}:${type}:${id}`; // test that the raw document ID equals this (e.g., has a namespace prefix) - await checkConflictsSuccess(client, repository, registry, [obj1, obj2], { namespace }); - _expectClientCallArgs([obj1, obj2], { getId }); - }); - - it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { - const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) - await checkConflictsSuccess(client, repository, registry, [obj1, obj2]); - _expectClientCallArgs([obj1, obj2], { getId }); - }); - - it(`normalizes options.namespace from 'default' to undefined`, async () => { - const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) - await checkConflictsSuccess(client, repository, registry, [obj1, obj2], { - namespace: 'default', - }); - _expectClientCallArgs([obj1, obj2], { getId }); - }); - - it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { - const getId = (type: string, id: string) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) - // obj3 is multi-namespace, and obj6 is namespace-agnostic - await checkConflictsSuccess(client, repository, registry, [obj3, obj6], { namespace }); - _expectClientCallArgs([obj3, obj6], { getId }); - }); - }); - - describe('errors', () => { - it(`throws when options.namespace is '*'`, async () => { - await expect( - repository.checkConflicts([obj1], { namespace: ALL_NAMESPACES_STRING }) - ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); - }); - }); - - describe('returns', () => { - it(`expected results`, async () => { - const unknownTypeObj = { type: 'unknownType', id: 'three' }; - const hiddenTypeObj = { type: HIDDEN_TYPE, id: 'three' }; - const objects = [unknownTypeObj, hiddenTypeObj, obj1, obj2, obj3, obj4, obj5, obj6, obj7]; - const response = { - docs: [ - getMockGetResponse(registry, obj1), - { found: false }, - getMockGetResponse(registry, obj3), - getMockGetResponse(registry, { ...obj4, namespace: 'bar-namespace' }), - { found: false }, - getMockGetResponse(registry, obj6), - { found: false }, - ], - } as estypes.MgetResponse; - client.mget.mockResolvedValue( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - - const result = await checkConflicts(repository, objects); - expect(client.mget).toHaveBeenCalledTimes(1); - expect(result).toEqual({ - errors: [ - { ...unknownTypeObj, error: createUnsupportedTypeErrorPayload(unknownTypeObj.type) }, - { ...hiddenTypeObj, error: createUnsupportedTypeErrorPayload(hiddenTypeObj.type) }, - { ...obj1, error: createConflictErrorPayload(obj1.type, obj1.id) }, - // obj2 was not found so it does not result in a conflict error - { ...obj3, error: createConflictErrorPayload(obj3.type, obj3.id) }, - { - ...obj4, - error: { - ...createConflictErrorPayload(obj4.type, obj4.id), - metadata: { isNotOverwritable: true }, - }, - }, - // obj5 was not found so it does not result in a conflict error - { ...obj6, error: createConflictErrorPayload(obj6.type, obj6.id) }, - // obj7 was not found so it does not result in a conflict error - ], - }); - }); - }); - }); - - describe('#create', () => { - beforeEach(() => { - mockPreflightCheckForCreate.mockReset(); - mockPreflightCheckForCreate.mockImplementation(({ objects }) => { - return Promise.resolve(objects.map(({ type, id }) => ({ type, id }))); // respond with no errors by default - }); - client.create.mockResponseImplementation((params) => { - return { - body: { - _id: params.id, - ...mockVersionProps, - } as estypes.CreateResponse, - }; - }); - }); - - const type = 'index-pattern'; - const attributes = { title: 'Logstash' }; - const id = 'logstash-*'; - const namespace = 'foo-namespace'; - const references = [ - { - name: 'ref_0', - type: 'test', - id: '123', - }, - ]; - - const createSuccess = async ( - type: string, - attributes: T, - options?: SavedObjectsCreateOptions - ) => { - return await repository.create(type, attributes, options); - }; - - describe('client calls', () => { - it(`should use the ES index action if ID is not defined`, async () => { - await createSuccess(type, attributes, { overwrite: true }); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.index).toHaveBeenCalled(); - }); - - it(`should use the ES index action if ID is not defined and a doc has managed=true`, async () => { - await createSuccess(type, attributes, { overwrite: true, managed: true }); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.index).toHaveBeenCalled(); - }); - - it(`should use the ES index action if ID is not defined and a doc has managed=false`, async () => { - await createSuccess(type, attributes, { overwrite: true, managed: false }); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.index).toHaveBeenCalled(); - }); - - it(`should use the ES create action if ID is not defined and overwrite=false`, async () => { - await createSuccess(type, attributes); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.create).toHaveBeenCalled(); - }); - - it(`should use the ES create action if ID is not defined, overwrite=false and a doc has managed=true`, async () => { - await createSuccess(type, attributes, { managed: true }); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.create).toHaveBeenCalled(); - }); - - it(`should use the ES create action if ID is not defined, overwrite=false and a doc has managed=false`, async () => { - await createSuccess(type, attributes, { managed: false }); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.create).toHaveBeenCalled(); - }); - - it(`should use the ES index with version if ID and version are defined and overwrite=true`, async () => { - await createSuccess(type, attributes, { id, overwrite: true, version: mockVersion }); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.index).toHaveBeenCalled(); - expect(client.index.mock.calls[0][0]).toMatchObject({ - if_seq_no: mockVersionProps._seq_no, - if_primary_term: mockVersionProps._primary_term, - }); - }); - - it(`should use the ES create action if ID is defined and overwrite=false`, async () => { - await createSuccess(type, attributes, { id }); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.create).toHaveBeenCalled(); - }); - - it(`should use the preflightCheckForCreate action then create action if type is multi-namespace, ID is defined, and overwrite=false`, async () => { - await createSuccess(MULTI_NAMESPACE_TYPE, attributes, { id }); - expect(mockPreflightCheckForCreate).toHaveBeenCalled(); - expect(mockPreflightCheckForCreate).toHaveBeenCalledWith( - expect.objectContaining({ - objects: [ - { type: MULTI_NAMESPACE_TYPE, id, overwrite: false, namespaces: ['default'] }, - ], - }) - ); - expect(client.create).toHaveBeenCalled(); - }); - - it(`should use the preflightCheckForCreate action then index action if type is multi-namespace, ID is defined, and overwrite=true`, async () => { - await createSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { id, overwrite: true }); - expect(mockPreflightCheckForCreate).toHaveBeenCalled(); - expect(mockPreflightCheckForCreate).toHaveBeenCalledWith( - expect.objectContaining({ - objects: [ - { type: MULTI_NAMESPACE_ISOLATED_TYPE, id, overwrite: true, namespaces: ['default'] }, - ], - }) - ); - expect(client.index).toHaveBeenCalled(); - }); - - it(`defaults to empty references array`, async () => { - await createSuccess(type, attributes, { id }); - expect( - (client.create.mock.calls[0][0] as estypes.CreateRequest).body! - .references - ).toEqual([]); - }); - - it(`accepts custom references array`, async () => { - const test = async (references: SavedObjectReference[]) => { - await createSuccess(type, attributes, { id, references }); - expect( - (client.create.mock.calls[0][0] as estypes.CreateRequest) - .body!.references - ).toEqual(references); - client.create.mockClear(); - }; - await test(references); - await test([{ type: 'type', id: 'id', name: 'some ref' }]); - await test([]); - }); - - it(`doesn't accept custom references if not an array`, async () => { - const test = async (references: unknown) => { - // @ts-expect-error references is unknown - await createSuccess(type, attributes, { id, references }); - expect( - (client.create.mock.calls[0][0] as estypes.CreateRequest) - .body!.references - ).not.toBeDefined(); - client.create.mockClear(); - }; - await test('string'); - await test(123); - await test(true); - await test(null); - }); - - describe('originId', () => { - for (const objType of [type, NAMESPACE_AGNOSTIC_TYPE]) { - it(`throws an error if originId is set for non-multi-namespace type`, async () => { - await expect( - repository.create(objType, attributes, { originId: 'some-originId' }) - ).rejects.toThrowError( - createBadRequestErrorPayload( - '"originId" can only be set for multi-namespace object types' - ) - ); - }); - } - - for (const objType of [MULTI_NAMESPACE_TYPE, MULTI_NAMESPACE_ISOLATED_TYPE]) { - it(`${objType} defaults to no originId`, async () => { - await createSuccess(objType, attributes, { id }); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ - body: expect.not.objectContaining({ originId: expect.anything() }), - }), - expect.anything() - ); - }); - - describe(`${objType} with existing originId`, () => { - beforeEach(() => { - mockPreflightCheckForCreate.mockImplementation(({ objects }) => { - const existingDocument = { - _source: { originId: 'existing-originId' }, - } as SavedObjectsRawDoc; - return Promise.resolve( - objects.map(({ type, id }) => ({ type, id, existingDocument })) - ); - }); - }); - - it(`accepts custom originId for multi-namespace type`, async () => { - // The preflight result has `existing-originId`, but that is discarded - await createSuccess(objType, attributes, { id, originId: 'some-originId' }); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ - body: expect.objectContaining({ originId: 'some-originId' }), - }), - expect.anything() - ); - }); - - it(`accepts undefined originId`, async () => { - // The preflight result has `existing-originId`, but that is discarded - await createSuccess(objType, attributes, { id, originId: undefined }); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ - body: expect.not.objectContaining({ originId: expect.anything() }), - }), - expect.anything() - ); - }); - - it(`preserves existing originId if originId option is not set`, async () => { - await createSuccess(objType, attributes, { id }); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ - body: expect.objectContaining({ originId: 'existing-originId' }), - }), - expect.anything() - ); - }); - }); - } - }); - - it(`defaults to a refresh setting of wait_for`, async () => { - await createSuccess(type, attributes); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ refresh: 'wait_for' }), - expect.anything() - ); - }); - - it(`should use default index`, async () => { - await createSuccess(type, attributes, { id }); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ index: '.kibana-test_8.0.0-testing' }), - expect.anything() - ); - }); - - it(`should use custom index`, async () => { - await createSuccess(CUSTOM_INDEX_TYPE, attributes, { id }); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ index: 'custom_8.0.0-testing' }), - expect.anything() - ); - }); - - it(`self-generates an id if none is provided`, async () => { - await createSuccess(type, attributes); - expect(client.create).toHaveBeenNthCalledWith( - 1, - expect.objectContaining({ - id: expect.objectContaining(/index-pattern:[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}/), - }), - expect.anything() - ); - await createSuccess(type, attributes, { id: '' }); - expect(client.create).toHaveBeenNthCalledWith( - 2, - expect.objectContaining({ - id: expect.objectContaining(/index-pattern:[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}/), - }), - expect.anything() - ); - }); - - it(`prepends namespace to the id and adds namespace to the body when providing namespace for single-namespace type`, async () => { - await createSuccess(type, attributes, { id, namespace }); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${namespace}:${type}:${id}`, - body: expect.objectContaining({ namespace }), - }), - expect.anything() - ); - }); - - it(`doesn't prepend namespace to the id or add namespace to the body when providing no namespace for single-namespace type`, async () => { - await createSuccess(type, attributes, { id }); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${type}:${id}`, - body: expect.not.objectContaining({ namespace: expect.anything() }), - }), - expect.anything() - ); - }); - - it(`normalizes options.namespace from 'default' to undefined`, async () => { - await createSuccess(type, attributes, { id, namespace: 'default' }); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${type}:${id}`, - body: expect.not.objectContaining({ namespace: expect.anything() }), - }), - expect.anything() - ); - }); - - it(`doesn't prepend namespace to the id and adds namespaces to body when using multi-namespace type`, async () => { - // first object does not have an existing document to overwrite - await createSuccess(MULTI_NAMESPACE_TYPE, attributes, { id, namespace }); - mockPreflightCheckForCreate.mockResolvedValueOnce([ - { - type: MULTI_NAMESPACE_TYPE, - id, - existingDocument: { - _id: id, - _source: { type: MULTI_NAMESPACE_TYPE, namespaces: ['*'] }, - }, // second object does have an existing document to overwrite - }, - ]); - await createSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { - id, - namespace, - overwrite: true, - }); - - expect(mockPreflightCheckForCreate).toHaveBeenCalledTimes(2); - expect(mockPreflightCheckForCreate).toHaveBeenNthCalledWith( - 1, - expect.objectContaining({ - objects: [ - { type: MULTI_NAMESPACE_TYPE, id, overwrite: false, namespaces: [namespace] }, - ], - }) - ); - expect(mockPreflightCheckForCreate).toHaveBeenNthCalledWith( - 2, - expect.objectContaining({ - objects: [ - { type: MULTI_NAMESPACE_ISOLATED_TYPE, id, overwrite: true, namespaces: [namespace] }, - ], - }) - ); - - expect(client.create).toHaveBeenCalledTimes(1); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${MULTI_NAMESPACE_TYPE}:${id}`, - body: expect.objectContaining({ namespaces: [namespace] }), - }), - expect.anything() - ); - expect(client.index).toHaveBeenCalledTimes(1); - expect(client.index).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${id}`, - body: expect.objectContaining({ namespaces: ['*'] }), - }), - expect.anything() - ); - }); - - it(`adds initialNamespaces instead of namespace`, async () => { - const ns2 = 'bar-namespace'; - const ns3 = 'baz-namespace'; - // first object does not get passed in to preflightCheckForCreate at all - await repository.create('dashboard', attributes, { - id, - namespace, - initialNamespaces: [ns2], - }); - // second object does not have an existing document to overwrite - await repository.create(MULTI_NAMESPACE_TYPE, attributes, { - id, - namespace, - initialNamespaces: [ns2, ns3], - }); - mockPreflightCheckForCreate.mockResolvedValueOnce([ - { - type: MULTI_NAMESPACE_ISOLATED_TYPE, - id, - existingDocument: { - _id: id, - _source: { type: MULTI_NAMESPACE_ISOLATED_TYPE, namespaces: ['something-else'] }, - }, // third object does have an existing document to overwrite - }, - ]); - await repository.create(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { - id, - namespace, - initialNamespaces: [ns2], - overwrite: true, - }); - - expect(mockPreflightCheckForCreate).toHaveBeenCalledTimes(2); - expect(mockPreflightCheckForCreate).toHaveBeenNthCalledWith( - 1, - expect.objectContaining({ - objects: [{ type: MULTI_NAMESPACE_TYPE, id, overwrite: false, namespaces: [ns2, ns3] }], - }) - ); - expect(mockPreflightCheckForCreate).toHaveBeenNthCalledWith( - 2, - expect.objectContaining({ - objects: [ - { type: MULTI_NAMESPACE_ISOLATED_TYPE, id, overwrite: true, namespaces: [ns2] }, - ], - }) - ); - - expect(client.create).toHaveBeenCalledTimes(2); - expect(client.create).toHaveBeenNthCalledWith( - 1, - expect.objectContaining({ - id: `${ns2}:dashboard:${id}`, - body: expect.objectContaining({ namespace: ns2 }), - }), - expect.anything() - ); - expect(client.create).toHaveBeenNthCalledWith( - 2, - expect.objectContaining({ - id: `${MULTI_NAMESPACE_TYPE}:${id}`, - body: expect.objectContaining({ namespaces: [ns2, ns3] }), - }), - expect.anything() - ); - expect(client.index).toHaveBeenCalledTimes(1); - expect(client.index).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${id}`, - body: expect.objectContaining({ namespaces: [ns2] }), - }), - expect.anything() - ); - }); - - it(`normalizes initialNamespaces from 'default' to undefined`, async () => { - await repository.create('dashboard', attributes, { - id, - namespace, - initialNamespaces: ['default'], - }); - - expect(client.create).toHaveBeenCalledTimes(1); - expect(client.create).toHaveBeenNthCalledWith( - 1, - expect.objectContaining({ - id: `dashboard:${id}`, - body: expect.not.objectContaining({ namespace: 'default' }), - }), - expect.anything() - ); - }); - - it(`doesn't prepend namespace to the id or add namespace or namespaces fields when using namespace-agnostic type`, async () => { - await createSuccess(NAMESPACE_AGNOSTIC_TYPE, attributes, { id, namespace }); - expect(client.create).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${NAMESPACE_AGNOSTIC_TYPE}:${id}`, - body: expect.not.objectContaining({ - namespace: expect.anything(), - namespaces: expect.anything(), - }), - }), - expect.anything() - ); - }); - }); - - describe('errors', () => { - it(`throws when options.initialNamespaces is used with a space-agnostic object`, async () => { - await expect( - repository.create(NAMESPACE_AGNOSTIC_TYPE, attributes, { - initialNamespaces: [namespace], - }) - ).rejects.toThrowError( - createBadRequestErrorPayload('"initialNamespaces" cannot be used on space-agnostic types') - ); - }); - - it(`throws when options.initialNamespaces is empty`, async () => { - await expect( - repository.create(MULTI_NAMESPACE_TYPE, attributes, { initialNamespaces: [] }) - ).rejects.toThrowError( - createBadRequestErrorPayload('"initialNamespaces" must be a non-empty array of strings') - ); - }); - - it(`throws when options.initialNamespaces is used with a space-isolated object and does not specify a single space`, async () => { - const doTest = async (objType: string, initialNamespaces?: string[]) => { - await expect( - repository.create(objType, attributes, { initialNamespaces }) - ).rejects.toThrowError( - createBadRequestErrorPayload( - '"initialNamespaces" can only specify a single space when used with space-isolated types' - ) - ); - }; - await doTest('dashboard', ['spacex', 'spacey']); - await doTest('dashboard', ['*']); - await doTest(MULTI_NAMESPACE_ISOLATED_TYPE, ['spacex', 'spacey']); - await doTest(MULTI_NAMESPACE_ISOLATED_TYPE, ['*']); - }); - - it(`throws when options.namespace is '*'`, async () => { - await expect( - repository.create(type, attributes, { namespace: ALL_NAMESPACES_STRING }) - ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); - }); - - it(`throws when type is invalid`, async () => { - await expect(repository.create('unknownType', attributes)).rejects.toThrowError( - createUnsupportedTypeErrorPayload('unknownType') - ); - expect(client.create).not.toHaveBeenCalled(); - }); - - it(`throws when type is hidden`, async () => { - await expect(repository.create(HIDDEN_TYPE, attributes)).rejects.toThrowError( - createUnsupportedTypeErrorPayload(HIDDEN_TYPE) - ); - expect(client.create).not.toHaveBeenCalled(); - }); - - it(`throws when schema validation fails`, async () => { - await expect( - repository.create('dashboard', { title: 123 }) - ).rejects.toThrowErrorMatchingInlineSnapshot( - `"[attributes.title]: expected value of type [string] but got [number]: Bad Request"` - ); - expect(client.create).not.toHaveBeenCalled(); - }); - - it(`throws when there is a conflict from preflightCheckForCreate`, async () => { - mockPreflightCheckForCreate.mockResolvedValueOnce([ - { type: MULTI_NAMESPACE_ISOLATED_TYPE, id, error: { type: 'unresolvableConflict' } }, // error type and metadata dont matter - ]); - await expect( - repository.create(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { - id, - overwrite: true, - namespace, - }) - ).rejects.toThrowError(createConflictErrorPayload(MULTI_NAMESPACE_ISOLATED_TYPE, id)); - expect(mockPreflightCheckForCreate).toHaveBeenCalled(); - }); - - it.todo(`throws when automatic index creation fails`); - - it.todo(`throws when an unexpected failure occurs`); - }); - - describe('migration', () => { - beforeEach(() => { - migrator.migrateDocument.mockImplementation(mockMigrateDocument); - }); - - it(`migrates a document and serializes the migrated doc`, async () => { - const migrationVersion = mockMigrationVersion; - const coreMigrationVersion = '8.0.0'; - const managed = false; - await createSuccess(type, attributes, { - id, - references, - migrationVersion, - coreMigrationVersion, - managed, - }); - const doc = { - type, - id, - attributes, - references, - managed, - migrationVersion, - coreMigrationVersion, - ...mockTimestampFieldsWithCreated, - }; - expectMigrationArgs(doc); - - const migratedDoc = migrator.migrateDocument(doc); - expect(serializer.savedObjectToRaw).toHaveBeenLastCalledWith(migratedDoc); - }); - - it(`migrates a document, adds managed=false and serializes the migrated doc`, async () => { - const migrationVersion = mockMigrationVersion; - const coreMigrationVersion = '8.0.0'; - await createSuccess(type, attributes, { - id, - references, - migrationVersion, - coreMigrationVersion, - managed: undefined, - }); - const doc = { - type, - id, - attributes, - references, - managed: undefined, - migrationVersion, - coreMigrationVersion, - ...mockTimestampFieldsWithCreated, - }; - expectMigrationArgs({ ...doc, managed: false }); - - const migratedDoc = migrator.migrateDocument(doc); - expect(migratedDoc.managed).toBe(false); - expect(serializer.savedObjectToRaw).toHaveBeenLastCalledWith(migratedDoc); - }); - - it(`migrates a document, does not change managed=true to managed=false and serializes the migrated doc`, async () => { - const migrationVersion = mockMigrationVersion; - const coreMigrationVersion = '8.0.0'; - await createSuccess(type, attributes, { - id, - references, - migrationVersion, - coreMigrationVersion, - managed: true, - }); - const doc = { - type, - id, - attributes, - references, - managed: true, - migrationVersion, - coreMigrationVersion, - ...mockTimestampFieldsWithCreated, - }; - expectMigrationArgs(doc); - - const migratedDoc = migrator.migrateDocument(doc); - expect(migratedDoc.managed).toBe(true); - expect(serializer.savedObjectToRaw).toHaveBeenLastCalledWith(migratedDoc); - }); - - it(`adds namespace to body when providing namespace for single-namespace type`, async () => { - await createSuccess(type, attributes, { id, namespace }); - expectMigrationArgs({ namespace }); - }); - - it(`doesn't add namespace to body when providing no namespace for single-namespace type`, async () => { - await createSuccess(type, attributes, { id }); - expectMigrationArgs({ namespace: expect.anything() }, false); - }); - - it(`doesn't add namespace to body when not using single-namespace type`, async () => { - await createSuccess(NAMESPACE_AGNOSTIC_TYPE, attributes, { id, namespace }); - expectMigrationArgs({ namespace: expect.anything() }, false, 1); - - client.create.mockClear(); - await createSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { id }); - expectMigrationArgs({ namespace: expect.anything() }, false, 2); - }); - - it(`adds namespaces to body when providing namespace for multi-namespace type`, async () => { - await createSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { id, namespace }); - expectMigrationArgs({ namespaces: [namespace] }); - }); - - it(`adds default namespaces to body when providing no namespace for multi-namespace type`, async () => { - await createSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, attributes, { id }); - expectMigrationArgs({ namespaces: ['default'] }); - }); - - it(`doesn't add namespaces to body when not using multi-namespace type`, async () => { - await createSuccess(type, attributes, { id }); - expectMigrationArgs({ namespaces: expect.anything() }, false, 1); - - client.create.mockClear(); - await createSuccess(NAMESPACE_AGNOSTIC_TYPE, attributes, { id }); - expectMigrationArgs({ namespaces: expect.anything() }, false, 2); - }); - }); - - describe('returns', () => { - it(`formats the ES response`, async () => { - const result = await createSuccess(MULTI_NAMESPACE_TYPE, attributes, { - id, - namespace, - references, - }); - expect(result).toEqual({ - type: MULTI_NAMESPACE_TYPE, - id, - ...mockTimestampFieldsWithCreated, - version: mockVersion, - attributes, - references, - namespaces: [namespace ?? 'default'], - coreMigrationVersion: expect.any(String), - typeMigrationVersion: '1.1.1', - managed: false, - }); - }); - it(`allows setting 'managed' to true`, async () => { - const result = await createSuccess(MULTI_NAMESPACE_TYPE, attributes, { - id, - namespace, - references, - managed: true, - }); - expect(result).toEqual({ - type: MULTI_NAMESPACE_TYPE, - id, - ...mockTimestampFieldsWithCreated, - version: mockVersion, - attributes, - references, - namespaces: [namespace ?? 'default'], - coreMigrationVersion: expect.any(String), - typeMigrationVersion: '1.1.1', - managed: true, - }); - }); - }); - }); - - describe('#delete', () => { - const type = 'index-pattern'; - const id = 'logstash-*'; - const namespace = 'foo-namespace'; - - beforeEach(() => { - mockDeleteLegacyUrlAliases.mockClear(); - mockDeleteLegacyUrlAliases.mockResolvedValue(); - }); - - describe('client calls', () => { - it(`should use the ES delete action when not using a multi-namespace type`, async () => { - await deleteSuccess(client, repository, registry, type, id); - expect(client.get).not.toHaveBeenCalled(); - expect(client.delete).toHaveBeenCalledTimes(1); - }); - - it(`should use ES get action then delete action when using a multi-namespace type`, async () => { - await deleteSuccess(client, repository, registry, MULTI_NAMESPACE_ISOLATED_TYPE, id); - expect(client.get).toHaveBeenCalledTimes(1); - expect(client.delete).toHaveBeenCalledTimes(1); - }); - - it(`does not includes the version of the existing document when using a multi-namespace type`, async () => { - await deleteSuccess(client, repository, registry, MULTI_NAMESPACE_ISOLATED_TYPE, id); - const versionProperties = { - if_seq_no: mockVersionProps._seq_no, - if_primary_term: mockVersionProps._primary_term, - }; - expect(client.delete).toHaveBeenCalledWith( - expect.not.objectContaining(versionProperties), - expect.anything() - ); - }); - - it(`defaults to a refresh setting of wait_for`, async () => { - await deleteSuccess(client, repository, registry, type, id); - expect(client.delete).toHaveBeenCalledWith( - expect.objectContaining({ refresh: 'wait_for' }), - expect.anything() - ); - }); - - it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { - await deleteSuccess(client, repository, registry, type, id, { namespace }); - expect(client.delete).toHaveBeenCalledWith( - expect.objectContaining({ id: `${namespace}:${type}:${id}` }), - expect.anything() - ); - }); - - it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { - await deleteSuccess(client, repository, registry, type, id); - expect(client.delete).toHaveBeenCalledWith( - expect.objectContaining({ id: `${type}:${id}` }), - expect.anything() - ); - }); - - it(`normalizes options.namespace from 'default' to undefined`, async () => { - await deleteSuccess(client, repository, registry, type, id, { namespace: 'default' }); - expect(client.delete).toHaveBeenCalledWith( - expect.objectContaining({ id: `${type}:${id}` }), - expect.anything() - ); - }); - - it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { - await deleteSuccess(client, repository, registry, NAMESPACE_AGNOSTIC_TYPE, id, { - namespace, - }); - expect(client.delete).toHaveBeenCalledWith( - expect.objectContaining({ id: `${NAMESPACE_AGNOSTIC_TYPE}:${id}` }), - expect.anything() - ); - - client.delete.mockClear(); - await deleteSuccess(client, repository, registry, MULTI_NAMESPACE_ISOLATED_TYPE, id, { - namespace, - }); - expect(client.delete).toHaveBeenCalledWith( - expect.objectContaining({ id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${id}` }), - expect.anything() - ); - }); - }); - - describe('legacy URL aliases', () => { - it(`doesn't delete legacy URL aliases for single-namespace object types`, async () => { - await deleteSuccess(client, repository, registry, type, id, { namespace }); - expect(mockDeleteLegacyUrlAliases).not.toHaveBeenCalled(); - }); - - // We intentionally do not include a test case for a multi-namespace object with a "not found" preflight result, because that throws - // an error (without deleting aliases) and we already have a test case for that - - it(`deletes legacy URL aliases for multi-namespace object types (all spaces)`, async () => { - const internalOptions = { - mockGetResponseValue: getMockGetResponse( - registry, - { type: MULTI_NAMESPACE_TYPE, id }, - ALL_NAMESPACES_STRING - ), - }; - await deleteSuccess( - client, - repository, - registry, - MULTI_NAMESPACE_TYPE, - id, - { namespace, force: true }, - internalOptions - ); - expect(mockDeleteLegacyUrlAliases).toHaveBeenCalledWith( - expect.objectContaining({ - type: MULTI_NAMESPACE_TYPE, - id, - namespaces: [], - deleteBehavior: 'exclusive', - }) - ); - }); - - it(`deletes legacy URL aliases for multi-namespace object types (specific spaces)`, async () => { - await deleteSuccess(client, repository, registry, MULTI_NAMESPACE_TYPE, id, { namespace }); // this function mocks a preflight response with the given namespace by default - expect(mockDeleteLegacyUrlAliases).toHaveBeenCalledWith( - expect.objectContaining({ - type: MULTI_NAMESPACE_TYPE, - id, - namespaces: [namespace], - deleteBehavior: 'inclusive', - }) - ); - }); - - it(`logs a message when deleteLegacyUrlAliases returns an error`, async () => { - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise( - getMockGetResponse(registry, { type: MULTI_NAMESPACE_ISOLATED_TYPE, id, namespace }) - ) - ); - client.delete.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise({ - result: 'deleted', - } as estypes.DeleteResponse) - ); - mockDeleteLegacyUrlAliases.mockRejectedValueOnce(new Error('Oh no!')); - await repository.delete(MULTI_NAMESPACE_ISOLATED_TYPE, id, { namespace }); - expect(client.get).toHaveBeenCalledTimes(1); - expect(logger.error).toHaveBeenCalledTimes(1); - expect(logger.error).toHaveBeenCalledWith( - 'Unable to delete aliases when deleting an object: Oh no!' - ); - }); - }); - - describe('errors', () => { - const expectNotFoundError = async ( - type: string, - id: string, - options?: SavedObjectsDeleteOptions - ) => { - await expect(repository.delete(type, id, options)).rejects.toThrowError( - createGenericNotFoundErrorPayload(type, id) - ); - }; - - it(`throws when options.namespace is '*'`, async () => { - await expect( - repository.delete(type, id, { namespace: ALL_NAMESPACES_STRING }) - ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); - }); - - it(`throws when type is invalid`, async () => { - await expectNotFoundError('unknownType', id); - expect(client.delete).not.toHaveBeenCalled(); - }); - - it(`throws when type is hidden`, async () => { - await expectNotFoundError(HIDDEN_TYPE, id); - expect(client.delete).not.toHaveBeenCalled(); - }); - - it(`throws when ES is unable to find the document during get`, async () => { - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise({ - found: false, - } as estypes.GetResponse) - ); - await expectNotFoundError(MULTI_NAMESPACE_ISOLATED_TYPE, id); - expect(client.get).toHaveBeenCalledTimes(1); - }); - - it(`throws when ES is unable to find the index during get`, async () => { - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise({} as estypes.GetResponse, { - statusCode: 404, - }) - ); - await expectNotFoundError(MULTI_NAMESPACE_ISOLATED_TYPE, id); - expect(client.get).toHaveBeenCalledTimes(1); - }); - - it(`throws when the type is multi-namespace and the document exists, but not in this namespace`, async () => { - const response = getMockGetResponse( - registry, - { type: MULTI_NAMESPACE_ISOLATED_TYPE, id }, - namespace - ); - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - await expectNotFoundError(MULTI_NAMESPACE_ISOLATED_TYPE, id, { - namespace: 'bar-namespace', - }); - expect(client.get).toHaveBeenCalledTimes(1); - }); - - it(`throws when the type is multi-namespace and the document has multiple namespaces and the force option is not enabled`, async () => { - const response = getMockGetResponse(registry, { - type: MULTI_NAMESPACE_ISOLATED_TYPE, - id, - namespace, - }); - response._source!.namespaces = [namespace, 'bar-namespace']; - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - await expect( - repository.delete(MULTI_NAMESPACE_ISOLATED_TYPE, id, { namespace }) - ).rejects.toThrowError( - 'Unable to delete saved object that exists in multiple namespaces, use the `force` option to delete it anyway' - ); - expect(client.get).toHaveBeenCalledTimes(1); - }); - - it(`throws when the type is multi-namespace and the document has all namespaces and the force option is not enabled`, async () => { - const response = getMockGetResponse(registry, { - type: MULTI_NAMESPACE_ISOLATED_TYPE, - id, - namespace, - }); - response._source!.namespaces = ['*']; - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - await expect( - repository.delete(MULTI_NAMESPACE_ISOLATED_TYPE, id, { namespace }) - ).rejects.toThrowError( - 'Unable to delete saved object that exists in multiple namespaces, use the `force` option to delete it anyway' - ); - expect(client.get).toHaveBeenCalledTimes(1); - }); - - it(`throws when ES is unable to find the document during delete`, async () => { - client.delete.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise({ - result: 'not_found', - } as estypes.DeleteResponse) - ); - await expectNotFoundError(type, id); - expect(client.delete).toHaveBeenCalledTimes(1); - }); - - it(`throws when ES is unable to find the index during delete`, async () => { - client.delete.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise({ - // @elastic/elasticsearch doesn't declare error on DeleteResponse - error: { type: 'index_not_found_exception' }, - } as unknown as estypes.DeleteResponse) - ); - await expectNotFoundError(type, id); - expect(client.delete).toHaveBeenCalledTimes(1); - }); - - it(`throws when ES returns an unexpected response`, async () => { - client.delete.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise({ - result: 'something unexpected' as estypes.Result, - } as estypes.DeleteResponse) - ); - await expect(repository.delete(type, id)).rejects.toThrowError( - 'Unexpected Elasticsearch DELETE response' - ); - expect(client.delete).toHaveBeenCalledTimes(1); - }); - }); - - describe('returns', () => { - it(`returns an empty object on success`, async () => { - const result = await deleteSuccess(client, repository, registry, type, id); - expect(result).toEqual({}); - }); - }); - }); - - describe('#deleteByNamespace', () => { - const namespace = 'foo-namespace'; - const mockUpdateResults = { - took: 15, - timed_out: false, - total: 3, - updated: 2, - deleted: 1, - batches: 1, - version_conflicts: 0, - noops: 0, - retries: { bulk: 0, search: 0 }, - throttled_millis: 0, - requests_per_second: -1.0, - throttled_until_millis: 0, - failures: [], - }; - - const deleteByNamespaceSuccess = async ( - namespace: string, - options?: SavedObjectsDeleteByNamespaceOptions - ) => { - client.updateByQuery.mockResponseOnce(mockUpdateResults); - const result = await repository.deleteByNamespace(namespace, options); - expect(mockGetSearchDsl).toHaveBeenCalledTimes(1); - expect(client.updateByQuery).toHaveBeenCalledTimes(1); - return result; - }; - - describe('client calls', () => { - it(`should use the ES updateByQuery action`, async () => { - await deleteByNamespaceSuccess(namespace); - expect(client.updateByQuery).toHaveBeenCalledTimes(1); - }); - - it(`should use all indices for types that are not namespace-agnostic`, async () => { - await deleteByNamespaceSuccess(namespace); - expect(client.updateByQuery).toHaveBeenCalledWith( - expect.objectContaining({ - index: ['.kibana-test_8.0.0-testing', 'custom_8.0.0-testing'], - }), - expect.anything() - ); - }); - }); - - describe('errors', () => { - it(`throws when namespace is not a string or is '*'`, async () => { - const test = async (namespace: unknown) => { - // @ts-expect-error namespace is unknown - await expect(repository.deleteByNamespace(namespace)).rejects.toThrowError( - `namespace is required, and must be a string` - ); - expect(client.updateByQuery).not.toHaveBeenCalled(); - }; - await test(undefined); - await test(['namespace']); - await test(123); - await test(true); - await test(ALL_NAMESPACES_STRING); - }); - }); - - describe('returns', () => { - it(`returns the query results on success`, async () => { - const result = await deleteByNamespaceSuccess(namespace); - expect(result).toEqual(mockUpdateResults); - }); - }); - - describe('search dsl', () => { - it(`constructs a query using all multi-namespace types, and another using all single-namespace types`, async () => { - await deleteByNamespaceSuccess(namespace); - const allTypes = registry.getAllTypes().map((type) => type.name); - expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, { - namespaces: [namespace], - type: [ - ...allTypes.filter((type) => !registry.isNamespaceAgnostic(type)), - LEGACY_URL_ALIAS_TYPE, - ], - kueryNode: expect.anything(), - }); - }); - }); - }); - - describe('#removeReferencesTo', () => { - const type = 'type'; - const id = 'id'; - const defaultOptions = {}; - const updatedCount = 42; - - describe('client calls', () => { - it('should use the ES updateByQuery action', async () => { - await removeReferencesToSuccess(client, repository, type, id); - expect(client.updateByQuery).toHaveBeenCalledTimes(1); - }); - - it('uses the correct default `refresh` value', async () => { - await removeReferencesToSuccess(client, repository, type, id); - expect(client.updateByQuery).toHaveBeenCalledWith( - expect.objectContaining({ - refresh: true, - }), - expect.any(Object) - ); - }); - - it('merges output of getSearchDsl into es request body', async () => { - const query = { query: 1, aggregations: 2 }; - mockGetSearchDsl.mockReturnValue(query); - await removeReferencesToSuccess(client, repository, type, id, { type }); - - expect(client.updateByQuery).toHaveBeenCalledWith( - expect.objectContaining({ - body: expect.objectContaining({ ...query }), - }), - expect.anything() - ); - }); - - it('should set index to all known SO indices on the request', async () => { - await removeReferencesToSuccess(client, repository, type, id); - expect(client.updateByQuery).toHaveBeenCalledWith( - expect.objectContaining({ - index: ['.kibana-test_8.0.0-testing', 'custom_8.0.0-testing'], - }), - expect.anything() - ); - }); - - it('should use the `refresh` option in the request', async () => { - const refresh = Symbol(); - - await removeReferencesToSuccess(client, repository, type, id, { refresh }); - expect(client.updateByQuery).toHaveBeenCalledWith( - expect.objectContaining({ - refresh, - }), - expect.anything() - ); - }); - - it('should pass the correct parameters to the update script', async () => { - await removeReferencesToSuccess(client, repository, type, id); - expect(client.updateByQuery).toHaveBeenCalledWith( - expect.objectContaining({ - body: expect.objectContaining({ - script: expect.objectContaining({ - params: { - type, - id, - }, - }), - }), - }), - expect.anything() - ); - }); - }); - - describe('search dsl', () => { - it(`passes mappings and registry to getSearchDsl`, async () => { - await removeReferencesToSuccess(client, repository, type, id); - expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, expect.anything()); - }); - - it('passes namespace to getSearchDsl', async () => { - await removeReferencesToSuccess(client, repository, type, id, { namespace: 'some-ns' }); - expect(mockGetSearchDsl).toHaveBeenCalledWith( - mappings, - registry, - expect.objectContaining({ - namespaces: ['some-ns'], - }) - ); - }); - - it('passes hasReference to getSearchDsl', async () => { - await removeReferencesToSuccess(client, repository, type, id); - expect(mockGetSearchDsl).toHaveBeenCalledWith( - mappings, - registry, - expect.objectContaining({ - hasReference: { - type, - id, - }, - }) - ); - }); - - it('passes all known types to getSearchDsl', async () => { - await removeReferencesToSuccess(client, repository, type, id); - expect(mockGetSearchDsl).toHaveBeenCalledWith( - mappings, - registry, - expect.objectContaining({ - type: registry.getAllTypes().map((type) => type.name), - }) - ); - }); - }); - - describe('returns', () => { - it('returns the updated count from the ES response', async () => { - const response = await removeReferencesToSuccess(client, repository, type, id); - expect(response.updated).toBe(updatedCount); - }); - }); - - describe('errors', () => { - it(`throws when ES returns failures`, async () => { - client.updateByQuery.mockResponseOnce({ - updated: 7, - failures: [ - { id: 'failure' } as estypes.BulkIndexByScrollFailure, - { id: 'another-failure' } as estypes.BulkIndexByScrollFailure, - ], - }); - - await expect(repository.removeReferencesTo(type, id, defaultOptions)).rejects.toThrowError( - createConflictErrorPayload(type, id) - ); - }); - }); - }); - - describe('#find', () => { - const type = 'index-pattern'; - const namespace = 'foo-namespace'; - - describe('client calls', () => { - it(`should use the ES search action`, async () => { - await findSuccess(client, repository, { type }); - expect(client.search).toHaveBeenCalledTimes(1); - }); - - it(`merges output of getSearchDsl into es request body`, async () => { - const query = { query: 1, aggregations: 2 }; - mockGetSearchDsl.mockReturnValue(query); - await findSuccess(client, repository, { type }); - - expect(client.search).toHaveBeenCalledWith( - expect.objectContaining({ - body: expect.objectContaining({ ...query }), - }), - expect.anything() - ); - }); - - it(`accepts per_page/page`, async () => { - await findSuccess(client, repository, { type, perPage: 10, page: 6 }); - expect(client.search).toHaveBeenCalledWith( - expect.objectContaining({ - size: 10, - from: 50, - }), - expect.anything() - ); - }); - - it(`accepts preference`, async () => { - await findSuccess(client, repository, { type, preference: 'pref' }); - expect(client.search).toHaveBeenCalledWith( - expect.objectContaining({ - preference: 'pref', - }), - expect.anything() - ); - }); - - it(`can filter by fields`, async () => { - await findSuccess(client, repository, { type, fields: ['title'] }); - expect(client.search).toHaveBeenCalledWith( - expect.objectContaining({ - body: expect.objectContaining({ - _source: [ - `${type}.title`, - 'namespace', - 'namespaces', - 'type', - 'references', - 'migrationVersion', - 'coreMigrationVersion', - 'typeMigrationVersion', - 'managed', - 'updated_at', - 'created_at', - 'originId', - ], - }), - }), - expect.anything() - ); - }); - - it(`should set rest_total_hits_as_int to true on a request`, async () => { - await findSuccess(client, repository, { type }); - expect(client.search).toHaveBeenCalledWith( - expect.objectContaining({ - rest_total_hits_as_int: true, - }), - expect.anything() - ); - }); - - it(`should not make a client call when attempting to find only invalid or hidden types`, async () => { - const test = async (types: string | string[]) => { - await repository.find({ type: types }); - expect(client.search).not.toHaveBeenCalled(); - }; - - await test('unknownType'); - await test(HIDDEN_TYPE); - await test(['unknownType', HIDDEN_TYPE]); - }); - }); - - describe('errors', () => { - it(`throws when type is not defined`, async () => { - // @ts-expect-error type should be defined - await expect(repository.find({})).rejects.toThrowError( - 'options.type must be a string or an array of strings' - ); - expect(client.search).not.toHaveBeenCalled(); - }); - - it(`throws when namespaces is an empty array`, async () => { - await expect(repository.find({ type: 'foo', namespaces: [] })).rejects.toThrowError( - 'options.namespaces cannot be an empty array' - ); - expect(client.search).not.toHaveBeenCalled(); - }); - - it(`throws when searchFields is defined but not an array`, async () => { - await expect( - // @ts-expect-error searchFields is an array - repository.find({ type, searchFields: 'string' }) - ).rejects.toThrowError('options.searchFields must be an array'); - expect(client.search).not.toHaveBeenCalled(); - }); - - it(`throws when fields is defined but not an array`, async () => { - // @ts-expect-error fields is an array - await expect(repository.find({ type, fields: 'string' })).rejects.toThrowError( - 'options.fields must be an array' - ); - expect(client.search).not.toHaveBeenCalled(); - }); - - it(`throws when a preference is provided with pit`, async () => { - await expect( - repository.find({ type: 'foo', pit: { id: 'abc123' }, preference: 'hi' }) - ).rejects.toThrowError('options.preference must be excluded when options.pit is used'); - expect(client.search).not.toHaveBeenCalled(); - }); - - it(`throws when KQL filter syntax is invalid`, async () => { - const findOpts: SavedObjectsFindOptions = { - namespaces: [namespace], - search: 'foo*', - searchFields: ['foo'], - type: ['dashboard'], - sortField: 'name', - sortOrder: 'desc', - defaultSearchOperator: 'AND', - hasReference: { - type: 'foo', - id: '1', - }, - filter: 'dashboard.attributes.otherField:<', - }; - - await expect(repository.find(findOpts)).rejects.toMatchInlineSnapshot(` - [Error: KQLSyntaxError: Expected "(", "{", value, whitespace but "<" found. - dashboard.attributes.otherField:< - --------------------------------^: Bad Request] - `); - expect(mockGetSearchDsl).not.toHaveBeenCalled(); - expect(client.search).not.toHaveBeenCalled(); - }); - }); - - describe('returns', () => { - it(`formats the ES response when there is no namespace`, async () => { - const noNamespaceSearchResults = generateIndexPatternSearchResults(); - client.search.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(noNamespaceSearchResults) - ); - const count = noNamespaceSearchResults.hits.hits.length; - - const response = await repository.find({ type }); - - expect(response.total).toBe(count); - expect(response.saved_objects).toHaveLength(count); - - noNamespaceSearchResults.hits.hits.forEach((doc, i) => { - expect(response.saved_objects[i]).toEqual({ - id: doc._id.replace(/(index-pattern|config|globalType)\:/, ''), - type: doc._source!.type, - originId: doc._source!.originId, - ...mockTimestampFields, - version: mockVersion, - score: doc._score, - attributes: doc._source![doc._source!.type], - references: [], - namespaces: doc._source!.type === NAMESPACE_AGNOSTIC_TYPE ? undefined : ['default'], - coreMigrationVersion: expect.any(String), - typeMigrationVersion: expect.any(String), - managed: expect.any(Boolean), - }); - }); - }); - - it(`formats the ES response when there is a namespace`, async () => { - const namespacedSearchResults = generateIndexPatternSearchResults(namespace); - client.search.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(namespacedSearchResults) - ); - const count = namespacedSearchResults.hits.hits.length; - - const response = await repository.find({ type, namespaces: [namespace] }); - - expect(response.total).toBe(count); - expect(response.saved_objects).toHaveLength(count); - - namespacedSearchResults.hits.hits.forEach((doc, i) => { - expect(response.saved_objects[i]).toEqual({ - id: doc._id.replace(/(foo-namespace\:)?(index-pattern|config|globalType)\:/, ''), - type: doc._source!.type, - originId: doc._source!.originId, - ...mockTimestampFields, - version: mockVersion, - score: doc._score, - attributes: doc._source![doc._source!.type], - references: [], - namespaces: doc._source!.type === NAMESPACE_AGNOSTIC_TYPE ? undefined : [namespace], - coreMigrationVersion: expect.any(String), - typeMigrationVersion: expect.any(String), - managed: expect.any(Boolean), - }); - }); - }); - - it(`should return empty results when attempting to find only invalid or hidden types`, async () => { - const test = async (types: string | string[]) => { - const result = await repository.find({ type: types }); - expect(result).toEqual(expect.objectContaining({ saved_objects: [] })); - expect(client.search).not.toHaveBeenCalled(); - }; - - await test('unknownType'); - await test(HIDDEN_TYPE); - await test(['unknownType', HIDDEN_TYPE]); - }); - - it('migrates the found document', async () => { - const noNamespaceSearchResults = generateIndexPatternSearchResults(); - client.search.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(noNamespaceSearchResults) - ); - migrator.migrateDocument.mockImplementationOnce((doc) => ({ ...doc, migrated: true })); - await expect(repository.find({ type })).resolves.toHaveProperty( - 'saved_objects.0.migrated', - true - ); - expect(migrator.migrateDocument).toHaveBeenCalledTimes( - noNamespaceSearchResults.hits.hits.length - ); - expectMigrationArgs({ - type, - id: noNamespaceSearchResults.hits.hits[0]._id.replace( - /(index-pattern|config|globalType)\:/, - '' - ), - }); - }); - }); - - describe('search dsl', () => { - const commonOptions: SavedObjectsFindOptions = { - type: [type], - namespaces: [namespace], - search: 'foo*', - searchFields: ['foo'], - sortField: 'name', - sortOrder: 'desc', - defaultSearchOperator: 'AND', - hasReference: { - type: 'foo', - id: '1', - }, - hasNoReference: { - type: 'bar', - id: '1', - }, - }; - - it(`passes mappings, registry, and search options to getSearchDsl`, async () => { - await findSuccess(client, repository, commonOptions, namespace); - expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, commonOptions); - }); - - it(`accepts hasReferenceOperator`, async () => { - const relevantOpts: SavedObjectsFindOptions = { - ...commonOptions, - hasReferenceOperator: 'AND', - }; - - await findSuccess(client, repository, relevantOpts, namespace); - expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, { - ...relevantOpts, - hasReferenceOperator: 'AND', - }); - }); - - it(`accepts searchAfter`, async () => { - const relevantOpts: SavedObjectsFindOptions = { - ...commonOptions, - searchAfter: ['1', 'a'], - }; - - await findSuccess(client, repository, relevantOpts, namespace); - expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, { - ...relevantOpts, - searchAfter: ['1', 'a'], - }); - }); - - it(`accepts pit`, async () => { - const relevantOpts: SavedObjectsFindOptions = { - ...commonOptions, - pit: { id: 'abc123', keepAlive: '2m' }, - }; - - await findSuccess(client, repository, relevantOpts, namespace); - expect(mockGetSearchDsl).toHaveBeenCalledWith(mappings, registry, { - ...relevantOpts, - pit: { id: 'abc123', keepAlive: '2m' }, - }); - }); - - it(`accepts KQL expression filter and passes KueryNode to getSearchDsl`, async () => { - const findOpts: SavedObjectsFindOptions = { - namespaces: [namespace], - search: 'foo*', - searchFields: ['foo'], - type: ['dashboard'], - sortField: 'name', - sortOrder: 'desc', - defaultSearchOperator: 'AND', - hasReference: { - type: 'foo', - id: '1', - }, - filter: 'dashboard.attributes.otherField: *', - }; - - await findSuccess(client, repository, findOpts, namespace); - const { kueryNode } = mockGetSearchDsl.mock.calls[0][2]; - expect(kueryNode).toMatchInlineSnapshot(` - Object { - "arguments": Array [ - Object { - "isQuoted": false, - "type": "literal", - "value": "dashboard.otherField", - }, - Object { - "type": "wildcard", - "value": "@kuery-wildcard@", - }, - ], - "function": "is", - "type": "function", - } - `); - }); - - it(`accepts KQL KueryNode filter and passes KueryNode to getSearchDsl`, async () => { - const findOpts: SavedObjectsFindOptions = { - namespaces: [namespace], - search: 'foo*', - searchFields: ['foo'], - type: ['dashboard'], - sortField: 'name', - sortOrder: 'desc', - defaultSearchOperator: 'AND', - hasReference: { - type: 'foo', - id: '1', - }, - filter: nodeTypes.function.buildNode('is', `dashboard.attributes.otherField`, '*'), - }; - - await findSuccess(client, repository, findOpts, namespace); - const { kueryNode } = mockGetSearchDsl.mock.calls[0][2]; - expect(kueryNode).toMatchInlineSnapshot(` - Object { - "arguments": Array [ - Object { - "isQuoted": false, - "type": "literal", - "value": "dashboard.otherField", - }, - Object { - "type": "wildcard", - "value": "@kuery-wildcard@", - }, - ], - "function": "is", - "type": "function", - } - `); - }); - - it(`supports multiple types`, async () => { - const types = ['config', 'index-pattern']; - await findSuccess(client, repository, { type: types }); - - expect(mockGetSearchDsl).toHaveBeenCalledWith( - mappings, - registry, - expect.objectContaining({ - type: types, - }) - ); - }); - - it(`filters out invalid types`, async () => { - const types = ['config', 'unknownType', 'index-pattern']; - await findSuccess(client, repository, { type: types }); - - expect(mockGetSearchDsl).toHaveBeenCalledWith( - mappings, - registry, - expect.objectContaining({ - type: ['config', 'index-pattern'], - }) - ); - }); - - it(`filters out hidden types`, async () => { - const types = ['config', HIDDEN_TYPE, 'index-pattern']; - await findSuccess(client, repository, { type: types }); - - expect(mockGetSearchDsl).toHaveBeenCalledWith( - mappings, - registry, - expect.objectContaining({ - type: ['config', 'index-pattern'], - }) - ); - }); - }); - }); - - describe('#get', () => { - const type = 'index-pattern'; - const id = 'logstash-*'; - const namespace = 'foo-namespace'; - const originId = 'some-origin-id'; - - describe('client calls', () => { - it(`should use the ES get action`, async () => { - await getSuccess(client, repository, registry, type, id); - expect(client.get).toHaveBeenCalledTimes(1); - }); - - it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { - await getSuccess(client, repository, registry, type, id, { namespace }); - expect(client.get).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${namespace}:${type}:${id}`, - }), - expect.anything() - ); - }); - - it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { - await getSuccess(client, repository, registry, type, id); - expect(client.get).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${type}:${id}`, - }), - expect.anything() - ); - }); - - it(`normalizes options.namespace from 'default' to undefined`, async () => { - await getSuccess(client, repository, registry, type, id, { namespace: 'default' }); - expect(client.get).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${type}:${id}`, - }), - expect.anything() - ); - }); - - it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { - await getSuccess(client, repository, registry, NAMESPACE_AGNOSTIC_TYPE, id, { namespace }); - expect(client.get).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${NAMESPACE_AGNOSTIC_TYPE}:${id}`, - }), - expect.anything() - ); - - client.get.mockClear(); - await getSuccess(client, repository, registry, MULTI_NAMESPACE_ISOLATED_TYPE, id, { - namespace, - }); - expect(client.get).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${id}`, - }), - expect.anything() - ); - }); - }); - - describe('errors', () => { - const expectNotFoundError = async ( - type: string, - id: string, - options?: SavedObjectsBaseOptions - ) => { - await expect(repository.get(type, id, options)).rejects.toThrowError( - createGenericNotFoundErrorPayload(type, id) - ); - }; - - it(`throws when options.namespace is '*'`, async () => { - await expect( - repository.get(type, id, { namespace: ALL_NAMESPACES_STRING }) - ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); - }); - - it(`throws when type is invalid`, async () => { - await expectNotFoundError('unknownType', id); - expect(client.get).not.toHaveBeenCalled(); - }); - - it(`throws when type is hidden`, async () => { - await expectNotFoundError(HIDDEN_TYPE, id); - expect(client.get).not.toHaveBeenCalled(); - }); - - it(`throws when ES is unable to find the document during get`, async () => { - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise({ - found: false, - } as estypes.GetResponse) - ); - await expectNotFoundError(type, id); - expect(client.get).toHaveBeenCalledTimes(1); - }); - - it(`throws when ES is unable to find the index during get`, async () => { - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise({} as estypes.GetResponse, { - statusCode: 404, - }) - ); - await expectNotFoundError(type, id); - expect(client.get).toHaveBeenCalledTimes(1); - }); - - it(`throws when type is multi-namespace and the document exists, but not in this namespace`, async () => { - const response = getMockGetResponse( - registry, - { type: MULTI_NAMESPACE_ISOLATED_TYPE, id }, - namespace - ); - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - await expectNotFoundError(MULTI_NAMESPACE_ISOLATED_TYPE, id, { - namespace: 'bar-namespace', - }); - expect(client.get).toHaveBeenCalledTimes(1); - }); - }); - - describe('returns', () => { - it(`formats the ES response`, async () => { - const result = await getSuccess(client, repository, registry, type, id); - expect(result).toEqual({ - id, - type, - updated_at: mockTimestamp, - version: mockVersion, - attributes: { - title: 'Testing', - }, - references: [], - namespaces: ['default'], - coreMigrationVersion: expect.any(String), - typeMigrationVersion: expect.any(String), - managed: expect.any(Boolean), - }); - }); - - it(`includes namespaces if type is multi-namespace`, async () => { - const result = await getSuccess( - client, - repository, - registry, - MULTI_NAMESPACE_ISOLATED_TYPE, - id - ); - expect(result).toMatchObject({ - namespaces: expect.any(Array), - }); - }); - - it(`include namespaces if type is not multi-namespace`, async () => { - const result = await getSuccess(client, repository, registry, type, id); - expect(result).toMatchObject({ - namespaces: ['default'], - }); - }); - - it(`includes originId property if present in cluster call response`, async () => { - const result = await getSuccess(client, repository, registry, type, id, {}, originId); - expect(result).toMatchObject({ originId }); - }); - }); - - it('migrates the fetched document', async () => { - migrator.migrateDocument.mockReturnValueOnce( - 'migrated' as unknown as ReturnType - ); - await expect(getSuccess(client, repository, registry, type, id)).resolves.toBe('migrated'); - expect(migrator.migrateDocument).toHaveBeenCalledTimes(1); - expectMigrationArgs({ - id, - type, - }); - }); - }); - - describe('#resolve', () => { - afterEach(() => { - mockInternalBulkResolve.mockReset(); - }); - - it('passes arguments to the internalBulkResolve module and returns the result', async () => { - const expectedResult: SavedObjectsResolveResponse = { - saved_object: { type: 'type', id: 'id', attributes: {}, references: [] }, - outcome: 'exactMatch', - }; - mockInternalBulkResolve.mockResolvedValue({ resolved_objects: [expectedResult] }); - - await expect(repository.resolve('obj-type', 'obj-id')).resolves.toEqual(expectedResult); - expect(mockInternalBulkResolve).toHaveBeenCalledTimes(1); - expect(mockInternalBulkResolve).toHaveBeenCalledWith( - expect.objectContaining({ objects: [{ type: 'obj-type', id: 'obj-id' }] }) - ); - }); - - it('throws when internalBulkResolve result is an error', async () => { - const error = SavedObjectsErrorHelpers.decorateBadRequestError(new Error('Oh no!')); - const expectedResult: BulkResolveError = { type: 'obj-type', id: 'obj-id', error }; - mockInternalBulkResolve.mockResolvedValue({ resolved_objects: [expectedResult] }); - - await expect(repository.resolve('foo', '2')).rejects.toEqual(error); - }); - - it('throws when internalBulkResolve throws', async () => { - const error = new Error('Oh no!'); - mockInternalBulkResolve.mockRejectedValue(error); - - await expect(repository.resolve('foo', '2')).rejects.toEqual(error); - }); - }); - - describe('#incrementCounter', () => { - const type = 'config'; - const id = 'one'; - const counterFields = ['buildNum', 'apiCallsCount']; - const namespace = 'foo-namespace'; - const originId = 'some-origin-id'; - - const incrementCounterSuccess = async ( - type: string, - id: string, - fields: Array, - options?: SavedObjectsIncrementCounterOptions, - internalOptions: { mockGetResponseValue?: estypes.GetResponse } = {} - ) => { - const { mockGetResponseValue } = internalOptions; - const isMultiNamespace = registry.isMultiNamespace(type); - if (isMultiNamespace) { - const response = - mockGetResponseValue ?? getMockGetResponse(registry, { type, id }, options?.namespace); - client.get.mockResponseOnce(response); - } - - client.update.mockResponseImplementation((params) => { - return { - body: { - _id: params.id, - ...mockVersionProps, - _index: MAIN_SAVED_OBJECT_INDEX, - get: { - found: true, - _source: { - type, - ...mockTimestampFields, - [type]: { - ...fields.reduce((acc, field) => { - acc[typeof field === 'string' ? field : field.fieldName] = 8468; - return acc; - }, {} as Record), - defaultIndex: 'logstash-*', - }, - }, - }, - } as estypes.UpdateResponse, - }; - }); - - const result = await repository.incrementCounter(type, id, fields, options); - expect(client.get).toHaveBeenCalledTimes(isMultiNamespace ? 1 : 0); - return result; - }; - - beforeEach(() => { - mockPreflightCheckForCreate.mockReset(); - mockPreflightCheckForCreate.mockImplementation(({ objects }) => { - return Promise.resolve(objects.map(({ type, id }) => ({ type, id }))); // respond with no errors by default - }); - }); - - describe('client calls', () => { - it(`should use the ES update action if type is not multi-namespace`, async () => { - await incrementCounterSuccess(type, id, counterFields, { namespace }); - expect(client.get).not.toHaveBeenCalled(); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.update).toHaveBeenCalledTimes(1); - }); - - it(`should use the ES get action then update action if type is multi-namespace, ID is defined, and overwrite=true`, async () => { - await incrementCounterSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, id, counterFields, { - namespace, - }); - expect(client.get).toHaveBeenCalledTimes(1); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.update).toHaveBeenCalledTimes(1); - }); - - it(`should check for alias conflicts if a new multi-namespace object would be created`, async () => { - await incrementCounterSuccess( - MULTI_NAMESPACE_ISOLATED_TYPE, - id, - counterFields, - { namespace }, - { mockGetResponseValue: { found: false } as estypes.GetResponse } - ); - expect(client.get).toHaveBeenCalledTimes(1); - expect(mockPreflightCheckForCreate).toHaveBeenCalledTimes(1); - expect(client.update).toHaveBeenCalledTimes(1); - }); - - it(`defaults to a refresh setting of wait_for`, async () => { - await incrementCounterSuccess(type, id, counterFields, { namespace }); - expect(client.update).toHaveBeenCalledWith( - expect.objectContaining({ - refresh: 'wait_for', - }), - expect.anything() - ); - }); - - it(`uses the 'upsertAttributes' option when specified`, async () => { - const upsertAttributes = { - foo: 'bar', - hello: 'dolly', - }; - await incrementCounterSuccess(type, id, counterFields, { namespace, upsertAttributes }); - expect(client.update).toHaveBeenCalledWith( - expect.objectContaining({ - body: expect.objectContaining({ - upsert: expect.objectContaining({ - [type]: { - foo: 'bar', - hello: 'dolly', - ...counterFields.reduce((aggs, field) => { - return { - ...aggs, - [field]: 1, - }; - }, {}), - }, - }), - }), - }), - expect.anything() - ); - }); - - it(`prepends namespace to the id when providing namespace for single-namespace type`, async () => { - await incrementCounterSuccess(type, id, counterFields, { namespace }); - expect(client.update).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${namespace}:${type}:${id}`, - }), - expect.anything() - ); - }); - - it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { - await incrementCounterSuccess(type, id, counterFields); - expect(client.update).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${type}:${id}`, - }), - expect.anything() - ); - }); - - it(`normalizes options.namespace from 'default' to undefined`, async () => { - await incrementCounterSuccess(type, id, counterFields, { namespace: 'default' }); - expect(client.update).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${type}:${id}`, - }), - expect.anything() - ); - }); - - it(`doesn't prepend namespace to the id when not using single-namespace type`, async () => { - await incrementCounterSuccess(NAMESPACE_AGNOSTIC_TYPE, id, counterFields, { namespace }); - expect(client.update).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${NAMESPACE_AGNOSTIC_TYPE}:${id}`, - }), - expect.anything() - ); - - client.update.mockClear(); - await incrementCounterSuccess(MULTI_NAMESPACE_ISOLATED_TYPE, id, counterFields, { - namespace, - }); - expect(client.update).toHaveBeenCalledWith( - expect.objectContaining({ - id: `${MULTI_NAMESPACE_ISOLATED_TYPE}:${id}`, - }), - expect.anything() - ); - }); - }); - - describe('errors', () => { - const expectUnsupportedTypeError = async ( - type: string, - id: string, - field: Array - ) => { - await expect(repository.incrementCounter(type, id, field)).rejects.toThrowError( - createUnsupportedTypeErrorPayload(type) - ); - }; - - it(`throws when options.namespace is '*'`, async () => { - await expect( - repository.incrementCounter(type, id, counterFields, { - namespace: ALL_NAMESPACES_STRING, - }) - ).rejects.toThrowError(createBadRequestErrorPayload('"options.namespace" cannot be "*"')); - }); - - it(`throws when type is not a string`, async () => { - const test = async (type: unknown) => { - await expect( - // @ts-expect-error type is supposed to be a string - repository.incrementCounter(type, id, counterFields) - ).rejects.toThrowError(`"type" argument must be a string`); - expect(client.update).not.toHaveBeenCalled(); - }; - - await test(null); - await test(42); - await test(false); - await test({}); - }); - - it(`throws when id is empty`, async () => { - await expect(repository.incrementCounter(type, '', counterFields)).rejects.toThrowError( - createBadRequestErrorPayload('id cannot be empty') - ); - expect(client.update).not.toHaveBeenCalled(); - }); - - it(`throws when counterField is not CounterField type`, async () => { - const test = async (field: unknown[]) => { - await expect( - // @ts-expect-error field is of wrong type - repository.incrementCounter(type, id, field) - ).rejects.toThrowError( - `"counterFields" argument must be of type Array` - ); - expect(client.update).not.toHaveBeenCalled(); - }; - - await test([null]); - await test([42]); - await test([false]); - await test([{}]); - await test([{}, false, 42, null, 'string']); - await test([{ fieldName: 'string' }, false, null, 'string']); - }); - - it(`throws when type is invalid`, async () => { - await expectUnsupportedTypeError('unknownType', id, counterFields); - expect(client.update).not.toHaveBeenCalled(); - }); - - it(`throws when type is hidden`, async () => { - await expectUnsupportedTypeError(HIDDEN_TYPE, id, counterFields); - expect(client.update).not.toHaveBeenCalled(); - }); - - it(`throws when there is a conflict with an existing multi-namespace saved object (get)`, async () => { - const response = getMockGetResponse( - registry, - { type: MULTI_NAMESPACE_ISOLATED_TYPE, id }, - 'bar-namespace' - ); - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - await expect( - repository.incrementCounter(MULTI_NAMESPACE_ISOLATED_TYPE, id, counterFields, { - namespace, - }) - ).rejects.toThrowError(createConflictErrorPayload(MULTI_NAMESPACE_ISOLATED_TYPE, id)); - expect(client.get).toHaveBeenCalledTimes(1); - expect(mockPreflightCheckForCreate).not.toHaveBeenCalled(); - expect(client.update).not.toHaveBeenCalled(); - }); - - it(`throws when there is an alias conflict from preflightCheckForCreate`, async () => { - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise({ - found: false, - } as estypes.GetResponse) - ); - mockPreflightCheckForCreate.mockResolvedValue([ - { type: 'foo', id: 'bar', error: { type: 'aliasConflict' } }, - ]); - await expect( - repository.incrementCounter(MULTI_NAMESPACE_ISOLATED_TYPE, id, counterFields, { - namespace, - }) - ).rejects.toThrowError(createConflictErrorPayload(MULTI_NAMESPACE_ISOLATED_TYPE, id)); - expect(client.get).toHaveBeenCalledTimes(1); - expect(mockPreflightCheckForCreate).toHaveBeenCalledTimes(1); - expect(client.update).not.toHaveBeenCalled(); - }); - - it(`does not throw when there is a different error from preflightCheckForCreate`, async () => { - client.get.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise({ - found: false, - } as estypes.GetResponse) - ); - mockPreflightCheckForCreate.mockResolvedValue([ - { type: 'foo', id: 'bar', error: { type: 'conflict' } }, - ]); - await incrementCounterSuccess( - MULTI_NAMESPACE_ISOLATED_TYPE, - id, - counterFields, - { namespace }, - { mockGetResponseValue: { found: false } as estypes.GetResponse } - ); - expect(client.get).toHaveBeenCalledTimes(1); - expect(mockPreflightCheckForCreate).toHaveBeenCalledTimes(1); - expect(client.update).toHaveBeenCalledTimes(1); - }); - }); - - describe('migration', () => { - beforeEach(() => { - migrator.migrateDocument.mockImplementation(mockMigrateDocument); - }); - - it(`migrates a document and serializes the migrated doc`, async () => { - const migrationVersion = mockMigrationVersion; - await incrementCounterSuccess(type, id, counterFields, { migrationVersion }); - const attributes = { buildNum: 1, apiCallsCount: 1 }; // this is added by the incrementCounter function - const doc = { type, id, attributes, migrationVersion, ...mockTimestampFields }; - expectMigrationArgs(doc); - - const migratedDoc = migrator.migrateDocument(doc); - expect(serializer.savedObjectToRaw).toHaveBeenLastCalledWith(migratedDoc); - }); - }); - - describe('returns', () => { - it(`formats the ES response`, async () => { - client.update.mockResponseImplementation((params) => { - return { - body: { - _id: params.id, - ...mockVersionProps, - _index: MAIN_SAVED_OBJECT_INDEX, - get: { - found: true, - _source: { - type: 'config', - ...mockTimestampFields, - config: { - buildNum: 8468, - apiCallsCount: 100, - defaultIndex: 'logstash-*', - }, - originId, - }, - }, - } as estypes.UpdateResponse, - }; - }); - - const response = await repository.incrementCounter( - 'config', - '6.0.0-alpha1', - ['buildNum', 'apiCallsCount'], - { - namespace: 'foo-namespace', - } - ); - - expect(response).toEqual({ - type: 'config', - id: '6.0.0-alpha1', - ...mockTimestampFields, - version: mockVersion, - references: [], - attributes: { - buildNum: 8468, - apiCallsCount: 100, - defaultIndex: 'logstash-*', - }, - originId, - }); - }); - - it('increments counter by incrementBy config', async () => { - await incrementCounterSuccess(type, id, [{ fieldName: counterFields[0], incrementBy: 3 }]); - - expect(client.update).toBeCalledTimes(1); - expect(client.update).toBeCalledWith( - expect.objectContaining({ - body: expect.objectContaining({ - script: expect.objectContaining({ - params: expect.objectContaining({ - counterFieldNames: [counterFields[0]], - counts: [3], - }), - }), - }), - }), - expect.anything() - ); - }); - - it('does not increment counter when incrementBy is 0', async () => { - await incrementCounterSuccess(type, id, [{ fieldName: counterFields[0], incrementBy: 0 }]); - - expect(client.update).toBeCalledTimes(1); - expect(client.update).toBeCalledWith( - expect.objectContaining({ - body: expect.objectContaining({ - script: expect.objectContaining({ - params: expect.objectContaining({ - counterFieldNames: [counterFields[0]], - counts: [0], - }), - }), - }), - }), - expect.anything() - ); - }); - }); - }); - - describe('#openPointInTimeForType', () => { - const type = 'index-pattern'; - - const generateResults = (id?: string) => ({ id: id || 'id' }); - const successResponse = async (type: string, options?: SavedObjectsOpenPointInTimeOptions) => { - client.openPointInTime.mockResponseOnce(generateResults()); - const result = await repository.openPointInTimeForType(type, options); - expect(client.openPointInTime).toHaveBeenCalledTimes(1); - return result; - }; - - describe('client calls', () => { - it(`should use the ES PIT API`, async () => { - await successResponse(type); - expect(client.openPointInTime).toHaveBeenCalledTimes(1); - }); - - it(`accepts preference`, async () => { - await successResponse(type, { preference: 'pref' }); - expect(client.openPointInTime).toHaveBeenCalledWith( - expect.objectContaining({ - preference: 'pref', - }), - expect.anything() - ); - }); - - it(`accepts keepAlive`, async () => { - await successResponse(type, { keepAlive: '2m' }); - expect(client.openPointInTime).toHaveBeenCalledWith( - expect.objectContaining({ - keep_alive: '2m', - }), - expect.anything() - ); - }); - - it(`defaults keepAlive to 5m`, async () => { - await successResponse(type); - expect(client.openPointInTime).toHaveBeenCalledWith( - expect.objectContaining({ - keep_alive: '5m', - }), - expect.anything() - ); - }); - }); - - describe('errors', () => { - const expectNotFoundError = async (types: string | string[]) => { - await expect(repository.openPointInTimeForType(types)).rejects.toThrowError( - createGenericNotFoundErrorPayload() - ); - }; - - it(`throws when ES is unable to find the index`, async () => { - client.openPointInTime.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise( - { id: 'error' }, - { statusCode: 404 } - ) - ); - await expectNotFoundError(type); - expect(client.openPointInTime).toHaveBeenCalledTimes(1); - }); - - it(`should return generic not found error when attempting to find only invalid or hidden types`, async () => { - const test = async (types: string | string[]) => { - await expectNotFoundError(types); - expect(client.openPointInTime).not.toHaveBeenCalled(); - }; - - await test('unknownType'); - await test(HIDDEN_TYPE); - await test(['unknownType', HIDDEN_TYPE]); - }); - }); - - describe('returns', () => { - it(`returns id in the expected format`, async () => { - const id = 'abc123'; - const results = generateResults(id); - client.openPointInTime.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(results) - ); - const response = await repository.openPointInTimeForType(type); - expect(response).toEqual({ id }); - }); - }); - }); - - describe('#closePointInTime', () => { - const generateResults = () => ({ succeeded: true, num_freed: 3 }); - const successResponse = async (id: string) => { - client.closePointInTime.mockResponseOnce(generateResults()); - const result = await repository.closePointInTime(id); - expect(client.closePointInTime).toHaveBeenCalledTimes(1); - return result; - }; - - describe('client calls', () => { - it(`should use the ES PIT API`, async () => { - await successResponse('abc123'); - expect(client.closePointInTime).toHaveBeenCalledTimes(1); - }); - - it(`accepts id`, async () => { - await successResponse('abc123'); - expect(client.closePointInTime).toHaveBeenCalledWith( - expect.objectContaining({ - body: expect.objectContaining({ - id: 'abc123', - }), - }), - expect.anything() - ); - }); - }); - - describe('returns', () => { - it(`returns response body from ES`, async () => { - const results = generateResults(); - client.closePointInTime.mockResponseOnce(results); - const response = await repository.closePointInTime('abc123'); - expect(response).toEqual(results); - }); - }); - }); - - describe('#createPointInTimeFinder', () => { - it('returns a new PointInTimeFinder instance', async () => { - const result = await repository.createPointInTimeFinder({ type: 'PIT' }); - expect(result).toBeInstanceOf(PointInTimeFinder); - }); - - it('calls PointInTimeFinder with the provided options and dependencies', async () => { - const options: SavedObjectsCreatePointInTimeFinderOptions = { - type: 'my-type', - }; - const dependencies: SavedObjectsCreatePointInTimeFinderDependencies = { - client: { - find: jest.fn(), - openPointInTimeForType: jest.fn(), - closePointInTime: jest.fn(), - }, - }; - - await repository.createPointInTimeFinder(options, dependencies); - expect(pointInTimeFinderMock).toHaveBeenCalledWith( - options, - expect.objectContaining({ - ...dependencies, - logger, - }) - ); - }); - }); - - describe('#collectMultiNamespaceReferences', () => { - afterEach(() => { - mockCollectMultiNamespaceReferences.mockReset(); - }); - - it('passes arguments to the collectMultiNamespaceReferences module and returns the result', async () => { - const objects: SavedObjectsCollectMultiNamespaceReferencesObject[] = [ - { type: 'foo', id: 'bar' }, - ]; - const expectedResult: SavedObjectsCollectMultiNamespaceReferencesResponse = { - objects: [{ type: 'foo', id: 'bar', spaces: ['ns-1'], inboundReferences: [] }], - }; - mockCollectMultiNamespaceReferences.mockResolvedValue(expectedResult); - - await expect(repository.collectMultiNamespaceReferences(objects)).resolves.toEqual( - expectedResult - ); - expect(mockCollectMultiNamespaceReferences).toHaveBeenCalledTimes(1); - expect(mockCollectMultiNamespaceReferences).toHaveBeenCalledWith( - expect.objectContaining({ objects }) - ); - }); - - it('returns an error from the collectMultiNamespaceReferences module', async () => { - const expectedResult = new Error('Oh no!'); - mockCollectMultiNamespaceReferences.mockRejectedValue(expectedResult); - - await expect(repository.collectMultiNamespaceReferences([])).rejects.toEqual(expectedResult); - }); - }); - - describe('#updateObjectsSpaces', () => { - afterEach(() => { - mockUpdateObjectsSpaces.mockReset(); - }); - - it('passes arguments to the updateObjectsSpaces module and returns the result', async () => { - const objects: SavedObjectsUpdateObjectsSpacesObject[] = [{ type: 'type', id: 'id' }]; - const spacesToAdd = ['to-add', 'also-to-add']; - const spacesToRemove = ['to-remove']; - const options: SavedObjectsUpdateObjectsSpacesOptions = { namespace: 'ns-1' }; - const expectedResult: SavedObjectsUpdateObjectsSpacesResponse = { - objects: [ - { - type: 'type', - id: 'id', - spaces: ['foo', 'bar'], - }, - ], - }; - mockUpdateObjectsSpaces.mockResolvedValue(expectedResult); - - await expect( - repository.updateObjectsSpaces(objects, spacesToAdd, spacesToRemove, options) - ).resolves.toEqual(expectedResult); - expect(mockUpdateObjectsSpaces).toHaveBeenCalledTimes(1); - expect(mockUpdateObjectsSpaces).toHaveBeenCalledWith( - expect.objectContaining({ objects, spacesToAdd, spacesToRemove, options }) - ); - }); - - it('returns an error from the updateObjectsSpaces module', async () => { - const expectedResult = new Error('Oh no!'); - mockUpdateObjectsSpaces.mockRejectedValue(expectedResult); - - await expect(repository.updateObjectsSpaces([], [], [])).rejects.toEqual(expectedResult); - }); - }); - describe('#getCurrentNamespace', () => { it('returns `undefined` for `undefined` namespace argument', async () => { expect(repository.getCurrentNamespace()).toBeUndefined(); From 1868489bb5b58634d54c7a2c7d7e0591c4520a1e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 13 Dec 2023 14:56:54 -0500 Subject: [PATCH 026/123] Update dependency @elastic/charts to v61 (main) (#170914) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@elastic/charts](https://togithub.com/elastic/elastic-charts) | [`60.0.0` -> `61.0.0`](https://renovatebot.com/diffs/npm/@elastic%2fcharts/60.0.0/61.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@elastic%2fcharts/61.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@elastic%2fcharts/61.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@elastic%2fcharts/60.0.0/61.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@elastic%2fcharts/60.0.0/61.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes

elastic/elastic-charts (@​elastic/charts) ### [`v61.0.0`](https://togithub.com/elastic/elastic-charts/blob/HEAD/CHANGELOG.md#6100-2023-11-08) [Compare Source](https://togithub.com/elastic/elastic-charts/compare/v60.0.0...v61.0.0) ##### Bug Fixes - `onRenderChange` callback trigger on resize ([#​2228](https://togithub.com/elastic/elastic-charts/issues/2228)) ([be30c1b](https://togithub.com/elastic/elastic-charts/commit/be30c1bd48ce3e50b8e9fa28c0d8999b6366b305)) - **axis:** always render `tickLine` unless `visible` is `false` ([#​2194](https://togithub.com/elastic/elastic-charts/issues/2194)) ([ec95d50](https://togithub.com/elastic/elastic-charts/commit/ec95d50180d86fb7cec8c90d952f894ac9548b4f)) - **BarSeries:** ignore histogram mode in determining stacked series ([#​2225](https://togithub.com/elastic/elastic-charts/issues/2225)) ([27b4281](https://togithub.com/elastic/elastic-charts/commit/27b4281581d6d5613c3bac55b308c49c519e7160)) - clamp brushing min of last bucket ([#​2227](https://togithub.com/elastic/elastic-charts/issues/2227)) ([155c22d](https://togithub.com/elastic/elastic-charts/commit/155c22dee1f891cbb630d3d99fae005d89bf76d8)) - **deps:** update dependency [@​elastic/eui](https://togithub.com/elastic/eui) to ^88.5.0 ([#​2179](https://togithub.com/elastic/elastic-charts/issues/2179)) ([2bb921e](https://togithub.com/elastic/elastic-charts/commit/2bb921e42bf790ce091178fc66794265a2832c0e)) - **deps:** update dependency [@​elastic/eui](https://togithub.com/elastic/eui) to ^88.5.4 ([#​2190](https://togithub.com/elastic/elastic-charts/issues/2190)) ([05b33e5](https://togithub.com/elastic/elastic-charts/commit/05b33e58f27da3685bc8a2668435e83fb260a033)) - **deps:** update dependency [@​elastic/eui](https://togithub.com/elastic/eui) to ^89.1.0 ([#​2212](https://togithub.com/elastic/elastic-charts/issues/2212)) ([a91f68d](https://togithub.com/elastic/elastic-charts/commit/a91f68d6b7c19da43a02e2b6d205ddc7f758243b)) - **deps:** update dependency [@​elastic/eui](https://togithub.com/elastic/eui) to v89 ([#​2193](https://togithub.com/elastic/elastic-charts/issues/2193)) ([132327d](https://togithub.com/elastic/elastic-charts/commit/132327d980f4941d81a6df5e9e76cdf065f7d744)) - **deps:** update dependency [@​elastic/eui](https://togithub.com/elastic/eui) to v90 ([#​2222](https://togithub.com/elastic/elastic-charts/issues/2222)) ([10cd53b](https://togithub.com/elastic/elastic-charts/commit/10cd53b2e6b4f65096837a994aff69626dc4050e)) ##### chore - reclaim charts theme ownership from eui ([#​2175](https://togithub.com/elastic/elastic-charts/issues/2175)) ([422c7d5](https://togithub.com/elastic/elastic-charts/commit/422c7d529e2b2a1bf01d6f78c1e35a2f9c79c91f)) ##### Features - **metric:** allow alpha colors and improve contrast logic ([#​2184](https://togithub.com/elastic/elastic-charts/issues/2184)) ([dd5732e](https://togithub.com/elastic/elastic-charts/commit/dd5732e83b4a23143f6fa8ceb82066150dc9fe8d)) ##### BREAKING CHANGES - **BarSeries:** now ignores histogram mode in determining stacked series - elastic charts theme renamed to `LEGACY_DARK_THEME` and `LEGACY_LIGHT_THEME` in favor of the main `DARK_THEME` and `LIGHT_THEME` which was merged with eui theme overrides. These new themes are now default. - **axis:** Now respects `tickLine.padding` whenever `tickLine.visible` is `true`
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/elastic/kibana). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: nickofthyme Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../app/pages/page_reducer_stream/index.tsx | 16 +- package.json | 2 +- .../components/field_stats/field_stats.tsx | 15 +- .../gauge_component.test.tsx.snap | 510 +- .../public/components/gauge_component.tsx | 4 +- .../public/components/heatmap_component.tsx | 15 +- .../public/__mocks__/theme_service.ts | 1 - .../public/components/metric_vis.tsx | 14 +- .../partition_vis_component.test.tsx.snap | 3194 +++++++++- .../components/partition_vis_component.tsx | 13 +- .../public/components/tagcloud_component.tsx | 10 +- .../__snapshots__/xy_chart.test.tsx.snap | 5162 ++++++++++++++++- .../public/components/xy_chart.tsx | 13 +- .../static/styles/multilayer_timeaxis.ts | 2 +- .../charts/public/services/theme/README.md | 29 +- .../charts/public/services/theme/mock.ts | 10 +- .../public/services/theme/theme.test.tsx | 80 - .../charts/public/services/theme/theme.ts | 27 +- .../public/components/diagnostics_flyout.tsx | 14 +- .../components/timelion_vis_component.tsx | 3 - .../vis_types/timeseries/vis.test.js | 9 - .../visualizations/views/timeseries/index.js | 12 +- .../views/timeseries/utils/theme.test.ts | 22 +- .../views/timeseries/utils/theme.ts | 8 +- .../document_count_chart.tsx | 4 +- .../ml/data_grid/components/column_chart.tsx | 5 +- .../mini_histogram/mini_histogram.tsx | 5 +- .../distribution/index.tsx | 12 +- .../storage_details_per_service.tsx | 7 +- .../app/storage_explorer/storage_chart.tsx | 7 +- .../shared/charts/breakdown_chart/index.tsx | 7 +- .../duration_distribution_chart/index.tsx | 7 +- .../index.tsx | 7 +- .../shared/charts/spark_plot/index.tsx | 7 +- .../shared/charts/timeseries_chart.tsx | 7 +- .../shared/critical_path_flamegraph/index.tsx | 7 +- .../compliance_score_chart.tsx | 1 - .../vulnerability_trend_graph.tsx | 10 +- .../document_count_chart.tsx | 2 - .../boolean_content.tsx | 10 +- .../field_data_row/column_chart.tsx | 12 +- .../metric_distribution_chart.tsx | 8 +- .../charts/data_drift_distribution_chart.tsx | 7 +- .../charts/overlap_distribution_chart.tsx | 8 +- .../charts/single_distribution_chart.tsx | 17 +- .../analytics_collection_chart.tsx | 2 - .../analytics_collection_card.tsx | 12 +- .../components/analytics_chart.test.tsx | 1 - .../analytics/components/analytics_chart.tsx | 6 +- .../common/components/threshold.stories.tsx | 3 +- .../common/components/threshold.test.tsx | 3 +- .../alerting/common/components/threshold.tsx | 2 +- .../alert_details_app_section/index.tsx | 6 +- .../components/alert_details_app_section.tsx | 1 - .../components/expression_chart.test.tsx | 1 - .../asset_details/__stories__/decorator.tsx | 1 - .../asset_details/tabs/overview/alerts.tsx | 1 - .../single_metric_sparkline.tsx | 33 +- .../components/chart/metric_chart_wrapper.tsx | 13 +- .../tabs/alerts/alerts_tab_content.tsx | 1 - .../public/utils/use_timeline_chart_theme.ts | 5 - .../metric/dimension_editor.tsx | 2 +- .../kibana/__mocks__/kibana_context.ts | 13 +- .../decision_path_chart.tsx | 4 +- .../feature_importance_summary.tsx | 4 +- .../explorer_chart_distribution.js | 6 +- .../explorer_chart_distribution.test.js | 2 +- .../explorer_chart_single_metric.js | 6 +- .../explorer_chart_single_metric.test.js | 2 +- .../explorer_charts_container.js | 13 +- .../explorer/swimlane_container.tsx | 4 +- .../datafeed_chart_flyout.tsx | 4 +- .../charts/anomaly_chart/anomaly_chart.tsx | 5 +- .../event_rate_chart/event_rate_chart.tsx | 4 +- .../memory_usage/memory_tree_map/tree_map.tsx | 13 +- .../nodes_overview/memory_preview_chart.tsx | 8 +- .../components/alert_status_indicator.tsx | 6 +- .../components/alert_details_app_section.tsx | 1 - .../criterion_preview_chart.tsx | 6 +- .../components/custom_threshold.stories.tsx | 3 +- .../components/custom_threshold.test.tsx | 3 +- .../components/custom_threshold.tsx | 2 +- .../components/expression_chart.tsx | 3 + .../public/pages/alerts/alerts.tsx | 1 - .../components/sections/apm/apm_section.tsx | 6 +- .../components/sections/logs/logs_section.tsx | 6 +- .../metrics/metric_with_sparkline.tsx | 29 +- .../sections/uptime/uptime_section.tsx | 6 +- .../public/pages/overview/overview.tsx | 1 - .../pages/rule_details/rule_details.tsx | 5 +- .../components/events_chart_panel.tsx | 2 - .../slo_details/components/wide_chart.tsx | 2 - .../components/common/data_preview_chart.tsx | 4 +- .../public/pages/slo_edit/slo_edit.test.tsx | 1 - .../components/card_view/slo_card_item.tsx | 5 +- .../pages/slos/components/slo_sparkline.tsx | 3 +- .../kibana_react.storybook_decorator.tsx | 1 - .../public/hooks/use_chart_theme.tsx | 54 +- .../observability_shared/public/index.ts | 2 +- .../public/components/flamegraph/index.tsx | 3 + .../components/stacked_bar_chart/index.tsx | 1 + .../hooks/use_profiling_charts_theme.ts | 8 +- .../common/components/charts/common.test.tsx | 6 +- .../common/components/charts/common.tsx | 6 +- .../components/charts/donutchart.test.tsx | 6 +- .../alerts_histogram.tsx | 1 + .../rule_types/threshold/visualization.tsx | 6 +- .../monitor_status/monitor_status_panel.tsx | 4 +- .../overview/overview/metric_item.tsx | 1 + .../network_timings_donut.tsx | 6 +- .../waterfall/waterfall_bar_chart.tsx | 8 +- .../waterfall/waterfall_chart_fixed_axis.tsx | 7 +- .../contexts/synthetics_theme_context.tsx | 3 - ...chart_theme.ts => use_base_chart_theme.ts} | 11 +- .../components/barchart/barchart.tsx | 12 +- .../mock/alert_summary_widget/index.ts | 2 - .../alert_summary_widget_compact.tsx | 2 +- .../alert_summary_widget_full_size.tsx | 4 +- .../sections/alert_summary_widget/types.ts | 2 +- .../components/execution_duration_chart.tsx | 13 +- .../__snapshots__/donut_chart.test.tsx.snap | 363 +- .../common/charts/duration_chart.tsx | 1 + .../common/charts/monitor_bar_series.tsx | 1 + .../common/charts/ping_histogram.tsx | 1 + .../components/waterfall_bar_chart.tsx | 7 +- .../components/waterfall_chart_fixed_axis.tsx | 12 +- .../contexts/uptime_theme_context.tsx | 3 - ...chart_theme.ts => use_base_chart_theme.ts} | 11 +- .../helpers/app_context.mock.tsx | 2 +- .../watch_visualization.tsx | 8 +- .../lens/group3/dashboard_inline_editing.ts | 2 + .../functional/apps/lens/group6/metric.ts | 6 + .../apps/lens/open_in_lens/agg_based/goal.ts | 11 +- .../lens/open_in_lens/agg_based/metric.ts | 11 +- .../test/functional/page_objects/lens_page.ts | 13 +- yarn.lock | 8 +- 136 files changed, 9368 insertions(+), 879 deletions(-) rename x-pack/plugins/synthetics/public/hooks/{use_chart_theme.ts => use_base_chart_theme.ts} (61%) rename x-pack/plugins/uptime/public/legacy_uptime/hooks/{use_chart_theme.ts => use_base_chart_theme.ts} (61%) diff --git a/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx b/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx index a55f25292cf5d..cfa672748f7ff 100644 --- a/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx +++ b/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx @@ -8,7 +8,15 @@ import React, { useEffect, useState, FC } from 'react'; -import { Chart, Settings, Axis, BarSeries, Position, ScaleType } from '@elastic/charts'; +import { + Chart, + Settings, + Axis, + BarSeries, + Position, + ScaleType, + LEGACY_LIGHT_THEME, +} from '@elastic/charts'; import { EuiBadge, @@ -113,7 +121,11 @@ export const PageReducerStream: FC = () => {
- + diff --git a/package.json b/package.json index 74e36e83621af..524e1e02cf6a2 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "@dnd-kit/utilities": "^2.0.0", "@elastic/apm-rum": "^5.15.0", "@elastic/apm-rum-react": "^2.0.1", - "@elastic/charts": "60.0.1", + "@elastic/charts": "61.0.3", "@elastic/datemath": "5.0.3", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.9.1-canary.1", "@elastic/ems-client": "8.5.1", diff --git a/packages/kbn-unified-field-list/src/components/field_stats/field_stats.tsx b/packages/kbn-unified-field-list/src/components/field_stats/field_stats.tsx index 3f5039a96e9f6..c2d5fd0f32632 100755 --- a/packages/kbn-unified-field-list/src/components/field_stats/field_stats.tsx +++ b/packages/kbn-unified-field-list/src/components/field_stats/field_stats.tsx @@ -29,6 +29,7 @@ import { Settings, TooltipType, Tooltip, + PartialTheme, } from '@elastic/charts'; import { i18n } from '@kbn/i18n'; import { buildEsQuery, Query, Filter, AggregateQuery } from '@kbn/es-query'; @@ -223,22 +224,18 @@ const FieldStatsComponent: React.FC = ({ }; }, []); - const chartTheme = charts.theme.useChartsTheme(); const chartBaseTheme = charts.theme.useChartsBaseTheme(); - const customChartTheme: typeof chartTheme = useMemo(() => { + const chartThemeOverrides = useMemo(() => { return color ? { - ...chartTheme, barSeriesStyle: { - ...chartTheme.barSeriesStyle, rect: { - ...(chartTheme.barSeriesStyle?.rect || {}), fill: color, }, }, } - : chartTheme; - }, [chartTheme, color]); + : {}; + }, [color]); const { isLoading, @@ -486,7 +483,7 @@ const FieldStatsComponent: React.FC = ({ = ({ diff --git a/src/plugins/chart_expressions/expression_gauge/public/components/__snapshots__/gauge_component.test.tsx.snap b/src/plugins/chart_expressions/expression_gauge/public/components/__snapshots__/gauge_component.test.tsx.snap index 17eb7b358bb47..afd6ce21ad36f 100644 --- a/src/plugins/chart_expressions/expression_gauge/public/components/__snapshots__/gauge_component.test.tsx.snap +++ b/src/plugins/chart_expressions/expression_gauge/public/components/__snapshots__/gauge_component.test.tsx.snap @@ -6,7 +6,514 @@ exports[`GaugeComponent renders the chart 1`] = ` > diff --git a/src/plugins/chart_expressions/expression_gauge/public/components/gauge_component.tsx b/src/plugins/chart_expressions/expression_gauge/public/components/gauge_component.tsx index ea8342462f05e..6565673cea0da 100644 --- a/src/plugins/chart_expressions/expression_gauge/public/components/gauge_component.tsx +++ b/src/plugins/chart_expressions/expression_gauge/public/components/gauge_component.tsx @@ -261,8 +261,6 @@ export const GaugeComponent: FC = memo( return null; } - const chartTheme = chartsThemeService.useChartsTheme(); - const metricColumn = table.columns.find((col) => col.id === accessors.metric); const chartData = table.rows.filter( @@ -366,7 +364,7 @@ export const GaugeComponent: FC = memo( } debugState={window._echDebugStateFlag ?? false} - theme={[{ background: { color: 'transparent' } }, chartTheme]} + theme={[{ background: { color: 'transparent' } }]} baseTheme={chartBaseTheme} ariaLabel={args.ariaLabel} ariaUseDefaultSummary={!args.ariaLabel} diff --git a/src/plugins/chart_expressions/expression_heatmap/public/components/heatmap_component.tsx b/src/plugins/chart_expressions/expression_heatmap/public/components/heatmap_component.tsx index e541918801b59..d36f8f54b9365 100644 --- a/src/plugins/chart_expressions/expression_heatmap/public/components/heatmap_component.tsx +++ b/src/plugins/chart_expressions/expression_heatmap/public/components/heatmap_component.tsx @@ -155,7 +155,6 @@ export const HeatmapComponent: FC = memo( overrides, }) => { const chartRef = useRef(null); - const chartTheme = chartsThemeService.useChartsTheme(); const isDarkTheme = chartsThemeService.useDarkMode(); // legacy heatmap legend is handled by the uiState const [showLegend, setShowLegend] = useState(() => { @@ -541,13 +540,8 @@ export const HeatmapComponent: FC = memo( grid: { stroke: { width: - args.gridConfig.strokeWidth ?? - chartTheme.axes?.gridLine?.horizontal?.strokeWidth ?? - 1, - color: - args.gridConfig.strokeColor ?? - chartTheme.axes?.gridLine?.horizontal?.stroke ?? - '#D3DAE6', + args.gridConfig.strokeWidth ?? chartBaseTheme.axes.gridLine.horizontal.strokeWidth, + color: args.gridConfig.strokeColor ?? chartBaseTheme.axes.gridLine.horizontal.stroke, }, }, cell: { @@ -566,13 +560,13 @@ export const HeatmapComponent: FC = memo( yAxisLabel: { visible: !!yAxisColumn && args.gridConfig.isYAxisLabelVisible, // eui color subdued - textColor: chartTheme.axes?.tickLabel?.fill ?? '#6a717d', + textColor: chartBaseTheme.axes.tickLabel.fill, padding: yAxisColumn?.name ? 8 : 0, }, xAxisLabel: { visible: Boolean(args.gridConfig.isXAxisLabelVisible && xAxisColumn), // eui color subdued - textColor: chartTheme.axes?.tickLabel?.fill ?? `#6a717d`, + textColor: chartBaseTheme.axes.tickLabel.fill, padding: xAxisColumn?.name ? 8 : 0, }, brushMask: { @@ -713,7 +707,6 @@ export const HeatmapComponent: FC = memo( debugState={window._echDebugStateFlag ?? false} theme={[ themeOverrides, - chartTheme, ...(Array.isArray(settingsThemeOverrides) ? settingsThemeOverrides : [settingsThemeOverrides]), diff --git a/src/plugins/chart_expressions/expression_metric/public/__mocks__/theme_service.ts b/src/plugins/chart_expressions/expression_metric/public/__mocks__/theme_service.ts index b00ec8a6ee569..c3c23e41c01db 100644 --- a/src/plugins/chart_expressions/expression_metric/public/__mocks__/theme_service.ts +++ b/src/plugins/chart_expressions/expression_metric/public/__mocks__/theme_service.ts @@ -8,7 +8,6 @@ export const getThemeService = () => { return { - useChartsTheme: () => ({}), useChartsBaseTheme: () => ({ metric: { minHeight: 64 } }), }; }; diff --git a/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx b/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx index a0d02562d7623..ba3ef124d7ed2 100644 --- a/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx +++ b/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx @@ -154,7 +154,6 @@ export const MetricVis = ({ filterable, overrides, }: MetricVisComponentProps) => { - const chartTheme = getThemeService().useChartsTheme(); const onRenderChange = useCallback( (isRendered) => { if (isRendered) { @@ -167,8 +166,7 @@ export const MetricVis = ({ const [scrollChildHeight, setScrollChildHeight] = useState('100%'); const scrollContainerRef = useRef(null); const scrollDimensions = useResizeObserver(scrollContainerRef.current); - - const baseTheme = getThemeService().useChartsBaseTheme(); + const chartBaseTheme = getThemeService().useChartsBaseTheme(); const primaryMetricColumn = getColumnByAccessor(config.dimensions.metric, data.columns)!; const formatPrimaryMetric = getMetricFormatter(config.dimensions.metric, data.columns); @@ -275,7 +273,7 @@ export const MetricVis = ({ } = config; const numRows = metricConfigs.length / maxCols; - const minHeight = chartTheme.metric?.minHeight ?? baseTheme.metric.minHeight; + const minHeight = chartBaseTheme.metric.minHeight; useEffect(() => { const minimumRequiredVerticalSpace = minHeight * numRows; @@ -327,18 +325,18 @@ export const MetricVis = ({ locale={i18n.getLocale()} theme={[ { - background: { color: 'transparent' }, + background: { color: defaultColor }, metric: { - background: defaultColor, barBackground: euiThemeVars.euiColorLightShade, + emptyBackground: euiThemeVars.euiColorEmptyShade, + blendingBackground: euiThemeVars.euiColorEmptyShade, }, - ...chartTheme, }, ...(Array.isArray(settingsThemeOverrides) ? settingsThemeOverrides : [settingsThemeOverrides]), ]} - baseTheme={baseTheme} + baseTheme={chartBaseTheme} onRenderChange={onRenderChange} onElementClick={ filterable diff --git a/src/plugins/chart_expressions/expression_partition_vis/public/components/__snapshots__/partition_vis_component.test.tsx.snap b/src/plugins/chart_expressions/expression_partition_vis/public/components/__snapshots__/partition_vis_component.test.tsx.snap index 451f25f93f9e2..241e2ac6f4faf 100644 --- a/src/plugins/chart_expressions/expression_partition_vis/public/components/__snapshots__/partition_vis_component.test.tsx.snap +++ b/src/plugins/chart_expressions/expression_partition_vis/public/components/__snapshots__/partition_vis_component.test.tsx.snap @@ -236,7 +236,514 @@ exports[`PartitionVisComponent should render correct structure for donut 1`] = ` /> - } - onElementClick={[Function]} - onRenderChange={[Function]} - showLegend={true} - theme={ - Array [ - Object { - "background": Object { - "color": "transparent", + baseTheme={ + Object { + "arcSeriesStyle": Object { + "arc": Object { + "opacity": 1, + "stroke": "black", + "strokeWidth": 1, + "visible": true, }, }, - Object { - "chartMargins": Object { - "bottom": 0, - "left": 0, - "right": 0, - "top": 0, + "areaSeriesStyle": Object { + "area": Object { + "opacity": 0.3, + "visible": true, }, - "partition": Object { - "circlePadding": 4, - "emptySizeRatio": 0, - "fontFamily": undefined, - "linkLabel": Object { - "fontSize": 11, - "maxCount": 5, - "maxTextLength": 100, - "textColor": undefined, + "fit": Object { + "area": Object { + "fill": "__use__series__color__", + "opacity": 0.15, + "visible": true, + }, + "line": Object { + "dash": Array [ + 5, + 5, + ], + "opacity": 1, + "stroke": "__use__series__color__", + "visible": true, }, - "maxFontSize": 16, - "minFontSize": 10, - "outerSizeRatio": undefined, - "sectorLineStroke": undefined, - "sectorLineWidth": 1.5, + }, + "isolatedPoint": Object { + "fill": "white", + "opacity": 1, + "radius": 2, + "stroke": "__use__series__color__", + "strokeWidth": 1, + "visible": true, + }, + "line": Object { + "opacity": 1, + "strokeWidth": 2, + "visible": true, + }, + "point": Object { + "fill": "#FFF", + "opacity": 1, + "radius": 3, + "stroke": "__use__series__color__", + "strokeWidth": 2, + "visible": false, }, }, - Object {}, - Object { - "legend": Object { - "labelOptions": Object { - "maxLines": 1, + "axes": Object { + "axisLine": Object { + "stroke": "#eaedf3", + "strokeWidth": 1, + "visible": true, + }, + "axisPanelTitle": Object { + "fill": "#333", + "fontFamily": "sans-serif", + "fontSize": 10, + "padding": Object { + "inner": 8, + "outer": 0, + }, + "visible": true, + }, + "axisTitle": Object { + "fill": "#343741", + "fontFamily": "Inter, BlinkMacSystemFont, Helvetica, Arial, sans-serif", + "fontSize": 12, + "padding": Object { + "inner": 10, + "outer": 0, + }, + "visible": true, + }, + "gridLine": Object { + "horizontal": Object { + "dash": Array [ + 0, + 0, + ], + "opacity": 1, + "stroke": "#eaedf3", + "strokeWidth": 1, + "visible": true, + }, + "lumaSteps": Array [ + 224, + 184, + 128, + 96, + 64, + 32, + 16, + 8, + 4, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + ], + "vertical": Object { + "dash": Array [ + 4, + 4, + ], + "opacity": 1, + "stroke": "#eaedf3", + "strokeWidth": 1, + "visible": true, + }, + }, + "tickLabel": Object { + "alignment": Object { + "horizontal": "near", + "vertical": "near", }, + "fill": "#646a77", + "fontFamily": "Inter, BlinkMacSystemFont, Helvetica, Arial, sans-serif", + "fontSize": 10, + "fontStyle": "normal", + "offset": Object { + "reference": "local", + "x": 0, + "y": 0, + }, + "padding": Object { + "inner": 10, + "outer": 8, + }, + "rotation": 0, + "visible": true, + }, + "tickLine": Object { + "padding": 10, + "size": 10, + "stroke": "#eaedf3", + "strokeWidth": 1, + "visible": false, }, }, - Object {}, - ] - } - /> - + } + onElementClick={[Function]} + onRenderChange={[Function]} + showLegend={true} + theme={ + Array [ + Object { + "background": Object { + "color": "transparent", + }, + }, + Object { + "chartMargins": Object { + "bottom": 0, + "left": 0, + "right": 0, + "top": 0, + }, + "partition": Object { + "circlePadding": 4, + "emptySizeRatio": 0, + "fontFamily": "Inter, BlinkMacSystemFont, Helvetica, Arial, sans-serif", + "linkLabel": Object { + "fontSize": 11, + "maxCount": 5, + "maxTextLength": 100, + "textColor": "#343741", + }, + "maxFontSize": 16, + "minFontSize": 10, + "outerSizeRatio": undefined, + "sectorLineStroke": "#FFF", + "sectorLineWidth": 1.5, + }, + }, + Object { + "legend": Object { + "labelOptions": Object { + "maxLines": 1, + }, + }, + }, + Object {}, + ] + } + /> + { hasOpenedOnAggBasedEditor, } = props; const visParams = useMemo(() => filterOutConfig(visType, preVisParams), [preVisParams, visType]); - const chartTheme = props.chartsThemeService.useChartsTheme(); const chartBaseTheme = props.chartsThemeService.useChartsBaseTheme(); const { @@ -377,12 +376,19 @@ const PartitionVisComponent = (props: PartitionVisComponentProps) => { getPartitionTheme( visType, visParams, - chartTheme, + chartBaseTheme, containerDimensions, rescaleFactor, hasOpenedOnAggBasedEditor ), - [visType, visParams, chartTheme, containerDimensions, rescaleFactor, hasOpenedOnAggBasedEditor] + [ + visType, + visParams, + chartBaseTheme, + containerDimensions, + rescaleFactor, + hasOpenedOnAggBasedEditor, + ] ); const fixedViewPort = document.getElementById('app-fixed-viewport'); @@ -574,7 +580,6 @@ const PartitionVisComponent = (props: PartitionVisComponentProps) => { // Chart background should be transparent for the usage at Canvas. { background: { color: 'transparent' } }, themeOverrides, - chartTheme, { legend: { labelOptions: { diff --git a/src/plugins/chart_expressions/expression_tagcloud/public/components/tagcloud_component.tsx b/src/plugins/chart_expressions/expression_tagcloud/public/components/tagcloud_component.tsx index a00bbb93e4a58..0c7f855c66390 100644 --- a/src/plugins/chart_expressions/expression_tagcloud/public/components/tagcloud_component.tsx +++ b/src/plugins/chart_expressions/expression_tagcloud/public/components/tagcloud_component.tsx @@ -12,7 +12,13 @@ import { i18n } from '@kbn/i18n'; import { throttle } from 'lodash'; import { EuiIconTip, EuiResizeObserver } from '@elastic/eui'; import { IconChartTagcloud } from '@kbn/chart-icons'; -import { Chart, Settings, Wordcloud, RenderChangeListener } from '@elastic/charts'; +import { + Chart, + Settings, + Wordcloud, + RenderChangeListener, + LEGACY_LIGHT_THEME, +} from '@elastic/charts'; import { EmptyPlaceholder } from '@kbn/charts-plugin/public'; import { PaletteRegistry, @@ -234,6 +240,8 @@ export const TagCloudChart = ({
(null); - const chartTheme = chartsThemeService.useChartsTheme(); const chartBaseTheme = chartsThemeService.useChartsBaseTheme(); const darkMode = chartsThemeService.useDarkMode(); const filteredLayers = getFilteredLayers(layers); @@ -796,9 +796,7 @@ export function XYChart({ legendSize={LegendSizeToPixels[legend.legendSize ?? DEFAULT_LEGEND_SIZE]} theme={[ { - ...chartTheme, barSeriesStyle: { - ...chartTheme.barSeriesStyle, ...valueLabelsStyling, }, background: { @@ -809,7 +807,8 @@ export function XYChart({ }, // if not title or labels are shown for axes, add some padding if required by reference line markers chartMargins: { - ...chartTheme.chartPaddings, + // Temporary margin defaults + ...LEGACY_LIGHT_THEME.chartMargins, ...computeChartMargins( linesPaddings, { ...tickLabelsVisibilitySettings, x: xAxisConfig?.showLabels }, @@ -993,9 +992,9 @@ export function XYChart({ rangeAnnotations.length && shouldHideDetails ? OUTSIDE_RECT_ANNOTATION_WIDTH_SUGGESTION : shouldUseNewTimeAxis - ? Number(MULTILAYER_TIME_AXIS_STYLE.tickLine?.padding || 0) + - Number(chartTheme.axes?.tickLabel?.fontSize || 0) - : Number(chartTheme.axes?.tickLine?.size) || OUTSIDE_RECT_ANNOTATION_WIDTH + ? Number(MULTILAYER_TIME_AXIS_STYLE.tickLine?.padding ?? 0) + + chartBaseTheme.axes.tickLabel.fontSize + : Math.max(chartBaseTheme.axes.tickLine.size, OUTSIDE_RECT_ANNOTATION_WIDTH) } /> ) : null} diff --git a/src/plugins/charts/common/static/styles/multilayer_timeaxis.ts b/src/plugins/charts/common/static/styles/multilayer_timeaxis.ts index 478cc7b52a73a..4b22feaa92751 100644 --- a/src/plugins/charts/common/static/styles/multilayer_timeaxis.ts +++ b/src/plugins/charts/common/static/styles/multilayer_timeaxis.ts @@ -20,7 +20,7 @@ export const MULTILAYER_TIME_AXIS_STYLE: RecursivePartial = { }, tickLine: { visible: true, - size: 0.0001, + size: 0, padding: 4, }, }; diff --git a/src/plugins/charts/public/services/theme/README.md b/src/plugins/charts/public/services/theme/README.md index fb4f941f79344..eca74a14019aa 100644 --- a/src/plugins/charts/public/services/theme/README.md +++ b/src/plugins/charts/public/services/theme/README.md @@ -8,11 +8,7 @@ The `theme` service offers utilities to interact with the kibana theme. EUI prov Default `baseTheme` from `@elastic/charts` (i.e. light). -## `chartsDefaultTheme` - -Default `theme` from `@elastic/eui` (i.e. light). - -## `useChartsTheme` and `useChartsBaseTheme` +## `useChartsBaseTheme` A **React hook** for simple fetching of the correct EUI `theme` and `baseTheme`. @@ -23,7 +19,7 @@ import { Chart, Settings } from '@elastic/charts'; export const YourComponent = () => ( {/* ... */} @@ -31,20 +27,18 @@ export const YourComponent = () => ( ); ``` -## `chartsTheme$` and `chartsBaseTheme$` +## `chartsBaseTheme$` An **`Observable`** of the current charts `theme` and `baseTheme`. Use this implementation for more flexible updates to the chart theme without full page refreshes. ```tsx import { npStart } from 'ui/new_platform'; -import { EuiChartThemeType } from '@elastic/eui/src/themes/charts/themes'; import { Subscription, combineLatest } from 'rxjs'; import { Chart, Settings, Theme } from '@elastic/charts'; interface YourComponentProps {}; interface YourComponentState { - chartsTheme: EuiChartThemeType['theme']; chartsBaseTheme: Theme; } @@ -52,16 +46,14 @@ export class YourComponent extends Component - this.setState({ chartsTheme, chartsBaseTheme }) + ).subscribe(([chartsBaseTheme]) => + this.setState({ chartsBaseTheme }) ); } @@ -72,21 +64,14 @@ export class YourComponent extends Component - + {/* ... */} ); } } ``` - -## Why have `theme` and `baseTheme`? - -The `theme` prop is a recursive partial `Theme` that overrides properties from the `baseTheme`. This allows changes to the `Theme` TS type in `@elastic/charts` without having to update the `@elastic/eui` themes for every ``. diff --git a/src/plugins/charts/public/services/theme/mock.ts b/src/plugins/charts/public/services/theme/mock.ts index ec5d00508c510..d41f9f20dd382 100644 --- a/src/plugins/charts/public/services/theme/mock.ts +++ b/src/plugins/charts/public/services/theme/mock.ts @@ -6,14 +6,11 @@ * Side Public License, v 1. */ -import { EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; +import { LIGHT_THEME } from '@elastic/charts'; import { ThemeService } from './theme'; export const themeServiceMock: ThemeService = { - chartsDefaultTheme: EUI_CHARTS_THEME_LIGHT.theme, - chartsTheme$: jest.fn(() => ({ - subscribe: jest.fn(), - })), + chartsDefaultBaseTheme: LIGHT_THEME, chartsBaseTheme$: jest.fn(() => ({ subscribe: jest.fn(), })), @@ -21,6 +18,5 @@ export const themeServiceMock: ThemeService = { subscribe: jest.fn(), })), useDarkMode: jest.fn().mockReturnValue(false), - useChartsTheme: jest.fn().mockReturnValue({}), - useChartsBaseTheme: jest.fn().mockReturnValue({}), + useChartsBaseTheme: jest.fn().mockReturnValue(LIGHT_THEME), } as any; diff --git a/src/plugins/charts/public/services/theme/theme.test.tsx b/src/plugins/charts/public/services/theme/theme.test.tsx index d13050d0a506f..d71d2beda6bb0 100644 --- a/src/plugins/charts/public/services/theme/theme.test.tsx +++ b/src/plugins/charts/public/services/theme/theme.test.tsx @@ -13,7 +13,6 @@ import { renderHook, act } from '@testing-library/react-hooks'; import { render, act as renderAct } from '@testing-library/react'; import { LIGHT_THEME, DARK_THEME } from '@elastic/charts'; -import { EUI_CHARTS_THEME_DARK, EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; import { ThemeService } from './theme'; import { coreMock } from '@kbn/core/public/mocks'; @@ -51,31 +50,6 @@ describe('ThemeService', () => { }); }); - describe('chartsTheme$', () => { - it('returns the light theme when not in dark mode', async () => { - setUpMockTheme.theme$ = createTheme$Mock(false); - const themeService = new ThemeService(); - themeService.init(setUpMockTheme); - - expect(await themeService.chartsTheme$.pipe(take(1)).toPromise()).toEqual( - EUI_CHARTS_THEME_LIGHT.theme - ); - }); - - describe('in dark mode', () => { - it(`returns the dark theme`, async () => { - // Fake dark theme turned returning true - setUpMockTheme.theme$ = createTheme$Mock(true); - const themeService = new ThemeService(); - themeService.init(setUpMockTheme); - - expect(await themeService.chartsTheme$.pipe(take(1)).toPromise()).toEqual( - EUI_CHARTS_THEME_DARK.theme - ); - }); - }); - }); - describe('chartsBaseTheme$', () => { it('returns the light theme when not in dark mode', async () => { setUpMockTheme.theme$ = createTheme$Mock(false); @@ -98,60 +72,6 @@ describe('ThemeService', () => { }); }); - describe('useChartsTheme', () => { - it('updates when the user profile settings change', () => { - setUpMockTheme.theme$ = createTheme$Mock(false); - const themeService = new ThemeService(); - themeService.init(setUpMockTheme); - const { useChartsTheme } = themeService; - - const { result } = renderHook(() => useChartsTheme()); - expect(result.current).toBe(EUI_CHARTS_THEME_LIGHT.theme); - - act(() => { - setUpMockTheme.theme$ = createTheme$Mock(true); - themeService.init(setUpMockTheme); - }); - expect(result.current).toBe(EUI_CHARTS_THEME_DARK.theme); - act(() => { - setUpMockTheme.theme$ = createTheme$Mock(false); - themeService.init(setUpMockTheme); - }); - expect(result.current).toBe(EUI_CHARTS_THEME_LIGHT.theme); - }); - - it('should not rerender when emitting the same value', () => { - setUpMockTheme.theme$ = createTheme$Mock(false); - const themeService = new ThemeService(); - themeService.init(setUpMockTheme); - const { useChartsTheme } = themeService; - - const renderCounter = jest.fn(); - const Wrapper = () => { - useChartsTheme(); - renderCounter(); - return null; - }; - - render(); - expect(renderCounter).toHaveBeenCalledTimes(1); - renderAct(() => { - setUpMockTheme.theme$ = createTheme$Mock(true); - themeService.init(setUpMockTheme); - }); - expect(renderCounter).toHaveBeenCalledTimes(2); - renderAct(() => { - setUpMockTheme.theme$ = createTheme$Mock(true); - themeService.init(setUpMockTheme); - }); - renderAct(() => { - setUpMockTheme.theme$ = createTheme$Mock(true); - themeService.init(setUpMockTheme); - }); - expect(renderCounter).toHaveBeenCalledTimes(2); - }); - }); - describe('useBaseChartTheme', () => { it('updates when the theme setting change', () => { setUpMockTheme.theme$ = createTheme$Mock(false); diff --git a/src/plugins/charts/public/services/theme/theme.ts b/src/plugins/charts/public/services/theme/theme.ts index dff300a02aa8a..b8ee2301dbb82 100644 --- a/src/plugins/charts/public/services/theme/theme.ts +++ b/src/plugins/charts/public/services/theme/theme.ts @@ -11,20 +11,14 @@ import { Observable, BehaviorSubject } from 'rxjs'; import { CoreSetup, CoreTheme } from '@kbn/core/public'; import { DARK_THEME, LIGHT_THEME, PartialTheme, Theme } from '@elastic/charts'; -import { EUI_CHARTS_THEME_DARK, EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; export class ThemeService { /** Returns default charts theme */ - public readonly chartsDefaultTheme = EUI_CHARTS_THEME_LIGHT.theme; public readonly chartsDefaultBaseTheme = LIGHT_THEME; private theme$?: Observable; - private _chartsTheme$ = new BehaviorSubject(this.chartsDefaultTheme); private _chartsBaseTheme$ = new BehaviorSubject(this.chartsDefaultBaseTheme); - /** An observable of the current charts theme */ - public chartsTheme$ = this._chartsTheme$.asObservable(); - /** An observable of the current charts base theme */ public chartsBaseTheme$ = this._chartsBaseTheme$.asObservable(); @@ -51,22 +45,11 @@ export class ThemeService { return value; }; - /** A React hook for consuming the charts theme */ + /** + * @deprecated No longer need to use theme on top of baseTheme, see https://github.com/elastic/kibana/pull/170914#issuecomment-1823014121 + */ public useChartsTheme = (): PartialTheme => { - const [value, update] = useState(this._chartsTheme$.getValue()); - const ref = useRef(value); - - useEffect(() => { - const s = this.chartsTheme$.subscribe((val) => { - if (val !== ref.current) { - ref.current = val; - update(val); - } - }); - return () => s.unsubscribe(); - }, []); - - return value; + return {}; }; /** A React hook for consuming the charts theme */ @@ -91,8 +74,6 @@ export class ThemeService { public init(theme: CoreSetup['theme']) { this.theme$ = theme.theme$; this.theme$.subscribe(({ darkMode }) => { - const selectedTheme = darkMode ? EUI_CHARTS_THEME_DARK.theme : EUI_CHARTS_THEME_LIGHT.theme; - this._chartsTheme$.next(selectedTheme); this._chartsBaseTheme$.next(darkMode ? DARK_THEME : LIGHT_THEME); }); } diff --git a/src/plugins/files_management/public/components/diagnostics_flyout.tsx b/src/plugins/files_management/public/components/diagnostics_flyout.tsx index 0eef44d26188f..8a9528db4472c 100644 --- a/src/plugins/files_management/public/components/diagnostics_flyout.tsx +++ b/src/plugins/files_management/public/components/diagnostics_flyout.tsx @@ -21,7 +21,15 @@ import { EuiSpacer, EuiFlexItem, } from '@elastic/eui'; -import { Chart, Axis, Position, HistogramBarSeries, ScaleType } from '@elastic/charts'; +import { + Chart, + Axis, + Position, + HistogramBarSeries, + ScaleType, + Settings, + LEGACY_LIGHT_THEME, +} from '@elastic/charts'; import numeral from '@elastic/numeral'; import type { FunctionComponent } from 'react'; import React from 'react'; @@ -90,6 +98,10 @@ export const DiagnosticsFlyout: FunctionComponent = ({ onClose }) => {

{i18nTexts.diagnosticsBreakdownsStatus}

+ (null); const chart = seriesList.list; const chartsService = getCharts(); - - const chartTheme = chartsService.theme.useChartsTheme(); const chartBaseTheme = chartsService.theme.useChartsBaseTheme(); const handleCursorUpdate = useActiveCursor(chartsService.activeCursor, chartRef, { @@ -216,7 +214,6 @@ export const TimelionVisComponent = ({ externalPointerEvents={{ tooltip: { visible: syncTooltips, placement: Placement.Right }, }} - theme={chartTheme} baseTheme={chartBaseTheme} ariaLabel={ariaLabel} ariaUseDefaultSummary={!ariaLabel} diff --git a/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.test.js b/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.test.js index fe6f73ce66f79..d2c343d676ed9 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.test.js +++ b/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.test.js @@ -38,15 +38,6 @@ describe('TimeseriesVisualization', () => { setCharts({ theme: { - useChartsTheme: () => ({ - axes: { - tickLabel: { - padding: { - inner: 0, - }, - }, - }, - }), useChartsBaseTheme: () => ({ axes: { tickLabel: { diff --git a/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/index.js b/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/index.js index 9f88adf53ca45..0874ef8593258 100644 --- a/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/index.js +++ b/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/index.js @@ -89,7 +89,7 @@ export const TimeSeries = ({ const { theme: themeService, activeCursor: activeCursorService } = getCharts(); const chartRef = useRef(); - const chartTheme = themeService.useChartsTheme(); + const chartBaseTheme = getBaseTheme(themeService.useChartsBaseTheme(), backgroundColor); const handleCursorUpdate = useActiveCursor(activeCursorService, chartRef, { isDateHistogram: true, @@ -127,8 +127,6 @@ export const TimeSeries = ({ // apply legend style change if bgColor is configured const classes = classNames(getChartClasses(backgroundColor)); - const baseTheme = getBaseTheme(themeService.useChartsBaseTheme(), backgroundColor); - const onBrushEndListener = ({ x }) => { if (!x) { return; @@ -196,15 +194,12 @@ export const TimeSeries = ({ pointerUpdateDebounce={0} theme={[ { - crosshair: { - ...chartTheme.crosshair, - }, axes: { tickLabel: { padding: { inner: hasVisibleAnnotations ? TICK_LABEL_WITH_ANNOTATIONS_PADDING - : chartTheme.axes.tickLabel.padding.inner, + : chartBaseTheme.axes.tickLabel.padding.inner, }, }, }, @@ -226,9 +221,8 @@ export const TimeSeries = ({ labelOptions: { maxLines: truncateLegend ? maxLegendLines ?? 1 : 0 }, }, }, - chartTheme, ]} - baseTheme={baseTheme} + baseTheme={chartBaseTheme} externalPointerEvents={{ tooltip: { visible: syncTooltips, placement: Placement.Right }, }} diff --git a/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/utils/theme.test.ts b/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/utils/theme.test.ts index 0e7dbb81233e2..8983d76eca15b 100644 --- a/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/utils/theme.test.ts +++ b/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/utils/theme.test.ts @@ -7,27 +7,29 @@ */ import { getBaseTheme } from './theme'; -import { LIGHT_THEME, DARK_THEME } from '@elastic/charts'; +import { LEGACY_LIGHT_THEME, LEGACY_DARK_THEME } from '@elastic/charts'; describe('TSVB theme', () => { it('should return the basic themes if no bg color is specified', () => { // use original dark/light theme - expect(getBaseTheme(LIGHT_THEME)).toEqual(LIGHT_THEME); - expect(getBaseTheme(DARK_THEME)).toEqual(DARK_THEME); + expect(getBaseTheme(LEGACY_LIGHT_THEME)).toEqual(LEGACY_LIGHT_THEME); + expect(getBaseTheme(LEGACY_DARK_THEME)).toEqual(LEGACY_DARK_THEME); // discard any wrong/missing bg color - expect(getBaseTheme(DARK_THEME, null)).toEqual(DARK_THEME); - expect(getBaseTheme(DARK_THEME, '')).toEqual(DARK_THEME); - expect(getBaseTheme(DARK_THEME, undefined)).toEqual(DARK_THEME); + expect(getBaseTheme(LEGACY_DARK_THEME, null)).toEqual(LEGACY_DARK_THEME); + expect(getBaseTheme(LEGACY_DARK_THEME, '')).toEqual(LEGACY_DARK_THEME); + expect(getBaseTheme(LEGACY_DARK_THEME, undefined)).toEqual(LEGACY_DARK_THEME); }); it('should return a highcontrast color theme for a different background', () => { // red use a near full-black color - expect(getBaseTheme(LIGHT_THEME, 'red').axes.axisTitle.fill).toEqual('rgb(23,23,23)'); + expect(getBaseTheme(LEGACY_LIGHT_THEME, 'red').axes.axisTitle.fill).toEqual('rgb(23,23,23)'); // violet increased the text color to full white for higer contrast - expect(getBaseTheme(LIGHT_THEME, '#ba26ff').axes.axisTitle.fill).toEqual('rgb(255,255,255)'); + expect(getBaseTheme(LEGACY_LIGHT_THEME, '#ba26ff').axes.axisTitle.fill).toEqual( + 'rgb(255,255,255)' + ); - // light yellow, prefer the LIGHT_THEME fill color because already with a good contrast - expect(getBaseTheme(LIGHT_THEME, '#fff49f').axes.axisTitle.fill).toEqual('#333'); + // light yellow, prefer the LEGACY_LIGHT_THEME fill color because already with a good contrast + expect(getBaseTheme(LEGACY_LIGHT_THEME, '#fff49f').axes.axisTitle.fill).toEqual('#333'); }); }); diff --git a/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/utils/theme.ts b/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/utils/theme.ts index 82567f8e8223e..6c1142d8b7e0f 100644 --- a/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/utils/theme.ts +++ b/src/plugins/vis_types/timeseries/public/application/visualizations/views/timeseries/utils/theme.ts @@ -8,7 +8,7 @@ // @ts-ignore import colorJS from 'color'; -import { Theme, LIGHT_THEME, DARK_THEME } from '@elastic/charts'; +import { Theme, LEGACY_LIGHT_THEME, LEGACY_DARK_THEME } from '@elastic/charts'; function computeRelativeLuminosity(rgb: string) { return colorJS(rgb).luminosity(); @@ -96,11 +96,11 @@ export function getBaseTheme(baseTheme: Theme, bgColor?: string | null): Theme { } const bgLuminosity = computeRelativeLuminosity(bgColor); - const mainTheme = bgLuminosity <= 0.179 ? DARK_THEME : LIGHT_THEME; + const mainTheme = bgLuminosity <= 0.179 ? LEGACY_DARK_THEME : LEGACY_LIGHT_THEME; const color = findBestContrastColor( bgColor, - LIGHT_THEME.axes.axisTitle.fill, - DARK_THEME.axes.axisTitle.fill + LEGACY_LIGHT_THEME.axes.axisTitle.fill, + LEGACY_DARK_THEME.axes.axisTitle.fill ); return { ...mainTheme, diff --git a/x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx b/x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx index e6c4e7b573335..615816852a13b 100644 --- a/x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx +++ b/x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx @@ -190,7 +190,6 @@ export const DocumentCountChart: FC = (props) => { const { data, uiSettings, fieldFormats, charts } = dependencies; - const chartTheme = charts.theme.useChartsTheme(); const chartBaseTheme = charts.theme.useChartsBaseTheme(); const xAxisFormatter = fieldFormats.deserialize({ id: 'date' }); @@ -474,7 +473,6 @@ export const DocumentCountChart: FC = (props) => { setMlBrushMarginLeft(projection.left); setMlBrushWidth(projection.width); }} - theme={chartTheme} baseTheme={chartBaseTheme} debugState={window._echDebugStateFlag ?? false} showLegend={false} @@ -499,6 +497,7 @@ export const DocumentCountChart: FC = (props) => { yScaleType={ScaleType.Linear} xAccessor="time" yAccessors={['value']} + stackAccessors={['true']} data={adjustedChartPoints} timeZone={timeZone} color={barColor} @@ -514,6 +513,7 @@ export const DocumentCountChart: FC = (props) => { yScaleType={ScaleType.Linear} xAccessor="time" yAccessors={['value']} + stackAccessors={['true']} data={adjustedChartPointsSplit} timeZone={timeZone} color={barHighlightColor} diff --git a/x-pack/packages/ml/data_grid/components/column_chart.tsx b/x-pack/packages/ml/data_grid/components/column_chart.tsx index 9d71c16224b0c..9f8b866bea930 100644 --- a/x-pack/packages/ml/data_grid/components/column_chart.tsx +++ b/x-pack/packages/ml/data_grid/components/column_chart.tsx @@ -8,7 +8,7 @@ import React, { type FC } from 'react'; import { css } from '@emotion/react'; -import { BarSeries, Chart, Settings, ScaleType } from '@elastic/charts'; +import { BarSeries, Chart, Settings, ScaleType, LEGACY_LIGHT_THEME } from '@elastic/charts'; import { euiTextTruncate, type EuiDataGridColumn } from '@elastic/eui'; import { euiThemeVars } from '@kbn/ui-theme'; @@ -81,8 +81,9 @@ export const ColumnChart: FC = ({
= ({ const { charts } = useAiopsAppContext(); const euiTheme = useEuiTheme(); - const defaultChartTheme = charts.theme.useChartsTheme(); + const chartBaseTheme = charts.theme.useChartsBaseTheme(); const miniHistogramChartTheme: PartialTheme = { chartMargins: { @@ -107,7 +107,8 @@ export const MiniHistogram: FC = ({ diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/distribution/index.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/distribution/index.tsx index 2c4c9eec27e26..b79f30505e5db 100644 --- a/x-pack/plugins/apm/public/components/app/error_group_details/distribution/index.tsx +++ b/x-pack/plugins/apm/public/components/app/error_group_details/distribution/index.tsx @@ -14,12 +14,10 @@ import { ScaleType, Settings, Tooltip, + LIGHT_THEME, + DARK_THEME, } from '@elastic/charts'; import { EuiTitle } from '@elastic/eui'; -import { - EUI_CHARTS_THEME_DARK, - EUI_CHARTS_THEME_LIGHT, -} from '@elastic/eui/dist/eui_charts_theme'; import { i18n } from '@kbn/i18n'; import React from 'react'; import { useApmPluginContext } from '../../../../context/apm_plugin/use_apm_plugin_context'; @@ -101,11 +99,7 @@ export function ErrorDistribution({ distribution, title, fetchStatus }: Props) { showLegend showLegendExtra legendPosition={Position.Bottom} - theme={ - theme.darkMode - ? EUI_CHARTS_THEME_DARK.theme - : EUI_CHARTS_THEME_LIGHT.theme - } + theme={theme.darkMode ? DARK_THEME : LIGHT_THEME} locale={i18n.getLocale()} /> diff --git a/x-pack/plugins/apm/public/components/app/storage_explorer/storage_chart.tsx b/x-pack/plugins/apm/public/components/app/storage_explorer/storage_chart.tsx index e0a3eec1eb228..98f130c71d461 100644 --- a/x-pack/plugins/apm/public/components/app/storage_explorer/storage_chart.tsx +++ b/x-pack/plugins/apm/public/components/app/storage_explorer/storage_chart.tsx @@ -15,7 +15,7 @@ import { ScaleType, Settings, } from '@elastic/charts'; -import { useChartTheme } from '@kbn/observability-shared-plugin/public'; +import { useChartThemes } from '@kbn/observability-shared-plugin/public'; import { i18n } from '@kbn/i18n'; import { useProgressiveFetcher } from '../../../hooks/use_progressive_fetcher'; import { useTimeRange } from '../../../hooks/use_time_range'; @@ -29,7 +29,7 @@ import { asDynamicBytes } from '../../../../common/utils/formatters'; export function StorageChart() { const { core } = useApmPluginContext(); - const chartTheme = useChartTheme(); + const chartThemes = useChartThemes(); const euiPaletteColorBlindRotations = 3; const groupedPalette = euiPaletteColorBlind({ @@ -99,8 +99,9 @@ export function StorageChart() { area: { opacity: 1 }, }, }, - ...chartTheme, + ...chartThemes.theme, ]} + baseTheme={chartThemes.baseTheme} showLegend legendPosition={Position.Right} locale={i18n.getLocale()} diff --git a/x-pack/plugins/apm/public/components/shared/charts/breakdown_chart/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/breakdown_chart/index.tsx index c215c50c9e327..89e409aacd2f9 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/breakdown_chart/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/breakdown_chart/index.tsx @@ -25,7 +25,7 @@ import { i18n } from '@kbn/i18n'; import moment from 'moment'; import React from 'react'; import { useHistory } from 'react-router-dom'; -import { useChartTheme } from '@kbn/observability-shared-plugin/public'; +import { useChartThemes } from '@kbn/observability-shared-plugin/public'; import { Annotation } from '../../../../../common/annotations'; import { asAbsoluteDateTime, @@ -70,7 +70,7 @@ export function BreakdownChart({ id, }: Props) { const history = useHistory(); - const chartTheme = useChartTheme(); + const chartThemes = useChartThemes(); const { core } = useApmPluginContext(); const { chartRef, updatePointerEvent } = useChartPointerEventContext(); const { @@ -115,7 +115,8 @@ export function BreakdownChart({ showLegend showLegendExtra legendPosition={Position.Bottom} - theme={chartTheme} + theme={chartThemes.theme} + baseTheme={chartThemes.baseTheme} xDomain={{ min, max }} flatLegend onPointerUpdate={updatePointerEvent} diff --git a/x-pack/plugins/apm/public/components/shared/charts/duration_distribution_chart/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/duration_distribution_chart/index.tsx index ac1b4251e83f8..9d34e2b8b3280 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/duration_distribution_chart/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/duration_distribution_chart/index.tsx @@ -29,7 +29,7 @@ import { euiPaletteColorBlind } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { useChartTheme } from '@kbn/observability-shared-plugin/public'; +import { useChartThemes } from '@kbn/observability-shared-plugin/public'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { getDurationFormatter } from '../../../../../common/utils/formatters'; @@ -111,7 +111,7 @@ export function DurationDistributionChart({ status, eventType, }: DurationDistributionChartProps) { - const chartTheme = useChartTheme(); + const chartThemes = useChartThemes(); const euiTheme = useTheme(); const markerPercentile = DEFAULT_PERCENTILE_THRESHOLD; @@ -202,8 +202,9 @@ export function DurationDistributionChart({ }, }, }, - ...chartTheme, + ...chartThemes.theme, ]} + baseTheme={chartThemes.baseTheme} showLegend={true} legendPosition={Position.Bottom} onBrushEnd={onChartSelection} diff --git a/x-pack/plugins/apm/public/components/shared/charts/instances_latency_distribution_chart/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/instances_latency_distribution_chart/index.tsx index 02ab62585643a..c7f5ab023713c 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/instances_latency_distribution_chart/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/instances_latency_distribution_chart/index.tsx @@ -23,7 +23,7 @@ import { EuiPanel, EuiTitle } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React from 'react'; import { useHistory } from 'react-router-dom'; -import { useChartTheme } from '@kbn/observability-shared-plugin/public'; +import { useChartThemes } from '@kbn/observability-shared-plugin/public'; import { usePreviousPeriodLabel } from '../../../../hooks/use_previous_period_text'; import { SERVICE_NODE_NAME } from '../../../../../common/es_fields/apm'; import { @@ -58,7 +58,7 @@ export function InstancesLatencyDistributionChart({ const hasData = items.length > 0; const theme = useTheme(); - const chartTheme = useChartTheme(); + const chartThemes = useChartThemes(); const maxLatency = Math.max(...items.map((item) => item.latency ?? 0)); const latencyFormatter = getDurationFormatter(maxLatency); @@ -129,7 +129,8 @@ export function InstancesLatencyDistributionChart({ legendPosition={Position.Bottom} onElementClick={handleElementClick} showLegend - theme={chartTheme} + theme={chartThemes.theme} + baseTheme={chartThemes.baseTheme} xDomain={xDomain} locale={i18n.getLocale()} /> diff --git a/x-pack/plugins/apm/public/components/shared/charts/spark_plot/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/spark_plot/index.tsx index 3375a8186e3f1..f7baf95c488ad 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/spark_plot/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/spark_plot/index.tsx @@ -23,7 +23,7 @@ import { EuiLoadingChart, } from '@elastic/eui'; import React from 'react'; -import { useChartTheme } from '@kbn/observability-shared-plugin/public'; +import { useChartThemes } from '@kbn/observability-shared-plugin/public'; import { i18n } from '@kbn/i18n'; import { Coordinate } from '../../../../../typings/timeseries'; import { useTheme } from '../../../../hooks/use_theme'; @@ -103,7 +103,7 @@ function SparkPlotItem({ comparisonSeriesColor?: string; }) { const theme = useTheme(); - const defaultChartTheme = useChartTheme(); + const defaultChartThemes = useChartThemes(); const comparisonChartTheme = getComparisonChartTheme(); const hasComparisonSeries = !!comparisonSeries?.length; @@ -142,7 +142,8 @@ function SparkPlotItem({ return ( diff --git a/x-pack/plugins/apm/public/components/shared/charts/timeseries_chart.tsx b/x-pack/plugins/apm/public/components/shared/charts/timeseries_chart.tsx index 1fd876d61b3d3..cc8f85f347ddd 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/timeseries_chart.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/timeseries_chart.tsx @@ -28,7 +28,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React, { ReactElement } from 'react'; import { useHistory } from 'react-router-dom'; -import { useChartTheme } from '@kbn/observability-shared-plugin/public'; +import { useChartThemes } from '@kbn/observability-shared-plugin/public'; import { isExpectedBoundsComparison } from '../time_comparison/get_comparison_options'; import { useChartPointerEventContext } from '../../../context/chart_pointer_event/use_chart_pointer_event_context'; @@ -74,7 +74,7 @@ export function TimeseriesChart({ const history = useHistory(); const { chartRef, updatePointerEvent } = useChartPointerEventContext(); const theme = useTheme(); - const chartTheme = useChartTheme(); + const chartThemes = useChartThemes(); const anomalyChartTimeseries = getChartAnomalyTimeseries({ anomalyTimeseries, theme, @@ -189,8 +189,9 @@ export function TimeseriesChart({ line: { visible: false }, }, }, - ...chartTheme, + ...chartThemes.theme, ]} + baseTheme={chartThemes.baseTheme} onPointerUpdate={updatePointerEvent} externalPointerEvents={{ tooltip: { visible: true }, diff --git a/x-pack/plugins/apm/public/components/shared/critical_path_flamegraph/index.tsx b/x-pack/plugins/apm/public/components/shared/critical_path_flamegraph/index.tsx index 6a505efee23b2..2e694070ceaed 100644 --- a/x-pack/plugins/apm/public/components/shared/critical_path_flamegraph/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/critical_path_flamegraph/index.tsx @@ -12,7 +12,7 @@ import { euiPaletteColorBlind, } from '@elastic/eui'; import { css } from '@emotion/css'; -import { useChartTheme } from '@kbn/observability-shared-plugin/public'; +import { useChartThemes } from '@kbn/observability-shared-plugin/public'; import { uniqueId } from 'lodash'; import React, { useMemo, useRef } from 'react'; import { i18n } from '@kbn/i18n'; @@ -73,7 +73,7 @@ export function CriticalPathFlamegraph( [timerange, traceIds, serviceName, transactionName] ); - const chartTheme = useChartTheme(); + const chartThemes = useChartThemes(); const isLoading = isPending(traceIdsFetchStatus) || isPending(criticalPathFetchStatus); @@ -143,8 +143,9 @@ export function CriticalPathFlamegraph( chartMargins: themeOverrides.chartMargins, chartPaddings: themeOverrides.chartPaddings, }, - ...chartTheme, + ...chartThemes.theme, ]} + baseTheme={chartThemes.baseTheme} onElementClick={(elements) => {}} locale={i18n.getLocale()} /> diff --git a/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/compliance_score_chart.tsx b/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/compliance_score_chart.tsx index 58c06b2d35e7d..d986d5a97c2f6 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/compliance_score_chart.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/compliance_charts/compliance_score_chart.tsx @@ -209,7 +209,6 @@ const ComplianceTrendChart = ({ trend }: { trend: PostureTrend[] }) => { )} /> { >
- + = ({ services: { data, uiSettings, fieldFormats, charts }, } = useDataVisualizerKibana(); - const chartTheme = charts.theme.useChartsTheme(); const chartBaseTheme = charts.theme.useChartsBaseTheme(); const xAxisFormatter = fieldFormats.deserialize({ id: 'date' }); @@ -136,7 +135,6 @@ export const DocumentCountChart: FC = ({ diff --git a/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/field_data_expanded_row/boolean_content.tsx b/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/field_data_expanded_row/boolean_content.tsx index 32bf2d29a8a6c..51af8c47cc684 100644 --- a/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/field_data_expanded_row/boolean_content.tsx +++ b/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/field_data_expanded_row/boolean_content.tsx @@ -7,7 +7,7 @@ import React, { FC, useMemo } from 'react'; import { EuiSpacer } from '@elastic/eui'; -import { Axis, BarSeries, Chart, Settings, ScaleType } from '@elastic/charts'; +import { Axis, BarSeries, Chart, Settings, ScaleType, LEGACY_LIGHT_THEME } from '@elastic/charts'; import { FormattedMessage } from '@kbn/i18n-react'; import { roundToDecimalPlace } from '@kbn/ml-number-utils'; @@ -74,7 +74,13 @@ export const BooleanContent: FC = ({ config, onAddFilter }) = tickFormat={(d: any) => getFormattedValue(d, count)} /> - + = ({ {!isUnsupportedChartData(chartData) && data.length > 0 && ( i)} theme={{ chartMargins: zeroSize, diff --git a/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/metric_distribution_chart/metric_distribution_chart.tsx b/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/metric_distribution_chart/metric_distribution_chart.tsx index 179968580653b..0ea2bff99ae0f 100644 --- a/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/metric_distribution_chart/metric_distribution_chart.tsx +++ b/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/metric_distribution_chart/metric_distribution_chart.tsx @@ -19,6 +19,7 @@ import { Settings, TooltipHeaderFormatter, Tooltip, + LEGACY_LIGHT_THEME, } from '@elastic/charts'; import { MetricDistributionChartTooltipHeader } from './metric_distribution_chart_tooltip_header'; @@ -84,7 +85,12 @@ export const MetricDistributionChart: FC = ({ > - + - + - + - + [ @@ -127,7 +126,6 @@ export const AnalyticsCollectionChart: React.FC< ) : ( { diff --git a/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_collection_card/analytics_collection_card.tsx b/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_collection_card/analytics_collection_card.tsx index f67cccd4ddcdd..587024e87581e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_collection_card/analytics_collection_card.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_overview/analytics_collection_card/analytics_collection_card.tsx @@ -10,7 +10,15 @@ import React, { MouseEvent } from 'react'; import { parsePath } from 'history'; import { useValues } from 'kea'; -import { AreaSeries, Chart, CurveType, ScaleType, Settings, Tooltip } from '@elastic/charts'; +import { + AreaSeries, + Chart, + CurveType, + ScaleType, + Settings, + Tooltip, + LEGACY_LIGHT_THEME, +} from '@elastic/charts'; import { EuiBadge, EuiCard, @@ -175,6 +183,8 @@ export const AnalyticsCollectionCard: React.FC< {!isLoading && data?.some(([, y]) => y && y !== 0) && ( { expect(wrapper.find(Chart).prop('size')).toEqual({ height: 300 }); expect(wrapper.find(Axis)).toHaveLength(2); - expect(mockKibanaValues.charts.theme.useChartsTheme).toHaveBeenCalled(); expect(mockKibanaValues.charts.theme.useChartsBaseTheme).toHaveBeenCalled(); expect(wrapper.find(LineSeries)).toHaveLength(1); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/components/analytics_chart.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/components/analytics_chart.tsx index c53d22fbcee05..3267e88e07af7 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/components/analytics_chart.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/components/analytics_chart.tsx @@ -39,11 +39,7 @@ export const AnalyticsChart: React.FC = ({ height = 300, lines }) => { return ( moment(tooltip.value).format(TOOLTIP_DATE_FORMAT)} /> - + {lines.map(({ id, data, isDashed }) => ( ; const defaultProps: Props = { - chartProps: { theme: EUI_CHARTS_THEME_LIGHT.theme, baseTheme: LIGHT_THEME }, + chartProps: { baseTheme: LIGHT_THEME }, comparator: Comparator.GT, id: 'componentId', threshold: 90, diff --git a/x-pack/plugins/infra/public/alerting/common/components/threshold.test.tsx b/x-pack/plugins/infra/public/alerting/common/components/threshold.test.tsx index fd50c54b65f61..b78216b78f60c 100644 --- a/x-pack/plugins/infra/public/alerting/common/components/threshold.test.tsx +++ b/x-pack/plugins/infra/public/alerting/common/components/threshold.test.tsx @@ -6,7 +6,6 @@ */ import { LIGHT_THEME } from '@elastic/charts'; -import { EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; import { Comparator } from '../../../../common/alerting/metrics'; import { render } from '@testing-library/react'; import { Props, Threshold } from './threshold'; @@ -15,7 +14,7 @@ import React from 'react'; describe('Threshold', () => { const renderComponent = (props: Partial = {}) => { const defaultProps: Props = { - chartProps: { theme: EUI_CHARTS_THEME_LIGHT.theme, baseTheme: LIGHT_THEME }, + chartProps: { baseTheme: LIGHT_THEME }, comparator: Comparator.GT, id: 'componentId', threshold: 90, diff --git a/x-pack/plugins/infra/public/alerting/common/components/threshold.tsx b/x-pack/plugins/infra/public/alerting/common/components/threshold.tsx index 79e065ae7b1f3..d9ca396f9aa33 100644 --- a/x-pack/plugins/infra/public/alerting/common/components/threshold.tsx +++ b/x-pack/plugins/infra/public/alerting/common/components/threshold.tsx @@ -13,7 +13,7 @@ import { i18n } from '@kbn/i18n'; import { Comparator } from '../../../../common/alerting/metrics'; export interface ChartProps { - theme: PartialTheme; + theme?: PartialTheme; baseTheme: Theme; } diff --git a/x-pack/plugins/infra/public/alerting/log_threshold/components/alert_details_app_section/index.tsx b/x-pack/plugins/infra/public/alerting/log_threshold/components/alert_details_app_section/index.tsx index 05b8c53f9ded9..e730767ee0d76 100644 --- a/x-pack/plugins/infra/public/alerting/log_threshold/components/alert_details_app_section/index.tsx +++ b/x-pack/plugins/infra/public/alerting/log_threshold/components/alert_details_app_section/index.tsx @@ -6,7 +6,7 @@ */ import React, { useEffect } from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui'; -import { LIGHT_THEME } from '@elastic/charts'; +import { LEGACY_LIGHT_THEME } from '@elastic/charts'; import { EuiPanel } from '@elastic/eui'; import { ALERT_CONTEXT, @@ -129,7 +129,7 @@ const AlertDetailsAppSection = ({ ({ activeCursor: jest.fn(), theme: { useChartsBaseTheme: jest.fn(() => ({})), - useChartsTheme: jest.fn(() => ({})), }, }, }, diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx b/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx index e55a70978a748..a0f2a34df8f36 100644 --- a/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx @@ -104,7 +104,6 @@ export const DecorateWithKibanaContext: DecoratorFn = (story) => { }, charts: { theme: { - useChartsTheme: () => ({} as Theme), useChartsBaseTheme: () => ({} as Theme), }, }, diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/alerts.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/alerts.tsx index 9b964a0974a23..4d22688debc8c 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/alerts.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/alerts.tsx @@ -97,7 +97,6 @@ const MemoAlertSummaryWidget = React.memo( const { getAlertSummaryWidget: AlertSummaryWidget } = triggersActionsUi; const chartProps = { - theme: charts.theme.useChartsTheme(), baseTheme: charts.theme.useChartsBaseTheme(), }; diff --git a/x-pack/plugins/infra/public/pages/logs/log_entry_categories/sections/top_categories/single_metric_sparkline.tsx b/x-pack/plugins/infra/public/pages/logs/log_entry_categories/sections/top_categories/single_metric_sparkline.tsx index 566b601991c7b..d51b1ff370fe3 100644 --- a/x-pack/plugins/infra/public/pages/logs/log_entry_categories/sections/top_categories/single_metric_sparkline.tsx +++ b/x-pack/plugins/infra/public/pages/logs/log_entry_categories/sections/top_categories/single_metric_sparkline.tsx @@ -6,12 +6,17 @@ */ import React, { useMemo } from 'react'; -import { Chart, Settings, AreaSeries, ScaleType, TooltipType, Tooltip } from '@elastic/charts'; import { - EUI_CHARTS_THEME_LIGHT, - EUI_SPARKLINE_THEME_PARTIAL, - EUI_CHARTS_THEME_DARK, -} from '@elastic/eui/dist/eui_charts_theme'; + Chart, + Settings, + AreaSeries, + ScaleType, + TooltipType, + Tooltip, + LIGHT_THEME, + DARK_THEME, +} from '@elastic/charts'; +import { EUI_SPARKLINE_THEME_PARTIAL } from '@elastic/eui/dist/eui_charts_theme'; import { i18n } from '@kbn/i18n'; import { useIsDarkMode } from '../../../../../hooks/use_is_dark_mode'; import { useKibanaTimeZoneSetting } from '../../../../../hooks/use_kibana_time_zone_setting'; @@ -35,15 +40,7 @@ export const SingleMetricSparkline: React.FunctionComponent<{ }> = ({ metric, timeRange }) => { const isDarkMode = useIsDarkMode(); const timeZone = useKibanaTimeZoneSetting(); - - const theme = useMemo( - () => [ - // localThemeOverride, - EUI_SPARKLINE_THEME_PARTIAL, - isDarkMode ? EUI_CHARTS_THEME_DARK.theme : EUI_CHARTS_THEME_LIGHT.theme, - ], - [isDarkMode] - ); + const baseTheme = useMemo(() => (isDarkMode ? DARK_THEME : LIGHT_THEME), [isDarkMode]); const xDomain = useMemo( () => ({ @@ -56,7 +53,13 @@ export const SingleMetricSparkline: React.FunctionComponent<{ return ( - + + diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx index 245a7ee752a64..5a64a4040b288 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx @@ -91,7 +91,6 @@ const MemoAlertSummaryWidget = React.memo( }; const chartProps = { - theme: charts.theme.useChartsTheme(), baseTheme: charts.theme.useChartsBaseTheme(), onBrushEnd, }; diff --git a/x-pack/plugins/infra/public/utils/use_timeline_chart_theme.ts b/x-pack/plugins/infra/public/utils/use_timeline_chart_theme.ts index 7c562c90ab434..47aac1cc26bfa 100644 --- a/x-pack/plugins/infra/public/utils/use_timeline_chart_theme.ts +++ b/x-pack/plugins/infra/public/utils/use_timeline_chart_theme.ts @@ -16,19 +16,15 @@ export function useTimelineChartTheme(): Pick handleColorChange(color)} color={currentColor} aria-label={colorLabel} - showAlpha={false} + showAlpha swatches={euiPaletteColorBlind()} /> diff --git a/x-pack/plugins/ml/public/application/contexts/kibana/__mocks__/kibana_context.ts b/x-pack/plugins/ml/public/application/contexts/kibana/__mocks__/kibana_context.ts index 355f66f2bf9fd..ab19e7c19b93e 100644 --- a/x-pack/plugins/ml/public/application/contexts/kibana/__mocks__/kibana_context.ts +++ b/x-pack/plugins/ml/public/application/contexts/kibana/__mocks__/kibana_context.ts @@ -10,20 +10,11 @@ import { fieldFormatsServiceMock } from '@kbn/field-formats-plugin/public/mocks' import { BehaviorSubject } from 'rxjs'; import { mlApiServicesMock } from '../../../services/__mocks__/ml_api_services'; import { notificationServiceMock } from '@kbn/core-notifications-browser-mocks'; +import { LIGHT_THEME } from '@elastic/charts'; export const chartsServiceMock = { theme: { - useChartsTheme: jest.fn(() => { - return { - crosshair: { - line: { - stroke: 'black', - strokeWidth: 1, - dash: [4, 4], - }, - }, - }; - }), + useChartsBaseTheme: jest.fn(() => LIGHT_THEME), }, activeCursor: { activeCursor$: new BehaviorSubject({ diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/feature_importance/decision_path_chart.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/feature_importance/decision_path_chart.tsx index 1eb4fc62b472d..7d6a2755348ae 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/feature_importance/decision_path_chart.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/feature_importance/decision_path_chart.tsx @@ -19,6 +19,7 @@ import { RecursivePartial, ScaleType, Settings, + LEGACY_LIGHT_THEME, } from '@elastic/charts'; import { EuiIcon } from '@elastic/eui'; @@ -127,8 +128,9 @@ export const DecisionPathChart = ({ size={{ height: DECISION_PATH_MARGIN + decisionPathData.length * DECISION_PATH_ROW_HEIGHT }} > diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/total_feature_importance_summary/feature_importance_summary.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/total_feature_importance_summary/feature_importance_summary.tsx index 00e52934b0627..a3e55a0e09064 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/total_feature_importance_summary/feature_importance_summary.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/total_feature_importance_summary/feature_importance_summary.tsx @@ -19,6 +19,7 @@ import { AxisStyle, PartialTheme, BarSeriesProps, + LEGACY_LIGHT_THEME, } from '@elastic/charts'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -295,8 +296,9 @@ export const FeatureImportanceSummaryPanel: FC diff --git a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_distribution.js b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_distribution.js index 169f739de41cd..175b58a72c0a5 100644 --- a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_distribution.js +++ b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_distribution.js @@ -326,9 +326,9 @@ export class ExplorerChartDistribution extends React.Component { return `M${xPosition},${chartHeight} ${xPosition},0`; }) // Use elastic chart's cursor line style if possible - .style('stroke', `${chartTheme.crosshair.line.stroke ?? 'black'}`) - .style('stroke-width', `${chartTheme.crosshair.line.strokeWidth ?? '1'}px`) - .style('stroke-dasharray', chartTheme.crosshair.line.dash ?? '4,4'); + .style('stroke', chartTheme.crosshair.line.stroke) + .style('stroke-width', `${chartTheme.crosshair.line.strokeWidth}px`) + .style('stroke-dasharray', chartTheme.crosshair.line.dash?.join(',') ?? '4,4'); cursorMouseLine.exit().remove(); } diff --git a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_distribution.test.js b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_distribution.test.js index d77b66b960625..5a146c51b61c1 100644 --- a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_distribution.test.js +++ b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_distribution.test.js @@ -22,7 +22,7 @@ import { kibanaContextMock } from '../../contexts/kibana/__mocks__/kibana_contex const utilityProps = { timeBuckets: timeBucketsMock, - chartTheme: kibanaContextMock.services.charts.theme.useChartsTheme(), + chartTheme: kibanaContextMock.services.charts.theme.useChartsBaseTheme(), onPointerUpdate: jest.fn(), cursor: { x: 10432423, diff --git a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_single_metric.js b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_single_metric.js index b93555e8c2ff9..95933451d6f47 100644 --- a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_single_metric.js +++ b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_single_metric.js @@ -257,9 +257,9 @@ export class ExplorerChartSingleMetric extends React.Component { return `M${xPosition},${chartHeight} ${xPosition},0`; }) // Use elastic chart's cursor line style if possible - .style('stroke', `${chartTheme.crosshair.line.stroke ?? 'black'}`) - .style('stroke-width', `${chartTheme.crosshair.line.strokeWidth ?? '1'}px`) - .style('stroke-dasharray', chartTheme.crosshair.line.dash ?? '4,4'); + .style('stroke', chartTheme.crosshair.line.stroke) + .style('stroke-width', `${chartTheme.crosshair.line.strokeWidth}px`) + .style('stroke-dasharray', chartTheme.crosshair.line.dash?.join(',') ?? '4,4'); cursorMouseLine.exit().remove(); } diff --git a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_single_metric.test.js b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_single_metric.test.js index abe8c0c991cc4..3bc38c5754e88 100644 --- a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_single_metric.test.js +++ b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_chart_single_metric.test.js @@ -22,7 +22,7 @@ import { kibanaContextMock } from '../../contexts/kibana/__mocks__/kibana_contex const utilityProps = { timeBuckets: timeBucketsMock, - chartTheme: kibanaContextMock.services.charts.theme.useChartsTheme(), + chartTheme: kibanaContextMock.services.charts.theme.useChartsBaseTheme(), onPointerUpdate: jest.fn(), cursor: { x: 10432423, diff --git a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_charts_container.js b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_charts_container.js index fb340977dfae8..9e84a1f546b04 100644 --- a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_charts_container.js +++ b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_charts_container.js @@ -43,7 +43,7 @@ import { ExplorerChartsErrorCallOuts } from './explorer_charts_error_callouts'; import { addItemToRecentlyAccessed } from '../../util/recently_accessed'; import { EmbeddedMapComponentWrapper } from './explorer_chart_embedded_map'; import { useActiveCursor } from '@kbn/charts-plugin/public'; -import { BarSeries, Chart, Settings } from '@elastic/charts'; +import { BarSeries, Chart, Settings, LEGACY_LIGHT_THEME } from '@elastic/charts'; import useObservable from 'react-use/lib/useObservable'; import { escapeKueryForFieldValuePair } from '../../util/string_utils'; @@ -188,7 +188,7 @@ function ExplorerChartContainer({ const chartRef = useRef(null); const { euiTheme } = useEuiTheme(); - const chartTheme = chartsService.theme.useChartsTheme(); + const chartTheme = chartsService.theme.useChartsBaseTheme(); const handleCursorUpdate = useActiveCursor(chartsService.activeCursor, chartRef, { isDateHistogram: true, @@ -238,7 +238,14 @@ function ExplorerChartContainer({ {/* so that we can use chart's ref which controls the activeCursor api */}
- } width={0} height={0} locale={i18n.getLocale()} /> + } + width={0} + height={0} + locale={i18n.getLocale()} + /> {/* Just need an empty chart to access cursor service */} diff --git a/x-pack/plugins/ml/public/application/explorer/swimlane_container.tsx b/x-pack/plugins/ml/public/application/explorer/swimlane_container.tsx index 65ec5c9350269..7051060b6a255 100644 --- a/x-pack/plugins/ml/public/application/explorer/swimlane_container.tsx +++ b/x-pack/plugins/ml/public/application/explorer/swimlane_container.tsx @@ -31,6 +31,7 @@ import { TooltipProps, TooltipValue, Tooltip, + LEGACY_LIGHT_THEME, } from '@elastic/charts'; import moment from 'moment'; import { i18n } from '@kbn/i18n'; @@ -449,8 +450,9 @@ export const SwimlaneContainer: FC = ({ = ({ annotations.lines[0].datum.modelSnapshot ); }} - // TODO use the EUI charts theme see src/plugins/charts/public/services/theme/README.md theme={{ lineSeriesStyle: { point: { @@ -427,6 +427,8 @@ export const DatafeedChartFlyout: FC = ({ }, }, }} + // TODO connect to charts.theme service see src/plugins/charts/public/services/theme/README.md + baseTheme={LEGACY_LIGHT_THEME} locale={i18n.getLocale()} /> = ({ diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/charts/event_rate_chart/event_rate_chart.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/charts/event_rate_chart/event_rate_chart.tsx index 0afee34e406d7..04553dda99255 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/charts/event_rate_chart/event_rate_chart.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/charts/event_rate_chart/event_rate_chart.tsx @@ -15,6 +15,7 @@ import { BrushEndListener, PartialTheme, Tooltip, + LEGACY_LIGHT_THEME, } from '@elastic/charts'; import { css } from '@emotion/react'; import { i18n } from '@kbn/i18n'; @@ -77,8 +78,9 @@ export const EventRateChart: FC = ({ diff --git a/x-pack/plugins/ml/public/application/memory_usage/memory_tree_map/tree_map.tsx b/x-pack/plugins/ml/public/application/memory_usage/memory_tree_map/tree_map.tsx index 0cf65ec6d0949..ebbae3fff924f 100644 --- a/x-pack/plugins/ml/public/application/memory_usage/memory_tree_map/tree_map.tsx +++ b/x-pack/plugins/ml/public/application/memory_usage/memory_tree_map/tree_map.tsx @@ -11,10 +11,9 @@ import { Settings, Partition, PartitionLayout, - LIGHT_THEME, DARK_THEME, + LIGHT_THEME, } from '@elastic/charts'; -import { EUI_CHARTS_THEME_DARK, EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; import { FIELD_FORMAT_IDS } from '@kbn/field-formats-plugin/common'; import { EuiComboBox, EuiComboBoxOptionOption, EuiEmptyPrompt, EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; @@ -65,13 +64,7 @@ export const JobMemoryTreeMap: FC = ({ node, type, height }) => { } = useMlKibana(); const isDarkTheme = useIsDarkTheme(themeService); - const { theme, baseTheme } = useMemo( - () => - isDarkTheme - ? { theme: EUI_CHARTS_THEME_DARK, baseTheme: DARK_THEME } - : { theme: EUI_CHARTS_THEME_LIGHT, baseTheme: LIGHT_THEME }, - [isDarkTheme] - ); + const baseTheme = useMemo(() => (isDarkTheme ? DARK_THEME : LIGHT_THEME), [isDarkTheme]); const { isADEnabled, isDFAEnabled, isNLPEnabled } = useEnabledFeatures(); @@ -173,7 +166,7 @@ export const JobMemoryTreeMap: FC = ({ node, type, height }) => { {data.length ? ( - + id="memoryUsageTreeMap" data={data} diff --git a/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/memory_preview_chart.tsx b/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/memory_preview_chart.tsx index dc75907e771b2..269dd2e3fb400 100644 --- a/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/memory_preview_chart.tsx +++ b/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/memory_preview_chart.tsx @@ -18,12 +18,14 @@ import { LineAnnotation, AnnotationDomainType, Tooltip, + LEGACY_LIGHT_THEME, } from '@elastic/charts'; import { EuiIcon } from '@elastic/eui'; import { FIELD_FORMAT_IDS } from '@kbn/field-formats-plugin/common'; import { NodeDeploymentStatsResponse } from '../../../../common/types/trained_models'; import { useFieldFormatter } from '../../contexts/kibana/use_field_formatter'; import { getMemoryItemColor } from '../memory_item_colors'; +import { useMlKibana } from '../../contexts/kibana'; interface MemoryPreviewChartProps { memoryOverview: NodeDeploymentStatsResponse['memory_overview']; @@ -31,6 +33,9 @@ interface MemoryPreviewChartProps { export const MemoryPreviewChart: FC = ({ memoryOverview }) => { const bytesFormatter = useFieldFormatter(FIELD_FORMAT_IDS.BYTES); + const { + services: { charts: chartsService }, + } = useMlKibana(); const groups = useMemo( () => ({ @@ -117,7 +122,8 @@ export const MemoryPreviewChart: FC = ({ memoryOverview } /> diff --git a/x-pack/plugins/observability/public/components/alert_status_indicator.tsx b/x-pack/plugins/observability/public/components/alert_status_indicator.tsx index 8090e26d4596f..9dcdbe660e6fe 100644 --- a/x-pack/plugins/observability/public/components/alert_status_indicator.tsx +++ b/x-pack/plugins/observability/public/components/alert_status_indicator.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; import { EuiHealth, EuiText } from '@elastic/eui'; import { ALERT_STATUS_ACTIVE, AlertStatus } from '@kbn/rule-data-utils'; -import { LIGHT_THEME } from '@elastic/charts'; +import { LEGACY_LIGHT_THEME } from '@elastic/charts'; interface AlertStatusIndicatorProps { alertStatus: AlertStatus; @@ -19,7 +19,7 @@ interface AlertStatusIndicatorProps { export function AlertStatusIndicator({ alertStatus, textSize = 'xs' }: AlertStatusIndicatorProps) { if (alertStatus === ALERT_STATUS_ACTIVE) { return ( - + {i18n.translate('xpack.observability.alertsTGrid.statusActiveDescription', { defaultMessage: 'Active', })} @@ -28,7 +28,7 @@ export function AlertStatusIndicator({ alertStatus, textSize = 'xs' }: AlertStat } return ( - + {i18n.translate('xpack.observability.alertsTGrid.statusRecoveredDescription', { defaultMessage: 'Recovered', diff --git a/x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx index c9b17b4f48c92..ce9a651a7a1e3 100644 --- a/x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx @@ -63,7 +63,6 @@ export default function AlertDetailsAppSection({ const [, setDataViewError] = useState(); const ruleParams = rule.params as RuleTypeParams & AlertParams; const chartProps = { - theme: charts.theme.useChartsTheme(), baseTheme: charts.theme.useChartsBaseTheme(), }; const timeRange = getPaddedAlertTimeRange(alert.fields[ALERT_START]!, alert.fields[ALERT_END]); diff --git a/x-pack/plugins/observability/public/components/custom_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 index 5669f7a190f81..806844e2531f6 100644 --- a/x-pack/plugins/observability/public/components/custom_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 @@ -7,7 +7,7 @@ import React, { useMemo } from 'react'; import { niceTimeFormatter } from '@elastic/charts'; -import { Theme, LIGHT_THEME, DARK_THEME } from '@elastic/charts'; +import { Theme, LEGACY_LIGHT_THEME, LEGACY_DARK_THEME } from '@elastic/charts'; import { i18n } from '@kbn/i18n'; import { EuiLoadingChart, EuiText } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -81,9 +81,9 @@ export const getDomain = (series: Series, stacked: boolean = false) => { return { yMin: min || 0, yMax: max || 0, xMin: minTimestamp, xMax: maxTimestamp }; }; -// TODO use the EUI charts theme see src/plugins/charts/public/services/theme/README.md +// TODO connect to charts.theme service see src/plugins/charts/public/services/theme/README.md export const getChartTheme = (isDarkMode: boolean): Theme => { - return isDarkMode ? DARK_THEME : LIGHT_THEME; + return isDarkMode ? LEGACY_DARK_THEME : LEGACY_LIGHT_THEME; }; export const EmptyContainer: React.FC = ({ children }) => ( diff --git a/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx index 9598aabcbf70f..674ce1c579756 100644 --- a/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx @@ -8,7 +8,6 @@ import React from 'react'; 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/custom_threshold_rule/types'; import { Props, Threshold as Component } from './custom_threshold'; @@ -31,7 +30,7 @@ export default { } as ComponentMeta; const defaultProps: Props = { - chartProps: { theme: EUI_CHARTS_THEME_LIGHT.theme, baseTheme: LIGHT_THEME }, + chartProps: { baseTheme: LIGHT_THEME }, comparator: Comparator.GT, id: 'componentId', threshold: [90], diff --git a/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.test.tsx index 7731792f7b322..fbb728b4b81aa 100644 --- a/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.test.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.test.tsx @@ -6,7 +6,6 @@ */ 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 './custom_threshold'; @@ -16,7 +15,7 @@ import { Comparator } from '../../../../common/custom_threshold_rule/types'; describe('Threshold', () => { const renderComponent = (props: Partial = {}) => { const defaultProps: Props = { - chartProps: { theme: EUI_CHARTS_THEME_LIGHT.theme, baseTheme: LIGHT_THEME }, + chartProps: { baseTheme: LIGHT_THEME }, comparator: Comparator.GT, id: 'componentId', threshold: [90], diff --git a/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.tsx index 5f28676eb37b6..7e9fbfce9d682 100644 --- a/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.tsx @@ -13,7 +13,7 @@ import { i18n } from '@kbn/i18n'; import { Comparator } from '../../../../common/custom_threshold_rule/types'; export interface ChartProps { - theme: PartialTheme; + theme?: PartialTheme; baseTheme: Theme; } diff --git a/x-pack/plugins/observability/public/components/custom_threshold/components/expression_chart.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/expression_chart.tsx index c18b2860df95d..010642acdf551 100644 --- a/x-pack/plugins/observability/public/components/custom_threshold/components/expression_chart.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/expression_chart.tsx @@ -15,6 +15,7 @@ import { RectAnnotation, Settings, Tooltip, + LEGACY_LIGHT_THEME, } from '@elastic/charts'; import { EuiText } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -192,6 +193,8 @@ export function ExpressionChart({ tooltip: { visible: true }, }} theme={getChartTheme(isDarkMode)} + // TODO connect to charts.theme service see src/plugins/charts/public/services/theme/README.md + baseTheme={LEGACY_LIGHT_THEME} locale={i18n.getLocale()} /> diff --git a/x-pack/plugins/observability/public/pages/alerts/alerts.tsx b/x-pack/plugins/observability/public/pages/alerts/alerts.tsx index c1b1493daa3d9..daf02e9f6fd09 100644 --- a/x-pack/plugins/observability/public/pages/alerts/alerts.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/alerts.tsx @@ -80,7 +80,6 @@ function InternalAlertsPage() { } }; const chartProps = { - theme: charts.theme.useChartsTheme(), baseTheme: charts.theme.useChartsBaseTheme(), onBrushEnd, }; diff --git a/x-pack/plugins/observability/public/pages/overview/components/sections/apm/apm_section.tsx b/x-pack/plugins/observability/public/pages/overview/components/sections/apm/apm_section.tsx index cfbe160590401..ed6f55006c5e7 100644 --- a/x-pack/plugins/observability/public/pages/overview/components/sections/apm/apm_section.tsx +++ b/x-pack/plugins/observability/public/pages/overview/components/sections/apm/apm_section.tsx @@ -22,7 +22,7 @@ import moment from 'moment'; import React, { useContext } from 'react'; import { useHistory } from 'react-router-dom'; import { ThemeContext } from 'styled-components'; -import { useChartTheme, FETCH_STATUS, useFetcher } from '@kbn/observability-shared-plugin/public'; +import { useChartThemes, FETCH_STATUS, useFetcher } from '@kbn/observability-shared-plugin/public'; import { useDatePickerContext } from '../../../../../hooks/use_date_picker_context'; import { SectionContainer } from '../section_container'; import { getDataHandler } from '../../../../../context/has_data_context/data_handler'; @@ -55,7 +55,7 @@ function formatTpmStat(value?: number) { export function APMSection({ bucketSize }: Props) { const theme = useContext(ThemeContext); - const chartTheme = useChartTheme(); + const chartThemes = useChartThemes(); const history = useHistory(); const { forceUpdate, hasDataMap } = useHasData(); const { relativeStart, relativeEnd, absoluteStart, absoluteEnd, lastUpdated } = @@ -147,7 +147,7 @@ export function APMSection({ bucketSize }: Props) { onBrushEnd({ x: (event as XYBrushEvent).x, history })} - theme={chartTheme} + {...chartThemes} showLegend={false} xDomain={{ min, max }} locale={i18n.getLocale()} diff --git a/x-pack/plugins/observability/public/pages/overview/components/sections/logs/logs_section.tsx b/x-pack/plugins/observability/public/pages/overview/components/sections/logs/logs_section.tsx index 4097fbcb5bb87..63087aad6dd30 100644 --- a/x-pack/plugins/observability/public/pages/overview/components/sections/logs/logs_section.tsx +++ b/x-pack/plugins/observability/public/pages/overview/components/sections/logs/logs_section.tsx @@ -22,7 +22,7 @@ import { isEmpty } from 'lodash'; import moment from 'moment'; import React, { Fragment } from 'react'; import { useHistory } from 'react-router-dom'; -import { useChartTheme, FETCH_STATUS, useFetcher } from '@kbn/observability-shared-plugin/public'; +import { useChartThemes, FETCH_STATUS, useFetcher } from '@kbn/observability-shared-plugin/public'; import { SectionContainer } from '../section_container'; import { getDataHandler } from '../../../../../context/has_data_context/data_handler'; import { useHasData } from '../../../../../hooks/use_has_data'; @@ -55,7 +55,7 @@ function getColorPerItem(series?: LogsFetchDataResponse['series']) { export function LogsSection({ bucketSize }: Props) { const history = useHistory(); - const chartTheme = useChartTheme(); + const chartThemes = useChartThemes(); const { forceUpdate, hasDataMap } = useHasData(); const { relativeStart, relativeEnd, absoluteStart, absoluteEnd, lastUpdated } = useDatePickerContext(); @@ -138,7 +138,7 @@ export function LogsSection({ bucketSize }: Props) { onBrushEnd({ x: (event as XYBrushEvent).x, history })} - theme={chartTheme} + {...chartThemes} showLegend legendPosition={Position.Right} xDomain={{ min, max }} diff --git a/x-pack/plugins/observability/public/pages/overview/components/sections/metrics/metric_with_sparkline.tsx b/x-pack/plugins/observability/public/pages/overview/components/sections/metrics/metric_with_sparkline.tsx index bbd3b9acd224c..3e4b0476b5075 100644 --- a/x-pack/plugins/observability/public/pages/overview/components/sections/metrics/metric_with_sparkline.tsx +++ b/x-pack/plugins/observability/public/pages/overview/components/sections/metrics/metric_with_sparkline.tsx @@ -5,15 +5,19 @@ * 2.0. */ -import { Chart, Settings, AreaSeries, TooltipType, Tooltip } from '@elastic/charts'; +import { + Chart, + Settings, + AreaSeries, + TooltipType, + Tooltip, + LIGHT_THEME, + DARK_THEME, +} from '@elastic/charts'; import { EuiFlexItem, EuiFlexGroup, EuiIcon, EuiTextColor } from '@elastic/eui'; import React, { useContext } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; -import { - EUI_CHARTS_THEME_DARK, - EUI_CHARTS_THEME_LIGHT, - EUI_SPARKLINE_THEME_PARTIAL, -} from '@elastic/eui/dist/eui_charts_theme'; +import { EUI_SPARKLINE_THEME_PARTIAL } from '@elastic/eui/dist/eui_charts_theme'; import { ThemeContext } from 'styled-components'; import { i18n } from '@kbn/i18n'; @@ -29,10 +33,8 @@ interface Props { export function MetricWithSparkline({ id, formatter, value, timeseries, color }: Props) { const themeCTX = useContext(ThemeContext); const isDarkTheme = (themeCTX && themeCTX.darkMode) || false; - const theme = [ - EUI_SPARKLINE_THEME_PARTIAL, - isDarkTheme ? EUI_CHARTS_THEME_DARK.theme : EUI_CHARTS_THEME_LIGHT.theme, - ]; + const theme = [EUI_SPARKLINE_THEME_PARTIAL]; + const baseTheme = isDarkTheme ? DARK_THEME : LIGHT_THEME; const colors = theme[1].colors?.vizColors ?? []; @@ -53,7 +55,12 @@ export function MetricWithSparkline({ id, formatter, value, timeseries, color }: - + onBrushEnd({ x: (event as XYBrushEvent).x, history })} - theme={chartTheme} + {...chartThemes} showLegend={false} legendPosition={Position.Right} xDomain={{ min, max }} diff --git a/x-pack/plugins/observability/public/pages/overview/overview.tsx b/x-pack/plugins/observability/public/pages/overview/overview.tsx index 6b623e1636dab..17121be51c668 100644 --- a/x-pack/plugins/observability/public/pages/overview/overview.tsx +++ b/x-pack/plugins/observability/public/pages/overview/overview.tsx @@ -102,7 +102,6 @@ export function OverviewPage() { ); const chartProps = { - theme: charts.theme.useChartsTheme(), baseTheme: charts.theme.useChartsBaseTheme(), }; diff --git a/x-pack/plugins/observability/public/pages/rule_details/rule_details.tsx b/x-pack/plugins/observability/public/pages/rule_details/rule_details.tsx index b3b9ea17d5cac..6a9c38b1b1e80 100644 --- a/x-pack/plugins/observability/public/pages/rule_details/rule_details.tsx +++ b/x-pack/plugins/observability/public/pages/rule_details/rule_details.tsx @@ -50,7 +50,7 @@ export function RuleDetailsPage() { const { application: { capabilities, navigateToUrl }, charts: { - theme: { useChartsBaseTheme, useChartsTheme }, + theme: { useChartsBaseTheme }, }, http: { basePath }, share: { @@ -70,7 +70,6 @@ export function RuleDetailsPage() { const { ruleId } = useParams(); const { search } = useLocation(); - const theme = useChartsTheme(); const baseTheme = useChartsBaseTheme(); const { rule, isLoading, isError, refetch } = useFetchRule({ ruleId }); @@ -234,7 +233,7 @@ export function RuleDetailsPage() { } diff --git a/x-pack/plugins/observability/public/pages/slo_details/components/wide_chart.tsx b/x-pack/plugins/observability/public/pages/slo_details/components/wide_chart.tsx index e6ebd1197c5c2..ee3a475e13110 100644 --- a/x-pack/plugins/observability/public/pages/slo_details/components/wide_chart.tsx +++ b/x-pack/plugins/observability/public/pages/slo_details/components/wide_chart.tsx @@ -40,7 +40,6 @@ export interface Props { export function WideChart({ chart, data, id, isLoading, state }: Props) { const { charts, uiSettings } = useKibana().services; - const theme = charts.theme.useChartsTheme(); const baseTheme = charts.theme.useChartsBaseTheme(); const { euiTheme } = useEuiTheme(); const dateFormat = uiSettings.get('dateFormat'); @@ -64,7 +63,6 @@ export function WideChart({ chart, data, id, isLoading, state }: Props) { } onPointerUpdate={handleCursorUpdate} externalPointerEvents={{ diff --git a/x-pack/plugins/observability/public/pages/slo_edit/components/common/data_preview_chart.tsx b/x-pack/plugins/observability/public/pages/slo_edit/components/common/data_preview_chart.tsx index dfa52e6e572a0..81556c2feb0f7 100644 --- a/x-pack/plugins/observability/public/pages/slo_edit/components/common/data_preview_chart.tsx +++ b/x-pack/plugins/observability/public/pages/slo_edit/components/common/data_preview_chart.tsx @@ -77,7 +77,6 @@ export function DataPreviewChart({ isError, } = useDebouncedGetPreviewData(isIndicatorSectionValid, watch('indicator'), range); - const theme = charts.theme.useChartsTheme(); const baseTheme = charts.theme.useChartsBaseTheme(); const dateFormat = uiSettings.get('dateFormat'); const numberFormat = @@ -196,7 +195,6 @@ export function DataPreviewChart({ showLegend={false} theme={[ { - ...theme, lineSeriesStyle: { point: { visible: false }, }, @@ -231,7 +229,7 @@ export function DataPreviewChart({ timeAxisLayerCount={2} gridLine={{ visible: true }} style={{ - tickLine: { size: 0.0001, padding: 4, visible: true }, + tickLine: { size: 0, padding: 4, visible: true }, tickLabel: { alignment: { horizontal: Position.Left, diff --git a/x-pack/plugins/observability/public/pages/slo_edit/slo_edit.test.tsx b/x-pack/plugins/observability/public/pages/slo_edit/slo_edit.test.tsx index cd3459975d011..857cbdc7338a3 100644 --- a/x-pack/plugins/observability/public/pages/slo_edit/slo_edit.test.tsx +++ b/x-pack/plugins/observability/public/pages/slo_edit/slo_edit.test.tsx @@ -74,7 +74,6 @@ const mockKibana = () => { }, charts: { theme: { - useChartsTheme: () => {}, useChartsBaseTheme: () => {}, }, }, diff --git a/x-pack/plugins/observability/public/pages/slos/components/card_view/slo_card_item.tsx b/x-pack/plugins/observability/public/pages/slos/components/card_view/slo_card_item.tsx index 8da351e5ba0e3..dad94a1a0c984 100644 --- a/x-pack/plugins/observability/public/pages/slos/components/card_view/slo_card_item.tsx +++ b/x-pack/plugins/observability/public/pages/slos/components/card_view/slo_card_item.tsx @@ -9,8 +9,8 @@ import React, { useState } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; import { Chart, - DARK_THEME, isMetricElementEvent, + LEGACY_DARK_THEME, Metric, MetricTrendShape, Settings, @@ -153,7 +153,8 @@ export function SloCardChart({ return ( { if (isMetricElementEvent(d)) { navigateToUrl(sloDetailsUrl); diff --git a/x-pack/plugins/observability/public/pages/slos/components/slo_sparkline.tsx b/x-pack/plugins/observability/public/pages/slos/components/slo_sparkline.tsx index 0beb36f587ff1..0bb96b39d0649 100644 --- a/x-pack/plugins/observability/public/pages/slos/components/slo_sparkline.tsx +++ b/x-pack/plugins/observability/public/pages/slos/components/slo_sparkline.tsx @@ -41,7 +41,6 @@ export interface Props { export function SloSparkline({ chart, data, id, isLoading, size, state }: Props) { const charts = useKibana().services.charts; - const theme = charts.theme.useChartsTheme(); const baseTheme = charts.theme.useChartsBaseTheme(); const { euiTheme } = useEuiTheme(); @@ -61,7 +60,7 @@ export function SloSparkline({ chart, data, id, isLoading, size, state }: Props) diff --git a/x-pack/plugins/observability/public/utils/kibana_react.storybook_decorator.tsx b/x-pack/plugins/observability/public/utils/kibana_react.storybook_decorator.tsx index 2051da5f43036..3794fa1e269c6 100644 --- a/x-pack/plugins/observability/public/utils/kibana_react.storybook_decorator.tsx +++ b/x-pack/plugins/observability/public/utils/kibana_react.storybook_decorator.tsx @@ -66,7 +66,6 @@ export function KibanaReactStorybookDecorator(Story: ComponentType) { charts: { theme: { useChartsBaseTheme: () => {}, - useChartsTheme: () => {}, }, activeCursor: () => {}, }, diff --git a/x-pack/plugins/observability_shared/public/hooks/use_chart_theme.tsx b/x-pack/plugins/observability_shared/public/hooks/use_chart_theme.tsx index 87e9e61036a71..fc989e0026943 100644 --- a/x-pack/plugins/observability_shared/public/hooks/use_chart_theme.tsx +++ b/x-pack/plugins/observability_shared/public/hooks/use_chart_theme.tsx @@ -5,38 +5,36 @@ * 2.0. */ -import { PartialTheme } from '@elastic/charts'; -import { EUI_CHARTS_THEME_DARK, EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; +import { LIGHT_THEME, DARK_THEME, PartialTheme, Theme } from '@elastic/charts'; import { useMemo } from 'react'; import { useTheme } from './use_theme'; -export function useChartTheme(): PartialTheme[] { +export function useChartThemes(): { baseTheme: Theme; theme: PartialTheme[] } { const theme = useTheme(); - const baseChartTheme = theme.darkMode - ? EUI_CHARTS_THEME_DARK.theme - : EUI_CHARTS_THEME_LIGHT.theme; + const baseTheme = theme.darkMode ? DARK_THEME : LIGHT_THEME; - return useMemo( - () => [ - { - chartMargins: { - left: 10, - right: 10, - top: 35, - bottom: 10, - }, - background: { - color: 'transparent', - }, - lineSeriesStyle: { - point: { visible: false }, - }, - areaSeriesStyle: { - point: { visible: false }, - }, + return useMemo(() => { + const themeOverrides: PartialTheme = { + chartMargins: { + left: 10, + right: 10, + top: 35, + bottom: 10, }, - baseChartTheme, - ], - [baseChartTheme] - ); + background: { + color: 'transparent', + }, + lineSeriesStyle: { + point: { visible: false }, + }, + areaSeriesStyle: { + point: { visible: false }, + }, + }; + + return { + theme: [themeOverrides], + baseTheme, + }; + }, [baseTheme]); } diff --git a/x-pack/plugins/observability_shared/public/index.ts b/x-pack/plugins/observability_shared/public/index.ts index ecd00f627321b..2fdb1a1960c09 100644 --- a/x-pack/plugins/observability_shared/public/index.ts +++ b/x-pack/plugins/observability_shared/public/index.ts @@ -58,7 +58,7 @@ export { export type { TrackEvent } from './hooks/use_track_metric'; export { useQuickTimeRanges } from './hooks/use_quick_time_ranges'; export { useTimeZone } from './hooks/use_time_zone'; -export { useChartTheme } from './hooks/use_chart_theme'; +export { useChartThemes } from './hooks/use_chart_theme'; export { useLinkProps, shouldHandleLinkEvent } from './hooks/use_link_props'; export type { LinkDescriptor, Options as UseLinkPropsOptions } from './hooks/use_link_props'; export { NavigationWarningPromptProvider, Prompt } from './components/navigation_warning_prompt'; diff --git a/x-pack/plugins/profiling/public/components/flamegraph/index.tsx b/x-pack/plugins/profiling/public/components/flamegraph/index.tsx index 33879e1fa55d4..cbebc80606703 100644 --- a/x-pack/plugins/profiling/public/components/flamegraph/index.tsx +++ b/x-pack/plugins/profiling/public/components/flamegraph/index.tsx @@ -14,6 +14,7 @@ import { PartialTheme, Settings, Tooltip, + LEGACY_LIGHT_THEME, } from '@elastic/charts'; import { EuiFlexGroup, EuiFlexItem, useEuiTheme } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; @@ -123,6 +124,8 @@ export function FlameGraph({ { const selectedElement = elements[0] as Maybe; if (Number.isNaN(selectedElement?.vmIndex)) { diff --git a/x-pack/plugins/profiling/public/components/stacked_bar_chart/index.tsx b/x-pack/plugins/profiling/public/components/stacked_bar_chart/index.tsx index ad4aedfc81b46..2d73d795c09ca 100644 --- a/x-pack/plugins/profiling/public/components/stacked_bar_chart/index.tsx +++ b/x-pack/plugins/profiling/public/components/stacked_bar_chart/index.tsx @@ -132,6 +132,7 @@ export function StackedBarChart({ color={chart.Color} xAccessor={'Timestamp'} yAccessors={['Count']} + stackAccessors={['true']} stackMode={asPercentages ? StackMode.Percentage : undefined} xScaleType={ScaleType.Time} timeZone={timeZone} diff --git a/x-pack/plugins/profiling/public/hooks/use_profiling_charts_theme.ts b/x-pack/plugins/profiling/public/hooks/use_profiling_charts_theme.ts index 8e9eb4b689541..40d3d68379094 100644 --- a/x-pack/plugins/profiling/public/hooks/use_profiling_charts_theme.ts +++ b/x-pack/plugins/profiling/public/hooks/use_profiling_charts_theme.ts @@ -4,11 +4,10 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { RecursivePartial, Theme } from '@elastic/charts'; -import { merge } from 'lodash'; +import { PartialTheme } from '@elastic/charts'; import { useProfilingDependencies } from '../components/contexts/profiling_dependencies/use_profiling_dependencies'; -const profilingTheme: RecursivePartial = { +const profilingThemeOverrides: PartialTheme = { barSeriesStyle: { rectBorder: { strokeOpacity: 1, @@ -38,10 +37,9 @@ export function useProfilingChartsTheme() { } = useProfilingDependencies(); const chartsBaseTheme = charts.theme.useChartsBaseTheme(); - const chartsTheme = charts.theme.useChartsTheme(); return { chartsBaseTheme, - chartsTheme: merge({}, chartsTheme, profilingTheme), + chartsTheme: profilingThemeOverrides, }; } diff --git a/x-pack/plugins/security_solution/public/common/components/charts/common.test.tsx b/x-pack/plugins/security_solution/public/common/components/charts/common.test.tsx index 572706719eb88..71c3c0793d72b 100644 --- a/x-pack/plugins/security_solution/public/common/components/charts/common.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/charts/common.test.tsx @@ -19,7 +19,7 @@ import { WrappedByAutoSizer, useThemes, } from './common'; -import { LIGHT_THEME, DARK_THEME } from '@elastic/charts'; +import { LEGACY_LIGHT_THEME, LEGACY_DARK_THEME } from '@elastic/charts'; jest.mock('../../lib/kibana'); @@ -181,14 +181,14 @@ describe('checkIfAllValuesAreZero', () => { (useUiSetting as jest.Mock).mockImplementation(() => false); const { result } = renderHook(() => useThemes()); - expect(result.current.baseTheme).toBe(LIGHT_THEME); + expect(result.current.baseTheme).toBe(LEGACY_LIGHT_THEME); }); it('should return dark baseTheme when isDarkMode true', () => { (useUiSetting as jest.Mock).mockImplementation(() => true); const { result } = renderHook(() => useThemes()); - expect(result.current.baseTheme).toBe(DARK_THEME); + expect(result.current.baseTheme).toBe(LEGACY_DARK_THEME); }); }); }); diff --git a/x-pack/plugins/security_solution/public/common/components/charts/common.tsx b/x-pack/plugins/security_solution/public/common/components/charts/common.tsx index bf8f561cdfdf3..73fab4a3a8890 100644 --- a/x-pack/plugins/security_solution/public/common/components/charts/common.tsx +++ b/x-pack/plugins/security_solution/public/common/components/charts/common.tsx @@ -17,7 +17,7 @@ import type { BarSeriesStyle, Theme, } from '@elastic/charts'; -import { DARK_THEME, LIGHT_THEME, Position } from '@elastic/charts'; +import { LEGACY_DARK_THEME, LEGACY_LIGHT_THEME, Position } from '@elastic/charts'; import { EuiFlexGroup } from '@elastic/eui'; import React from 'react'; import styled from 'styled-components'; @@ -114,8 +114,8 @@ const theme: PartialTheme = { }; export const useThemes = (): { baseTheme: Theme; theme: PartialTheme } => { const isDarkMode = useUiSetting(DEFAULT_DARK_MODE); - // TODO use the EUI charts theme see src/plugins/charts/public/services/theme/README.md - const baseTheme = isDarkMode ? DARK_THEME : LIGHT_THEME; + // TODO connect to charts.theme service see src/plugins/charts/public/services/theme/README.md + const baseTheme = isDarkMode ? LEGACY_DARK_THEME : LEGACY_LIGHT_THEME; return { baseTheme, theme, diff --git a/x-pack/plugins/security_solution/public/common/components/charts/donutchart.test.tsx b/x-pack/plugins/security_solution/public/common/components/charts/donutchart.test.tsx index 18313b002b223..e29b72fbc0004 100644 --- a/x-pack/plugins/security_solution/public/common/components/charts/donutchart.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/charts/donutchart.test.tsx @@ -7,7 +7,7 @@ import React from 'react'; import type { Severity } from '@kbn/securitysolution-io-ts-alerting-types'; -import { LIGHT_THEME, Partition, Settings } from '@elastic/charts'; +import { LEGACY_LIGHT_THEME, Partition, Settings } from '@elastic/charts'; import { parsedMockAlertsData } from '../../../overview/components/detection_response/alerts_by_status/mock_data'; import { render } from '@testing-library/react'; import type { DonutChartProps } from './donutchart'; @@ -47,7 +47,7 @@ jest.mock('./draggable_legend', () => { }; }); -const mockBaseTheme = LIGHT_THEME; +const mockBaseTheme = LEGACY_LIGHT_THEME; jest.mock('./common', () => { return { useThemes: jest.fn(() => ({ @@ -93,7 +93,7 @@ describe('DonutChart', () => { expect(container.querySelector(`[data-test-subj="es-chart-settings"]`)).toBeInTheDocument(); const settingsProps = (Settings as jest.Mock).mock.calls[0][0]; - expect(settingsProps.baseTheme).toEqual(LIGHT_THEME); + expect(settingsProps.baseTheme).toEqual(LEGACY_LIGHT_THEME); expect(settingsProps.theme[0]).toEqual({ chartMargins: { bottom: 0, left: 0, right: 0, top: 0 }, partition: { diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/alerts_histogram.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/alerts_histogram.tsx index 7137ba563d365..9f96b375abc98 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/alerts_histogram.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/alerts_histogram.tsx @@ -95,6 +95,7 @@ export const AlertsHistogram = React.memo( yScaleType={ScaleType.Linear} xAccessor="x" yAccessors={yAccessors} + stackAccessors={['true']} splitSeriesAccessors={splitSeriesAccessors} data={data} /> diff --git a/x-pack/plugins/stack_alerts/public/rule_types/threshold/visualization.tsx b/x-pack/plugins/stack_alerts/public/rule_types/threshold/visualization.tsx index c16d3dd0bdb55..c8996d9fcaa4b 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/threshold/visualization.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/threshold/visualization.tsx @@ -18,6 +18,7 @@ import { ScaleType, Settings, niceTimeFormatter, + PartialTheme, } from '@elastic/charts'; import moment from 'moment-timezone'; import { @@ -41,7 +42,7 @@ import { } from './index_threshold_api'; import { IndexThresholdRuleParams } from './types'; -const customTheme = () => { +const chartThemeOverrides = (): PartialTheme => { return { lineSeriesStyle: { line: { @@ -182,7 +183,6 @@ export const ThresholdVisualization: React.FunctionComponent = ({ if (!charts || !uiSettings || !dataFieldsFormats) { return null; } - const chartsTheme = charts.theme.useChartsTheme(); const chartsBaseTheme = charts.theme.useChartsBaseTheme(); const domain = getDomain(alertInterval, startVisualizationAt); @@ -265,7 +265,7 @@ export const ThresholdVisualization: React.FunctionComponent = ({ {alertVisualizationDataKeys.length ? ( { onBrushed?.(getBrushData(brushArea)); }} 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 2eaad6a876133..caea2441ae364 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 @@ -119,6 +119,7 @@ export const MetricItem = ({ }); } }} + // TODO connect to charts.theme service see src/plugins/charts/public/services/theme/README.md baseTheme={DARK_THEME} locale={i18n.getLocale()} /> diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx index 7a53a21ca0590..96c75246193b1 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_timing_breakdown/network_timings_donut.tsx @@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n'; import { Chart, Datum, - LIGHT_THEME, + LEGACY_LIGHT_THEME, PartialTheme, Partition, PartitionLayout, @@ -69,7 +69,9 @@ export const NetworkTimingsDonut = () => { diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_bar_chart.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_bar_chart.tsx index d6e4a185ded23..2d44735857f40 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_bar_chart.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_waterfall_chart/waterfall/waterfall_bar_chart.tsx @@ -22,7 +22,7 @@ import { } from '@elastic/charts'; import { useEuiTheme } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { useChartTheme } from '../../../../../../hooks/use_chart_theme'; +import { useBaseChartTheme } from '../../../../../../hooks/use_base_chart_theme'; import { BAR_HEIGHT } from './constants'; import { WaterfallChartChartContainer, WaterfallChartTooltip } from './styles'; import { WaterfallData } from '../../common/network_data/types'; @@ -77,7 +77,7 @@ export const WaterfallBarChart = ({ barStyleAccessor, index, }: Props) => { - const theme = useChartTheme(); + const baseChartTheme = useBaseChartTheme(); const { euiTheme } = useEuiTheme(); const { onElementClick, onProjectionClick } = useWaterfallContext(); const handleElementClick = useMemo(() => onElementClick, [onElementClick]); @@ -100,7 +100,9 @@ export const WaterfallBarChart = ({ { - const theme = useChartTheme(); + const baseChartTheme = useBaseChartTheme(); const { euiTheme } = useEuiTheme(); return ( @@ -48,8 +48,9 @@ export const WaterfallChartFixedAxis = ({ tickFormat, domain, barStyleAccessor } color: 'transparent', }, }, - theme, ]} + // TODO connect to charts.theme service see src/plugins/charts/public/services/theme/README.md + baseTheme={baseChartTheme} locale={i18n.getLocale()} /> diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/contexts/synthetics_theme_context.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/contexts/synthetics_theme_context.tsx index 1415b1076cdd9..c2c19f815b90f 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/contexts/synthetics_theme_context.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/contexts/synthetics_theme_context.tsx @@ -7,7 +7,6 @@ import { euiLightVars, euiDarkVars } from '@kbn/ui-theme'; import React, { createContext, useContext, useMemo } from 'react'; -import { EUI_CHARTS_THEME_DARK, EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; import { DARK_THEME, LIGHT_THEME, PartialTheme, Theme } from '@elastic/charts'; export interface SyntheticsAppColors { @@ -46,7 +45,6 @@ const defaultContext: SyntheticsThemeContextValues = { }, chartTheme: { baseTheme: LIGHT_THEME, - theme: EUI_CHARTS_THEME_LIGHT.theme, }, }; @@ -89,7 +87,6 @@ export const SyntheticsThemeContextProvider: React.FC = ({ colors, chartTheme: { baseTheme: darkMode ? DARK_THEME : LIGHT_THEME, - theme: darkMode ? EUI_CHARTS_THEME_DARK.theme : EUI_CHARTS_THEME_LIGHT.theme, }, }; }, [colors, darkMode]); diff --git a/x-pack/plugins/synthetics/public/hooks/use_chart_theme.ts b/x-pack/plugins/synthetics/public/hooks/use_base_chart_theme.ts similarity index 61% rename from x-pack/plugins/synthetics/public/hooks/use_chart_theme.ts rename to x-pack/plugins/synthetics/public/hooks/use_base_chart_theme.ts index f9faca7927d9d..be10a050905e6 100644 --- a/x-pack/plugins/synthetics/public/hooks/use_chart_theme.ts +++ b/x-pack/plugins/synthetics/public/hooks/use_base_chart_theme.ts @@ -5,16 +5,13 @@ * 2.0. */ -import { EUI_CHARTS_THEME_DARK, EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; +import { DARK_THEME, LIGHT_THEME, Theme } from '@elastic/charts'; import { useMemo } from 'react'; import { useUiSetting$ } from '@kbn/kibana-react-plugin/public'; -export const useChartTheme = () => { +export const useBaseChartTheme = (): Theme => { const [darkMode] = useUiSetting$('theme:darkMode'); - - const theme = useMemo(() => { - return darkMode ? EUI_CHARTS_THEME_DARK.theme : EUI_CHARTS_THEME_LIGHT.theme; + return useMemo(() => { + return darkMode ? DARK_THEME : LIGHT_THEME; }, [darkMode]); - - return theme; }; diff --git a/x-pack/plugins/threat_intelligence/public/modules/indicators/components/barchart/barchart.tsx b/x-pack/plugins/threat_intelligence/public/modules/indicators/components/barchart/barchart.tsx index 31fff05ab2dce..3e3c47216ebc6 100644 --- a/x-pack/plugins/threat_intelligence/public/modules/indicators/components/barchart/barchart.tsx +++ b/x-pack/plugins/threat_intelligence/public/modules/indicators/components/barchart/barchart.tsx @@ -6,7 +6,15 @@ */ import React, { VFC } from 'react'; -import { Axis, BarSeries, Chart, Position, ScaleType, Settings } from '@elastic/charts'; +import { + Axis, + BarSeries, + Chart, + Position, + ScaleType, + Settings, + LEGACY_LIGHT_THEME, +} from '@elastic/charts'; import { EuiComboBoxOptionOption, EuiThemeProvider } from '@elastic/eui'; import { TimeRangeBounds } from '@kbn/data-plugin/common'; import { i18n } from '@kbn/i18n'; @@ -51,6 +59,8 @@ export const IndicatorsBarChart: VFC = ({ { const chartTheme = [ - theme, + ...(theme ? [theme] : []), EUI_SPARKLINE_THEME_PARTIAL, { chartMargins: { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/components/alert_summary_widget_full_size.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/components/alert_summary_widget_full_size.tsx index 4d2945f86ed23..3f2b5a111566b 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/components/alert_summary_widget_full_size.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/components/alert_summary_widget_full_size.tsx @@ -41,7 +41,7 @@ export const AlertSummaryWidgetFullSize = ({ hideChart, }: AlertSummaryWidgetFullSizeProps) => { const chartTheme = [ - theme, + ...(theme ? [theme] : []), { chartPaddings: { top: 7, @@ -86,7 +86,7 @@ export const AlertSummaryWidgetFullSize = ({ visible: true, }} style={{ - tickLine: { size: 0.0001, padding: 4 }, + tickLine: { size: 0, padding: 4 }, tickLabel: { alignment: { horizontal: Position.Left, vertical: Position.Bottom } }, }} /> diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/types.ts b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/types.ts index 019b6018e69b9..48a49acf5ad7c 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/types.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/types.ts @@ -25,7 +25,7 @@ export interface AlertSummaryTimeRange { } export interface ChartProps { - theme: PartialTheme; + theme?: PartialTheme; baseTheme: Theme; onBrushEnd?: BrushEndListener; } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/common/components/execution_duration_chart.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/common/components/execution_duration_chart.tsx index ec34ef4b300d2..4999496f669c3 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/common/components/execution_duration_chart.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/common/components/execution_duration_chart.tsx @@ -18,7 +18,15 @@ import { EuiLoadingChart, } from '@elastic/eui'; import { euiLightVars as lightEuiTheme } from '@kbn/ui-theme'; -import { Axis, BarSeries, Chart, CurveType, LineSeries, Settings } from '@elastic/charts'; +import { + Axis, + BarSeries, + Chart, + CurveType, + LineSeries, + Settings, + LEGACY_LIGHT_THEME, +} from '@elastic/charts'; import { assign, fill } from 'lodash'; import moment from 'moment'; import { formatMillisForDisplay } from '../../../lib/execution_duration_utils'; @@ -106,13 +114,14 @@ export const ExecutionDurationChart: React.FunctionComponent = ({ <> diff --git a/x-pack/plugins/uptime/public/legacy_uptime/components/common/charts/duration_chart.tsx b/x-pack/plugins/uptime/public/legacy_uptime/components/common/charts/duration_chart.tsx index 409d646553908..8e5da4fa970ab 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/components/common/charts/duration_chart.tsx +++ b/x-pack/plugins/uptime/public/legacy_uptime/components/common/charts/duration_chart.tsx @@ -111,6 +111,7 @@ export const DurationChartComponent = ({ onBrushEnd={onBrushEnd} onLegendItemClick={legendToggleVisibility} locale={i18n.getLocale()} + // TODO connect to charts.theme service see src/plugins/charts/public/services/theme/README.md {...chartTheme} /> = ({ onBrushEnd={onBrushEnd} onElementClick={onBarClicked} locale={i18n.getLocale()} + // TODO connect to charts.theme service see src/plugins/charts/public/services/theme/README.md {...chartTheme} /> { - const theme = useChartTheme(); + const baseChartTheme = useBaseChartTheme(); const { onElementClick, onProjectionClick } = useWaterfallContext(); const handleElementClick = useMemo(() => onElementClick, [onElementClick]); const handleProjectionClick = useMemo(() => onProjectionClick, [onProjectionClick]); @@ -97,7 +97,8 @@ export const WaterfallBarChart = ({ { - const theme = useChartTheme(); + const baseChartTheme = useBaseChartTheme(); return ( - + = ({ darkMo colors, chartTheme: { baseTheme: darkMode ? DARK_THEME : LIGHT_THEME, - theme: darkMode ? EUI_CHARTS_THEME_DARK.theme : EUI_CHARTS_THEME_LIGHT.theme, }, }; }, [colors, darkMode]); diff --git a/x-pack/plugins/uptime/public/legacy_uptime/hooks/use_chart_theme.ts b/x-pack/plugins/uptime/public/legacy_uptime/hooks/use_base_chart_theme.ts similarity index 61% rename from x-pack/plugins/uptime/public/legacy_uptime/hooks/use_chart_theme.ts rename to x-pack/plugins/uptime/public/legacy_uptime/hooks/use_base_chart_theme.ts index f9faca7927d9d..f8cb8dfd4134f 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/hooks/use_chart_theme.ts +++ b/x-pack/plugins/uptime/public/legacy_uptime/hooks/use_base_chart_theme.ts @@ -5,16 +5,13 @@ * 2.0. */ -import { EUI_CHARTS_THEME_DARK, EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; import { useMemo } from 'react'; import { useUiSetting$ } from '@kbn/kibana-react-plugin/public'; +import { DARK_THEME, LIGHT_THEME, Theme } from '@elastic/charts'; -export const useChartTheme = () => { +export const useBaseChartTheme = (): Theme => { const [darkMode] = useUiSetting$('theme:darkMode'); - - const theme = useMemo(() => { - return darkMode ? EUI_CHARTS_THEME_DARK.theme : EUI_CHARTS_THEME_LIGHT.theme; + return useMemo(() => { + return darkMode ? DARK_THEME : LIGHT_THEME; }, [darkMode]); - - return theme; }; diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/app_context.mock.tsx b/x-pack/plugins/watcher/__jest__/client_integration/helpers/app_context.mock.tsx index 955fade76f57a..9b304be467dfa 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/app_context.mock.tsx +++ b/x-pack/plugins/watcher/__jest__/client_integration/helpers/app_context.mock.tsx @@ -45,7 +45,7 @@ export const mockContextValue: AppDeps = { settings: settingsServiceMock.createStartContract(), toasts: notificationServiceMock.createSetupContract().toasts, theme: { - useChartsTheme: jest.fn(), + useChartsBaseTheme: jest.fn(), } as any, // For our test harness, we don't use this mocked out http service http: httpServiceMock.createSetupContract(), diff --git a/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/watch_visualization.tsx b/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/watch_visualization.tsx index cf55178fdb961..5d50690d3ecae 100644 --- a/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/watch_visualization.tsx +++ b/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/watch_visualization.tsx @@ -12,6 +12,7 @@ import { Chart, LineAnnotation, LineSeries, + PartialTheme, Position, ScaleType, Settings, @@ -33,7 +34,7 @@ import { comparators } from '../../../../models/watch/comparators'; import { SectionError, Error } from '../../../../components'; import { useAppContext } from '../../../../app_context'; -const customTheme = () => { +const customTheme = (): PartialTheme => { return { lineSeriesStyle: { line: { @@ -90,7 +91,7 @@ const getTimeBuckets = (watch: any, timeBuckets: any) => { export const WatchVisualization = () => { const { createTimeBuckets, theme, uiSettings } = useAppContext(); const { watch } = useContext(WatchContext); - const chartsTheme = theme.useChartsTheme(); + const chartBaseTheme = theme.useChartsBaseTheme(); const { index, timeField, @@ -216,7 +217,8 @@ export const WatchVisualization = () => { {watchVisualizationDataKeys.length ? ( rect', tile, 500) + )?.getAttribute('fill'), showingTrendline: Boolean( - await this.getMetricElementIfExists('.echSingleMetricSparkline', tile) + await this.getMetricElementIfExists('.echSingleMetricSparkline', tile, 500) ), }; }, diff --git a/yarn.lock b/yarn.lock index 1bcbde9d29c4a..1db13cef13340 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1544,10 +1544,10 @@ dependencies: object-hash "^1.3.0" -"@elastic/charts@60.0.1": - version "60.0.1" - resolved "https://registry.yarnpkg.com/@elastic/charts/-/charts-60.0.1.tgz#da8f8afd7200651d7efbf7d71b2dd60bee9299d1" - integrity sha512-Sl386SApHeK+IIx7R/8hAA8ribkyRi+Qi5iI7ENqywtRp1en4A75OSS9+wWy03uUvN8OcrA3Aaia2gTYHA+x0w== +"@elastic/charts@61.0.3": + version "61.0.3" + resolved "https://registry.yarnpkg.com/@elastic/charts/-/charts-61.0.3.tgz#77a2e1f18a39dd4b421a91edfd30f19cde740594" + integrity sha512-TY7hUieULTchNFgvpi6Rt7wMxrYMCmuZ4bbS6szOGBIY4WKJvZCgMfgZ2kUdC5MVG/jEzd8Qu+Xixce7GDpRxw== dependencies: "@popperjs/core" "^2.11.8" bezier-easing "^2.1.0" From 1248f55d89a2fa69d2a3ddfe167c088643891922 Mon Sep 17 00:00:00 2001 From: Kyle Pollich Date: Wed, 13 Dec 2023 15:20:12 -0500 Subject: [PATCH 027/123] [Fleet] Add docs links for performance tuning presets (#173318) ## Summary Closes #172523 Adds links to https://www.elastic.co/guide/en/fleet/master/es-output-settings.html#es-output-settings-performance-tuning-settings + help text for the performance preset form input. ![image](https://github.com/elastic/kibana/assets/6766512/91be33e3-fd62-4973-a2d6-b4f2e544bd69) ![image](https://github.com/elastic/kibana/assets/6766512/787f6784-842f-4e5a-8175-5c2057aee286) --- packages/kbn-doc-links/src/get_doc_links.ts | 1 + packages/kbn-doc-links/src/types.ts | 1 + .../components/edit_output_flyout/index.tsx | 63 ++++++++++++------- 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/packages/kbn-doc-links/src/get_doc_links.ts b/packages/kbn-doc-links/src/get_doc_links.ts index c5c253af7717a..a697000bbebbf 100644 --- a/packages/kbn-doc-links/src/get_doc_links.ts +++ b/packages/kbn-doc-links/src/get_doc_links.ts @@ -781,6 +781,7 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D elasticAgentInputConfiguration: `${FLEET_DOCS}elastic-agent-input-configuration.html`, policySecrets: `${FLEET_DOCS}agent-policy.html#agent-policy-secret-values`, remoteESOoutput: `${FLEET_DOCS}monitor-elastic-agent.html#external-elasticsearch-monitoring`, + performancePresets: `${FLEET_DOCS}es-output-settings.html#es-output-settings-performance-tuning-settings`, }, ecs: { guide: `${ELASTIC_WEBSITE_URL}guide/en/ecs/current/index.html`, diff --git a/packages/kbn-doc-links/src/types.ts b/packages/kbn-doc-links/src/types.ts index 3b3b26be0426e..3b6d22a190244 100644 --- a/packages/kbn-doc-links/src/types.ts +++ b/packages/kbn-doc-links/src/types.ts @@ -536,6 +536,7 @@ export interface DocLinks { elasticAgentInputConfiguration: string; policySecrets: string; remoteESOoutput: string; + performancePresets: string; }>; readonly ecs: { readonly guide: string; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.tsx index 3023cf1397faa..511af850cab46 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.tsx @@ -570,38 +570,57 @@ export const EditOutputFlyout: React.FunctionComponent = <> } - > - <> - inputs.presetInput.setValue(e.target.value)} - disabled={ - inputs.presetInput.props.disabled || - outputYmlIncludesReservedPerformanceKey( - inputs.additionalYamlConfigInput.value, - safeLoad - ) - } - options={[ - { value: 'balanced', text: 'Balanced' }, - { value: 'custom', text: 'Custom' }, - { value: 'throughput', text: 'Throughput' }, - { value: 'scale', text: 'Scale' }, - { value: 'latency', text: 'Latency' }, - ]} + helpText={ + Custom, + link: ( + + + + ), + }} /> - + } + > + inputs.presetInput.setValue(e.target.value)} + disabled={ + inputs.presetInput.props.disabled || + outputYmlIncludesReservedPerformanceKey( + inputs.additionalYamlConfigInput.value, + safeLoad + ) + } + options={[ + { value: 'balanced', text: 'Balanced' }, + { value: 'custom', text: 'Custom' }, + { value: 'throughput', text: 'Throughput' }, + { value: 'scale', text: 'Scale' }, + { value: 'latency', text: 'Latency' }, + ]} + /> )} - {supportsPresets && outputYmlIncludesReservedPerformanceKey( inputs.additionalYamlConfigInput.value, From 2f944321a44ad0d6ff42593e9179ed1c2779550e Mon Sep 17 00:00:00 2001 From: Ievgen Sorokopud Date: Wed, 13 Dec 2023 21:55:14 +0100 Subject: [PATCH 028/123] [Security Solution][Detections] Remove assignees UI from the old flyout for "non-alert" events (#8236) (#173314) ## Summary Addresses https://github.com/elastic/security-team/issues/8236 Here we fix the issue where we show the alert assignment UI for the `non-alert` event in Old Flyout. For more details see the ticket above. --- .../__snapshots__/index.test.tsx.snap | 114 ------------------ .../event_details/expandable_event.tsx | 2 +- 2 files changed, 1 insertion(+), 115 deletions(-) diff --git a/x-pack/plugins/security_solution/public/timelines/components/side_panel/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/timelines/components/side_panel/__snapshots__/index.test.tsx.snap index cfcbd3b1be2b2..8475b548dd795 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/side_panel/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/timelines/components/side_panel/__snapshots__/index.test.tsx.snap @@ -75,63 +75,6 @@ Array [ class="euiFlexGroup emotion-euiFlexGroup-responsive-none-flexStart-center-row" />
-
-
-
-

- Assignees: -

-
-
-
-
-
-
-
- - - -
-
-
-
-
, @@ -265,63 +208,6 @@ exports[`Details Panel Component DetailsPanel:EventDetails: rendering it should class="euiFlexGroup emotion-euiFlexGroup-responsive-none-flexStart-center-row" />
-
-
-
-

- Assignees: -

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

(XaC^!5aH$Rt45 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

diff --git a/x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/expandable_event.tsx b/x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/expandable_event.tsx index 18cef99f0cb20..2b195eb11fe3c 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/expandable_event.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/expandable_event.tsx @@ -175,7 +175,7 @@ export const ExpandableEventTitle = React.memo( )} - {scopeId !== TableId.rulePreview && ( + {isAlert && scopeId !== TableId.rulePreview && ( Date: Wed, 13 Dec 2023 21:56:12 +0100 Subject: [PATCH 029/123] [Security Solution][Detections] Flaky alert assignments tests (#173284) ## Summary With these changes we fix flaky tests caused by the flakiness of the alert actions button. There is a [`expandFirstAlertActions` method](https://github.com/elastic/kibana/blob/main/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts#L125) which workarounds this issue. ### Flaky tests: 1. https://github.com/elastic/kibana/issues/172611 2. https://github.com/elastic/kibana/issues/172623 3. https://github.com/elastic/kibana/issues/172663 ### Flaky test runner (100 times) https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4538 --- .../assignments/assignments.cy.ts | 31 +++++++++---------- .../assignments_serverless_complete.cy.ts | 4 +-- .../assignments_serverless_essentials.cy.ts | 4 +-- .../cypress/tasks/alert_assignments.ts | 26 +++++++--------- 4 files changed, 29 insertions(+), 36 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments.cy.ts index 1d94d2a2870c7..21a67b7fb4ea4 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments.cy.ts @@ -23,12 +23,12 @@ import { waitForAlertsToPopulate } from '../../../../../tasks/create_new_rule'; import { alertDetailsFlyoutShowsAssignees, alertDetailsFlyoutShowsAssigneesBadge, - alertsTableShowsAssigneesBadgeForAlert, + alertsTableShowsAssigneesBadgeForFirstAlert, alertsTableShowsAssigneesForAlert, - updateAssigneesForAlert, + updateAssigneesForFirstAlert, checkEmptyAssigneesStateInAlertDetailsFlyout, checkEmptyAssigneesStateInAlertsTable, - removeAllAssigneesForAlert, + removeAllAssigneesForFirstAlert, bulkUpdateAssignees, alertsTableShowsAssigneesForAllAlerts, bulkRemoveAllAssignees, @@ -42,10 +42,7 @@ import { } from '../../../../../tasks/alert_assignments'; import { ALERTS_COUNT } from '../../../../../screens/alerts'; -// FLAKY: https://github.com/elastic/kibana/issues/172611 -// FLAKY: https://github.com/elastic/kibana/issues/172623 -// FLAKY: https://github.com/elastic/kibana/issues/172663 -describe.skip('Alert user assignment - ESS & Serverless', { tags: ['@ess', '@serverless'] }, () => { +describe('Alert user assignment - ESS & Serverless', { tags: ['@ess', '@serverless'] }, () => { before(() => { cy.task('esArchiverLoad', { archiveName: 'auditbeat_multiple' }); @@ -81,13 +78,13 @@ describe.skip('Alert user assignment - ESS & Serverless', { tags: ['@ess', '@ser it('alert with some assignees in alerts table', () => { const users = [ROLES.detections_admin, ROLES.t1_analyst]; - updateAssigneesForAlert(users); + updateAssigneesForFirstAlert(users); alertsTableShowsAssigneesForAlert(users); }); it(`alert with some assignees in alert's details flyout`, () => { const users = [ROLES.detections_admin, ROLES.t1_analyst]; - updateAssigneesForAlert(users); + updateAssigneesForFirstAlert(users); expandFirstAlert(); alertDetailsFlyoutShowsAssignees(users); }); @@ -100,13 +97,13 @@ describe.skip('Alert user assignment - ESS & Serverless', { tags: ['@ess', '@ser ROLES.soc_manager, ROLES.detections_admin, ]; - updateAssigneesForAlert(users); - alertsTableShowsAssigneesBadgeForAlert(users); + updateAssigneesForFirstAlert(users); + alertsTableShowsAssigneesBadgeForFirstAlert(users); }); it(`alert with many assignees (collapsed into badge) in alert's details flyout`, () => { const users = [ROLES.detections_admin, ROLES.t1_analyst, ROLES.t2_analyst]; - updateAssigneesForAlert(users); + updateAssigneesForFirstAlert(users); expandFirstAlert(); alertDetailsFlyoutShowsAssigneesBadge(users); }); @@ -116,7 +113,7 @@ describe.skip('Alert user assignment - ESS & Serverless', { tags: ['@ess', '@ser it('adding new assignees via `More actions` in alerts table', () => { // Assign users const users = [ROLES.detections_admin, ROLES.t1_analyst]; - updateAssigneesForAlert(users); + updateAssigneesForFirstAlert(users); // Assignees should appear in the alerts table alertsTableShowsAssigneesForAlert(users); @@ -159,12 +156,12 @@ describe.skip('Alert user assignment - ESS & Serverless', { tags: ['@ess', '@ser it('updating assignees via `More actions` in alerts table', () => { // Initially assigned users const initialAssignees = [ROLES.detections_admin, ROLES.t1_analyst]; - updateAssigneesForAlert(initialAssignees); + updateAssigneesForFirstAlert(initialAssignees); alertsTableShowsAssigneesForAlert(initialAssignees); // Update assignees const updatedAssignees = [ROLES.t1_analyst, ROLES.t2_analyst]; - updateAssigneesForAlert(updatedAssignees); + updateAssigneesForFirstAlert(updatedAssignees); const expectedAssignees = [ROLES.detections_admin, ROLES.t2_analyst]; @@ -223,10 +220,10 @@ describe.skip('Alert user assignment - ESS & Serverless', { tags: ['@ess', '@ser it('removing all assignees via `More actions` in alerts table', () => { // Initially assigned users const initialAssignees = [ROLES.detections_admin, ROLES.t1_analyst]; - updateAssigneesForAlert(initialAssignees); + updateAssigneesForFirstAlert(initialAssignees); alertsTableShowsAssigneesForAlert(initialAssignees); - removeAllAssigneesForAlert(); + removeAllAssigneesForFirstAlert(); // Alert should not show any assignee in alerts table or in details flyout checkEmptyAssigneesStateInAlertsTable(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments_serverless_complete.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments_serverless_complete.cy.ts index 8d32661b5f7f4..72afcb304f893 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments_serverless_complete.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments_serverless_complete.cy.ts @@ -15,7 +15,7 @@ import { ALERTS_URL } from '../../../../../urls/navigation'; import { waitForAlertsToPopulate } from '../../../../../tasks/create_new_rule'; import { alertsTableShowsAssigneesForAlert, - updateAssigneesForAlert, + updateAssigneesForFirstAlert, bulkRemoveAllAssignees, loadPageAs, } from '../../../../../tasks/alert_assignments'; @@ -78,7 +78,7 @@ describe.skip( bulkRemoveAllAssignees(); refreshAlertPageFilter(); - updateAssigneesForAlert([role]); + updateAssigneesForFirstAlert([role]); // Assignees should appear in the alerts table alertsTableShowsAssigneesForAlert([role]); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments_serverless_essentials.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments_serverless_essentials.cy.ts index 71bb5f882ce9d..5ae60a01a0e8b 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments_serverless_essentials.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/detection_alerts/assignments/assignments_serverless_essentials.cy.ts @@ -15,7 +15,7 @@ import { ALERTS_URL } from '../../../../../urls/navigation'; import { waitForAlertsToPopulate } from '../../../../../tasks/create_new_rule'; import { alertsTableShowsAssigneesForAlert, - updateAssigneesForAlert, + updateAssigneesForFirstAlert, bulkRemoveAllAssignees, loadPageAs, } from '../../../../../tasks/alert_assignments'; @@ -78,7 +78,7 @@ describe.skip( bulkRemoveAllAssignees(); refreshAlertPageFilter(); - updateAssigneesForAlert([role]); + updateAssigneesForFirstAlert([role]); // Assignees should appear in the alerts table alertsTableShowsAssigneesForAlert([role]); diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/alert_assignments.ts b/x-pack/test/security_solution_cypress/cypress/tasks/alert_assignments.ts index c0adfbf1d78fa..9dcb6bd8bdd7d 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/alert_assignments.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/alert_assignments.ts @@ -27,7 +27,7 @@ import { } from '../screens/alerts'; import { PAGE_TITLE } from '../screens/common/page'; import { DOCUMENT_DETAILS_FLYOUT_HEADER_ASSIGNEES } from '../screens/expandable_flyout/alert_details_right_panel'; -import { selectFirstPageAlerts } from './alerts'; +import { expandFirstAlertActions, selectFirstPageAlerts } from './alerts'; import { login } from './login'; import { visitWithTimeRange } from './navigation'; @@ -56,8 +56,8 @@ export const loadPageAs = (url: string, role?: SecurityRoleName) => { waitForPageTitleToBeShown(); }; -export const openAlertAssigningActionMenu = (alertIndex = 0) => { - cy.get(TIMELINE_CONTEXT_MENU_BTN).eq(alertIndex).click(); +export const openFirstAlertAssigningActionMenu = () => { + expandFirstAlertActions(); cy.get(ALERT_ASSIGN_CONTEXT_MENU_ITEM).click(); }; @@ -93,8 +93,8 @@ export const alertsTableMoreActionsAreNotAvailable = () => { cy.get(TIMELINE_CONTEXT_MENU_BTN).should('not.exist'); }; -export const asigneesMenuItemsAreNotAvailable = (alertIndex = 0) => { - cy.get(TIMELINE_CONTEXT_MENU_BTN).eq(alertIndex).click(); +export const asigneesMenuItemsAreNotAvailable = () => { + expandFirstAlertActions(); cy.get(ALERT_ASSIGN_CONTEXT_MENU_ITEM).should('not.exist'); cy.get(ALERT_UNASSIGN_CONTEXT_MENU_ITEM).should('not.exist'); }; @@ -126,12 +126,9 @@ export const alertsTableShowsAssigneesForAllAlerts = (users: SecurityRoleName[]) }); }; -export const alertsTableShowsAssigneesBadgeForAlert = ( - users: SecurityRoleName[], - alertIndex = 0 -) => { +export const alertsTableShowsAssigneesBadgeForFirstAlert = (users: SecurityRoleName[]) => { cy.get(ALERT_ASIGNEES_COLUMN) - .eq(alertIndex) + .first() .within(() => { cy.get(ALERT_ASSIGNEES_COUNT_BADGE).contains(users.length); users.forEach((user) => cy.get(`.euiAvatar${ALERT_USER_AVATAR(user)}`).should('not.exist')); @@ -166,10 +163,9 @@ export const selectAlertAssignee = (assignee: string) => { /** * This will update assignees for selected alert * @param users The list of assugnees to update. If assignee is not assigned yet it will be assigned, otherwise it will be unassigned - * @param alertIndex The index of the alert in the alerts table */ -export const updateAssigneesForAlert = (users: SecurityRoleName[], alertIndex = 0) => { - openAlertAssigningActionMenu(alertIndex); +export const updateAssigneesForFirstAlert = (users: SecurityRoleName[]) => { + openFirstAlertAssigningActionMenu(); waitForAssigneesToPopulatePopover(); users.forEach((user) => selectAlertAssignee(user)); updateAlertAssignees(); @@ -201,8 +197,8 @@ export const bulkUpdateAssignees = (users: SecurityRoleName[]) => { cy.get(ALERTS_TABLE_ROW_LOADER).should('not.exist'); }; -export const removeAllAssigneesForAlert = (alertIndex = 0) => { - cy.get(TIMELINE_CONTEXT_MENU_BTN).eq(alertIndex).click(); +export const removeAllAssigneesForFirstAlert = () => { + expandFirstAlertActions(); cy.get(ALERT_UNASSIGN_CONTEXT_MENU_ITEM).click(); cy.get(ALERTS_TABLE_ROW_LOADER).should('not.exist'); }; From 589eae57cd6567d393d3712b0f65c97d2cf0ab54 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 13 Dec 2023 21:28:58 +0000 Subject: [PATCH 030/123] chore(NA): update versions after v7.17.17 bump (#173211) This PR is a simple update of our versions file after the recent bumps. --- versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.json b/versions.json index 26fee0ef485b3..ce91f8f76bb7e 100644 --- a/versions.json +++ b/versions.json @@ -14,7 +14,7 @@ "previousMinor": true }, { - "version": "7.17.16", + "version": "7.17.17", "branch": "7.17", "previousMajor": true } From 047f6cfc28683d067e6714612cf26bf2fdf1f13a Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 13 Dec 2023 22:08:57 +0000 Subject: [PATCH 031/123] skip flaky suite (#173307) --- .../related_integrations/related_integrations.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts index 9d486d11c9a56..927bf0ebf5587 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts @@ -45,7 +45,8 @@ import { waitForPageToBeLoaded, } from '../../../../tasks/rule_details'; -describe('Related integrations', { tags: ['@ess', '@serverless', '@brokenInServerlessQA'] }, () => { +// FLAKY: https://github.com/elastic/kibana/issues/173307 +describe.skip('Related integrations', { tags: ['@ess', '@serverless', '@brokenInServerlessQA'] }, () => { const DATA_STREAM_NAME = 'logs-related-integrations-test'; const PREBUILT_RULE_NAME = 'Prebuilt rule with related integrations'; const RULE_RELATED_INTEGRATIONS: IntegrationDefinition[] = [ From 51212f4eb794f1f10b0fb16de813f308d8c646e5 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 13 Dec 2023 22:10:17 +0000 Subject: [PATCH 032/123] skip flaky suite (#173306) --- .../related_integrations.cy.ts | 373 +++++++++--------- 1 file changed, 192 insertions(+), 181 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts index 927bf0ebf5587..fd1a57b19c894 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/related_integrations/related_integrations.cy.ts @@ -46,232 +46,243 @@ import { } from '../../../../tasks/rule_details'; // FLAKY: https://github.com/elastic/kibana/issues/173307 -describe.skip('Related integrations', { tags: ['@ess', '@serverless', '@brokenInServerlessQA'] }, () => { - const DATA_STREAM_NAME = 'logs-related-integrations-test'; - const PREBUILT_RULE_NAME = 'Prebuilt rule with related integrations'; - const RULE_RELATED_INTEGRATIONS: IntegrationDefinition[] = [ - { - package: 'aws', - version: '1.17.0', - integration: 'cloudfront', - installed: true, - enabled: true, - }, - { - package: 'aws', - version: '1.17.0', - integration: 'cloudtrail', - installed: true, - enabled: false, - }, - { package: 'aws', version: '1.17.0', integration: 'unknown', installed: false, enabled: false }, - { package: 'system', version: '1.17.0', installed: true, enabled: true }, - ]; - const PREBUILT_RULE = createRuleAssetSavedObject({ - name: PREBUILT_RULE_NAME, - index: [DATA_STREAM_NAME], - query: '*:*', - rule_id: 'rule_1', - related_integrations: RULE_RELATED_INTEGRATIONS.map((x) => omit(x, ['installed', 'enabled'])), - }); - - beforeEach(() => { - login(); - cleanFleet(); - deleteAlertsAndRules(); - addAndInstallPrebuiltRules([PREBUILT_RULE]); - }); - - describe('integrations not installed', () => { - describe('rules management table', () => { - beforeEach(() => { - visitRulesManagementTable(); - disableAutoRefresh(); - }); +// FLAKY: https://github.com/elastic/kibana/issues/173306 +describe.skip( + 'Related integrations', + { tags: ['@ess', '@serverless', '@brokenInServerlessQA'] }, + () => { + const DATA_STREAM_NAME = 'logs-related-integrations-test'; + const PREBUILT_RULE_NAME = 'Prebuilt rule with related integrations'; + const RULE_RELATED_INTEGRATIONS: IntegrationDefinition[] = [ + { + package: 'aws', + version: '1.17.0', + integration: 'cloudfront', + installed: true, + enabled: true, + }, + { + package: 'aws', + version: '1.17.0', + integration: 'cloudtrail', + installed: true, + enabled: false, + }, + { + package: 'aws', + version: '1.17.0', + integration: 'unknown', + installed: false, + enabled: false, + }, + { package: 'system', version: '1.17.0', installed: true, enabled: true }, + ]; + const PREBUILT_RULE = createRuleAssetSavedObject({ + name: PREBUILT_RULE_NAME, + index: [DATA_STREAM_NAME], + query: '*:*', + rule_id: 'rule_1', + related_integrations: RULE_RELATED_INTEGRATIONS.map((x) => omit(x, ['installed', 'enabled'])), + }); - it('should display a badge with the installed integrations', () => { - cy.get(INTEGRATIONS_POPOVER).should( - 'have.text', - `0/${RULE_RELATED_INTEGRATIONS.length} integrations` - ); - }); + beforeEach(() => { + login(); + cleanFleet(); + deleteAlertsAndRules(); + addAndInstallPrebuiltRules([PREBUILT_RULE]); + }); - it('should display a popover when clicking the badge with the installed integrations', () => { - openIntegrationsPopover(); + describe('integrations not installed', () => { + describe('rules management table', () => { + beforeEach(() => { + visitRulesManagementTable(); + disableAutoRefresh(); + }); - cy.get(INTEGRATIONS_POPOVER_TITLE).should( - 'have.text', - `[${RULE_RELATED_INTEGRATIONS.length}] Related integrations available` - ); - cy.get(INTEGRATION_LINK).should('have.length', RULE_RELATED_INTEGRATIONS.length); - cy.get(INTEGRATION_STATUS).should('have.length', RULE_RELATED_INTEGRATIONS.length); + it('should display a badge with the installed integrations', () => { + cy.get(INTEGRATIONS_POPOVER).should( + 'have.text', + `0/${RULE_RELATED_INTEGRATIONS.length} integrations` + ); + }); - RULE_RELATED_INTEGRATIONS.forEach((integration, index) => { - cy.get(INTEGRATION_LINK).eq(index).contains(getIntegrationName(integration), { - matchCase: false, + it('should display a popover when clicking the badge with the installed integrations', () => { + openIntegrationsPopover(); + + cy.get(INTEGRATIONS_POPOVER_TITLE).should( + 'have.text', + `[${RULE_RELATED_INTEGRATIONS.length}] Related integrations available` + ); + cy.get(INTEGRATION_LINK).should('have.length', RULE_RELATED_INTEGRATIONS.length); + cy.get(INTEGRATION_STATUS).should('have.length', RULE_RELATED_INTEGRATIONS.length); + + RULE_RELATED_INTEGRATIONS.forEach((integration, index) => { + cy.get(INTEGRATION_LINK).eq(index).contains(getIntegrationName(integration), { + matchCase: false, + }); + cy.get(INTEGRATION_STATUS).eq(index).should('have.text', 'Not installed'); }); - cy.get(INTEGRATION_STATUS).eq(index).should('have.text', 'Not installed'); }); }); - }); - describe('rule details', () => { - beforeEach(() => { - visitFirstInstalledPrebuiltRuleDetailsPage(); - }); + describe('rule details', () => { + beforeEach(() => { + visitFirstInstalledPrebuiltRuleDetailsPage(); + }); - it('should display the integrations in the definition section', () => { - cy.get(INTEGRATION_LINK).should('have.length', RULE_RELATED_INTEGRATIONS.length); - cy.get(INTEGRATION_STATUS).should('have.length', RULE_RELATED_INTEGRATIONS.length); + it('should display the integrations in the definition section', () => { + cy.get(INTEGRATION_LINK).should('have.length', RULE_RELATED_INTEGRATIONS.length); + cy.get(INTEGRATION_STATUS).should('have.length', RULE_RELATED_INTEGRATIONS.length); - RULE_RELATED_INTEGRATIONS.forEach((integration, index) => { - cy.get(INTEGRATION_LINK).eq(index).contains(getIntegrationName(integration), { - matchCase: false, + RULE_RELATED_INTEGRATIONS.forEach((integration, index) => { + cy.get(INTEGRATION_LINK).eq(index).contains(getIntegrationName(integration), { + matchCase: false, + }); + cy.get(INTEGRATION_STATUS).eq(index).should('have.text', 'Not installed'); }); - cy.get(INTEGRATION_STATUS).eq(index).should('have.text', 'Not installed'); }); }); }); - }); - describe('integrations installed (AWS CloudFront (enabled), AWS CloudTrail (disabled), System (enabled))', () => { - beforeEach(() => { - installIntegrations({ - packages: [ - { name: 'aws', version: '1.17.0' }, - { name: 'system', version: '1.17.0' }, - ], - agentPolicy: { - name: 'Agent policy', - namespace: 'default', - monitoring_enabled: ['logs'], - inactivity_timeout: 1209600, - }, - packagePolicy: AWS_PACKAGE_POLICY, - }); - }); - - describe('rules management table', () => { + describe('integrations installed (AWS CloudFront (enabled), AWS CloudTrail (disabled), System (enabled))', () => { beforeEach(() => { - visitRulesManagementTable(); - disableAutoRefresh(); + installIntegrations({ + packages: [ + { name: 'aws', version: '1.17.0' }, + { name: 'system', version: '1.17.0' }, + ], + agentPolicy: { + name: 'Agent policy', + namespace: 'default', + monitoring_enabled: ['logs'], + inactivity_timeout: 1209600, + }, + packagePolicy: AWS_PACKAGE_POLICY, + }); }); - it('should display a badge with the installed integrations', () => { - const enabledIntegrations = RULE_RELATED_INTEGRATIONS.filter((x) => x.enabled).length; - const totalIntegrations = RULE_RELATED_INTEGRATIONS.length; - - cy.get(INTEGRATIONS_POPOVER).should( - 'have.text', - `${enabledIntegrations}/${totalIntegrations} integrations` - ); - }); + describe('rules management table', () => { + beforeEach(() => { + visitRulesManagementTable(); + disableAutoRefresh(); + }); - it('should display a popover when clicking the badge with the installed integrations', () => { - openIntegrationsPopover(); + it('should display a badge with the installed integrations', () => { + const enabledIntegrations = RULE_RELATED_INTEGRATIONS.filter((x) => x.enabled).length; + const totalIntegrations = RULE_RELATED_INTEGRATIONS.length; - cy.get(INTEGRATIONS_POPOVER_TITLE).should( - 'have.text', - `[${RULE_RELATED_INTEGRATIONS.length}] Related integrations available` - ); - cy.get(INTEGRATION_LINK).should('have.length', RULE_RELATED_INTEGRATIONS.length); - cy.get(INTEGRATION_STATUS).should('have.length', RULE_RELATED_INTEGRATIONS.length); + cy.get(INTEGRATIONS_POPOVER).should( + 'have.text', + `${enabledIntegrations}/${totalIntegrations} integrations` + ); + }); - RULE_RELATED_INTEGRATIONS.forEach((integration, index) => { - cy.get(INTEGRATION_LINK).eq(index).contains(getIntegrationName(integration), { - matchCase: false, + it('should display a popover when clicking the badge with the installed integrations', () => { + openIntegrationsPopover(); + + cy.get(INTEGRATIONS_POPOVER_TITLE).should( + 'have.text', + `[${RULE_RELATED_INTEGRATIONS.length}] Related integrations available` + ); + cy.get(INTEGRATION_LINK).should('have.length', RULE_RELATED_INTEGRATIONS.length); + cy.get(INTEGRATION_STATUS).should('have.length', RULE_RELATED_INTEGRATIONS.length); + + RULE_RELATED_INTEGRATIONS.forEach((integration, index) => { + cy.get(INTEGRATION_LINK).eq(index).contains(getIntegrationName(integration), { + matchCase: false, + }); + cy.get(INTEGRATION_STATUS) + .eq(index) + .should('have.text', getIntegrationStatus(integration)); }); - cy.get(INTEGRATION_STATUS) - .eq(index) - .should('have.text', getIntegrationStatus(integration)); }); }); - }); - describe('rule details', () => { - beforeEach(() => { - visitFirstInstalledPrebuiltRuleDetailsPage(); - waitForPageToBeLoaded(PREBUILT_RULE_NAME); - }); - - it('should display the integrations in the definition section', () => { - cy.get(INTEGRATION_LINK).should('have.length', RULE_RELATED_INTEGRATIONS.length); - cy.get(INTEGRATION_STATUS).should('have.length', RULE_RELATED_INTEGRATIONS.length); + describe('rule details', () => { + beforeEach(() => { + visitFirstInstalledPrebuiltRuleDetailsPage(); + waitForPageToBeLoaded(PREBUILT_RULE_NAME); + }); - RULE_RELATED_INTEGRATIONS.forEach((integration, index) => { - cy.get(INTEGRATION_LINK).eq(index).contains(getIntegrationName(integration), { - matchCase: false, + it('should display the integrations in the definition section', () => { + cy.get(INTEGRATION_LINK).should('have.length', RULE_RELATED_INTEGRATIONS.length); + cy.get(INTEGRATION_STATUS).should('have.length', RULE_RELATED_INTEGRATIONS.length); + + RULE_RELATED_INTEGRATIONS.forEach((integration, index) => { + cy.get(INTEGRATION_LINK).eq(index).contains(getIntegrationName(integration), { + matchCase: false, + }); + cy.get(INTEGRATION_STATUS) + .eq(index) + .should('have.text', getIntegrationStatus(integration)); }); - cy.get(INTEGRATION_STATUS) - .eq(index) - .should('have.text', getIntegrationStatus(integration)); }); - }); - - const RELATED_INTEGRATION_FIELD = 'kibana.alert.rule.parameters.related_integrations'; - - it(`the alerts generated should have a "${RELATED_INTEGRATION_FIELD}" field containing the integrations`, () => { - deleteDataStream(DATA_STREAM_NAME); - createDocument(DATA_STREAM_NAME, generateEvent()); - - clickEnableRuleSwitch(); - waitForAlertsToPopulate(); - fetchRuleAlerts({ - ruleId: 'rule_1', - fields: [RELATED_INTEGRATION_FIELD], - size: 1, - }).then((alertsResponse) => { - expect(alertsResponse.body.hits.hits[0].fields).to.deep.equal({ - [RELATED_INTEGRATION_FIELD]: RULE_RELATED_INTEGRATIONS.map((x) => - omit(x, ['installed', 'enabled']) - ), + const RELATED_INTEGRATION_FIELD = 'kibana.alert.rule.parameters.related_integrations'; + + it(`the alerts generated should have a "${RELATED_INTEGRATION_FIELD}" field containing the integrations`, () => { + deleteDataStream(DATA_STREAM_NAME); + createDocument(DATA_STREAM_NAME, generateEvent()); + + clickEnableRuleSwitch(); + waitForAlertsToPopulate(); + + fetchRuleAlerts({ + ruleId: 'rule_1', + fields: [RELATED_INTEGRATION_FIELD], + size: 1, + }).then((alertsResponse) => { + expect(alertsResponse.body.hits.hits[0].fields).to.deep.equal({ + [RELATED_INTEGRATION_FIELD]: RULE_RELATED_INTEGRATIONS.map((x) => + omit(x, ['installed', 'enabled']) + ), + }); }); }); }); }); - }); - describe('related Integrations Advanced Setting is disabled', () => { - before(() => { - disableRelatedIntegrations(); - }); - - after(() => { - enableRelatedIntegrations(); - }); - - describe('rules management table', () => { - beforeEach(() => { - visitRulesManagementTable(); - disableAutoRefresh(); + describe('related Integrations Advanced Setting is disabled', () => { + before(() => { + disableRelatedIntegrations(); }); - it('should not display a badge with the installed integrations', () => { - cy.get(RULE_NAME).should('have.text', PREBUILT_RULE_NAME); - cy.get(INTEGRATION_LINK).should('not.exist'); + after(() => { + enableRelatedIntegrations(); }); - }); - describe('rule details', () => { - beforeEach(() => { - visitFirstInstalledPrebuiltRuleDetailsPage(); + describe('rules management table', () => { + beforeEach(() => { + visitRulesManagementTable(); + disableAutoRefresh(); + }); + + it('should not display a badge with the installed integrations', () => { + cy.get(RULE_NAME).should('have.text', PREBUILT_RULE_NAME); + cy.get(INTEGRATION_LINK).should('not.exist'); + }); }); - it('should display the integrations in the definition section', () => { - cy.get(INTEGRATION_LINK).should('have.length', RULE_RELATED_INTEGRATIONS.length); - cy.get(INTEGRATION_STATUS).should('have.length', RULE_RELATED_INTEGRATIONS.length); + describe('rule details', () => { + beforeEach(() => { + visitFirstInstalledPrebuiltRuleDetailsPage(); + }); + + it('should display the integrations in the definition section', () => { + cy.get(INTEGRATION_LINK).should('have.length', RULE_RELATED_INTEGRATIONS.length); + cy.get(INTEGRATION_STATUS).should('have.length', RULE_RELATED_INTEGRATIONS.length); - RULE_RELATED_INTEGRATIONS.forEach((integration, index) => { - cy.get(INTEGRATION_LINK).eq(index).contains(getIntegrationName(integration), { - matchCase: false, + RULE_RELATED_INTEGRATIONS.forEach((integration, index) => { + cy.get(INTEGRATION_LINK).eq(index).contains(getIntegrationName(integration), { + matchCase: false, + }); + cy.get(INTEGRATION_STATUS).eq(index).should('have.text', 'Not installed'); }); - cy.get(INTEGRATION_STATUS).eq(index).should('have.text', 'Not installed'); }); }); }); - }); -}); + } +); const INSTALLED_PREBUILT_RULES_RESPONSE_ALIAS = 'prebuiltRules'; From 8cecdf6dbc181cc6193d6d4e535fdbf51d10a157 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 13 Dec 2023 22:12:03 +0000 Subject: [PATCH 033/123] skip flaky suite (#173165) --- .../observability/observability_log_explorer/header_menu.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 4a71ac1fcb9bf..90aea100989cc 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 @@ -22,7 +22,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'svlCommonNavigation', ]); - describe('Header menu', () => { + // FLAKY: https://github.com/elastic/kibana/issues/173165 + describe.skip('Header menu', () => { before(async () => { await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/discover'); await esArchiver.load( From 9e140d158ab606dffde6e45d18dcbb140e6c56ce Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 13 Dec 2023 22:13:10 +0000 Subject: [PATCH 034/123] skip flaky suite (#173184) --- .../apps/integrations/endpoint_exceptions.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_endpoint/apps/integrations/endpoint_exceptions.ts b/x-pack/test/security_solution_endpoint/apps/integrations/endpoint_exceptions.ts index 5fa459636b44e..aab49b3c5c299 100644 --- a/x-pack/test/security_solution_endpoint/apps/integrations/endpoint_exceptions.ts +++ b/x-pack/test/security_solution_endpoint/apps/integrations/endpoint_exceptions.ts @@ -27,7 +27,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const find = getService('find'); const unzipPromisify = promisify(unzip); - describe('Endpoint Exceptions', function () { + // FLAKY: https://github.com/elastic/kibana/issues/173184 + describe.skip('Endpoint Exceptions', function () { targetTags(this, ['@ess', '@serverless']); this.timeout(10 * 60_000); From 780ca379630fc197919a452103009d8ca7c312d6 Mon Sep 17 00:00:00 2001 From: Rickyanto Ang Date: Wed, 13 Dec 2023 15:07:55 -0800 Subject: [PATCH 035/123] [Cloud Security][Benchmark] Benchmark Page Improvement Phase I (#171703) ## Summary This PR is for Benchmark Page Improvements Screenshot 2023-11-24 at 1 57 55 PM --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Kfir Peled <61654899+kfirpeled@users.noreply.github.com> --- .../benchmark.ts => types/benchmarks/v1.ts} | 30 ++- .../common/types/benchmarks/v2.ts | 50 ++++ .../common/types/index.ts | 6 + .../common/types/latest.ts | 1 + .../common/types_old.ts | 16 -- .../common/utils/helpers.ts | 33 +++ .../public/common/navigation/constants.ts | 2 +- ...se_navigate_to_cis_integration_policies.ts | 5 +- .../pages/benchmarks/benchmarks.test.tsx | 4 +- .../public/pages/benchmarks/benchmarks.tsx | 25 +- .../benchmarks/benchmarks_table.test.tsx | 39 ++- .../pages/benchmarks/benchmarks_table.tsx | 223 +++++++++--------- .../public/pages/benchmarks/test_subjects.ts | 13 +- .../use_csp_benchmark_integrations.ts | 32 ++- .../fixtures/csp_benchmark_integration.ts | 64 ++--- .../server/lib/fleet_util.ts | 2 +- .../routes/benchmarks/benchmarks.test.ts | 7 +- .../server/routes/benchmarks/benchmarks.ts | 146 ++++-------- .../server/routes/benchmarks/utilities.ts | 27 +++ .../server/routes/benchmarks/v1.ts | 109 +++++++++ .../server/routes/benchmarks/v2.ts | 118 +++++++++ .../translations/translations/fr-FR.json | 9 - .../translations/translations/ja-JP.json | 9 - .../translations/translations/zh-CN.json | 9 - .../{benchmark.ts => benchmark/v1.ts} | 7 +- .../cloud_security_posture/benchmark/v2.ts | 127 ++++++++++ .../apis/cloud_security_posture/index.ts | 3 +- .../{benchmark.ts => benchmark/v1.ts} | 10 +- .../cloud_security_posture/benchmark/v2.ts | 131 ++++++++++ .../security/cloud_security_posture/index.ts | 3 +- 30 files changed, 869 insertions(+), 391 deletions(-) rename x-pack/plugins/cloud_security_posture/common/{schemas/benchmark.ts => types/benchmarks/v1.ts} (68%) create mode 100644 x-pack/plugins/cloud_security_posture/common/types/benchmarks/v2.ts create mode 100644 x-pack/plugins/cloud_security_posture/server/routes/benchmarks/utilities.ts create mode 100644 x-pack/plugins/cloud_security_posture/server/routes/benchmarks/v1.ts create mode 100644 x-pack/plugins/cloud_security_posture/server/routes/benchmarks/v2.ts rename x-pack/test/api_integration/apis/cloud_security_posture/{benchmark.ts => benchmark/v1.ts} (96%) create mode 100644 x-pack/test/api_integration/apis/cloud_security_posture/benchmark/v2.ts rename x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/{benchmark.ts => benchmark/v1.ts} (92%) create mode 100644 x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/benchmark/v2.ts diff --git a/x-pack/plugins/cloud_security_posture/common/schemas/benchmark.ts b/x-pack/plugins/cloud_security_posture/common/types/benchmarks/v1.ts similarity index 68% rename from x-pack/plugins/cloud_security_posture/common/schemas/benchmark.ts rename to x-pack/plugins/cloud_security_posture/common/types/benchmarks/v1.ts index 0d30ae992dd11..48c9c1446b0f6 100644 --- a/x-pack/plugins/cloud_security_posture/common/schemas/benchmark.ts +++ b/x-pack/plugins/cloud_security_posture/common/types/benchmarks/v1.ts @@ -4,7 +4,28 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { type TypeOf, schema } from '@kbn/config-schema'; + +import { schema, TypeOf } from '@kbn/config-schema'; +import type { PackagePolicy } from '@kbn/fleet-plugin/common'; +import type { AgentPolicy } from '@kbn/fleet-plugin/common'; + +export type AgentPolicyStatus = Pick & { agents: number }; + +export const benchmarkScoreSchema = schema.object({ + postureScore: schema.number({ defaultValue: 0, min: 0 }), + resourcesEvaluated: schema.number({ defaultValue: 0, min: 0 }), + totalFailed: schema.number({ defaultValue: 0, min: 0 }), + totalFindings: schema.number({ defaultValue: 0, min: 0 }), + totalPassed: schema.number({ defaultValue: 0, min: 0 }), +}); + +export type BenchmarkScore = TypeOf; + +export interface Benchmark { + package_policy: PackagePolicy; + agent_policy: AgentPolicyStatus; + rules_count: number; +} export const DEFAULT_BENCHMARKS_PER_PAGE = 20; export const BENCHMARK_PACKAGE_POLICY_PREFIX = 'package_policy.'; @@ -60,3 +81,10 @@ export const benchmarksQueryParamsSchema = schema.object({ }); export type BenchmarksQueryParams = TypeOf; + +export interface GetBenchmarkResponse { + items: Benchmark[]; + total: number; + page: number; + perPage: number; +} diff --git a/x-pack/plugins/cloud_security_posture/common/types/benchmarks/v2.ts b/x-pack/plugins/cloud_security_posture/common/types/benchmarks/v2.ts new file mode 100644 index 0000000000000..f5052d08f9914 --- /dev/null +++ b/x-pack/plugins/cloud_security_posture/common/types/benchmarks/v2.ts @@ -0,0 +1,50 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +// Optionally, re-export the entire set of types. Interfaces and types declared after this will override v1 declarations. +import { schema } from '@kbn/config-schema'; +import type { BenchmarkScore } from './v1'; + +export type { BenchmarkScore } from './v1'; + +export type BenchmarksCisId = 'cis_k8s' | 'cis_azure' | 'cis_aws' | 'cis_eks' | 'cis_gcp'; + +export interface Benchmark { + id: BenchmarksCisId; + name: string; + version: string; + score: BenchmarkScore; + evaluation: number; +} + +export interface GetBenchmarkResponse { + items: Benchmark[]; +} + +export const benchmarkResponseSchema = schema.object({ + items: schema.arrayOf( + schema.object({ + id: schema.oneOf([ + schema.literal('cis_k8s'), + schema.literal('cis_azure'), + schema.literal('cis_aws'), + schema.literal('cis_eks'), + schema.literal('cis_gcp'), + ]), + name: schema.string(), + version: schema.string(), + score: schema.object({ + postureScore: schema.number({ defaultValue: 0, min: 0 }), + resourcesEvaluated: schema.number({ defaultValue: 0, min: 0 }), + totalFailed: schema.number({ defaultValue: 0, min: 0 }), + totalFindings: schema.number({ defaultValue: 0, min: 0 }), + totalPassed: schema.number({ defaultValue: 0, min: 0 }), + }), + evaluation: schema.number({ defaultValue: 0, min: 0 }), + }) + ), +}); diff --git a/x-pack/plugins/cloud_security_posture/common/types/index.ts b/x-pack/plugins/cloud_security_posture/common/types/index.ts index a2aaa3b2ef14e..d6e804c33f017 100644 --- a/x-pack/plugins/cloud_security_posture/common/types/index.ts +++ b/x-pack/plugins/cloud_security_posture/common/types/index.ts @@ -9,6 +9,9 @@ export * as rulesV1 from './rules/v1'; export * as rulesV2 from './rules/v2'; export * as rulesV3 from './rules/v3'; +export * as benchmarkV1 from './benchmarks/v1'; +export * as benchmarkV2 from './benchmarks/v2'; + // Explicit export of everything from latest export type { cspBenchmarkRuleMetadataSchema, @@ -16,4 +19,7 @@ export type { CspBenchmarkRule, FindCspBenchmarkRuleRequest, FindCspBenchmarkRuleResponse, + BenchmarkScore, + Benchmark, + GetBenchmarkResponse, } from './latest'; diff --git a/x-pack/plugins/cloud_security_posture/common/types/latest.ts b/x-pack/plugins/cloud_security_posture/common/types/latest.ts index 8b55674005249..9951c7a418ecc 100644 --- a/x-pack/plugins/cloud_security_posture/common/types/latest.ts +++ b/x-pack/plugins/cloud_security_posture/common/types/latest.ts @@ -6,3 +6,4 @@ */ export * from './rules/v3'; +export * from './benchmarks/v2'; diff --git a/x-pack/plugins/cloud_security_posture/common/types_old.ts b/x-pack/plugins/cloud_security_posture/common/types_old.ts index abfd590b55ae0..d3706c51469f8 100644 --- a/x-pack/plugins/cloud_security_posture/common/types_old.ts +++ b/x-pack/plugins/cloud_security_posture/common/types_old.ts @@ -5,7 +5,6 @@ * 2.0. */ import { type TypeOf } from '@kbn/config-schema'; -import type { PackagePolicy, AgentPolicy } from '@kbn/fleet-plugin/common'; import { CspFinding } from './schemas/csp_finding'; import { SUPPORTED_CLOUDBEAT_INPUTS, SUPPORTED_POLICY_TEMPLATES } from './constants'; @@ -142,14 +141,6 @@ export interface BaseCspSetupStatus { export type CspSetupStatus = BaseCspSetupStatus; -export type AgentPolicyStatus = Pick & { agents: number }; - -export interface Benchmark { - package_policy: PackagePolicy; - agent_policy: AgentPolicyStatus; - rules_count: number; -} - export type BenchmarkId = CspBenchmarkRuleMetadata['benchmark']['id']; export type BenchmarkName = CspBenchmarkRuleMetadata['benchmark']['name']; export type RuleSection = CspBenchmarkRuleMetadata['section']; @@ -159,13 +150,6 @@ export type PostureInput = typeof SUPPORTED_CLOUDBEAT_INPUTS[number]; export type CloudSecurityPolicyTemplate = typeof SUPPORTED_POLICY_TEMPLATES[number]; export type PosturePolicyTemplate = Extract; -export interface GetBenchmarkResponse { - items: Benchmark[]; - total: number; - page: number; - perPage: number; -} - export type GetComplianceDashboardRequest = TypeOf; // CNVM DASHBOARD diff --git a/x-pack/plugins/cloud_security_posture/common/utils/helpers.ts b/x-pack/plugins/cloud_security_posture/common/utils/helpers.ts index fd04733bb17c9..2f7706705da45 100644 --- a/x-pack/plugins/cloud_security_posture/common/utils/helpers.ts +++ b/x-pack/plugins/cloud_security_posture/common/utils/helpers.ts @@ -31,6 +31,7 @@ import type { AzureCredentialsType, RuleSection, } from '../types_old'; +import type { BenchmarksCisId } from '../types/latest'; /** * @example @@ -172,3 +173,35 @@ export const cleanupCredentials = (packagePolicy: NewPackagePolicy | UpdatePacka // nothing to do, return unmutated policy return packagePolicy; }; + +export const getBenchmarkCisName = (benchmarkId: BenchmarksCisId) => { + switch (benchmarkId) { + case 'cis_k8s': + return 'CIS Kubernetes'; + case 'cis_azure': + return 'CIS Azure'; + case 'cis_aws': + return 'CIS AWS'; + case 'cis_eks': + return 'CIS EKS'; + case 'cis_gcp': + return 'CIS GCP'; + } + return null; +}; + +export const getBenchmarkApplicableTo = (benchmarkId: BenchmarksCisId) => { + switch (benchmarkId) { + case 'cis_k8s': + return 'Kubernetes'; + case 'cis_azure': + return 'Microsoft Azure'; + case 'cis_aws': + return 'Amazon Web Services'; + case 'cis_eks': + return 'Amazon Elastic Kubernetes Service'; + case 'cis_gcp': + return 'Google Cloud Provider'; + } + return null; +}; diff --git a/x-pack/plugins/cloud_security_posture/public/common/navigation/constants.ts b/x-pack/plugins/cloud_security_posture/public/common/navigation/constants.ts index e89d7d610bc9c..6182a0b47f54e 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/navigation/constants.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/navigation/constants.ts @@ -27,7 +27,7 @@ const NAV_ITEMS_NAMES = { defaultMessage: 'Findings', }), BENCHMARKS: i18n.translate('xpack.csp.navigation.myBenchmarksNavItemLabel', { - defaultMessage: 'Benchmark rules', + defaultMessage: 'Benchmarks', }), RULES: i18n.translate('xpack.csp.navigation.rulesNavItemLabel', { defaultMessage: 'Rules', 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 f5c7a6e5cc5e4..85e4796743cf3 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,7 +8,7 @@ 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 { useCspBenchmarkIntegrationsV1 } from '../../pages/benchmarks/use_csp_benchmark_integrations'; import { PostureTypes } from '../../../common/types_old'; export const useCISIntegrationPoliciesLink = ({ @@ -19,7 +19,7 @@ export const useCISIntegrationPoliciesLink = ({ const { http } = useKibana().services; const cisIntegration = useCisKubernetesIntegration(); // using an existing hook to get agent id and package policy id - const cspBenchmarkIntegrations = useCspBenchmarkIntegrations({ + const cspBenchmarkIntegrations = useCspBenchmarkIntegrationsV1({ name: '', page: 1, perPage: 100, @@ -29,6 +29,7 @@ export const useCISIntegrationPoliciesLink = ({ if (!cisIntegration.isSuccess) return; const intergrations = cspBenchmarkIntegrations.data?.items; + const matchedIntegration = intergrations?.find( (integration) => integration?.package_policy?.inputs?.find((input) => input?.enabled)?.policy_template === diff --git a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks.test.tsx b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks.test.tsx index a1ed381e6df77..e5fed03fc9676 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks.test.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks.test.tsx @@ -13,7 +13,7 @@ import { createReactQueryResponse } from '../../test/fixtures/react_query'; import { TestProvider } from '../../test/test_provider'; import { Benchmarks } from './benchmarks'; import * as TEST_SUBJ from './test_subjects'; -import { useCspBenchmarkIntegrations } from './use_csp_benchmark_integrations'; +import { useCspBenchmarkIntegrationsV2 } from './use_csp_benchmark_integrations'; import { useCspSetupStatusApi } from '../../common/api/use_setup_status_api'; import { useSubscriptionStatus } from '../../common/hooks/use_subscription_status'; import { useCspIntegrationLink } from '../../common/navigation/use_csp_integration_link'; @@ -65,7 +65,7 @@ describe('', () => { const renderBenchmarks = ( queryResponse: Partial = createReactQueryResponse() ) => { - (useCspBenchmarkIntegrations as jest.Mock).mockImplementation(() => queryResponse); + (useCspBenchmarkIntegrationsV2 as jest.Mock).mockImplementation(() => queryResponse); return render( 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 b39bf81a5d31a..2f848868c54d3 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 @@ -26,10 +26,10 @@ import { CloudPosturePageTitle } from '../../components/cloud_posture_page_title import { CloudPosturePage } from '../../components/cloud_posture_page'; import { BenchmarksTable } from './benchmarks_table'; import { - useCspBenchmarkIntegrations, + useCspBenchmarkIntegrationsV2, UseCspBenchmarkIntegrationsProps, } from './use_csp_benchmark_integrations'; -import { extractErrorMessage } from '../../../common/utils/helpers'; +import { extractErrorMessage, getBenchmarkCisName } from '../../../common/utils/helpers'; import * as TEST_SUBJ from './test_subjects'; import { LOCAL_STORAGE_PAGE_SIZE_BENCHMARK_KEY } from '../../common/constants'; import { usePageSize } from '../../common/hooks/use_page_size'; @@ -102,7 +102,7 @@ const TotalIntegrationsCount = ({ @@ -126,7 +126,7 @@ const BenchmarkSearchField = ({ isLoading={isLoading} placeholder={i18n.translate( 'xpack.csp.benchmarks.benchmarkSearchField.searchPlaceholder', - { defaultMessage: 'Search by Integration Name' } + { defaultMessage: 'Search by benchmark Name' } )} incremental /> @@ -145,8 +145,11 @@ export const Benchmarks = () => { sortOrder: 'asc', }); - const queryResult = useCspBenchmarkIntegrations(query); - const totalItemCount = queryResult.data?.total || 0; + const queryResult = useCspBenchmarkIntegrationsV2(); + const benchmarkResult = + queryResult.data?.items.filter((obj) => getBenchmarkCisName(obj.id)?.includes(query.name)) || + []; + const totalItemCount = queryResult.data?.items.length || 0; return ( @@ -154,8 +157,8 @@ export const Benchmarks = () => { data-test-subj={TEST_SUBJ.BENCHMARKS_PAGE_HEADER} pageTitle={ } @@ -174,7 +177,7 @@ export const Benchmarks = () => { /> { })); }} noItemsMessage={ - queryResult.isSuccess && !queryResult.data.total ? ( - - ) : undefined + queryResult.isSuccess ? : undefined } /> diff --git a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.test.tsx b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.test.tsx index dc980df0d67ae..9463c65bc63eb 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.test.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.test.tsx @@ -5,16 +5,13 @@ * 2.0. */ import React from 'react'; -import Chance from 'chance'; import { render, screen } from '@testing-library/react'; -import moment from 'moment'; import { createCspBenchmarkIntegrationFixture } from '../../test/fixtures/csp_benchmark_integration'; import { BenchmarksTable } from './benchmarks_table'; import { TestProvider } from '../../test/test_provider'; +import { getBenchmarkCisName, getBenchmarkApplicableTo } from '../../../common/utils/helpers'; describe('', () => { - const chance = new Chance(); - const tableProps = { pageIndex: 1, pageSize: 10, @@ -23,9 +20,10 @@ describe('', () => { setQuery: jest.fn(), }; - it('renders integration name', () => { + it('renders cis integration name', () => { const item = createCspBenchmarkIntegrationFixture(); const benchmarks = [item]; + const benchmarkCisIntegrationName = getBenchmarkCisName(item.id) || ''; render( @@ -39,17 +37,12 @@ describe('', () => { ); - expect(screen.getByText(item.package_policy.name)).toBeInTheDocument(); + expect(screen.getByText(benchmarkCisIntegrationName)).toBeInTheDocument(); }); - it('renders agent policy name', () => { - const agentPolicy = { - id: chance.guid(), - name: chance.sentence(), - agents: chance.integer({ min: 1 }), - }; - - const benchmarks = [createCspBenchmarkIntegrationFixture({ agent_policy: agentPolicy })]; + it('renders benchmark version', () => { + const item = createCspBenchmarkIntegrationFixture(); + const benchmarks = [item]; render( @@ -63,13 +56,13 @@ describe('', () => { ); - expect(screen.getByText(agentPolicy.name)).toBeInTheDocument(); + expect(screen.getByText(item.version)).toBeInTheDocument(); }); - it('renders number of agents', () => { + it('renders applicable to', () => { const item = createCspBenchmarkIntegrationFixture(); const benchmarks = [item]; - + const benchmarkApplicableTo = getBenchmarkApplicableTo(item.id) || ''; render( ', () => { ); - // TODO too loose - expect(screen.getByText(item.agent_policy.agents as number)).toBeInTheDocument(); + expect(screen.getByText(benchmarkApplicableTo)).toBeInTheDocument(); }); - it('renders created by', () => { + it('renders evaluated', () => { const item = createCspBenchmarkIntegrationFixture(); const benchmarks = [item]; @@ -101,11 +93,10 @@ describe('', () => { /> ); - - expect(screen.getByText(item.package_policy.created_by)).toBeInTheDocument(); + expect(screen.getByText(benchmarks[0].evaluation + ' accounts')).toBeInTheDocument(); }); - it('renders created at', () => { + it('renders compliance', () => { const item = createCspBenchmarkIntegrationFixture(); const benchmarks = [item]; @@ -121,6 +112,6 @@ describe('', () => { ); - expect(screen.getByText(moment(item.package_policy.created_at).fromNow())).toBeInTheDocument(); + expect(screen.getByText(item.score.postureScore + '%')).toBeInTheDocument(); }); }); diff --git a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.tsx b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.tsx index d2b6495667372..be04bcd48bce3 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.tsx @@ -11,25 +11,20 @@ import { type EuiBasicTableProps, type Pagination, type CriteriaWithPagination, - EuiLink, - EuiToolTip, - EuiAvatar, EuiEmptyPrompt, + EuiFlexGroup, + EuiFlexItem, } from '@elastic/eui'; import React from 'react'; -import { generatePath } from 'react-router-dom'; -import { pagePathGetters } from '@kbn/fleet-plugin/public'; import { i18n } from '@kbn/i18n'; -import type { PackagePolicy } from '@kbn/fleet-plugin/common'; import { FormattedMessage } from '@kbn/i18n-react'; -import { TimestampTableCell } from '../../components/timestamp_table_cell'; -import type { Benchmark } from '../../../common/types_old'; -import { useKibana } from '../../common/hooks/use_kibana'; -import { benchmarksNavigation } from '../../common/navigation/constants'; +import type { BenchmarkScore, Benchmark, BenchmarksCisId } from '../../../common/types/latest'; import * as TEST_SUBJ from './test_subjects'; -import { getEnabledCspIntegrationDetails } from '../../common/utils/get_enabled_csp_integration_details'; import { isCommonError } from '../../components/cloud_posture_page'; import { FullSizeCenteredPage } from '../../components/full_size_centered_page'; +import { ComplianceScoreBar } from '../../components/compliance_score_bar'; +import { getBenchmarkCisName, getBenchmarkApplicableTo } from '../../../common/utils/helpers'; +import { CISBenchmarkIcon } from '../../components/cis_benchmark_icon'; export const ERROR_STATE_TEST_SUBJECT = 'benchmark_page_error'; @@ -41,36 +36,49 @@ interface BenchmarksTableProps 'data-test-subj'?: string; } -const AgentPolicyButtonLink = ({ name, id: policyId }: { name: string; id: string }) => { - const { http } = useKibana().services; - const [fleetBase, path] = pagePathGetters.policy_details({ policyId }); - - return {name}; -}; - -const IntegrationButtonLink = ({ - packageName, - policyId, - packagePolicyId, -}: { - packageName: string; - packagePolicyId: string; - policyId: string; -}) => { - const { application } = useKibana().services; - - return ( - - {packageName} - - ); +export const getBenchmarkPlurals = (benchmarkId: string, accountEvaluation: number) => { + switch (benchmarkId) { + case 'cis_k8s': + return ( + + ); + case 'cis_azure': + return ( + + ); + case 'cis_aws': + return ( + + ); + case 'cis_eks': + return ( + + ); + case 'cis_gcp': + return ( + + ); + } }; const ErrorMessageComponent = (error: { error: unknown }) => ( @@ -108,106 +116,84 @@ const ErrorMessageComponent = (error: { error: unknown }) => ( const BENCHMARKS_TABLE_COLUMNS: Array> = [ { - field: 'package_policy.name', - name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.integrationNameColumnTitle', { - defaultMessage: 'Integration Name', + field: 'id', + name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.integrationBenchmarkCisName', { + defaultMessage: 'Benchmark', }), - render: (packageName, benchmark) => ( - - ), truncateText: true, + width: '17.5%', sortable: true, - 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.INTEGRATION_NAME, + render: (benchmarkId: BenchmarksCisId) => { + return getBenchmarkCisName(benchmarkId); + }, + 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.CIS_NAME, }, { - field: 'rules_count', - name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.rulesColumnTitle', { - defaultMessage: 'Rules', + field: 'version', + name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.integrationBenchmarkVersion', { + defaultMessage: 'Version', }), truncateText: true, - 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.RULES, + sortable: true, + width: '17.5%', + 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.VERSION, }, { - field: 'package_policy', - name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.integrationColumnTitle', { - defaultMessage: 'Integration', + field: 'id', + name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.applicableTo', { + defaultMessage: 'Applicable To', }), - dataType: 'string', truncateText: true, - 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.INTEGRATION, - render: (field: PackagePolicy) => { - const enabledIntegration = getEnabledCspIntegrationDetails(field); - return enabledIntegration?.integration?.shortName || ' '; + width: '30%', + 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.APPLICABLE_TO, + render: (benchmarkId: BenchmarksCisId) => { + return ( + <> + + + + + {getBenchmarkApplicableTo(benchmarkId)} + + + ); }, }, { - field: 'package_policy', - name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.monitoringColumnTitle', { - defaultMessage: 'Monitoring', + field: 'evaluation', + name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.evaluated', { + defaultMessage: 'Evaluated', }), dataType: 'string', truncateText: true, - 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.MONITORING, - render: (field: PackagePolicy) => { - const enabledIntegration = getEnabledCspIntegrationDetails(field); - return enabledIntegration?.enabledIntegrationOption?.name || ' '; + width: '17.5%', + 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.EVALUATED, + render: (complianceScore: Benchmark['evaluation'], data) => { + return getBenchmarkPlurals(data.id, data.evaluation); }, }, { - field: 'agent_policy.name', - name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.agentPolicyColumnTitle', { - defaultMessage: 'Agent Policy', - }), - render: (name, benchmark) => ( - - ), - truncateText: true, - 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.AGENT_POLICY, - }, - { - field: 'agent_policy.agents', - name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.numberOfAgentsColumnTitle', { - defaultMessage: 'Number of Agents', - }), - truncateText: true, - 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.NUMBER_OF_AGENTS, - }, - { - field: 'package_policy.created_by', - name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.createdByColumnTitle', { - defaultMessage: 'Created by', + field: 'score', + name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.score', { + defaultMessage: 'Compliance', }), dataType: 'string', truncateText: true, - sortable: true, - 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.CREATED_BY, - render: (createdBy: Benchmark['package_policy']['created_by']) => { + width: '7.5%', + 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.COMPLIANCE, + render: (data: BenchmarkScore) => { + if (data.totalFindings > 0) + return ( + + ); return ( - - - {createdBy} - - + ); }, }, - { - field: 'package_policy.created_at', - name: i18n.translate('xpack.csp.benchmarks.benchmarksTable.createdAtColumnTitle', { - defaultMessage: 'Created', - }), - dataType: 'date', - truncateText: true, - render: (timestamp: Benchmark['package_policy']['created_at']) => ( - - ), - sortable: true, - 'data-test-subj': TEST_SUBJ.BENCHMARKS_TABLE_COLUMNS.CREATED_AT, - }, ]; export const BenchmarksTable = ({ @@ -228,8 +214,8 @@ export const BenchmarksTable = ({ totalItemCount, }; - const onChange = ({ page, sort }: CriteriaWithPagination) => { - setQuery({ page: { ...page, index: page.index + 1 }, sort }); + const onChange = ({ page }: CriteriaWithPagination) => { + setQuery({ page: { ...page, index: page.index + 1 } }); }; if (error) { @@ -241,14 +227,15 @@ export const BenchmarksTable = ({ data-test-subj={rest['data-test-subj']} items={benchmarks} columns={BENCHMARKS_TABLE_COLUMNS} - itemId={(item) => [item.agent_policy.id, item.package_policy.id].join('/')} + itemId={(item) => [item.id, item.version].join('/')} pagination={pagination} onChange={onChange} tableLayout="fixed" loading={loading} noItemsMessage={noItemsMessage} error={error} - sorting={sorting} + /* Disabled Sorting until we have the final Benchmark table */ + // sorting={sorting} /> ); }; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/test_subjects.ts b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/test_subjects.ts index 3e75715abf32f..fb8c5e3733d88 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/test_subjects.ts +++ b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/test_subjects.ts @@ -9,12 +9,9 @@ export const BENCHMARKS_PAGE_HEADER = 'benchmarks-page-header'; export const BENCHMARKS_TABLE_DATA_TEST_SUBJ = 'csp_benchmarks_table'; export const ADD_INTEGRATION_TEST_SUBJ = 'csp_add_integration'; export const BENCHMARKS_TABLE_COLUMNS = { - INTEGRATION_NAME: 'benchmarks-table-column-integration-name', - MONITORING: 'benchmarks-table-column-monitoring', - RULES: 'benchmarks-table-column-rules', - INTEGRATION: 'benchmarks-table-column-integration', - AGENT_POLICY: 'benchmarks-table-column-agent-policy', - NUMBER_OF_AGENTS: 'benchmarks-table-column-number-of-agents', - CREATED_BY: 'benchmarks-table-column-created-by', - CREATED_AT: 'benchmarks-table-column-created-at', + CIS_NAME: 'benchmark-table-column-cis-name', + VERSION: 'benchmark-table-column-version', + APPLICABLE_TO: 'benchmark-table-column-applicable-to', + EVALUATED: 'benchmark-table-column-evaluated', + COMPLIANCE: 'benchmark-table-column-compliance', }; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/use_csp_benchmark_integrations.ts b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/use_csp_benchmark_integrations.ts index 8704846407fc7..1683c3e63d2bd 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/use_csp_benchmark_integrations.ts +++ b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/use_csp_benchmark_integrations.ts @@ -6,13 +6,14 @@ */ import { useQuery } from '@tanstack/react-query'; -import type { ListResult } from '@kbn/fleet-plugin/common'; -import { BENCHMARKS_API_CURRENT_VERSION, BENCHMARKS_ROUTE_PATH } from '../../../common/constants'; -import type { BenchmarksQueryParams } from '../../../common/schemas/benchmark'; +import { BENCHMARKS_ROUTE_PATH } from '../../../common/constants'; +import type { BenchmarksQueryParams } from '../../../common/types/benchmarks/v1'; import { useKibana } from '../../common/hooks/use_kibana'; -import type { Benchmark } from '../../../common/types_old'; +import type { GetBenchmarkResponse } from '../../../common/types/latest'; +import type { GetBenchmarkResponse as GetBenchmarkResponseV1 } from '../../../common/types/benchmarks/v1'; -const QUERY_KEY = 'csp_benchmark_integrations'; +const QUERY_KEY_V1 = 'csp_benchmark_integrations_v1'; +const QUERY_KEY_V2 = 'csp_benchmark_integrations_v2'; export interface UseCspBenchmarkIntegrationsProps { name: string; @@ -22,7 +23,7 @@ export interface UseCspBenchmarkIntegrationsProps { sortOrder: BenchmarksQueryParams['sort_order']; } -export const useCspBenchmarkIntegrations = ({ +export const useCspBenchmarkIntegrationsV1 = ({ name, perPage, page, @@ -39,11 +40,24 @@ export const useCspBenchmarkIntegrations = ({ }; return useQuery( - [QUERY_KEY, query], + [QUERY_KEY_V1, query], () => - http.get>(BENCHMARKS_ROUTE_PATH, { + http.get(BENCHMARKS_ROUTE_PATH, { query, - version: BENCHMARKS_API_CURRENT_VERSION, + version: '1', + }), + { keepPreviousData: true } + ); +}; + +export const useCspBenchmarkIntegrationsV2 = () => { + const { http } = useKibana().services; + + return useQuery( + [QUERY_KEY_V2], + () => + http.get(BENCHMARKS_ROUTE_PATH, { + version: '2', }), { keepPreviousData: true } ); diff --git a/x-pack/plugins/cloud_security_posture/public/test/fixtures/csp_benchmark_integration.ts b/x-pack/plugins/cloud_security_posture/public/test/fixtures/csp_benchmark_integration.ts index 4b5d4f1bfe028..5e7805e8f8699 100644 --- a/x-pack/plugins/cloud_security_posture/public/test/fixtures/csp_benchmark_integration.ts +++ b/x-pack/plugins/cloud_security_posture/public/test/fixtures/csp_benchmark_integration.ts @@ -5,59 +5,23 @@ * 2.0. */ -/* eslint-disable @typescript-eslint/naming-convention */ - -import Chance from 'chance'; -import type { Benchmark } from '../../../common/types_old'; +import type { Benchmark } from '../../../common/types/latest'; type CreateCspBenchmarkIntegrationFixtureInput = { chance?: Chance.Chance; } & Partial; -export const createCspBenchmarkIntegrationFixture = ({ - chance = new Chance(), - package_policy = { - revision: chance?.integer(), - enabled: true, - id: chance.guid(), - name: chance.string(), - policy_id: chance.guid(), - namespace: chance.string(), - updated_at: chance.date().toISOString(), - updated_by: chance.word(), - created_at: chance.date().toISOString(), - created_by: chance.word(), - inputs: [ - { - type: 'cloudbeat/cis_k8s', - policy_template: 'kspm', - enabled: true, - streams: [ - { - id: chance?.guid(), - enabled: true, - data_stream: { - type: 'logs', - dataset: 'cloud_security_posture.findings', - }, - }, - ], - }, - ], - package: { - name: chance.string(), - title: chance.string(), - version: chance.string(), +export const createCspBenchmarkIntegrationFixture = + ({}: CreateCspBenchmarkIntegrationFixtureInput = {}): Benchmark => ({ + id: 'cis_aws', + version: '1.0.1', + evaluation: 2, + score: { + postureScore: 85, + resourcesEvaluated: 183, + totalFailed: 66, + totalFindings: 440, + totalPassed: 374, }, - }, - agent_policy = { - id: chance.guid(), - name: chance.sentence(), - agents: chance.integer({ min: 0 }), - }, - rules_count = chance.integer({ min: 0, max: 10 }), -}: CreateCspBenchmarkIntegrationFixtureInput = {}): Benchmark => ({ - package_policy, - agent_policy, - rules_count, -}); + name: 'CIS Amazon Web Services Foundations', + }); diff --git a/x-pack/plugins/cloud_security_posture/server/lib/fleet_util.ts b/x-pack/plugins/cloud_security_posture/server/lib/fleet_util.ts index 109d1b46986c9..fd388967ee9b6 100644 --- a/x-pack/plugins/cloud_security_posture/server/lib/fleet_util.ts +++ b/x-pack/plugins/cloud_security_posture/server/lib/fleet_util.ts @@ -31,7 +31,7 @@ import { BENCHMARK_PACKAGE_POLICY_PREFIX, BenchmarksQueryParams, DEFAULT_BENCHMARKS_PER_PAGE, -} from '../../common/schemas/benchmark'; +} from '../../common/types/benchmarks/v1'; export const PACKAGE_POLICY_SAVED_OBJECT_TYPE = 'ingest-package-policies'; diff --git a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts index 42209b205e177..52a112aae5a53 100644 --- a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts +++ b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts @@ -8,10 +8,10 @@ import { httpServerMock, httpServiceMock, savedObjectsClientMock } from '@kbn/co import { benchmarksQueryParamsSchema, DEFAULT_BENCHMARKS_PER_PAGE, -} from '../../../common/schemas/benchmark'; +} from '../../../common/types/benchmarks/v1'; import { getCspAgentPolicies } from '../../lib/fleet_util'; -import { defineGetBenchmarksRoute, getRulesCountForPolicy } from './benchmarks'; - +import { defineGetBenchmarksRoute } from './benchmarks'; +import { getRulesCountForPolicy } from './utilities'; import { SavedObjectsClientContract, SavedObjectsFindResponse } from '@kbn/core/server'; import { createMockAgentPolicyService } from '@kbn/fleet-plugin/server/mocks'; import { createPackagePolicyMock } from '@kbn/fleet-plugin/common/mocks'; @@ -57,7 +57,6 @@ describe('benchmarks API', () => { defineGetBenchmarksRoute(router); const versionedRouter = router.versioned.get.mock.results[0].value; - const handler = versionedRouter.addVersion.mock.calls[0][1]; const mockContext = createCspRequestHandlerContextMock(); diff --git a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts index 0c920754fb77b..8ba6d0449be6a 100644 --- a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts +++ b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts @@ -4,86 +4,17 @@ * 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 { transformError } from '@kbn/securitysolution-es-utils'; -import type { AgentPolicy, ListResult, PackagePolicy } from '@kbn/fleet-plugin/common'; -import { CspBenchmarkRule } from '../../../common/types/latest'; -import { CSP_BENCHMARK_RULE_SAVED_OBJECT_TYPE } from '../../../common/constants'; -import { - BENCHMARKS_ROUTE_PATH, - CLOUD_SECURITY_POSTURE_PACKAGE_NAME, - POSTURE_TYPE_ALL, -} from '../../../common/constants'; -import { benchmarksQueryParamsSchema } from '../../../common/schemas/benchmark'; -import type { Benchmark } from '../../../common/types_old'; -import { - getBenchmarkFromPackagePolicy, - getBenchmarkFilter, - isNonNullable, -} from '../../../common/utils/helpers'; +import { BENCHMARKS_ROUTE_PATH } from '../../../common/constants'; +import { benchmarksQueryParamsSchema } from '../../../common/types/benchmarks/v1'; import { CspRouter } from '../../types'; -import { - getAgentStatusesByAgentPolicies, - type AgentStatusByAgentPolicyMap, - getCspAgentPolicies, - getCspPackagePolicies, -} from '../../lib/fleet_util'; -import { BenchmarkId } from '../../../common/types_old'; +import { getBenchmarks as getBenchmarksV1 } from './v1'; +import { getBenchmarks as getBenchmarksV2 } from './v2'; +import { benchmarkResponseSchema } from '../../../common/types/latest'; export const PACKAGE_POLICY_SAVED_OBJECT_TYPE = 'ingest-package-policies'; -export const getRulesCountForPolicy = async ( - soClient: SavedObjectsClientContract, - benchmarkId: BenchmarkId -): Promise => { - const rules = await soClient.find({ - type: CSP_BENCHMARK_RULE_SAVED_OBJECT_TYPE, - filter: getBenchmarkFilter(benchmarkId), - perPage: 0, - }); - - return rules.total; -}; - -const createBenchmarks = ( - soClient: SavedObjectsClientContract, - agentPolicies: AgentPolicy[], - agentStatusByAgentPolicyId: AgentStatusByAgentPolicyMap, - cspPackagePolicies: PackagePolicy[] -): Promise => { - const cspPackagePoliciesMap = new Map( - cspPackagePolicies.map((packagePolicy) => [packagePolicy.id, packagePolicy]) - ); - - return Promise.all( - agentPolicies.flatMap((agentPolicy) => { - const cspPackagesOnAgent = - agentPolicy.package_policies - ?.map(({ id: pckPolicyId }) => { - return cspPackagePoliciesMap.get(pckPolicyId); - }) - .filter(isNonNullable) ?? []; - - const benchmarks = cspPackagesOnAgent.map(async (cspPackage) => { - const benchmarkId = getBenchmarkFromPackagePolicy(cspPackage.inputs); - const rulesCount = await getRulesCountForPolicy(soClient, benchmarkId); - const agentPolicyStatus = { - id: agentPolicy.id, - name: agentPolicy.name, - agents: agentStatusByAgentPolicyId[agentPolicy.id]?.total, - }; - return { - package_policy: cspPackage, - agent_policy: agentPolicyStatus, - rules_count: rulesCount, - }; - }); - - return benchmarks; - }) - ); -}; - export const defineGetBenchmarksRoute = (router: CspRouter) => router.versioned .get({ @@ -106,45 +37,54 @@ export const defineGetBenchmarksRoute = (router: CspRouter) => if (!(await context.fleet).authz.fleet.all) { return response.forbidden(); } - const cspContext = await context.csp; - const excludeVulnMgmtPackages = true; try { - const packagePolicies: ListResult = await getCspPackagePolicies( + const cspBenchmarks = await getBenchmarksV1( cspContext.soClient, cspContext.packagePolicyService, - CLOUD_SECURITY_POSTURE_PACKAGE_NAME, request.query, - POSTURE_TYPE_ALL, - excludeVulnMgmtPackages - ); - - const agentPolicies = await getCspAgentPolicies( - cspContext.soClient, - packagePolicies.items, - cspContext.agentPolicyService - ); - - const agentStatusesByAgentPolicyId = await getAgentStatusesByAgentPolicies( + cspContext.agentPolicyService, cspContext.agentService, - agentPolicies, cspContext.logger ); - - const benchmarks = await createBenchmarks( + return response.ok({ + body: cspBenchmarks, + }); + } catch (err) { + const error = transformError(err); + cspContext.logger.error(`Failed to fetch benchmarks ${err}`); + return response.customError({ + body: { message: error.message }, + statusCode: error.statusCode, + }); + } + } + ) + .addVersion( + { + version: '2', + validate: { + response: { + 200: { + body: benchmarkResponseSchema, + }, + }, + }, + }, + async (context, request, response) => { + if (!(await context.fleet).authz.fleet.all) { + return response.forbidden(); + } + const cspContext = await context.csp; + const esClient = cspContext.esClient.asCurrentUser; + try { + const cspBenchmarks = await getBenchmarksV2( + esClient, cspContext.soClient, - agentPolicies, - agentStatusesByAgentPolicyId, - packagePolicies.items + cspContext.logger ); - - const getBenchmarkResponse = { - ...packagePolicies, - items: benchmarks, - }; - return response.ok({ - body: getBenchmarkResponse, + body: cspBenchmarks, }); } catch (err) { const error = transformError(err); diff --git a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/utilities.ts b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/utilities.ts new file mode 100644 index 0000000000000..d7ce82da9d98c --- /dev/null +++ b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/utilities.ts @@ -0,0 +1,27 @@ +/* + * 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 { CSP_BENCHMARK_RULE_SAVED_OBJECT_TYPE } from '../../../common/constants'; + +import { CspBenchmarkRule } from '../../../common/types/latest'; +import { BenchmarkId } from '../../../common/types_old'; +import { getBenchmarkFilter } from '../../../common/utils/helpers'; + +export const getRulesCountForPolicy = async ( + soClient: SavedObjectsClientContract, + benchmarkId: BenchmarkId +): Promise => { + const rules = await soClient.find({ + type: CSP_BENCHMARK_RULE_SAVED_OBJECT_TYPE, + filter: getBenchmarkFilter(benchmarkId), + perPage: 0, + }); + + return rules.total; +}; diff --git a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/v1.ts b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/v1.ts new file mode 100644 index 0000000000000..611a58436e995 --- /dev/null +++ b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/v1.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 { ListResult, PackagePolicy, AgentPolicy } from '@kbn/fleet-plugin/common'; +import type { Logger } from '@kbn/core/server'; +import { + PackagePolicyClient, + AgentPolicyServiceInterface, + AgentService, +} from '@kbn/fleet-plugin/server'; +import { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; +import { CLOUD_SECURITY_POSTURE_PACKAGE_NAME, POSTURE_TYPE_ALL } from '../../../common/constants'; +import { isNonNullable, getBenchmarkFromPackagePolicy } from '../../../common/utils/helpers'; +import { AgentStatusByAgentPolicyMap } from '../../lib/fleet_util'; +import { + getCspPackagePolicies, + getCspAgentPolicies, + getAgentStatusesByAgentPolicies, +} from '../../lib/fleet_util'; +import { getRulesCountForPolicy } from './utilities'; +import { Benchmark } from '../../../common/types/benchmarks/v1'; + +export const getBenchmarksData = ( + soClient: SavedObjectsClientContract, + agentPolicies: AgentPolicy[], + agentStatusByAgentPolicyId: AgentStatusByAgentPolicyMap, + cspPackagePolicies: PackagePolicy[] +): Promise => { + const cspPackagePoliciesMap = new Map( + cspPackagePolicies.map((packagePolicy) => [packagePolicy.id, packagePolicy]) + ); + + return Promise.all( + agentPolicies.flatMap((agentPolicy) => { + const cspPackagesOnAgent = + agentPolicy.package_policies + ?.map(({ id: pckPolicyId }) => { + return cspPackagePoliciesMap.get(pckPolicyId); + }) + .filter(isNonNullable) ?? []; + + const benchmarks = cspPackagesOnAgent.map(async (cspPackage) => { + const benchmarkId = getBenchmarkFromPackagePolicy(cspPackage.inputs); + const rulesCount = await getRulesCountForPolicy(soClient, benchmarkId); + const agentPolicyStatus = { + id: agentPolicy.id, + name: agentPolicy.name, + agents: agentStatusByAgentPolicyId[agentPolicy.id]?.total, + }; + return { + package_policy: cspPackage, + agent_policy: agentPolicyStatus, + rules_count: rulesCount, + }; + }); + + return benchmarks; + }) + ); +}; + +export const getBenchmarks = async ( + soClient: SavedObjectsClientContract, + packagePolicyService: PackagePolicyClient, + query: any, + agentPolicyService: AgentPolicyServiceInterface, + agentService: AgentService, + logger: Logger +) => { + const excludeVulnMgmtPackages = true; + + const packagePolicies: ListResult = await getCspPackagePolicies( + soClient, + packagePolicyService, + CLOUD_SECURITY_POSTURE_PACKAGE_NAME, + query, + POSTURE_TYPE_ALL, + excludeVulnMgmtPackages + ); + + const agentPolicies = await getCspAgentPolicies( + soClient, + packagePolicies.items, + agentPolicyService + ); + + const agentStatusesByAgentPolicyId = await getAgentStatusesByAgentPolicies( + agentService, + agentPolicies, + logger + ); + + const benchmarks = await getBenchmarksData( + soClient, + agentPolicies, + agentStatusesByAgentPolicyId, + packagePolicies.items + ); + + const getBenchmarkResponse = { + ...packagePolicies, + items: benchmarks, + }; + + return getBenchmarkResponse; +}; diff --git a/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/v2.ts b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/v2.ts new file mode 100644 index 0000000000000..5e0a4c5014365 --- /dev/null +++ b/x-pack/plugins/cloud_security_posture/server/routes/benchmarks/v2.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { QueryDslQueryContainer } from '@kbn/data-views-plugin/common/types'; +import { MappingRuntimeFields } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { Logger } from '@kbn/core/server'; +import { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; +import { + CSP_BENCHMARK_RULE_SAVED_OBJECT_TYPE, + LATEST_FINDINGS_INDEX_DEFAULT_NS, +} from '../../../common/constants'; + +import { CspBenchmarkRule, Benchmark } from '../../../common/types/latest'; +import { getClusters } from '../compliance_dashboard/get_clusters'; +import { getStats } from '../compliance_dashboard/get_stats'; +import { getSafePostureTypeRuntimeMapping } from '../../../common/runtime_mappings/get_safe_posture_type_runtime_mapping'; + +export const getBenchmarksData = async ( + soClient: SavedObjectsClientContract, + esClient: any, + logger: Logger +): Promise => { + // Returns a list of benchmark based on their Version and Benchmark ID + + const benchmarksResponse = await soClient.find({ + type: CSP_BENCHMARK_RULE_SAVED_OBJECT_TYPE, + aggs: { + benchmark_id: { + terms: { + field: `${CSP_BENCHMARK_RULE_SAVED_OBJECT_TYPE}.attributes.metadata.benchmark.id`, + }, + aggs: { + name: { + terms: { + field: `${CSP_BENCHMARK_RULE_SAVED_OBJECT_TYPE}.attributes.metadata.benchmark.name`, + }, + aggs: { + version: { + terms: { + field: `${CSP_BENCHMARK_RULE_SAVED_OBJECT_TYPE}.attributes.metadata.benchmark.version`, + }, + }, + }, + }, + }, + }, + }, + perPage: 0, + }); + + const benchmarkAgg: any = benchmarksResponse.aggregations; + + const { id: pitId } = await esClient.openPointInTime({ + index: LATEST_FINDINGS_INDEX_DEFAULT_NS, + keep_alive: '30s', + }); + // Transform response to a benchmark row: {id, name, version} + // For each Benchmark entry : Calculate Score, Get amount of enrolled agents + const result = await Promise.all( + benchmarkAgg.benchmark_id.buckets.flatMap(async (benchmark: any) => { + const benchmarkId = benchmark.key; + const benchmarkName = benchmark.name.buckets[0].key; + + const benchmarksTableObjects = await Promise.all( + benchmark?.name?.buckets[0]?.version?.buckets.flatMap(async (benchmarkObj: any) => { + const benchmarkVersion = benchmarkObj.key; + const postureType = + benchmarkId === 'cis_eks' || benchmarkId === 'cis_k8s' ? 'kspm' : 'cspm'; + const runtimeMappings: MappingRuntimeFields = getSafePostureTypeRuntimeMapping(); + const query: QueryDslQueryContainer = { + bool: { + filter: [ + { term: { 'rule.benchmark.id': benchmarkId } }, + { term: { 'rule.benchmark.version': benchmarkVersion } }, + { term: { safe_posture_type: postureType } }, + ], + }, + }; + const benchmarkScore = await getStats(esClient, query, pitId, runtimeMappings, logger); + const benchmarkEvaluation = await getClusters( + esClient, + query, + pitId, + runtimeMappings, + logger + ); + + return { + id: benchmarkId, + name: benchmarkName, + version: benchmarkVersion.replace('v', ''), + score: benchmarkScore, + evaluation: benchmarkEvaluation.length, + }; + }) + ); + + return benchmarksTableObjects; + }) + ); + return result.flat(); +}; + +export const getBenchmarks = async ( + esClient: any, + soClient: SavedObjectsClientContract, + logger: Logger +) => { + const benchmarks = await getBenchmarksData(soClient, esClient, logger); + const getBenchmarkResponse = { + items: benchmarks, + }; + return getBenchmarkResponse; +}; diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 11753ac3dc20d..53e6407db2a7b 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -12014,16 +12014,7 @@ "xpack.csp.benchmarks.benchmarkEmptyState.rulesNotFoundWithFiltersTitle": "Nous n'avons trouvé aucune règle de 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.benchmarkRulesTitle": "Règles de benchmark", - "xpack.csp.benchmarks.benchmarksTable.agentPolicyColumnTitle": "Politique d'agent", - "xpack.csp.benchmarks.benchmarksTable.createdAtColumnTitle": "Créé", - "xpack.csp.benchmarks.benchmarksTable.createdByColumnTitle": "Créé par", "xpack.csp.benchmarks.benchmarksTable.errorRenderer.errorTitle": "Nous n'avons pas pu récupérer vos données de benchmark sur le niveau de sécurité du cloud.", - "xpack.csp.benchmarks.benchmarksTable.integrationColumnTitle": "Intégration", - "xpack.csp.benchmarks.benchmarksTable.integrationNameColumnTitle": "Nom de l'intégration", - "xpack.csp.benchmarks.benchmarksTable.monitoringColumnTitle": "Monitoring", - "xpack.csp.benchmarks.benchmarksTable.numberOfAgentsColumnTitle": "Nombre d'agents", - "xpack.csp.benchmarks.benchmarksTable.rulesColumnTitle": "Règles", "xpack.csp.cloudPosturePage.betaLabel": "Cette fonctionnalité est en version bêta et susceptible d'être modifiée. La conception et le code sont moins matures que les fonctionnalités officielles en disponibilité générale et sont fournis tels quels sans aucune garantie. Les fonctionnalités en version bêta ne sont pas soumises à l'accord de niveau de service des fonctionnalités officielles en disponibilité générale.", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.buttonLabel": "Ajouter une intégration CSPM", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.integrationNameLabel": "Gestion du niveau de sécurité du cloud", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 0e37dee1b2e73..0262f5fe786e5 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -12028,16 +12028,7 @@ "xpack.csp.benchmarks.benchmarkEmptyState.rulesNotFoundWithFiltersTitle": "上記のフィルターでベンチマークルールが見つかりませんでした。", "xpack.csp.benchmarks.benchmarkSearchField.searchPlaceholder": "統合名で検索", "xpack.csp.benchmarks.benchmarksPageHeader.addIntegrationButtonLabel": "統合の追加", - "xpack.csp.benchmarks.benchmarksPageHeader.benchmarkRulesTitle": "ベンチマークルール", - "xpack.csp.benchmarks.benchmarksTable.agentPolicyColumnTitle": "エージェントポリシー", - "xpack.csp.benchmarks.benchmarksTable.createdAtColumnTitle": "作成済み", - "xpack.csp.benchmarks.benchmarksTable.createdByColumnTitle": "作成者", "xpack.csp.benchmarks.benchmarksTable.errorRenderer.errorTitle": "クラウドセキュリティ態勢ベンチマークデータを取得できませんでした", - "xpack.csp.benchmarks.benchmarksTable.integrationColumnTitle": "統合", - "xpack.csp.benchmarks.benchmarksTable.integrationNameColumnTitle": "統合名", - "xpack.csp.benchmarks.benchmarksTable.monitoringColumnTitle": "監視", - "xpack.csp.benchmarks.benchmarksTable.numberOfAgentsColumnTitle": "エージェント数", - "xpack.csp.benchmarks.benchmarksTable.rulesColumnTitle": "ルール", "xpack.csp.cloudPosturePage.betaLabel": "この機能はベータ段階で、変更される可能性があります。デザインとコードは正式に一般公開された機能より完成度が低く、現状のまま保証なしで提供されています。ベータ機能は、正式に一般公開された機能に適用されるサポートサービスレベル契約の対象外です。", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.buttonLabel": "CSPM統合の追加", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.integrationNameLabel": "クラウドセキュリティ態勢管理", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 42adf8d8f7172..fae7979b4b37d 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -12028,16 +12028,7 @@ "xpack.csp.benchmarks.benchmarkEmptyState.rulesNotFoundWithFiltersTitle": "使用上述筛选,我们无法找到任何基准规则。", "xpack.csp.benchmarks.benchmarkSearchField.searchPlaceholder": "按集成名称搜索", "xpack.csp.benchmarks.benchmarksPageHeader.addIntegrationButtonLabel": "添加集成", - "xpack.csp.benchmarks.benchmarksPageHeader.benchmarkRulesTitle": "基准规则", - "xpack.csp.benchmarks.benchmarksTable.agentPolicyColumnTitle": "代理策略", - "xpack.csp.benchmarks.benchmarksTable.createdAtColumnTitle": "创建时间", - "xpack.csp.benchmarks.benchmarksTable.createdByColumnTitle": "创建者", "xpack.csp.benchmarks.benchmarksTable.errorRenderer.errorTitle": "我们无法提取您的云安全态势基准数据", - "xpack.csp.benchmarks.benchmarksTable.integrationColumnTitle": "集成", - "xpack.csp.benchmarks.benchmarksTable.integrationNameColumnTitle": "集成名称", - "xpack.csp.benchmarks.benchmarksTable.monitoringColumnTitle": "监测", - "xpack.csp.benchmarks.benchmarksTable.numberOfAgentsColumnTitle": "代理数目", - "xpack.csp.benchmarks.benchmarksTable.rulesColumnTitle": "规则", "xpack.csp.cloudPosturePage.betaLabel": "此功能为公测版,可能会进行更改。设计和代码相对于正式发行版功能还不够成熟,将按原样提供,且不提供任何保证。公测版功能不受正式发行版功能的支持服务水平协议约束。", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.buttonLabel": "添加 CSPM 集成", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.integrationNameLabel": "云安全态势管理", diff --git a/x-pack/test/api_integration/apis/cloud_security_posture/benchmark.ts b/x-pack/test/api_integration/apis/cloud_security_posture/benchmark/v1.ts similarity index 96% rename from x-pack/test/api_integration/apis/cloud_security_posture/benchmark.ts rename to x-pack/test/api_integration/apis/cloud_security_posture/benchmark/v1.ts index ccaa3940258ec..659f999dc7905 100644 --- a/x-pack/test/api_integration/apis/cloud_security_posture/benchmark.ts +++ b/x-pack/test/api_integration/apis/cloud_security_posture/benchmark/v1.ts @@ -5,10 +5,10 @@ * 2.0. */ import expect from '@kbn/expect'; -import type { GetBenchmarkResponse } from '@kbn/cloud-security-posture-plugin/common/types_old'; +import type { GetBenchmarkResponse } from '@kbn/cloud-security-posture-plugin/common/types/benchmarks/v1'; import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; -import { FtrProviderContext } from '../../ftr_provider_context'; -import { createPackagePolicy } from './helper'; +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { createPackagePolicy } from '../helper'; export default function ({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); @@ -120,7 +120,6 @@ export default function ({ getService }: FtrProviderContext) { .set(ELASTIC_HTTP_VERSION_HEADER, '1') .set('kbn-xsrf', 'xxxx') .expect(200); - expect(res.items.length).equal(3); expect(res.total).equal(3); }); diff --git a/x-pack/test/api_integration/apis/cloud_security_posture/benchmark/v2.ts b/x-pack/test/api_integration/apis/cloud_security_posture/benchmark/v2.ts new file mode 100644 index 0000000000000..c64d2579e27ab --- /dev/null +++ b/x-pack/test/api_integration/apis/cloud_security_posture/benchmark/v2.ts @@ -0,0 +1,127 @@ +/* + * 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 type { GetBenchmarkResponse } from '@kbn/cloud-security-posture-plugin/common/types/latest'; +import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { createPackagePolicy } from '../helper'; +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const esArchiver = getService('esArchiver'); + const kibanaServer = getService('kibanaServer'); + + describe('GET /internal/cloud_security_posture/benchmark', () => { + let agentPolicyId: string; + let agentPolicyId2: string; + let agentPolicyId3: string; + let agentPolicyId4: string; + + beforeEach(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server'); + + const { body: agentPolicyResponse } = await supertest + .post(`/api/fleet/agent_policies`) + .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy', + namespace: 'default', + }); + + agentPolicyId = agentPolicyResponse.item.id; + + const { body: agentPolicyResponse2 } = await supertest + .post(`/api/fleet/agent_policies`) + .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy 2', + namespace: 'default', + }); + + agentPolicyId2 = agentPolicyResponse2.item.id; + + const { body: agentPolicyResponse3 } = await supertest + .post(`/api/fleet/agent_policies`) + .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy 3', + namespace: 'default', + }); + + agentPolicyId3 = agentPolicyResponse3.item.id; + + const { body: agentPolicyResponse4 } = await supertest + .post(`/api/fleet/agent_policies`) + .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy 4', + namespace: 'default', + }); + + agentPolicyId4 = agentPolicyResponse4.item.id; + + await createPackagePolicy( + supertest, + agentPolicyId, + 'cspm', + 'cloudbeat/cis_aws', + 'aws', + 'cspm', + 'CSPM-1' + ); + + await createPackagePolicy( + supertest, + agentPolicyId2, + 'kspm', + 'cloudbeat/cis_k8s', + 'vanilla', + 'kspm', + 'KSPM-1' + ); + + await createPackagePolicy( + supertest, + agentPolicyId3, + 'vuln_mgmt', + 'cloudbeat/vuln_mgmt_aws', + 'aws', + 'vuln_mgmt', + 'CNVM-1' + ); + + await createPackagePolicy( + supertest, + agentPolicyId4, + 'kspm', + 'cloudbeat/cis_k8s', + 'vanilla', + 'kspm', + 'KSPM-2' + ); + }); + + afterEach(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await esArchiver.unload('x-pack/test/functional/es_archives/fleet/empty_fleet_server'); + }); + + it(`Should return all benchmarks if user has CSP integrations`, async () => { + const { body: res }: { body: GetBenchmarkResponse } = await supertest + .get(`/internal/cloud_security_posture/benchmarks`) + .set(ELASTIC_HTTP_VERSION_HEADER, '2') + .set('kbn-xsrf', 'xxxx') + .expect(200); + + expect(res.items.length).equal(3); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/cloud_security_posture/index.ts b/x-pack/test/api_integration/apis/cloud_security_posture/index.ts index c1a64ff01397e..99f47ffb8e007 100644 --- a/x-pack/test/api_integration/apis/cloud_security_posture/index.ts +++ b/x-pack/test/api_integration/apis/cloud_security_posture/index.ts @@ -16,7 +16,8 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./status/status_index_timeout')); loadTestFile(require.resolve('./status/status_unprivileged')); loadTestFile(require.resolve('./status/status_indexing')); - loadTestFile(require.resolve('./benchmark')); + loadTestFile(require.resolve('./benchmark/v1')); + loadTestFile(require.resolve('./benchmark/v2')); loadTestFile(require.resolve('./find_csp_benchmark_rule')); // Place your tests files under this directory and add the following here: diff --git a/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/benchmark.ts b/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/benchmark/v1.ts similarity index 92% rename from x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/benchmark.ts rename to x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/benchmark/v1.ts index f67febd8e4a13..129b59880312b 100644 --- a/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/benchmark.ts +++ b/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/benchmark/v1.ts @@ -5,13 +5,13 @@ * 2.0. */ import expect from '@kbn/expect'; -import type { GetBenchmarkResponse } from '@kbn/cloud-security-posture-plugin/common/types_old'; +import type { GetBenchmarkResponse } from '@kbn/cloud-security-posture-plugin/common/types/latest'; import { ELASTIC_HTTP_VERSION_HEADER, X_ELASTIC_INTERNAL_ORIGIN_REQUEST, } from '@kbn/core-http-common'; -import { FtrProviderContext } from '../../../ftr_provider_context'; -import { createPackagePolicy } from '../../../../../test/api_integration/apis/cloud_security_posture/helper'; // eslint-disable-line @kbn/imports/no_boundary_crossing +import { FtrProviderContext } from '../../../../ftr_provider_context'; +import { createPackagePolicy } from '../../../../../../test/api_integration/apis/cloud_security_posture/helper'; // eslint-disable-line @kbn/imports/no_boundary_crossing export default function ({ getService }: FtrProviderContext) { const supertest = getService('supertest'); @@ -126,7 +126,6 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); expect(res.items.length).equal(3); - expect(res.total).equal(3); }); it(`Should return array size 2 when we set per page to be only 2 (total element is still 3)`, async () => { @@ -138,7 +137,6 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); expect(res.items.length).equal(2); - expect(res.total).equal(3); }); it(`Should return array size 2 when we set per page to be only 2 (total element is still 3)`, async () => { @@ -150,7 +148,6 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); expect(res.items.length).equal(1); - expect(res.total).equal(3); }); it(`Should return empty array when we set page to be above the last page number`, async () => { @@ -162,7 +159,6 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); expect(res.items.length).equal(0); - expect(res.total).equal(3); }); }); } diff --git a/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/benchmark/v2.ts b/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/benchmark/v2.ts new file mode 100644 index 0000000000000..dce12caae3769 --- /dev/null +++ b/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/benchmark/v2.ts @@ -0,0 +1,131 @@ +/* + * 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 type { GetBenchmarkResponse } from '@kbn/cloud-security-posture-plugin/common/types/latest'; +import { + ELASTIC_HTTP_VERSION_HEADER, + X_ELASTIC_INTERNAL_ORIGIN_REQUEST, +} from '@kbn/core-http-common'; +import { FtrProviderContext } from '../../../../ftr_provider_context'; +import { createPackagePolicy } from '../../../../../../test/api_integration/apis/cloud_security_posture/helper'; // eslint-disable-line @kbn/imports/no_boundary_crossing + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const esArchiver = getService('esArchiver'); + const kibanaServer = getService('kibanaServer'); + + describe('GET /internal/cloud_security_posture/benchmark', function () { + // security_exception: action [indices:admin/create] is unauthorized for user [elastic] with effective roles [superuser] on restricted indices [.fleet-actions-7], this action is granted by the index privileges [create_index,manage,all] + this.tags(['failsOnMKI']); + + let agentPolicyId: string; + let agentPolicyId2: string; + let agentPolicyId3: string; + let agentPolicyId4: string; + + beforeEach(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server'); + + const { body: agentPolicyResponse } = await supertest + .post(`/api/fleet/agent_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy', + namespace: 'default', + }); + + agentPolicyId = agentPolicyResponse.item.id; + + const { body: agentPolicyResponse2 } = await supertest + .post(`/api/fleet/agent_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy 2', + namespace: 'default', + }); + + agentPolicyId2 = agentPolicyResponse2.item.id; + + const { body: agentPolicyResponse3 } = await supertest + .post(`/api/fleet/agent_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy 3', + namespace: 'default', + }); + + agentPolicyId3 = agentPolicyResponse3.item.id; + + const { body: agentPolicyResponse4 } = await supertest + .post(`/api/fleet/agent_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy 4', + namespace: 'default', + }); + + agentPolicyId4 = agentPolicyResponse4.item.id; + + await createPackagePolicy( + supertest, + agentPolicyId, + 'cspm', + 'cloudbeat/cis_aws', + 'aws', + 'cspm', + 'CSPM-1' + ); + + await createPackagePolicy( + supertest, + agentPolicyId2, + 'kspm', + 'cloudbeat/cis_k8s', + 'vanilla', + 'kspm', + 'KSPM-1' + ); + + await createPackagePolicy( + supertest, + agentPolicyId3, + 'vuln_mgmt', + 'cloudbeat/vuln_mgmt_aws', + 'aws', + 'vuln_mgmt', + 'CNVM-1' + ); + + await createPackagePolicy( + supertest, + agentPolicyId4, + 'kspm', + 'cloudbeat/cis_k8s', + 'vanilla', + 'kspm', + 'KSPM-2' + ); + }); + + afterEach(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await esArchiver.unload('x-pack/test/functional/es_archives/fleet/empty_fleet_server'); + }); + + it(`Should return all benchmarks if user has CSP integrations`, async () => { + const { body: res }: { body: GetBenchmarkResponse } = await supertest + .get(`/internal/cloud_security_posture/benchmarks`) + .set(ELASTIC_HTTP_VERSION_HEADER, '2') + .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'xxx') + .set('kbn-xsrf', 'xxxx') + .expect(200); + + expect(res.items.length).equal(3); + }); + }); +} diff --git a/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/index.ts b/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/index.ts index 9a4a40ab4add9..460f4ac43bb43 100644 --- a/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/index.ts +++ b/x-pack/test_serverless/api_integration/test_suites/security/cloud_security_posture/index.ts @@ -13,7 +13,8 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./status/status_not_deployed_not_installed')); loadTestFile(require.resolve('./status/status_indexed')); loadTestFile(require.resolve('./status/status_indexing')); - loadTestFile(require.resolve('./benchmark')); + loadTestFile(require.resolve('./benchmark/v1')); + loadTestFile(require.resolve('./benchmark/v2')); loadTestFile(require.resolve('./find_csp_benchmark_rule')); loadTestFile(require.resolve('./telemetry')); From 1ba247ee719565ce3dd345ea0138a60bd71a6656 Mon Sep 17 00:00:00 2001 From: Jatin Kathuria Date: Thu, 14 Dec 2023 00:17:19 +0100 Subject: [PATCH 036/123] [Security Solution] Timeline UI refactor revision - Design feedback (#173015) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary This PR implements Design feedback for the Timeline UI refactoring: 1. Adds ⨁ back in timeline bottom bar. ![image](https://github.com/elastic/kibana/assets/7485038/1572527a-471b-4edb-826a-29610eae0a4a) 2. Add `Unsaved` badge for better visibility ![image](https://github.com/elastic/kibana/assets/7485038/b1baf745-fcda-4346-a104-a78b88853ce4) ===> ![image](https://github.com/elastic/kibana/assets/7485038/9d279276-cc86-44d4-903c-53ebe60e55fb) 3. Adds a new tour step for `Add to Favorites` Icon. https://github.com/elastic/kibana/assets/7485038/2d4f3e2e-7868-4fbb-8a73-c9b427d86e04 ### 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] [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 - [x] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed --- .../components/super_date_picker/index.tsx | 6 ++ .../flyout/__snapshots__/index.test.tsx.snap | 82 ++++++++++++++----- .../components/flyout/action_menu/index.tsx | 22 +++-- .../flyout/add_timeline_button/index.test.tsx | 4 +- .../flyout/add_timeline_button/index.tsx | 4 +- .../components/flyout/header/index.tsx | 12 ++- .../header/timeline_status_info.test.tsx | 14 +--- .../flyout/header/timeline_status_info.tsx | 21 ++--- .../components/flyout/header/translations.ts | 2 +- .../timelines/components/timeline/index.tsx | 20 ++++- .../timeline/properties/helpers.tsx | 4 + .../timeline/properties/translations.ts | 4 +- .../components/timeline/tour/index.test.tsx | 11 ++- .../components/timeline/tour/index.tsx | 29 +++++-- .../components/timeline/tour/step_config.tsx | 26 ++++-- .../components/timeline/tour/translations.ts | 9 +- .../timeline_templates/creation.cy.ts | 7 ++ .../investigations/timelines/creation.cy.ts | 7 +- .../cypress/screens/timeline.ts | 2 +- .../cypress/tasks/timeline.ts | 24 ++++++ 20 files changed, 222 insertions(+), 88 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/components/super_date_picker/index.tsx b/x-pack/plugins/security_solution/public/common/components/super_date_picker/index.tsx index 56f81529600d8..b79f9c736f5cc 100644 --- a/x-pack/plugins/security_solution/public/common/components/super_date_picker/index.tsx +++ b/x-pack/plugins/security_solution/public/common/components/super_date_picker/index.tsx @@ -9,6 +9,7 @@ import dateMath from '@kbn/datemath'; import type { EuiSuperDatePickerProps, EuiSuperDatePickerRecentRange, + EuiSuperUpdateButtonProps, OnRefreshChangeProps, OnRefreshProps, OnTimeChangeProps, @@ -42,6 +43,10 @@ import { } from './selectors'; import type { Inputs } from '../../store/inputs/model'; +const refreshButtonProps: EuiSuperUpdateButtonProps = { + fill: false, +}; + const MAX_RECENTLY_USED_RANGES = 9; interface Range { @@ -219,6 +224,7 @@ export const SuperDatePickerComponent = React.memo( isDisabled={disabled} width={width} compressed={compressed} + updateButtonProps={refreshButtonProps} /> ); }, diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/timelines/components/flyout/__snapshots__/index.test.tsx.snap index 88bf414235613..5ef25f98932c0 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/__snapshots__/index.test.tsx.snap @@ -62,6 +62,56 @@ exports[`Flyout rendering it renders correctly against snapshot 1`] = `
+
+
+
+
+ +
+
+
+
+
+ +
@@ -109,31 +159,21 @@ exports[`Flyout rendering it renders correctly against snapshot 1`] = ` data-test-subj="timeline-status" > - Unsaved + + + Unsaved + +
-
- -
diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/action_menu/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/flyout/action_menu/index.tsx index b2e3230490ce7..2208b6ee706b8 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/action_menu/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/action_menu/index.tsx @@ -7,6 +7,7 @@ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import React from 'react'; +import styled from 'styled-components'; import { useKibana } from '../../../../common/lib/kibana/kibana_react'; import { APP_ID } from '../../../../../common'; import type { TimelineTabs } from '../../../../../common/types'; @@ -25,6 +26,12 @@ interface TimelineActionMenuProps { activeTab: TimelineTabs; } +const VerticalDivider = styled.span` + width: 0px; + height: 20px; + border-left: 1px solid ${({ theme }) => theme.eui.euiColorLightShade}; +`; + const TimelineActionMenuComponent = ({ mode = 'normal', timelineId, @@ -49,11 +56,6 @@ const TimelineActionMenuComponent = ({ - {userCasesPermissions.create && userCasesPermissions.read ? ( - - - - ) : null} + {userCasesPermissions.create && userCasesPermissions.read ? ( + <> + + + + + + + + ) : null} diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/add_timeline_button/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/flyout/add_timeline_button/index.test.tsx index 80bd77bb81096..efae77571138d 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/add_timeline_button/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/add_timeline_button/index.test.tsx @@ -52,11 +52,11 @@ jest.mock('../../../containers/all', () => { }); jest.mock('../../timeline/properties/new_template_timeline', () => ({ - NewTemplateTimeline: jest.fn(() =>
{'Create new timeline template'}
), + NewTemplateTimeline: jest.fn(() =>
{'Create new Timeline template'}
), })); jest.mock('../../timeline/properties/helpers', () => ({ - NewTimeline: jest.fn().mockReturnValue(
{'Create new timeline'}
), + NewTimeline: jest.fn().mockReturnValue(
{'Create new Timeline'}
), })); jest.mock('../../../../common/containers/source', () => ({ diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/add_timeline_button/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/flyout/add_timeline_button/index.tsx index 69b71adb9fb6e..2c9e537ce4b06 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/add_timeline_button/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/add_timeline_button/index.tsx @@ -39,10 +39,10 @@ const AddTimelineButtonComponent: React.FC = ({ () => ( diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/header/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/flyout/header/index.tsx index 14158e884e1bb..b6e4d354e9c6f 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/header/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/header/index.tsx @@ -28,6 +28,7 @@ import { TimelineActionMenu } from '../action_menu'; import { AddToFavoritesButton } from '../../timeline/properties/helpers'; import { TimelineStatusInfo } from './timeline_status_info'; import { timelineDefaults } from '../../../store/timeline/defaults'; +import { AddTimelineButton } from '../add_timeline_button'; interface FlyoutHeaderPanelProps { timelineId: string; @@ -141,6 +142,14 @@ const FlyoutHeaderPanelComponent: React.FC = ({ timeline > + {!show ? ( + + + + ) : null} + + + = ({ timeline - - - {show && ( diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/header/timeline_status_info.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/flyout/header/timeline_status_info.test.tsx index f7fda862f793f..55285e18638cf 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/header/timeline_status_info.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/header/timeline_status_info.test.tsx @@ -28,18 +28,6 @@ describe('TestComponent', () => { it('should render the status correctly when timeline has unsaved changes', () => { render(); - expect(screen.getByText('Has unsaved changes')).toBeVisible(); - }); - - it('should render the status correctly when timeline is saved', () => { - const updatedTime = Date.now(); - render(); - expect(screen.getByText('Saved')).toBeVisible(); - }); - - it('should render the status correctly when timeline is saved some time ago', () => { - const updatedTime = Date.now() - 10000; - render(); - expect(screen.getByTestId('timeline-status')).toHaveTextContent(/Saved10 seconds ago/); + expect(screen.getByText('Unsaved changes')).toBeVisible(); }); }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/header/timeline_status_info.tsx b/x-pack/plugins/security_solution/public/timelines/components/flyout/header/timeline_status_info.tsx index ed164ddab47fc..ebd2f5bede310 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/header/timeline_status_info.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/header/timeline_status_info.tsx @@ -6,8 +6,7 @@ */ import React from 'react'; -import { EuiTextColor, EuiText } from '@elastic/eui'; -import { FormattedRelative } from '@kbn/i18n-react'; +import { EuiText, EuiBadge } from '@elastic/eui'; import styled from 'styled-components'; import { TimelineStatus } from '../../../../../common/api/timeline'; @@ -29,21 +28,13 @@ export const TimelineStatusInfo = React.memo( let statusContent: React.ReactNode = null; if (isUnsaved || !updated) { - statusContent = {i18n.UNSAVED}; + statusContent = {i18n.UNSAVED}; } else if (changed) { - statusContent = {i18n.UNSAVED_CHANGES}; - } else { - statusContent = ( - <> - {i18n.SAVED} - - - ); + statusContent = {i18n.UNSAVED_CHANGES}; } + + if (!statusContent) return null; + return ( {statusContent} diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/header/translations.ts b/x-pack/plugins/security_solution/public/timelines/components/flyout/header/translations.ts index 56036f899e61f..f3e7306eae315 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/header/translations.ts +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/header/translations.ts @@ -26,7 +26,7 @@ export const SAVED = i18n.translate('xpack.securitySolution.timeline.properties. export const UNSAVED_CHANGES = i18n.translate( 'xpack.securitySolution.timeline.properties.hasChangesLabel', { - defaultMessage: 'Has unsaved changes', + defaultMessage: 'Unsaved changes', } ); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/index.tsx index 5ec2a07af5bb0..bffc5c45f84ef 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/index.tsx @@ -19,7 +19,7 @@ import { defaultHeaders } from './body/column_headers/default_headers'; import type { CellValueElementProps } from './cell_rendering'; import { SourcererScopeName } from '../../../common/store/sourcerer/model'; import { FlyoutHeaderPanel } from '../flyout/header'; -import type { TimelineId, RowRenderer } from '../../../../common/types/timeline'; +import type { TimelineId, RowRenderer, TimelineTabs } from '../../../../common/types/timeline'; import { TimelineType } from '../../../../common/api/timeline'; import { useDeepEqualSelector, useShallowEqualSelector } from '../../../common/hooks/use_selector'; import { activeTimeline } from '../../containers/active_timeline_context'; @@ -82,6 +82,7 @@ const StatefulTimelineComponent: React.FC = ({ initialized, show: isOpen, isLoading, + activeTab, } = useDeepEqualSelector((state) => pick( [ @@ -95,6 +96,7 @@ const StatefulTimelineComponent: React.FC = ({ 'initialized', 'show', 'isLoading', + 'activeTab', ], getTimeline(state, timelineId) ?? timelineDefaults ) @@ -195,6 +197,18 @@ const StatefulTimelineComponent: React.FC = ({ const showTimelineTour = isOpen && !isLoading && canEditTimeline; + const handleSwitchToTab = useCallback( + (tab: TimelineTabs) => { + dispatch( + timelineActions.setActiveTabTimeline({ + id: timelineId, + activeTab: tab, + }) + ); + }, + [timelineId, dispatch] + ); + return ( = ({ /> - {showTimelineTour ? : null} + {showTimelineTour ? ( + + ) : null} ); }; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/helpers.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/helpers.tsx index 0330e3ed74d57..b8c0366e3f39e 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/helpers.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/helpers.tsx @@ -18,6 +18,7 @@ import { useShallowEqualSelector } from '../../../../common/hooks/use_selector'; import * as i18n from './translations'; import { useCreateTimelineButton } from './use_create_timeline'; import { timelineDefaults } from '../../../store/timeline/defaults'; +import { TIMELINE_TOUR_CONFIG_ANCHORS } from '../tour/step_config'; const NotesCountBadge = styled(EuiBadge)` margin-left: 5px; @@ -56,7 +57,9 @@ const AddToFavoritesButtonComponent: React.FC = ({ return compact ? ( = ({ /> ) : ( { return ( - + {Object.values(TIMELINE_TOUR_CONFIG_ANCHORS).map((anchor) => { return
; })} @@ -58,6 +61,12 @@ describe('Timeline Tour', () => { fireEvent.click(screen.getByText('Next')); + await waitFor(() => { + expect(screen.getByTestId('timeline-tour-step-4')).toBeVisible(); + }); + + fireEvent.click(screen.getByText('Next')); + await waitFor(() => { expect(screen.queryByText('Finish tour')).toBeVisible(); }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/index.tsx index 96c703fb1b841..7285798688461 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/index.tsx @@ -12,6 +12,7 @@ import React, { useEffect, useCallback, useState } from 'react'; import { EuiButton, EuiButtonEmpty, EuiTourStep } from '@elastic/eui'; +import type { TimelineTabs } from '../../../../../common/types'; import { useIsElementMounted } from '../../../../detection_engine/rule_management_ui/components/rules_table/rules_table/guided_onboarding/use_is_element_mounted'; import { NEW_FEATURES_TOUR_STORAGE_KEYS } from '../../../../../common/constants'; import { useKibana } from '../../../../common/lib/kibana'; @@ -25,7 +26,13 @@ interface TourState { tourSubtitle: string; } -const TimelineTourComp = () => { +interface TimelineTourProps { + activeTab: TimelineTabs; + switchToTab: (tab: TimelineTabs) => void; +} + +const TimelineTourComp = (props: TimelineTourProps) => { + const { activeTab, switchToTab } = props; const { services: { storage }, } = useKibana(); @@ -86,6 +93,12 @@ const TimelineTourComp = () => { const isElementAtCurrentStepMounted = useIsElementMounted(nextEl); + const currentStepConfig = timelineTourSteps[tourState.currentTourStep - 1]; + + if (currentStepConfig?.timelineTab && currentStepConfig.timelineTab !== activeTab) { + switchToTab(currentStepConfig.timelineTab); + } + if (!tourState.isTourActive || !isElementAtCurrentStepMounted) { return null; } @@ -93,14 +106,16 @@ const TimelineTourComp = () => { return ( <> {timelineTourSteps.map((steps, idx) => { - if (tourState.currentTourStep !== idx + 1) return null; + const stepCount = idx + 1; + if (tourState.currentTourStep !== stepCount) return null; + const panelProps = { + 'data-test-subj': `timeline-tour-step-${idx + 1}`, + }; return ( { content={steps.content} anchor={`#${steps.anchor}`} subtitle={tourConfig.tourSubtitle} - footerAction={getFooterAction(steps.step)} + footerAction={getFooterAction(stepCount)} /> ); })} diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/step_config.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/step_config.tsx index fe668d4e5d9ec..8b1e416324b1b 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/step_config.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/step_config.tsx @@ -8,6 +8,7 @@ import { EuiText, EuiCode } from '@elastic/eui'; import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; +import { TimelineTabs } from '../../../../../common/types'; import * as i18n from './translations'; export const TIMELINE_TOUR_CONFIG_ANCHORS = { @@ -15,17 +16,17 @@ export const TIMELINE_TOUR_CONFIG_ANCHORS = { DATA_VIEW: 'timeline-data-view', DATA_PROVIDER: 'toggle-data-provider', SAVE_TIMELINE: 'save-timeline-action', + ADD_TO_FAVORITES: 'add-to-favorites', }; export const timelineTourSteps = [ { - step: 1, title: i18n.TIMELINE_TOUR_TIMELINE_ACTIONS_STEP_TITLE, content: ( {i18n.TIMELINE_TOUR_NEW}, openButton: {i18n.TIMELINE_TOUR_OPEN}, @@ -36,13 +37,25 @@ export const timelineTourSteps = [ anchor: TIMELINE_TOUR_CONFIG_ANCHORS.ACTION_MENU, }, { - step: 2, + title: i18n.TIMELINE_TOUR_ADD_TO_FAVORITES_STEP_TITLE, + content: ( + + + + ), + anchor: TIMELINE_TOUR_CONFIG_ANCHORS.ADD_TO_FAVORITES, + }, + { + timelineTab: TimelineTabs.query, title: i18n.TIMELINE_TOUR_CHANGE_DATA_VIEW_TITLE, content: ( {i18n.TIMELINE_TOUR_DATA_VIEW}, }} @@ -52,19 +65,18 @@ export const timelineTourSteps = [ anchor: TIMELINE_TOUR_CONFIG_ANCHORS.DATA_VIEW, }, { - step: 3, + timelineTab: TimelineTabs.query, title: i18n.TIMELINE_TOUR_DATA_PROVIDER_VISIBILITY_TITLE, content: {i18n.TIMELINE_TOUR_DATA_PROVIDER_VISIBILITY_DESCRIPTION}, anchor: TIMELINE_TOUR_CONFIG_ANCHORS.DATA_PROVIDER, }, { - step: 4, title: i18n.TIMELINE_TOUR_SAVE_TIMELINE_STEP_TITLE, content: ( {i18n.TIMELINE_TOUR_SAVE}, editButton: {i18n.TIMELINE_TOUR_EDIT}, diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/translations.ts b/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/translations.ts index 3b51ad38a6763..3bb3b0e7eac00 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/translations.ts +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tour/translations.ts @@ -31,7 +31,7 @@ export const TIMELINE_TOUR_DATA_PROVIDER_VISIBILITY_TITLE = i18n.translate( export const TIMELINE_TOUR_DATA_PROVIDER_VISIBILITY_DESCRIPTION = i18n.translate( 'xpack.securitySolution.timeline.tour.dataProviderToggle.description', { - defaultMessage: 'Click to expand or collapse the query builder', + defaultMessage: 'Click to expand or collapse the query builder.', } ); @@ -49,6 +49,13 @@ export const TIMELINE_TOUR_CHANGE_DATA_VIEW_TITLE = i18n.translate( } ); +export const TIMELINE_TOUR_ADD_TO_FAVORITES_STEP_TITLE = i18n.translate( + 'xpack.securitySolution.timeline.tour.addToFavorites.title', + { + defaultMessage: 'A new and intuitive way to favorite your Timeline', + } +); + export const TIMELINE_TOUR_NEXT = i18n.translate('xpack.securitySolution.timeline.tour.next', { defaultMessage: 'Next', }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/creation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/creation.cy.ts index 9054684c53e82..b4e208191d681 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/creation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timeline_templates/creation.cy.ts @@ -39,6 +39,7 @@ import { clickingOnCreateTemplateFromTimelineBtn, closeTimeline, createNewTimelineTemplate, + createTimelineTemplateOptionsPopoverBottomBar, expandEventAction, markAsFavorite, openTimelineTemplateFromSettings, @@ -113,4 +114,10 @@ describe('Timeline Templates', { tags: ['@ess', '@serverless'] }, () => { cy.get(TIMELINE_FLYOUT_WRAPPER).should('have.css', 'visibility', 'visible'); cy.get(TIMELINE_QUERY).should('have.text', getTimeline().query); }); + + it('should create timeline template from bottombar', () => { + visit(TIMELINES_URL); + createTimelineTemplateOptionsPopoverBottomBar(); + cy.get(TIMELINE_TITLE).should('have.text', 'Untitled template'); + }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts index 9857e24e5b337..b3c1361c517aa 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts @@ -137,10 +137,7 @@ describe('Timelines', { tags: ['@ess', '@serverless'] }, (): void => { addNameToTimelineAndSave('Test'); // Saved - cy.get(TIMELINE_STATUS).should('be.visible'); - cy.get(TIMELINE_STATUS) - .invoke('text') - .should('match', /^Saved/); + cy.get(TIMELINE_STATUS).should('not.exist'); // Offsetting the extra save that is happening in the background // for the saved search object. @@ -153,7 +150,7 @@ describe('Timelines', { tags: ['@ess', '@serverless'] }, (): void => { cy.get(TIMELINE_STATUS).should('be.visible'); cy.get(TIMELINE_STATUS) .invoke('text') - .should('match', /^Has unsaved changes/); + .should('match', /^Unsaved changes/); }); it('should save timelines as new', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts b/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts index fd5f2fb571077..9480fa92e4ee1 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts @@ -226,7 +226,7 @@ export const TIMELINE_PANEL = `[data-test-subj="timeline-flyout-header-panel"]`; export const TIMELINE_QUERY = '[data-test-subj="timelineQueryInput"]'; -export const TIMELINE_SETTINGS_ICON = '[data-test-subj="settings-plus-in-circle"]'; +export const TIMELINE_SETTINGS_ICON = '[data-test-subj="timeline-create-open-control"]'; export const TIMELINE_SEARCH_OR_FILTER = '[data-test-subj="timeline-select-search-or-filter"]'; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts index 43d27d7e409a0..07cfee64e0f88 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts @@ -327,6 +327,30 @@ export const openCreateTimelineOptionsPopover = () => { cy.get(NEW_TIMELINE_ACTION).filter(':visible').should('be.visible').click(); }; +export const createTimelineOptionsPopoverBottomBar = () => { + recurse( + () => { + cy.get(TIMELINE_SETTINGS_ICON).filter(':visible').should('be.visible').click(); + return cy.get(CREATE_NEW_TIMELINE).eq(0); + }, + (sub) => sub.is(':visible') + ); + + cy.get(CREATE_NEW_TIMELINE).eq(0).should('be.visible').click(); +}; + +export const createTimelineTemplateOptionsPopoverBottomBar = () => { + recurse( + () => { + cy.get(TIMELINE_SETTINGS_ICON).filter(':visible').should('be.visible').click(); + return cy.get(CREATE_NEW_TIMELINE_TEMPLATE).eq(0); + }, + (sub) => sub.is(':visible') + ); + + cy.get(CREATE_NEW_TIMELINE_TEMPLATE).eq(0).should('be.visible').click(); +}; + export const closeCreateTimelineOptionsPopover = () => { cy.get(TIMELINE_SETTINGS_ICON).filter(':visible').should('be.visible').type('{esc}'); }; From 1154fb19c09d95a1934f215db0a56dea1a2eeca7 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 13 Dec 2023 23:53:01 +0000 Subject: [PATCH 037/123] skip flaky suite (#173267) --- .../tests/alerts/transaction_duration.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/apm_api_integration/tests/alerts/transaction_duration.spec.ts b/x-pack/test/apm_api_integration/tests/alerts/transaction_duration.spec.ts index 9104aaba3dc9f..0414faead6c67 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/transaction_duration.spec.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/transaction_duration.spec.ts @@ -44,7 +44,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { groupBy: ['service.name', 'service.environment', 'transaction.type', 'transaction.name'], }; - registry.when('transaction duration alert', { config: 'basic', archives: [] }, () => { + // FLAKY: https://github.com/elastic/kibana/issues/173267 + registry.when.skip('transaction duration alert', { config: 'basic', archives: [] }, () => { before(async () => { const opbeansJava = apm .service({ name: 'opbeans-java', environment: 'production', agentName: 'java' }) From ac81d96f2ff9a59adce381d9bce11ba4b9a82bcf Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 13 Dec 2023 23:55:02 +0000 Subject: [PATCH 038/123] skip flaky suite (#173339) --- .../cypress/e2e/investigations/timelines/creation.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts index b3c1361c517aa..d048eb2155ef6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/creation.cy.ts @@ -49,7 +49,8 @@ import { createTimeline } from '../../../tasks/timelines'; import { OVERVIEW_URL, TIMELINE_TEMPLATES_URL, TIMELINES_URL } from '../../../urls/navigation'; -describe('Timelines', { tags: ['@ess', '@serverless'] }, (): void => { +// FLAKY: https://github.com/elastic/kibana/issues/173339 +describe.skip('Timelines', { tags: ['@ess', '@serverless'] }, (): void => { beforeEach(() => { login(); deleteTimelines(); From 319a73d38c7333a1ba724ab550bff179852c2c74 Mon Sep 17 00:00:00 2001 From: Ignacio Rivas Date: Thu, 14 Dec 2023 06:45:45 +0100 Subject: [PATCH 039/123] [Index management] Skip enrich policies functional tests in serverless for mki (#173311) --- .../common/management/index_management/create_enrich_policy.ts | 3 +++ .../common/management/index_management/enrich_policies.ts | 3 +++ 2 files changed, 6 insertions(+) diff --git a/x-pack/test_serverless/functional/test_suites/common/management/index_management/create_enrich_policy.ts b/x-pack/test_serverless/functional/test_suites/common/management/index_management/create_enrich_policy.ts index 43b325f9f469d..60753a0ad9bd9 100644 --- a/x-pack/test_serverless/functional/test_suites/common/management/index_management/create_enrich_policy.ts +++ b/x-pack/test_serverless/functional/test_suites/common/management/index_management/create_enrich_policy.ts @@ -19,6 +19,9 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const POLICY_NAME = `policy-${Math.random()}`; describe('Create enrich policy', function () { + // TimeoutError: Waiting for element to be located By(css selector, [data-test-subj="enrichPoliciesEmptyPromptCreateButton"]) + this.tags(['failsOnMKI']); + before(async () => { log.debug('Creating test index'); try { diff --git a/x-pack/test_serverless/functional/test_suites/common/management/index_management/enrich_policies.ts b/x-pack/test_serverless/functional/test_suites/common/management/index_management/enrich_policies.ts index 707bd598bb3d8..66819c1e6d233 100644 --- a/x-pack/test_serverless/functional/test_suites/common/management/index_management/enrich_policies.ts +++ b/x-pack/test_serverless/functional/test_suites/common/management/index_management/enrich_policies.ts @@ -20,6 +20,9 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const ENRICH_POLICY_NAME = 'test-policy-1'; describe('Enrich policies tab', function () { + // TimeoutError: Waiting for element to be located By(css selector, [data-test-subj="kibana-chrome"]) + this.tags(['failsOnMKI']); + before(async () => { log.debug('Creating required index and enrich policy'); try { From 395489f34ccfc8f9d531be3dcf1488061249daf8 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 14 Dec 2023 01:00:28 -0500 Subject: [PATCH 040/123] [api-docs] 2023-12-14 Daily api_docs build (#173348) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/551 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- .../ai_assistant_management_observability.mdx | 2 +- .../ai_assistant_management_selection.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.devdocs.json | 16 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/dataset_quality.mdx | 2 +- api_docs/deprecations_by_api.mdx | 2 +- 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_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.devdocs.json | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.devdocs.json | 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.devdocs.json | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.devdocs.json | 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_actions_types.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_alerting_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_collection_utils.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_bfetch_error.mdx | 2 +- api_docs/kbn_calculate_auto.mdx | 2 +- .../kbn_calculate_width_from_char_count.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...tent_management_table_list_view_common.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- 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 +- .../kbn_core_plugins_contracts_browser.mdx | 2 +- .../kbn_core_plugins_contracts_server.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- .../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 +- .../kbn_core_test_helpers_model_versions.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_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_icons.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.devdocs.json | 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_agent_utils.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_elastic_assistant_common.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_field_utils.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_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 +- .../kbn_management_settings_application.mdx | 2 +- ...ent_settings_components_field_category.mdx | 2 +- ...gement_settings_components_field_input.mdx | 2 +- ...nagement_settings_components_field_row.mdx | 2 +- ...bn_management_settings_components_form.mdx | 2 +- ...n_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- .../kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- api_docs/kbn_ml_chi2test.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_ui_actions.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 +- .../kbn_observability_alerting_test_data.mdx | 2 +- ...ility_get_padded_alert_time_range_util.mdx | 2 +- api_docs/kbn_openapi_bundler.mdx | 2 +- api_docs/kbn_openapi_generator.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_panel_loader.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_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_reporting_export_types_csv.mdx | 2 +- .../kbn_reporting_export_types_csv_common.mdx | 2 +- api_docs/kbn_reporting_export_types_pdf.mdx | 2 +- .../kbn_reporting_export_types_pdf_common.mdx | 2 +- api_docs/kbn_reporting_export_types_png.mdx | 2 +- .../kbn_reporting_export_types_png_common.mdx | 2 +- api_docs/kbn_reporting_mocks_server.mdx | 2 +- api_docs/kbn_reporting_public.mdx | 2 +- api_docs/kbn_reporting_server.mdx | 2 +- api_docs/kbn_resizable_layout.mdx | 2 +- 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.devdocs.json | 9013 +++++++++++------ api_docs/kbn_search_connectors.mdx | 4 +- api_docs/kbn_search_errors.mdx | 2 +- api_docs/kbn_search_index_documents.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_plugin_types_common.mdx | 2 +- api_docs/kbn_security_plugin_types_public.mdx | 2 +- api_docs/kbn_security_plugin_types_server.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ion_exception_list_components.devdocs.json | 8 +- ...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 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_error_boundary.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_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_triggers_actions_ui_types.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_unsaved_changes_badge.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_visualization_utils.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kbn_zod_helpers.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.devdocs.json | 4 +- 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/links.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/mock_idp_plugin.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.devdocs.json | 21 + api_docs/observability.mdx | 4 +- .../observability_a_i_assistant.devdocs.json | 42 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_log_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.devdocs.json | 10 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 8 +- 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 +- 645 files changed, 6829 insertions(+), 3581 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 7709257435bb7..28da9c8a3c304 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-12-13 +date: 2023-12-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 bce5a1fc82590..2f18f50aa17aa 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/ai_assistant_management_observability.mdx b/api_docs/ai_assistant_management_observability.mdx index c1f74dfb3274e..73e2d37c49fee 100644 --- a/api_docs/ai_assistant_management_observability.mdx +++ b/api_docs/ai_assistant_management_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementObservability title: "aiAssistantManagementObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementObservability plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementObservability'] --- import aiAssistantManagementObservabilityObj from './ai_assistant_management_observability.devdocs.json'; diff --git a/api_docs/ai_assistant_management_selection.mdx b/api_docs/ai_assistant_management_selection.mdx index 848766d618c0a..917e32cca9a3a 100644 --- a/api_docs/ai_assistant_management_selection.mdx +++ b/api_docs/ai_assistant_management_selection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementSelection title: "aiAssistantManagementSelection" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementSelection plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementSelection'] --- import aiAssistantManagementSelectionObj from './ai_assistant_management_selection.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 724759f81e697..e6b3a7831e2ef 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-12-13 +date: 2023-12-14 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 dc4670eb9da35..3361567b2b708 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-12-13 +date: 2023-12-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 4332e1296e080..fcc9a5dfd6ba4 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-12-13 +date: 2023-12-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 12ce31b5fc992..334f864f92769 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-12-13 +date: 2023-12-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 789670a6bddc1..98b17d1995ee1 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-12-13 +date: 2023-12-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 3c8659acbb808..5bbb70d05b303 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-12-13 +date: 2023-12-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 bddb939897f7d..56b46557cc806 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-12-13 +date: 2023-12-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 64297ff727746..6ca7d96e9c4c0 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-12-13 +date: 2023-12-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 fc8a144d07016..69b5447179767 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.devdocs.json b/api_docs/charts.devdocs.json index 08ffd55cf4e6c..7a0f646988360 100644 --- a/api_docs/charts.devdocs.json +++ b/api_docs/charts.devdocs.json @@ -2239,19 +2239,9 @@ "label": "theme", "description": [], "signature": [ - "{ readonly chartsDefaultTheme: ", - "RecursivePartial", - "<", - "Theme", - ">; readonly chartsDefaultBaseTheme: ", - "Theme", - "; chartsTheme$: ", - "Observable", - "<", - "RecursivePartial", - "<", + "{ readonly chartsDefaultBaseTheme: ", "Theme", - ">>; chartsBaseTheme$: ", + "; chartsBaseTheme$: ", "Observable", "<", "Theme", @@ -3403,7 +3393,7 @@ "CustomXDomain", " | undefined>; ariaDescription?: string | undefined; ariaDescribedBy?: string | undefined; ariaLabelledBy?: string | undefined; ariaTableCaption?: string | undefined; legendAction?: \"ignore\" | undefined; legendStrategy?: ", "LegendStrategy", - " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; } | undefined; }" + " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onResize?: \"ignore\" | undefined; onWillRender?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; } | undefined; }" ], "path": "src/plugins/charts/common/static/overrides/settings.ts", "deprecated": false, diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index b3eeff9a0316a..7129dfc37b54e 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-12-13 +date: 2023-12-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 08bd6905c5636..4af93417f1415 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index b0ef9f3444300..16119e8c64fd1 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-12-13 +date: 2023-12-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 9cae5b79d0479..68cb96ef10f43 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-12-13 +date: 2023-12-14 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 e8ea589290d82..79baf5db79971 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-12-13 +date: 2023-12-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 2522a1727be7d..731f900e6193b 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-12-13 +date: 2023-12-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 1fcc3d5026448..e8af78480f723 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-12-13 +date: 2023-12-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 3c314e3f55237..47ee6fb3f8c29 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-12-13 +date: 2023-12-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 c27e47ec3d9b2..07f2368856d29 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-12-13 +date: 2023-12-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 30d14130df133..058859fd9025b 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-12-13 +date: 2023-12-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 9447da6a6c499..f93b6a5fe092c 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-12-13 +date: 2023-12-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 f3d8c5220c9d4..f0edbfcc398dc 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-12-13 +date: 2023-12-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 f88394fa5f92c..d7d7d0c091f9c 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-12-13 +date: 2023-12-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 2bd9a94fb8748..dddcba67344c7 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-12-13 +date: 2023-12-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 8d6b70f36a85d..a4c4381f18e44 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-12-13 +date: 2023-12-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 8477e652f6cc5..731bc57e299b4 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-12-13 +date: 2023-12-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 9e2675a5d3422..a54462016fe5a 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-12-13 +date: 2023-12-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 6fc94ee14799a..5d6da88b210da 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-12-13 +date: 2023-12-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 9937b3ce9caba..bf3c64be1fd9d 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-12-13 +date: 2023-12-14 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 3aa5ab77d0037..2ae4a44c78cea 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx index ca2c2db5182bd..75d0a3a13c9b4 100644 --- a/api_docs/dataset_quality.mdx +++ b/api_docs/dataset_quality.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/datasetQuality title: "datasetQuality" image: https://source.unsplash.com/400x175/?github description: API docs for the datasetQuality plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'datasetQuality'] --- import datasetQualityObj from './dataset_quality.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index c69ec0abd8a01..708ae5a501d29 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 20c0c1e4060f5..b6c46f0b0dc67 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -145,9 +145,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | ---------------|-----------|-----------| | | [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion) | - | | | [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion), [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion), [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion), [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion) | - | -| | [increment_counter_internal.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/increment_counter_internal.ts#:~:text=migrationVersion), [repository.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts#:~:text=migrationVersion) | - | +| | [increment_counter_internal.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/increment_counter_internal.ts#:~:text=migrationVersion), [increment_counter.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/increment_counter.test.ts#:~:text=migrationVersion) | - | | | [bulk_create.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_create.ts#:~:text=migrationVersion), [repository.test.common.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts#:~:text=migrationVersion) | - | -| | [create.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.ts#:~:text=migrationVersion), [repository.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts#:~:text=migrationVersion), [repository.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts#:~:text=migrationVersion), [repository.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts#:~:text=migrationVersion) | - | +| | [create.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.ts#:~:text=migrationVersion), [create.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.test.ts#:~:text=migrationVersion), [create.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.test.ts#:~:text=migrationVersion), [create.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.test.ts#:~:text=migrationVersion) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 0197a283cfa49..a2553f869d18b 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 712073756ba39..2b77c77ddd270 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-12-13 +date: 2023-12-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 1991c9af98d29..2697a710c865f 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-12-13 +date: 2023-12-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 21976ad6e2de3..39e7ea3a0b1d5 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-12-13 +date: 2023-12-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 4e8876ee9be94..0306150a498d7 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-12-13 +date: 2023-12-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 6e5b753fdaba3..484683f6a06da 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-12-13 +date: 2023-12-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 b6b9068f6bbb3..c945750e575a1 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-12-13 +date: 2023-12-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 2f36742483ff2..ddeeea3abf017 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-12-13 +date: 2023-12-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 4430aa549e6b9..a760f08bf9946 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-12-13 +date: 2023-12-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 096c1d056210d..449528ef923a4 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-12-13 +date: 2023-12-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 f45f65c2c960a..4e1115174ccfd 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-12-13 +date: 2023-12-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 f223dc2f51006..e9f6877edb5cc 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 8cf2b45bb218e..5da1b9d444dd1 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index fccfee4c9df96..5482e85b9bde2 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-12-13 +date: 2023-12-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 b297eb9d277e8..4851c30e28759 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-12-13 +date: 2023-12-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 06ffcc7a2baad..4e400e8d84368 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.devdocs.json b/api_docs/expression_gauge.devdocs.json index 77364b73eed1f..b38c5c31347ff 100644 --- a/api_docs/expression_gauge.devdocs.json +++ b/api_docs/expression_gauge.devdocs.json @@ -1257,7 +1257,7 @@ "CustomXDomain", " | undefined>; ariaDescription?: string | undefined; ariaDescribedBy?: string | undefined; ariaLabelledBy?: string | undefined; ariaTableCaption?: string | undefined; legendAction?: \"ignore\" | undefined; legendStrategy?: ", "LegendStrategy", - " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> & Partial>) | undefined; }" + " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onResize?: \"ignore\" | undefined; onWillRender?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> & Partial>) | undefined; }" ], "path": "src/plugins/chart_expressions/expression_gauge/common/types/expression_renderers.ts", "deprecated": false, diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index 3ed59da560f0f..2f4e33d5cc7dd 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.devdocs.json b/api_docs/expression_heatmap.devdocs.json index d11837f817ccd..90835598df7ca 100644 --- a/api_docs/expression_heatmap.devdocs.json +++ b/api_docs/expression_heatmap.devdocs.json @@ -527,7 +527,7 @@ "CustomXDomain", " | undefined>; ariaDescription?: string | undefined; ariaDescribedBy?: string | undefined; ariaLabelledBy?: string | undefined; ariaTableCaption?: string | undefined; legendAction?: \"ignore\" | undefined; legendStrategy?: ", "LegendStrategy", - " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> & Partial>) | undefined" + " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onResize?: \"ignore\" | undefined; onWillRender?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> & Partial>) | undefined" ], "path": "src/plugins/chart_expressions/expression_heatmap/common/types/expression_functions.ts", "deprecated": false, diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 5f1009d0668e1..67913ef02175a 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-12-13 +date: 2023-12-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 61d5408445a43..40a4790fdb441 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-12-13 +date: 2023-12-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 65ab0588a5eab..f8f979df2f956 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-12-13 +date: 2023-12-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 eef78d69f9961..3eb8c9479b0af 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.devdocs.json b/api_docs/expression_metric_vis.devdocs.json index f8dd939d5f389..37d520de6b448 100644 --- a/api_docs/expression_metric_vis.devdocs.json +++ b/api_docs/expression_metric_vis.devdocs.json @@ -904,7 +904,7 @@ "CustomXDomain", " | undefined>; ariaDescription?: string | undefined; ariaDescribedBy?: string | undefined; ariaLabelledBy?: string | undefined; ariaTableCaption?: string | undefined; legendAction?: \"ignore\" | undefined; legendStrategy?: ", "LegendStrategy", - " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> & Partial>) | undefined" + " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onResize?: \"ignore\" | undefined; onWillRender?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> & Partial>) | undefined" ], "path": "src/plugins/chart_expressions/expression_metric/common/types/expression_functions.ts", "deprecated": false, diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index 7207d496d561c..8250c6a985fa0 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-12-13 +date: 2023-12-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 4fe14176ea884..14578f80d6e93 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-12-13 +date: 2023-12-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 2d61395f7b57e..dc38526e91963 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-12-13 +date: 2023-12-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 9301fa1c7a55d..785395ab04e60 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-12-13 +date: 2023-12-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 90222ec59c78b..248887c94f8ca 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-12-13 +date: 2023-12-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 d81547562db5f..e3777a16bcc41 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.devdocs.json b/api_docs/expression_x_y.devdocs.json index da16d0b24133a..a1289bd45ad5c 100644 --- a/api_docs/expression_x_y.devdocs.json +++ b/api_docs/expression_x_y.devdocs.json @@ -1978,7 +1978,7 @@ "CustomXDomain", " | undefined>; ariaDescription?: string | undefined; ariaDescribedBy?: string | undefined; ariaLabelledBy?: string | undefined; ariaTableCaption?: string | undefined; legendAction?: \"ignore\" | undefined; legendStrategy?: ", "LegendStrategy", - " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> & Partial>) | undefined" + " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onResize?: \"ignore\" | undefined; onWillRender?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> & Partial>) | undefined" ], "path": "src/plugins/chart_expressions/expression_xy/common/types/expression_renderers.ts", "deprecated": false, diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index 45fff0597cf12..7057e54bbaa6e 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-12-13 +date: 2023-12-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 747eec2145c55..9d56e258fb8e1 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-12-13 +date: 2023-12-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 d203a51e12fbe..f35d8cae8df36 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-12-13 +date: 2023-12-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 c92b3a0ba5f98..f8c84b71a8639 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-12-13 +date: 2023-12-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 f0c74f1d78666..03a00cd1d835f 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-12-13 +date: 2023-12-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 29ccee54a8b35..cb713dcbdbf5c 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-12-13 +date: 2023-12-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 a66b6b7f19f2b..f750184f32a86 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-12-13 +date: 2023-12-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 7b7c401508c32..4cc50e0096b71 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-12-13 +date: 2023-12-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 10042db9a56d8..eb42bcab05e66 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-12-13 +date: 2023-12-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 c9ad6f6ca9d74..91b134ba595e1 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-12-13 +date: 2023-12-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 ff92fef8f8c9a..df7de5aa4bbe0 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-12-13 +date: 2023-12-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 28da19a2bc552..9f8b7ee349063 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-12-13 +date: 2023-12-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 895ed1a6b4a87..5f5b8829d228d 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-12-13 +date: 2023-12-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 7de1a1dd5348d..697fecd5d2606 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-12-13 +date: 2023-12-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 1e086d59f9ae7..643457afcadea 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-12-13 +date: 2023-12-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 c4ed1c2b51662..b463b8bad797a 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-12-13 +date: 2023-12-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 25a48f415644d..8850a64b128a6 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-12-13 +date: 2023-12-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 829b51b4c75ae..18909bea4b68a 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_actions_types.mdx b/api_docs/kbn_actions_types.mdx index d2b7cc6c00e8e..d239675a85cd1 100644 --- a/api_docs/kbn_actions_types.mdx +++ b/api_docs/kbn_actions_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-actions-types title: "@kbn/actions-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/actions-types plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/actions-types'] --- import kbnActionsTypesObj from './kbn_actions_types.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index ca49679f9950f..29b85c2eecc2a 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-12-13 +date: 2023-12-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 b49b5dc3a136f..e6b0d84dfd656 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-12-13 +date: 2023-12-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 2577debfb5711..6d464e9768cb9 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-12-13 +date: 2023-12-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 3359c10ac882c..e7fb86c0046fc 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-12-13 +date: 2023-12-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_alerting_types.mdx b/api_docs/kbn_alerting_types.mdx index a8e17dc06b3ab..9eeaa031358e9 100644 --- a/api_docs/kbn_alerting_types.mdx +++ b/api_docs/kbn_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-types title: "@kbn/alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-types plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-types'] --- import kbnAlertingTypesObj from './kbn_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 0282d7e5bd496..7b41042ff5957 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-12-13 +date: 2023-12-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 d4d90691beb10..2d6a280972679 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-12-13 +date: 2023-12-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 61f8cc16086ff..c13a3036f6d69 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-12-13 +date: 2023-12-14 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 4126632162903..896fa8f23061e 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_collection_utils.mdx b/api_docs/kbn_analytics_collection_utils.mdx index a29fa9f20e3d2..b33667c0dbf14 100644 --- a/api_docs/kbn_analytics_collection_utils.mdx +++ b/api_docs/kbn_analytics_collection_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-collection-utils title: "@kbn/analytics-collection-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-collection-utils plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-collection-utils'] --- import kbnAnalyticsCollectionUtilsObj from './kbn_analytics_collection_utils.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 d9376ac2df305..62b25cb6b7f7c 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-12-13 +date: 2023-12-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 d143c7c007faf..2c33357142c66 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-12-13 +date: 2023-12-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 7d83cc403e715..fc9305d649c14 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-12-13 +date: 2023-12-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 a78078515dc37..851b9f11221f8 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-12-13 +date: 2023-12-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 6c324ba477a2e..367aeff6bc32b 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-12-13 +date: 2023-12-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 8bb955b29fee3..7d65937462d42 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-12-13 +date: 2023-12-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 e81fd3a891a6a..06b47bc25db3d 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-12-13 +date: 2023-12-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 e25c74daea32b..0f1edea851693 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-12-13 +date: 2023-12-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 79152bda711c6..f69078260ee3b 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-12-13 +date: 2023-12-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 154618c811879..c7df7da785f12 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_bfetch_error.mdx b/api_docs/kbn_bfetch_error.mdx index 362fa5510dc98..d0a4d62d27d76 100644 --- a/api_docs/kbn_bfetch_error.mdx +++ b/api_docs/kbn_bfetch_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-bfetch-error title: "@kbn/bfetch-error" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/bfetch-error plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bfetch-error'] --- import kbnBfetchErrorObj from './kbn_bfetch_error.devdocs.json'; diff --git a/api_docs/kbn_calculate_auto.mdx b/api_docs/kbn_calculate_auto.mdx index e7b8ed9443021..d6d462d4695a4 100644 --- a/api_docs/kbn_calculate_auto.mdx +++ b/api_docs/kbn_calculate_auto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-auto title: "@kbn/calculate-auto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-auto plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-auto'] --- import kbnCalculateAutoObj from './kbn_calculate_auto.devdocs.json'; diff --git a/api_docs/kbn_calculate_width_from_char_count.mdx b/api_docs/kbn_calculate_width_from_char_count.mdx index 1adf444153408..136d8481b704d 100644 --- a/api_docs/kbn_calculate_width_from_char_count.mdx +++ b/api_docs/kbn_calculate_width_from_char_count.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-width-from-char-count title: "@kbn/calculate-width-from-char-count" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-width-from-char-count plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-width-from-char-count'] --- import kbnCalculateWidthFromCharCountObj from './kbn_calculate_width_from_char_count.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index eb832c193ed52..4d6da505013b3 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-12-13 +date: 2023-12-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 67f495cbc029e..05f2afe1fb3be 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-12-13 +date: 2023-12-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 5c6285786a170..ea5737e278d4a 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-12-13 +date: 2023-12-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 522606e53db45..0a919c96e9a24 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-12-13 +date: 2023-12-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 e59e659acc666..0f7ae5298e0aa 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-12-13 +date: 2023-12-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 2e99ab0710e79..92fc758e8a014 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-12-13 +date: 2023-12-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 0b2263347c2c6..75469428ae919 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-12-13 +date: 2023-12-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 2abecbc4b17df..bffd090417a15 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-12-13 +date: 2023-12-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 df4a54a052401..6133f34e25551 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 32648e0373b5b..a39f28984f4d0 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-12-13 +date: 2023-12-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 4d82b53f8c39f..4f689eb20ac93 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-12-13 +date: 2023-12-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 8e92f2153bc19..6cf1c75e081da 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-12-13 +date: 2023-12-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 b6802618e64e2..8cdca94f24af3 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-12-13 +date: 2023-12-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 5185aa6662488..3e4fdf2888f56 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-12-13 +date: 2023-12-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 7a1c77330c5f7..fcf90d1ba3f4a 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-12-13 +date: 2023-12-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 f56f760c53ca5..ac16ed58f435b 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-12-13 +date: 2023-12-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_common.mdx b/api_docs/kbn_content_management_table_list_view_common.mdx index fc31b2991ddc7..47eeb49737735 100644 --- a/api_docs/kbn_content_management_table_list_view_common.mdx +++ b/api_docs/kbn_content_management_table_list_view_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-common title: "@kbn/content-management-table-list-view-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-common plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-common'] --- import kbnContentManagementTableListViewCommonObj from './kbn_content_management_table_list_view_common.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index e7cc31c0b8ba8..508671cad021b 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-12-13 +date: 2023-12-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 e55293f6be42d..a4cd5ec91ea2a 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-12-13 +date: 2023-12-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 aff818916b9fb..e6518aeea1de9 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-12-13 +date: 2023-12-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 60f101d120cbe..279f0ce081617 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-12-13 +date: 2023-12-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 89e2eb2c94b14..d4b0d11a84b31 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-12-13 +date: 2023-12-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 7ecafaed29f0d..619475acf83fa 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-12-13 +date: 2023-12-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 b27c2634a0f4f..a8db2d23d014f 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-12-13 +date: 2023-12-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 739a57f3dc823..672da3fe8b1b1 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-12-13 +date: 2023-12-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 929fef3ea886b..dea0acf772857 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-12-13 +date: 2023-12-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 33bb03daa12b3..a7ba9d7059bd8 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-12-13 +date: 2023-12-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 cbf365951ba4b..3cb058e36538c 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-12-13 +date: 2023-12-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 98ab0dfcd07d6..330c7226de960 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-12-13 +date: 2023-12-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 60bb5ec83a2b9..8f1538ea0e791 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-12-13 +date: 2023-12-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 4f19ada5e9e52..6d37f358497e0 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-12-13 +date: 2023-12-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 3d2df96958550..fa63d8b484163 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-12-13 +date: 2023-12-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 1cccbb1f775e7..4d3987739aab3 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-12-13 +date: 2023-12-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 a5f8eba05c452..77e3ec06c92fe 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-12-13 +date: 2023-12-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 77a957ac8f0c1..88e5b83eb5b58 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-12-13 +date: 2023-12-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 d7b02ea20cf95..5b2c8dcaa4093 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-12-13 +date: 2023-12-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 fe06955bebf4a..2b9016942a9ec 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-12-13 +date: 2023-12-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 1feebaae6def1..652338d1f8113 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-12-13 +date: 2023-12-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 f8eb2544113d3..7bfe9328085ae 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-12-13 +date: 2023-12-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 7a1f0f7483f5e..c2faf156e4784 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-12-13 +date: 2023-12-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 3d2e07f37b288..c18eda5cf0af6 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-12-13 +date: 2023-12-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 e51568187b057..b9ed7d4828bd0 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-12-13 +date: 2023-12-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 f9340f07a4cc3..1f7dec72ddea4 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-12-13 +date: 2023-12-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 56d7cc03be575..0ddf0c625b9a5 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-12-13 +date: 2023-12-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 838819c43e59c..4a7161bf660a8 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-12-13 +date: 2023-12-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 45f73e4359679..e3dcc5581563d 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-12-13 +date: 2023-12-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 fba87b9c01b72..51c2bfac7b43c 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-12-13 +date: 2023-12-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 570da6460a492..1c5a78a033a2e 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-12-13 +date: 2023-12-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 70ec67032c48d..2ad562418ddb3 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-12-13 +date: 2023-12-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 432e8e00ea41a..20d063039fd62 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-12-13 +date: 2023-12-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 473f0ea2f5185..1404aa12043e1 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-12-13 +date: 2023-12-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 cbcd7c940c25b..83b53a0818514 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-12-13 +date: 2023-12-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 7d8d8502d2207..4a1a69a3b4686 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-12-13 +date: 2023-12-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 0895b794596ad..bc72fe17d362e 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-12-13 +date: 2023-12-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 5f3fb472912f7..cd8918f9d5614 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-12-13 +date: 2023-12-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 8cbf2cec345c6..6e695e40440b0 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-12-13 +date: 2023-12-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 f8bc6a54f0a2d..b14bfc2f820f9 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-12-13 +date: 2023-12-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 18136564bbf12..f8452705e2ff1 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-12-13 +date: 2023-12-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 2df9543b8cd54..9314a2b1870c8 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-12-13 +date: 2023-12-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 c33717919ba98..f6b1295c9dbd0 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-12-13 +date: 2023-12-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 52cfa77bcee24..3135b80da8e4b 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-12-13 +date: 2023-12-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 aafe2d83d5d1a..8aa72000c984f 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-12-13 +date: 2023-12-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 87baf71caffe0..8f6c55f9f567c 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-12-13 +date: 2023-12-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 59cf301a70043..334474002787b 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-12-13 +date: 2023-12-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 f602cd7547f8b..f7cba31bd077d 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-12-13 +date: 2023-12-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 3d7d18298d438..7b2bc150c984d 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-12-13 +date: 2023-12-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 a8101222096f7..9cd72f61c2ec6 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-12-13 +date: 2023-12-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 9823c7ba466fd..e13779874b2e4 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-12-13 +date: 2023-12-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 0209d605a120f..89ed9e8ffc417 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-12-13 +date: 2023-12-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 14a6607805575..ec28730806ac3 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-12-13 +date: 2023-12-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 eef5b2c26706e..a27ee3dcff2bc 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-12-13 +date: 2023-12-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 a667d906a1de4..eda0bd2008617 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-12-13 +date: 2023-12-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 c8a6f9b24bc3c..b82cc3101d1a1 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-12-13 +date: 2023-12-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 45a54b7bd0b09..5ef048230a469 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-12-13 +date: 2023-12-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 ff903feea66f2..832902f304659 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-12-13 +date: 2023-12-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 a97595e1e2c0b..29d5d4b24a0e8 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-12-13 +date: 2023-12-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 024a0f7238779..a5080116e8cc8 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-12-13 +date: 2023-12-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 1e0c2d8a5d7f1..7ba5fa7cd62c9 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-12-13 +date: 2023-12-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 7d41bd32d8167..50f947b01cdd6 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-12-13 +date: 2023-12-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 f94979b775da2..bad7635a9450d 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-12-13 +date: 2023-12-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 630fed53c5148..4537daa4b25b8 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-12-13 +date: 2023-12-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 751d066b54037..ada46ab0aa6ad 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-12-13 +date: 2023-12-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 0dca8ac8cf1ab..d7f6f2eb4b165 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-12-13 +date: 2023-12-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 c87058079b43b..ba44f30bad2a0 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-12-13 +date: 2023-12-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 982c9ec20da8f..d128433d53334 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-12-13 +date: 2023-12-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 23d2e610a59a7..f47867d48c15c 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-12-13 +date: 2023-12-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 3bee0bef372f3..adbb889a50da0 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-12-13 +date: 2023-12-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 272e7b8c76e20..84837699bfc85 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-12-13 +date: 2023-12-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 d75a7b5d9d5d5..2b9d26c26c3c1 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-12-13 +date: 2023-12-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 e9941473dcdef..095c394d3d2c6 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-12-13 +date: 2023-12-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 a8f938f65d889..32d008daebbfb 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-12-13 +date: 2023-12-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 028adb3bd6939..61d18467c7efb 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-12-13 +date: 2023-12-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 263ed9883f026..76f7934dd0917 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-12-13 +date: 2023-12-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 640783c63c73a..65a0eb88a34c1 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-12-13 +date: 2023-12-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 77482c147c580..6f2c5cf9ad6fd 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-12-13 +date: 2023-12-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 6eecab36e6177..708f8d2fdbaa8 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-12-13 +date: 2023-12-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 9cf7949cced73..3199ddb802713 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-12-13 +date: 2023-12-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 746fbbd74f6be..dc20781b20cae 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-12-13 +date: 2023-12-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 9f21cd0dc029a..46af010601d5b 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-12-13 +date: 2023-12-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 bd19ff90e4ed6..8eca6b3fc6d29 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-12-13 +date: 2023-12-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 1bc06056dcbcb..d21cbb5eec200 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-12-13 +date: 2023-12-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 7de464cb3b69c..d7a74847f935c 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-12-13 +date: 2023-12-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 eac4333f59568..00fd8c7d383e2 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-12-13 +date: 2023-12-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 330a5902fd11d..ba99871e6b1b4 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-12-13 +date: 2023-12-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 4dcfc49869ba0..b8511ce65b7e2 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-12-13 +date: 2023-12-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 e8f195fee88ec..d39bda8dabd17 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-12-13 +date: 2023-12-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 6793265c8aa15..9cfc045fbb64e 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-12-13 +date: 2023-12-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 0d8e18e3d3cc6..7e203b30a9e72 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-12-13 +date: 2023-12-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 7e38479e3cc27..51cdf4fefda47 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-12-13 +date: 2023-12-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 db082887ab8a0..5125d94944f5d 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-12-13 +date: 2023-12-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 3751b78444017..00b68d249f4f0 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-12-13 +date: 2023-12-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 ca3aff31a4cf1..f483d7259711e 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-12-13 +date: 2023-12-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 45b4509e14493..ce683b7179c57 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-12-13 +date: 2023-12-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 e5d13df751b85..800b2976a4527 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-12-13 +date: 2023-12-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 3d6bc5235b40c..cbe4a33a09cbf 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-12-13 +date: 2023-12-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 9ceef895b28f6..3bca43872d961 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-12-13 +date: 2023-12-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 c5fcac50533a7..4818e481bed89 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-12-13 +date: 2023-12-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 75e4dc81274b0..1ae3f125b0bff 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-12-13 +date: 2023-12-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 54ae10ae3cd01..4b8634c3f26c9 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-12-13 +date: 2023-12-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 1cb5a78991718..50867efbd14e3 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-12-13 +date: 2023-12-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 3690cfcf46081..a276697656467 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-12-13 +date: 2023-12-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 76d5a9d233f93..68740102467f3 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-12-13 +date: 2023-12-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 4667604ed9450..2943921a0bea0 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-12-13 +date: 2023-12-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 84fb88fae897a..24754a6c71e5c 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-12-13 +date: 2023-12-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 61ef0e7570514..9e1abb5b01025 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-12-13 +date: 2023-12-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_contracts_browser.mdx b/api_docs/kbn_core_plugins_contracts_browser.mdx index 8f960a3928655..cf7c6ecb50030 100644 --- a/api_docs/kbn_core_plugins_contracts_browser.mdx +++ b/api_docs/kbn_core_plugins_contracts_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-browser title: "@kbn/core-plugins-contracts-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-browser plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-browser'] --- import kbnCorePluginsContractsBrowserObj from './kbn_core_plugins_contracts_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_contracts_server.mdx b/api_docs/kbn_core_plugins_contracts_server.mdx index 0f4b87031d582..bcbcf9d92854e 100644 --- a/api_docs/kbn_core_plugins_contracts_server.mdx +++ b/api_docs/kbn_core_plugins_contracts_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-server title: "@kbn/core-plugins-contracts-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-server plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-server'] --- import kbnCorePluginsContractsServerObj from './kbn_core_plugins_contracts_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 2d9e09da8a755..0b4d038f60e63 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-12-13 +date: 2023-12-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 853a8c94fd2d8..f7c1631238bc0 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-12-13 +date: 2023-12-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 4172b3cbd4a43..bcdc5b4c38131 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-12-13 +date: 2023-12-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 4289e8b9d62b6..20e73808a996d 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-12-13 +date: 2023-12-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 a657b7f9cead1..05f415195ddd9 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-12-13 +date: 2023-12-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 5e6ec55efcbfa..dd32d83d7066b 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-12-13 +date: 2023-12-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 c964f14f656c9..1badbce26bc9c 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-12-13 +date: 2023-12-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 225025fd28f42..6a79303df0a65 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-12-13 +date: 2023-12-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 3a67f9680e990..ee0fbc2c29d9f 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-12-13 +date: 2023-12-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.devdocs.json b/api_docs/kbn_core_saved_objects_api_server.devdocs.json index 51dfc7d588784..3756940fe5518 100644 --- a/api_docs/kbn_core_saved_objects_api_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_server.devdocs.json @@ -6035,15 +6035,15 @@ }, { "plugin": "@kbn/core-saved-objects-api-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts" + "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.test.ts" }, { "plugin": "@kbn/core-saved-objects-api-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts" + "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.test.ts" }, { "plugin": "@kbn/core-saved-objects-api-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts" + "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.test.ts" } ] }, @@ -7207,7 +7207,7 @@ }, { "plugin": "@kbn/core-saved-objects-api-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts" + "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/increment_counter.test.ts" } ] }, diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 3cbe8db9b56b2..a90191b8317b6 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-12-13 +date: 2023-12-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 9f1861343d56a..056080f230f22 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-12-13 +date: 2023-12-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 fa03ac492e35f..6cfdbfc94326a 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-12-13 +date: 2023-12-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 c442c252f7dc8..2142148cda10d 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-12-13 +date: 2023-12-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 686e5adfac317..e710bac75ebe2 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-12-13 +date: 2023-12-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 af72bbb47b4e0..0cab3e54d7987 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-12-13 +date: 2023-12-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 67eb29f599876..7fda19cdff991 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-12-13 +date: 2023-12-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 51be848cdf4f3..1acd39dc05567 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-12-13 +date: 2023-12-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 0da26fad91241..69424892a3015 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-12-13 +date: 2023-12-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 2af26f92d9cba..13b3072d53754 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-12-13 +date: 2023-12-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 ef9769a2b4de9..360fe1f068706 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-12-13 +date: 2023-12-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 1c251fc569fdd..66a5990678370 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-12-13 +date: 2023-12-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 217996ebf2ec9..e85a534e05801 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-12-13 +date: 2023-12-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 1f7339467049d..935f22a0089f3 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-12-13 +date: 2023-12-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 1b427bab5a16c..8fea1b617cb43 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-12-13 +date: 2023-12-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 4d5bb27403790..59a1fc0867e6f 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-12-13 +date: 2023-12-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 757930a265a42..92c1a8c7815b2 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-12-13 +date: 2023-12-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 78a8b715801c1..4b46faa3e8caf 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-12-13 +date: 2023-12-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 4dbc5433d61e6..88fa1235135fe 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-12-13 +date: 2023-12-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 0a17e80d44d94..af33db06ebcf6 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-12-13 +date: 2023-12-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 34846dd69b6cd..7c942d6abc4dc 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-12-13 +date: 2023-12-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 f7e32a86a57d3..f36f1657910c2 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-12-13 +date: 2023-12-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 1e094750d0923..aa853926dea9d 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-12-13 +date: 2023-12-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 c16469d1d7de6..0602984bbcc45 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-12-13 +date: 2023-12-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_model_versions.mdx b/api_docs/kbn_core_test_helpers_model_versions.mdx index 679a39206805e..1bde992b6c875 100644 --- a/api_docs/kbn_core_test_helpers_model_versions.mdx +++ b/api_docs/kbn_core_test_helpers_model_versions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions title: "@kbn/core-test-helpers-model-versions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-model-versions plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-model-versions'] --- import kbnCoreTestHelpersModelVersionsObj from './kbn_core_test_helpers_model_versions.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 6742babd8492b..3444bca4049f5 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-12-13 +date: 2023-12-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 326c546649937..f9172f5ec0283 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-12-13 +date: 2023-12-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 a7138087a4029..f48814a04b93a 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-12-13 +date: 2023-12-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 a926ef20794de..31aa54e348761 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-12-13 +date: 2023-12-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 193b975169f8c..75bf59a7a3f1b 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-12-13 +date: 2023-12-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 249abfb23f3fe..77a3c0667abc6 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-12-13 +date: 2023-12-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 496ddcdc0a860..6275d55478890 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-12-13 +date: 2023-12-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 47cc146a759c5..2abb404044411 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-12-13 +date: 2023-12-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 02e9bf7b7ccdc..8981ed830e37b 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-12-13 +date: 2023-12-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 6eb605151af98..435b36bad8a01 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-12-13 +date: 2023-12-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 7b7aaace79737..3fcc1642dea37 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-12-13 +date: 2023-12-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 d532d2918ac42..765d46ce3960a 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-12-13 +date: 2023-12-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 fbba0242c64b3..b59df80f38ee0 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-12-13 +date: 2023-12-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 e59de6d91bb60..67903a6a86210 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-12-13 +date: 2023-12-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 8c80068266e24..855790a2d5d77 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-12-13 +date: 2023-12-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 72a4618d648e9..ef0a007fe8a23 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-12-13 +date: 2023-12-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 8d04ae66cff3e..2a33cbb5b14ec 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-12-13 +date: 2023-12-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 cbfce21ad9f88..f24ed68ab1982 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-12-13 +date: 2023-12-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 797a2960f36dc..1e3156890af6d 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_icons.mdx b/api_docs/kbn_custom_icons.mdx index e6d4931de6e25..70f6b024aba4d 100644 --- a/api_docs/kbn_custom_icons.mdx +++ b/api_docs/kbn_custom_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-icons title: "@kbn/custom-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-icons plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-icons'] --- import kbnCustomIconsObj from './kbn_custom_icons.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index 77c05539afc2f..e76346a0fe2c6 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-12-13 +date: 2023-12-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 7d553155e80a7..1aea800abc5c5 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-12-13 +date: 2023-12-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 1a1b49d74d506..7fd835f1811c4 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-12-13 +date: 2023-12-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 cff702c8454f7..0752146711c78 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-12-13 +date: 2023-12-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 bca751a7894e0..dbbac6f58fc45 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-12-13 +date: 2023-12-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 74f3c0b2c6bdc..a26ac025e4492 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-12-13 +date: 2023-12-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 cbb06ddc7e649..3cdb7479612ae 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-12-13 +date: 2023-12-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 d05d87e357de7..ffc706d589a4e 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-12-13 +date: 2023-12-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 91c39d73c54be..de11f9d86baa5 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-12-13 +date: 2023-12-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 e4c690254167f..d7e09675dc1ab 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-12-13 +date: 2023-12-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 f574019bc37a5..360f8e0027bc0 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-12-13 +date: 2023-12-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 4d84e974f2ae4..06da371782278 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-12-13 +date: 2023-12-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 355a46813c9e0..3158fb485a0f9 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-12-13 +date: 2023-12-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.mdx b/api_docs/kbn_default_nav_ml.mdx index 376d689c46a4d..a966ec98c67ec 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-12-13 +date: 2023-12-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 c9e0ad5c06637..88e407cdeb453 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-12-13 +date: 2023-12-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 f5d94a99102ca..50bf98914745c 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-12-13 +date: 2023-12-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 4c4d02b8f24ee..67adb7455878e 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-12-13 +date: 2023-12-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 fc0d0f7e9c405..4d643efd64358 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-12-13 +date: 2023-12-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 9f4c60267c061..978674c71e75e 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-12-13 +date: 2023-12-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.devdocs.json b/api_docs/kbn_doc_links.devdocs.json index 417cdaff4e836..0120336a220ea 100644 --- a/api_docs/kbn_doc_links.devdocs.json +++ b/api_docs/kbn_doc_links.devdocs.json @@ -840,7 +840,7 @@ "label": "fleet", "description": [], "signature": [ - "{ readonly beatsAgentComparison: string; readonly guide: string; readonly fleetServer: string; readonly fleetServerAddFleetServer: string; readonly esSettings: string; readonly settings: string; readonly logstashSettings: string; readonly kafkaSettings: string; readonly settingsFleetServerHostSettings: string; readonly settingsFleetServerProxySettings: string; readonly troubleshooting: string; readonly elasticAgent: string; readonly datastreams: string; readonly datastreamsILM: string; readonly datastreamsNamingScheme: string; readonly datastreamsManualRollover: string; readonly datastreamsTSDS: string; readonly datastreamsTSDSMetrics: string; readonly installElasticAgent: string; readonly installElasticAgentStandalone: string; readonly packageSignatures: string; readonly upgradeElasticAgent: string; readonly learnMoreBlog: string; readonly apiKeysLearnMore: string; readonly onPremRegistry: string; readonly secureLogstash: string; readonly agentPolicy: string; readonly api: string; readonly uninstallAgent: string; readonly installAndUninstallIntegrationAssets: string; readonly elasticAgentInputConfiguration: string; readonly policySecrets: string; readonly remoteESOoutput: string; }" + "{ readonly beatsAgentComparison: string; readonly guide: string; readonly fleetServer: string; readonly fleetServerAddFleetServer: string; readonly esSettings: string; readonly settings: string; readonly logstashSettings: string; readonly kafkaSettings: string; readonly settingsFleetServerHostSettings: string; readonly settingsFleetServerProxySettings: string; readonly troubleshooting: string; readonly elasticAgent: string; readonly datastreams: string; readonly datastreamsILM: string; readonly datastreamsNamingScheme: string; readonly datastreamsManualRollover: string; readonly datastreamsTSDS: string; readonly datastreamsTSDSMetrics: string; readonly installElasticAgent: string; readonly installElasticAgentStandalone: string; readonly packageSignatures: string; readonly upgradeElasticAgent: string; readonly learnMoreBlog: string; readonly apiKeysLearnMore: string; readonly onPremRegistry: string; readonly secureLogstash: string; readonly agentPolicy: string; readonly api: string; readonly uninstallAgent: string; readonly installAndUninstallIntegrationAssets: string; readonly elasticAgentInputConfiguration: string; readonly policySecrets: string; readonly remoteESOoutput: string; readonly performancePresets: string; }" ], "path": "packages/kbn-doc-links/src/types.ts", "deprecated": false, diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 0190e6a3d4c0e..85a0eb87dda41 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-12-13 +date: 2023-12-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 07dd422299359..fbe695785f403 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-12-13 +date: 2023-12-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 89fb8f4639420..6a1beea9bbc35 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-12-13 +date: 2023-12-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 75e4cf8683ed1..6c266612e1dba 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-12-13 +date: 2023-12-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 50c5250908e1d..f0e1e2fdd5444 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-12-13 +date: 2023-12-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 286e08990126d..9060324385429 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-12-13 +date: 2023-12-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_agent_utils.mdx b/api_docs/kbn_elastic_agent_utils.mdx index 05eec93c0206e..f8d7c14a27b23 100644 --- a/api_docs/kbn_elastic_agent_utils.mdx +++ b/api_docs/kbn_elastic_agent_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-agent-utils title: "@kbn/elastic-agent-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-agent-utils plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-agent-utils'] --- import kbnElasticAgentUtilsObj from './kbn_elastic_agent_utils.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 824ef416a252b..e994958210a4e 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant_common.mdx b/api_docs/kbn_elastic_assistant_common.mdx index e5eb4719162ef..21d158710f5be 100644 --- a/api_docs/kbn_elastic_assistant_common.mdx +++ b/api_docs/kbn_elastic_assistant_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant-common title: "@kbn/elastic-assistant-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant-common plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant-common'] --- import kbnElasticAssistantCommonObj from './kbn_elastic_assistant_common.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 5248a83e6398f..1a3eb5aeb297f 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-12-13 +date: 2023-12-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 715e1c162dfff..305aa87915360 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-12-13 +date: 2023-12-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 df73bd0d75190..f3531439b2b03 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-12-13 +date: 2023-12-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 45d7c549158c4..38872b70470c7 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-12-13 +date: 2023-12-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 0952d933464bf..0c7817d853174 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-12-13 +date: 2023-12-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 0c0821d6dda17..c919897550420 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-12-13 +date: 2023-12-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 131398f26e042..7b405707e061f 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-12-13 +date: 2023-12-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 cc3862cec982b..408258b75dbf6 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-12-13 +date: 2023-12-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 d3ac28ade010e..e9bb925fab64d 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-12-13 +date: 2023-12-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 6463cacd9e717..4f68b9e428686 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_field_utils.mdx b/api_docs/kbn_field_utils.mdx index 06d175b25b7cb..079d47c19bfe2 100644 --- a/api_docs/kbn_field_utils.mdx +++ b/api_docs/kbn_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-utils title: "@kbn/field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-utils plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-utils'] --- import kbnFieldUtilsObj from './kbn_field_utils.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 32494163a6287..64feb105afb74 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-12-13 +date: 2023-12-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 31886b2094864..9d54ba918b8a8 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-12-13 +date: 2023-12-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 686bc471e42e4..89c68eba6e349 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-12-13 +date: 2023-12-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 2eefc2369697f..b192f3bf1996b 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-12-13 +date: 2023-12-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 6b6a1b00f78db..0cf92f5f0a7c0 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index a642f257df5fc..929e716c9bf7a 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-12-13 +date: 2023-12-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 03919a18e2f07..a29e98f6b9ed1 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-12-13 +date: 2023-12-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 5c42bd80242f1..8b6abee237b76 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-12-13 +date: 2023-12-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 c82122a723038..8ccef41edc22d 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-12-13 +date: 2023-12-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 beb3488e00a8e..f277cd28fdca9 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-12-13 +date: 2023-12-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 f6a71e5202038..8fe49cc669c06 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-12-13 +date: 2023-12-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 f5835a8a6ac9a..2e5fe4c464542 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-12-13 +date: 2023-12-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 e7cfa83d170a3..41b2afc4f333c 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-12-13 +date: 2023-12-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 7e17a68b0caf6..a35d63ea8a7ab 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-12-13 +date: 2023-12-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 1a76683430fd2..bf8715eaa7622 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-12-13 +date: 2023-12-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 5b3f1c09f834d..d07075bd088e1 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-12-13 +date: 2023-12-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 cd6f32db4a6c1..f7bf2d7e0821d 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-12-13 +date: 2023-12-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 69b01da920f36..da61e72922054 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-12-13 +date: 2023-12-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 5a56570507bb6..a4bb49aa496d2 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-12-13 +date: 2023-12-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 b994b4ba78ddd..13f9098f7382d 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-12-13 +date: 2023-12-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 12b2b6d927838..97fcd3dd6ac17 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-12-13 +date: 2023-12-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 a74b229db148e..936b4dc0d262e 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-12-13 +date: 2023-12-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 fa150ec4071e8..81840d8eea5f9 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-12-13 +date: 2023-12-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 00527bca17d36..4dd03ba88a8f3 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-12-13 +date: 2023-12-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 fc0c2e7eaf5c9..e51b9619d27ff 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-12-13 +date: 2023-12-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 d57da2600e752..f42e0024f2028 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-12-13 +date: 2023-12-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 5e8070808bbee..d76ade5f7d73d 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-12-13 +date: 2023-12-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_application.mdx b/api_docs/kbn_management_settings_application.mdx index f5df57c02cd0a..669eb0159e556 100644 --- a/api_docs/kbn_management_settings_application.mdx +++ b/api_docs/kbn_management_settings_application.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application title: "@kbn/management-settings-application" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-application plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-application'] --- import kbnManagementSettingsApplicationObj from './kbn_management_settings_application.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_category.mdx b/api_docs/kbn_management_settings_components_field_category.mdx index c1f41a4f80de8..efe5ab36a4bf6 100644 --- a/api_docs/kbn_management_settings_components_field_category.mdx +++ b/api_docs/kbn_management_settings_components_field_category.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category title: "@kbn/management-settings-components-field-category" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-category plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-category'] --- import kbnManagementSettingsComponentsFieldCategoryObj from './kbn_management_settings_components_field_category.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index bfcdf11720a45..7d1662316fb08 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-12-13 +date: 2023-12-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 2ce0ffe395efd..6229e7b74eecd 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-12-13 +date: 2023-12-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_components_form.mdx b/api_docs/kbn_management_settings_components_form.mdx index 0beddbe227c9e..66dd0edee14a6 100644 --- a/api_docs/kbn_management_settings_components_form.mdx +++ b/api_docs/kbn_management_settings_components_form.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form title: "@kbn/management-settings-components-form" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-form plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-form'] --- import kbnManagementSettingsComponentsFormObj from './kbn_management_settings_components_form.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 897e67cf54e2d..7c1e17fa7a02c 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-12-13 +date: 2023-12-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 80fd0019175d1..17d21f7ebd956 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-12-13 +date: 2023-12-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 e948e440036c1..672acc2753895 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-12-13 +date: 2023-12-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 7de2852066b85..66cb6845859f3 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-12-13 +date: 2023-12-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 ecd260135a5b7..5d37144f8a1ae 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-12-13 +date: 2023-12-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 7d1476c67ece6..3a91a5f391983 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-12-13 +date: 2023-12-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 e92912624971a..3984aab0b8485 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-12-13 +date: 2023-12-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 ef1d579be39ad..32a7973a36906 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-12-13 +date: 2023-12-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 3502123f7e578..6509c7d7e69e7 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-12-13 +date: 2023-12-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 a20ae933ab25c..31e333449633a 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-12-13 +date: 2023-12-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 580cd38214cdd..3b33c89786b67 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-12-13 +date: 2023-12-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_chi2test.mdx b/api_docs/kbn_ml_chi2test.mdx index 0d431a26a6dbe..c1d8dfc113126 100644 --- a/api_docs/kbn_ml_chi2test.mdx +++ b/api_docs/kbn_ml_chi2test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test title: "@kbn/ml-chi2test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-chi2test plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-chi2test'] --- import kbnMlChi2testObj from './kbn_ml_chi2test.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 283d0c2f8a7ea..3bd6bbf69383b 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-12-13 +date: 2023-12-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 439ae544d8605..ed2dc0134704e 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-12-13 +date: 2023-12-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.mdx b/api_docs/kbn_ml_date_picker.mdx index b518dab27f4eb..55618dbdb4a70 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-12-13 +date: 2023-12-14 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 351a555fe4282..63450f530f61f 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-12-13 +date: 2023-12-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 a1a0df5ed1a95..b083afc9a4c7b 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-12-13 +date: 2023-12-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 adb90a0916a82..8732a6f9e2ef8 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-12-13 +date: 2023-12-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 7d3165effd6a8..13bf77bc46563 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-12-13 +date: 2023-12-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 7765019ce7be3..e9d51c178d2ad 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-12-13 +date: 2023-12-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 49ec4c0312f01..0eb776b546d23 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-12-13 +date: 2023-12-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 29b00b4f0ea8c..46b9ba372e62b 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-12-13 +date: 2023-12-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 b40050b9838b0..3d7092ffd7709 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-12-13 +date: 2023-12-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 57f87953252f1..8ec0b649d8459 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-12-13 +date: 2023-12-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 9288ea13d8355..0ed8862d0a4c4 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-12-13 +date: 2023-12-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 6133035700ca6..c1718f87931ff 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-12-13 +date: 2023-12-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 27a3f24927c83..c33c75618cec4 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-12-13 +date: 2023-12-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 c6dd5611bca68..202dc046a8dac 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-12-13 +date: 2023-12-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 3455653ac867e..b8fd8e77a951d 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-12-13 +date: 2023-12-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 a6f445b91d1b2..9be85b872cee6 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-12-13 +date: 2023-12-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_ui_actions.mdx b/api_docs/kbn_ml_ui_actions.mdx index 6e33cd480e06f..f74f323bfb35e 100644 --- a/api_docs/kbn_ml_ui_actions.mdx +++ b/api_docs/kbn_ml_ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-ui-actions title: "@kbn/ml-ui-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-ui-actions plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-ui-actions'] --- import kbnMlUiActionsObj from './kbn_ml_ui_actions.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index d7b9d937de309..a3aae645f2499 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-12-13 +date: 2023-12-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 4d409c269cc33..742bcf72b1360 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-12-13 +date: 2023-12-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 6ddcb0039c3b1..fd571623fce5a 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-12-13 +date: 2023-12-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 5a47eb045785f..826846391da88 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-12-13 +date: 2023-12-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_observability_alerting_test_data.mdx b/api_docs/kbn_observability_alerting_test_data.mdx index ad173b74792f5..9d11827c0b9b0 100644 --- a/api_docs/kbn_observability_alerting_test_data.mdx +++ b/api_docs/kbn_observability_alerting_test_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-test-data title: "@kbn/observability-alerting-test-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alerting-test-data plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-test-data'] --- import kbnObservabilityAlertingTestDataObj from './kbn_observability_alerting_test_data.devdocs.json'; diff --git a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx index bb504f44e85d7..f87d8cfa8a26e 100644 --- a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx +++ b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-get-padded-alert-time-range-util title: "@kbn/observability-get-padded-alert-time-range-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-get-padded-alert-time-range-util plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-get-padded-alert-time-range-util'] --- import kbnObservabilityGetPaddedAlertTimeRangeUtilObj from './kbn_observability_get_padded_alert_time_range_util.devdocs.json'; diff --git a/api_docs/kbn_openapi_bundler.mdx b/api_docs/kbn_openapi_bundler.mdx index c74cc52197962..519e53fa12335 100644 --- a/api_docs/kbn_openapi_bundler.mdx +++ b/api_docs/kbn_openapi_bundler.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-bundler title: "@kbn/openapi-bundler" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-bundler plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-bundler'] --- import kbnOpenapiBundlerObj from './kbn_openapi_bundler.devdocs.json'; diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx index e237ff406439a..408ecc2638aa9 100644 --- a/api_docs/kbn_openapi_generator.mdx +++ b/api_docs/kbn_openapi_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator title: "@kbn/openapi-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-generator plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-generator'] --- import kbnOpenapiGeneratorObj from './kbn_openapi_generator.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index f6f16b5a9899a..e6712f7ee10f5 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-12-13 +date: 2023-12-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 2d75ba3911991..07727bf4ee5e0 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-12-13 +date: 2023-12-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 a06116214ee4d..04658930962b8 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-12-13 +date: 2023-12-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_panel_loader.mdx b/api_docs/kbn_panel_loader.mdx index af6f4153a775b..cc8a1a1ec05f1 100644 --- a/api_docs/kbn_panel_loader.mdx +++ b/api_docs/kbn_panel_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-panel-loader title: "@kbn/panel-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/panel-loader plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/panel-loader'] --- import kbnPanelLoaderObj from './kbn_panel_loader.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index c99f839e0cd87..c3a18b9089e9e 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-12-13 +date: 2023-12-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 1ff790b494f92..fa4d93f13d8dd 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-12-13 +date: 2023-12-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 14cdbb159032d..f499c241f67d1 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-12-13 +date: 2023-12-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 97ea75e3b7311..c1a12dfb753c8 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-12-13 +date: 2023-12-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 8a68c2147d2f2..456b986a657fe 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-12-13 +date: 2023-12-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 df9509c23887c..20bf1c72e99b1 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-12-13 +date: 2023-12-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 d6b506ea27baa..a9dd48b905187 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-12-13 +date: 2023-12-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 03c9fd692c898..0edc72c889c3a 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-12-13 +date: 2023-12-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 e9ae72a522762..c0a5c630df6fd 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-12-13 +date: 2023-12-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 96a8c16d6e5c0..65161a126d97e 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-12-13 +date: 2023-12-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 3adad51d474a1..9587aacbaa957 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-12-13 +date: 2023-12-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 1075cef5e2127..6c24257119b95 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-12-13 +date: 2023-12-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 311f1dcf1a038..5d34befcd11d7 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-12-13 +date: 2023-12-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 2e0a455c85645..129e80ff41e63 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-12-13 +date: 2023-12-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 b104dc4bc3131..7b6fa4b926bd3 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-12-13 +date: 2023-12-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 cb34a5bc49c05..42acbab3cbdf9 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-12-13 +date: 2023-12-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 f895dedb40b97..7e4e285cfca3e 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv.mdx b/api_docs/kbn_reporting_export_types_csv.mdx index 8b6545393f1cf..a5027dd7dbfda 100644 --- a/api_docs/kbn_reporting_export_types_csv.mdx +++ b/api_docs/kbn_reporting_export_types_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv title: "@kbn/reporting-export-types-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv'] --- import kbnReportingExportTypesCsvObj from './kbn_reporting_export_types_csv.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv_common.mdx b/api_docs/kbn_reporting_export_types_csv_common.mdx index b53ad1d9b7a7b..f1f9f572e67c8 100644 --- a/api_docs/kbn_reporting_export_types_csv_common.mdx +++ b/api_docs/kbn_reporting_export_types_csv_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv-common title: "@kbn/reporting-export-types-csv-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv-common plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv-common'] --- import kbnReportingExportTypesCsvCommonObj from './kbn_reporting_export_types_csv_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf.mdx b/api_docs/kbn_reporting_export_types_pdf.mdx index 7006c2ebb02fb..895d12eb5c6cc 100644 --- a/api_docs/kbn_reporting_export_types_pdf.mdx +++ b/api_docs/kbn_reporting_export_types_pdf.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf title: "@kbn/reporting-export-types-pdf" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf'] --- import kbnReportingExportTypesPdfObj from './kbn_reporting_export_types_pdf.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf_common.mdx b/api_docs/kbn_reporting_export_types_pdf_common.mdx index 3f30bdb419d76..49b38119c05b5 100644 --- a/api_docs/kbn_reporting_export_types_pdf_common.mdx +++ b/api_docs/kbn_reporting_export_types_pdf_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf-common title: "@kbn/reporting-export-types-pdf-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf-common plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf-common'] --- import kbnReportingExportTypesPdfCommonObj from './kbn_reporting_export_types_pdf_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png.mdx b/api_docs/kbn_reporting_export_types_png.mdx index 3f0e19f78c12d..6306d833f6850 100644 --- a/api_docs/kbn_reporting_export_types_png.mdx +++ b/api_docs/kbn_reporting_export_types_png.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png title: "@kbn/reporting-export-types-png" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png'] --- import kbnReportingExportTypesPngObj from './kbn_reporting_export_types_png.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png_common.mdx b/api_docs/kbn_reporting_export_types_png_common.mdx index 646425127b092..66b576ef5f51a 100644 --- a/api_docs/kbn_reporting_export_types_png_common.mdx +++ b/api_docs/kbn_reporting_export_types_png_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png-common title: "@kbn/reporting-export-types-png-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png-common plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png-common'] --- import kbnReportingExportTypesPngCommonObj from './kbn_reporting_export_types_png_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_mocks_server.mdx b/api_docs/kbn_reporting_mocks_server.mdx index c4fb7f8b90b17..f879074cc9cfa 100644 --- a/api_docs/kbn_reporting_mocks_server.mdx +++ b/api_docs/kbn_reporting_mocks_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-mocks-server title: "@kbn/reporting-mocks-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-mocks-server plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-mocks-server'] --- import kbnReportingMocksServerObj from './kbn_reporting_mocks_server.devdocs.json'; diff --git a/api_docs/kbn_reporting_public.mdx b/api_docs/kbn_reporting_public.mdx index 3522fa6bdf41d..e228d35795d2f 100644 --- a/api_docs/kbn_reporting_public.mdx +++ b/api_docs/kbn_reporting_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-public title: "@kbn/reporting-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-public plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-public'] --- import kbnReportingPublicObj from './kbn_reporting_public.devdocs.json'; diff --git a/api_docs/kbn_reporting_server.mdx b/api_docs/kbn_reporting_server.mdx index 7d7474b00053d..b628ad0b0e009 100644 --- a/api_docs/kbn_reporting_server.mdx +++ b/api_docs/kbn_reporting_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-server title: "@kbn/reporting-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-server plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-server'] --- import kbnReportingServerObj from './kbn_reporting_server.devdocs.json'; diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx index ef16d0652bb93..53fbf7fd345ed 100644 --- a/api_docs/kbn_resizable_layout.mdx +++ b/api_docs/kbn_resizable_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout title: "@kbn/resizable-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/resizable-layout plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout'] --- import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 000bd5413ec62..cc926eae23154 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-12-13 +date: 2023-12-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 55e679923887d..d471eb421103e 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-12-13 +date: 2023-12-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 0efb1f26615d6..5cd8740ae10b4 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-12-13 +date: 2023-12-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 5fddb72479ab1..47498a78d309f 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-12-13 +date: 2023-12-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 a67b9b6ed0616..5e3d153e78875 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-12-13 +date: 2023-12-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.devdocs.json b/api_docs/kbn_search_connectors.devdocs.json index a6acd12d30d6a..f3377ab693b7f 100644 --- a/api_docs/kbn_search_connectors.devdocs.json +++ b/api_docs/kbn_search_connectors.devdocs.json @@ -9321,6 +9321,33 @@ ] } ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.confluence.features.FeatureName.DOCUMENT_LEVEL_SECURITY", + "type": "Object", + "tags": [], + "label": "[FeatureName.DOCUMENT_LEVEL_SECURITY]", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.confluence.features.FeatureName.DOCUMENT_LEVEL_SECURITY.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ] }, @@ -12540,10 +12567,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage", "type": "Object", "tags": [], - "label": "google_drive", + "label": "google_cloud_storage", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12551,7 +12578,19 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration", "type": "Object", "tags": [], "label": "configuration", @@ -12562,7 +12601,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials", "type": "Object", "tags": [], "label": "service_account_credentials", @@ -12573,7 +12612,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -12587,7 +12626,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -12601,7 +12640,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.display", "type": "string", "tags": [], "label": "display", @@ -12622,7 +12661,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.label", "type": "string", "tags": [], "label": "label", @@ -12633,7 +12672,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.options", "type": "Array", "tags": [], "label": "options", @@ -12647,7 +12686,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.order", "type": "number", "tags": [], "label": "order", @@ -12658,7 +12697,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.required", "type": "boolean", "tags": [], "label": "required", @@ -12672,7 +12711,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -12686,18 +12725,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.type", "type": "string", "tags": [], "label": "type", @@ -12718,7 +12760,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -12732,7 +12774,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.validations", "type": "Array", "tags": [], "label": "validations", @@ -12746,7 +12788,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.service_account_credentials.value", "type": "string", "tags": [], "label": "value", @@ -12759,10 +12801,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count", "type": "Object", "tags": [], - "label": "use_domain_wide_delegation_for_sync", + "label": "retry_count", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12770,21 +12812,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -12798,7 +12837,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.display", "type": "string", "tags": [], "label": "display", @@ -12811,7 +12850,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12819,7 +12858,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.label", "type": "string", "tags": [], "label": "label", @@ -12830,7 +12869,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.options", "type": "Array", "tags": [], "label": "options", @@ -12844,7 +12883,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.order", "type": "number", "tags": [], "label": "order", @@ -12855,13 +12894,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12869,7 +12908,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -12883,18 +12922,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.type", "type": "string", "tags": [], "label": "type", @@ -12907,7 +12949,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12915,13 +12957,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12929,7 +12971,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.validations", "type": "Array", "tags": [], "label": "validations", @@ -12943,14 +12985,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.retry_count.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -12959,10 +12998,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service", "type": "Object", "tags": [], - "label": "google_workspace_admin_email_for_data_sync", + "label": "use_text_extraction_service", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12970,7 +13009,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -12984,13 +13023,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: true; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12998,7 +13037,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.display", "type": "string", "tags": [], "label": "display", @@ -13011,7 +13050,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13019,7 +13058,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.label", "type": "string", "tags": [], "label": "label", @@ -13030,7 +13069,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.options", "type": "Array", "tags": [], "label": "options", @@ -13044,7 +13083,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.order", "type": "number", "tags": [], "label": "order", @@ -13055,7 +13094,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.required", "type": "boolean", "tags": [], "label": "required", @@ -13069,7 +13108,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -13083,7 +13122,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -13094,7 +13133,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.type", "type": "string", "tags": [], "label": "type", @@ -13107,7 +13146,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13115,13 +13154,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13129,13 +13168,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.validations", "type": "Array", "tags": [], "label": "validations", "description": [], "signature": [ - "{ type: string; constraint: string; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13143,23 +13182,74 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.configuration.use_text_extraction_service.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false } ] - }, + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_cloud_storage.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive", + "type": "Object", + "tags": [], + "label": "google_drive", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials", "type": "Object", "tags": [], - "label": "google_workspace_email_for_shared_drives_sync", + "label": "service_account_credentials", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13167,7 +13257,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -13181,13 +13271,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: true; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13195,7 +13285,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.display", "type": "string", "tags": [], "label": "display", @@ -13208,7 +13298,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TEXTAREA" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13216,7 +13306,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.label", "type": "string", "tags": [], "label": "label", @@ -13227,7 +13317,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.options", "type": "Array", "tags": [], "label": "options", @@ -13241,7 +13331,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.order", "type": "number", "tags": [], "label": "order", @@ -13252,7 +13342,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.required", "type": "boolean", "tags": [], "label": "required", @@ -13266,13 +13356,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13280,7 +13370,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -13291,7 +13381,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.type", "type": "string", "tags": [], "label": "type", @@ -13312,7 +13402,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -13326,13 +13416,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.validations", "type": "Array", "tags": [], "label": "validations", "description": [], "signature": [ - "{ type: string; constraint: string; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13340,7 +13430,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.value", "type": "string", "tags": [], "label": "value", @@ -13353,10 +13443,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync", "type": "Object", "tags": [], - "label": "use_document_level_security", + "label": "use_domain_wide_delegation_for_sync", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13364,7 +13454,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -13378,7 +13468,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -13392,7 +13482,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.display", "type": "string", "tags": [], "label": "display", @@ -13413,7 +13503,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.label", "type": "string", "tags": [], "label": "label", @@ -13424,7 +13514,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.options", "type": "Array", "tags": [], "label": "options", @@ -13438,7 +13528,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.order", "type": "number", "tags": [], "label": "order", @@ -13449,7 +13539,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.required", "type": "boolean", "tags": [], "label": "required", @@ -13463,7 +13553,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -13477,7 +13567,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -13488,7 +13578,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.type", "type": "string", "tags": [], "label": "type", @@ -13509,7 +13599,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -13523,7 +13613,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.validations", "type": "Array", "tags": [], "label": "validations", @@ -13537,7 +13627,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_domain_wide_delegation_for_sync.value", "type": "boolean", "tags": [], "label": "value", @@ -13553,10 +13643,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync", "type": "Object", "tags": [], - "label": "google_workspace_admin_email", + "label": "google_workspace_admin_email_for_data_sync", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13564,7 +13654,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -13578,13 +13668,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "({ field: string; value: true; } | { field: string; value: false; })[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13592,7 +13682,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.display", "type": "string", "tags": [], "label": "display", @@ -13613,7 +13703,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.label", "type": "string", "tags": [], "label": "label", @@ -13624,7 +13714,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.options", "type": "Array", "tags": [], "label": "options", @@ -13638,7 +13728,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.order", "type": "number", "tags": [], "label": "order", @@ -13649,7 +13739,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.required", "type": "boolean", "tags": [], "label": "required", @@ -13663,7 +13753,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -13677,7 +13767,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -13688,7 +13778,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.type", "type": "string", "tags": [], "label": "type", @@ -13709,7 +13799,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -13723,7 +13813,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.validations", "type": "Array", "tags": [], "label": "validations", @@ -13737,7 +13827,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email_for_data_sync.value", "type": "string", "tags": [], "label": "value", @@ -13750,10 +13840,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync", "type": "Object", "tags": [], - "label": "max_concurrency", + "label": "google_workspace_email_for_shared_drives_sync", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13761,24 +13851,27 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13786,7 +13879,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.display", "type": "string", "tags": [], "label": "display", @@ -13799,7 +13892,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13807,7 +13900,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.label", "type": "string", "tags": [], "label": "label", @@ -13818,7 +13911,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.options", "type": "Array", "tags": [], "label": "options", @@ -13832,7 +13925,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.order", "type": "number", "tags": [], "label": "order", @@ -13843,13 +13936,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13857,7 +13950,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -13871,7 +13964,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -13882,7 +13975,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.type", "type": "string", "tags": [], "label": "type", @@ -13895,7 +13988,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13903,13 +13996,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13917,13 +14010,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.validations", "type": "Array", "tags": [], "label": "validations", "description": [], "signature": [ - "{ type: string; constraint: number; }[]" + "{ type: string; constraint: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13931,7 +14024,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_email_for_shared_drives_sync.value", "type": "string", "tags": [], "label": "value", @@ -13944,10 +14037,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security", "type": "Object", "tags": [], - "label": "use_text_extraction_service", + "label": "use_document_level_security", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13955,7 +14048,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -13969,7 +14062,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -13983,7 +14076,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.display", "type": "string", "tags": [], "label": "display", @@ -14004,7 +14097,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.label", "type": "string", "tags": [], "label": "label", @@ -14015,7 +14108,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.options", "type": "Array", "tags": [], "label": "options", @@ -14029,7 +14122,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.order", "type": "number", "tags": [], "label": "order", @@ -14040,7 +14133,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.required", "type": "boolean", "tags": [], "label": "required", @@ -14054,7 +14147,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -14068,7 +14161,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -14079,7 +14172,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.type", "type": "string", "tags": [], "label": "type", @@ -14100,13 +14193,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14114,7 +14207,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.validations", "type": "Array", "tags": [], "label": "validations", @@ -14128,7 +14221,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.value", "type": "boolean", "tags": [], "label": "value", @@ -14141,101 +14234,13 @@ "trackAdoption": false } ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.features.FeatureName.DOCUMENT_LEVEL_SECURITY", - "type": "Object", - "tags": [], - "label": "[FeatureName.DOCUMENT_LEVEL_SECURITY]", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.features.FeatureName.DOCUMENT_LEVEL_SECURITY.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.serviceType", - "type": "string", - "tags": [], - "label": "serviceType", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira", - "type": "Object", - "tags": [], - "label": "jira", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration", - "type": "Object", - "tags": [], - "label": "configuration", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email", "type": "Object", "tags": [], - "label": "data_source", + "label": "google_workspace_admin_email", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14243,7 +14248,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -14257,13 +14262,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "({ field: string; value: true; } | { field: string; value: false; })[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14271,7 +14276,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.display", "type": "string", "tags": [], "label": "display", @@ -14284,7 +14289,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".DROPDOWN" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14292,7 +14297,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.label", "type": "string", "tags": [], "label": "label", @@ -14303,13 +14308,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.options", "type": "Array", "tags": [], "label": "options", "description": [], "signature": [ - "{ label: string; value: string; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14317,7 +14322,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.order", "type": "number", "tags": [], "label": "order", @@ -14328,7 +14333,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.required", "type": "boolean", "tags": [], "label": "required", @@ -14342,7 +14347,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -14356,21 +14361,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.type", "type": "string", "tags": [], "label": "type", @@ -14391,7 +14393,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -14405,13 +14407,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.validations", "type": "Array", "tags": [], "label": "validations", "description": [], "signature": [ - "never[]" + "{ type: string; constraint: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14419,7 +14421,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.value", "type": "string", "tags": [], "label": "value", @@ -14432,10 +14434,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency", "type": "Object", "tags": [], - "label": "username", + "label": "max_concurrency", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14443,27 +14445,24 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: string; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14471,7 +14470,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.display", "type": "string", "tags": [], "label": "display", @@ -14484,7 +14483,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14492,7 +14491,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.label", "type": "string", "tags": [], "label": "label", @@ -14503,7 +14502,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.options", "type": "Array", "tags": [], "label": "options", @@ -14517,7 +14516,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.order", "type": "number", "tags": [], "label": "order", @@ -14528,13 +14527,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14542,7 +14541,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -14556,21 +14555,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.type", "type": "string", "tags": [], "label": "type", @@ -14583,7 +14579,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14591,13 +14587,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14605,13 +14601,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.validations", "type": "Array", "tags": [], "label": "validations", "description": [], "signature": [ - "never[]" + "{ type: string; constraint: number; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14619,7 +14615,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.value", "type": "string", "tags": [], "label": "value", @@ -14632,10 +14628,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service", "type": "Object", "tags": [], - "label": "password", + "label": "use_text_extraction_service", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14643,7 +14639,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -14657,13 +14653,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: string; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14671,7 +14667,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.display", "type": "string", "tags": [], "label": "display", @@ -14684,7 +14680,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14692,7 +14688,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.label", "type": "string", "tags": [], "label": "label", @@ -14703,7 +14699,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.options", "type": "Array", "tags": [], "label": "options", @@ -14717,7 +14713,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.order", "type": "number", "tags": [], "label": "order", @@ -14728,7 +14724,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.required", "type": "boolean", "tags": [], "label": "required", @@ -14742,13 +14738,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14756,21 +14752,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.type", "type": "string", "tags": [], "label": "type", @@ -14783,7 +14776,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14791,13 +14784,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14805,7 +14798,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.validations", "type": "Array", "tags": [], "label": "validations", @@ -14819,23 +14812,39 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false } ] - }, + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.features.FeatureName.DOCUMENT_LEVEL_SECURITY", "type": "Object", "tags": [], - "label": "account_email", + "label": "[FeatureName.DOCUMENT_LEVEL_SECURITY]", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14843,7 +14852,82 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.features.FeatureName.DOCUMENT_LEVEL_SECURITY.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira", + "type": "Object", + "tags": [], + "label": "jira", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source", + "type": "Object", + "tags": [], + "label": "data_source", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -14857,13 +14941,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: string; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14871,7 +14955,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.display", "type": "string", "tags": [], "label": "display", @@ -14884,7 +14968,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".DROPDOWN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14892,7 +14976,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.label", "type": "string", "tags": [], "label": "label", @@ -14903,13 +14987,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.options", "type": "Array", "tags": [], "label": "options", "description": [], "signature": [ - "never[]" + "{ label: string; value: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14917,7 +15001,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.order", "type": "number", "tags": [], "label": "order", @@ -14928,18 +15012,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.placeholder", - "type": "string", - "tags": [], - "label": "placeholder", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.required", "type": "boolean", "tags": [], "label": "required", @@ -14953,7 +15026,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -14967,7 +15040,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -14981,7 +15054,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.type", "type": "string", "tags": [], "label": "type", @@ -15002,7 +15075,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -15016,7 +15089,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.validations", "type": "Array", "tags": [], "label": "validations", @@ -15030,7 +15103,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.value", "type": "string", "tags": [], "label": "value", @@ -15043,10 +15116,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username", "type": "Object", "tags": [], - "label": "api_token", + "label": "username", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15054,7 +15127,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -15068,7 +15141,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -15082,7 +15155,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.display", "type": "string", "tags": [], "label": "display", @@ -15103,7 +15176,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.label", "type": "string", "tags": [], "label": "label", @@ -15114,7 +15187,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.options", "type": "Array", "tags": [], "label": "options", @@ -15128,7 +15201,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.order", "type": "number", "tags": [], "label": "order", @@ -15139,7 +15212,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.required", "type": "boolean", "tags": [], "label": "required", @@ -15153,13 +15226,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15167,7 +15240,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -15181,7 +15254,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.type", "type": "string", "tags": [], "label": "type", @@ -15202,7 +15275,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -15216,7 +15289,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.validations", "type": "Array", "tags": [], "label": "validations", @@ -15230,7 +15303,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.value", "type": "string", "tags": [], "label": "value", @@ -15243,10 +15316,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password", "type": "Object", "tags": [], - "label": "jira_url", + "label": "password", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15254,7 +15327,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -15268,13 +15341,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15282,7 +15355,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.display", "type": "string", "tags": [], "label": "display", @@ -15303,7 +15376,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.label", "type": "string", "tags": [], "label": "label", @@ -15314,7 +15387,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.options", "type": "Array", "tags": [], "label": "options", @@ -15328,7 +15401,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.order", "type": "number", "tags": [], "label": "order", @@ -15339,18 +15412,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.placeholder", - "type": "string", - "tags": [], - "label": "placeholder", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.required", "type": "boolean", "tags": [], "label": "required", @@ -15364,13 +15426,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15378,7 +15440,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -15392,7 +15454,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.type", "type": "string", "tags": [], "label": "type", @@ -15413,7 +15475,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -15427,7 +15489,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.validations", "type": "Array", "tags": [], "label": "validations", @@ -15441,7 +15503,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.value", "type": "string", "tags": [], "label": "value", @@ -15454,10 +15516,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email", "type": "Object", "tags": [], - "label": "projects", + "label": "account_email", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15465,7 +15527,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -15479,13 +15541,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15493,7 +15555,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.display", "type": "string", "tags": [], "label": "display", @@ -15506,7 +15568,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTAREA" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15514,7 +15576,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.label", "type": "string", "tags": [], "label": "label", @@ -15525,7 +15587,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.options", "type": "Array", "tags": [], "label": "options", @@ -15539,7 +15601,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.order", "type": "number", "tags": [], "label": "order", @@ -15550,7 +15612,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.placeholder", + "type": "string", + "tags": [], + "label": "placeholder", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.required", "type": "boolean", "tags": [], "label": "required", @@ -15564,7 +15637,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -15578,18 +15651,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.type", "type": "string", "tags": [], "label": "type", @@ -15602,7 +15678,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".LIST" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15610,7 +15686,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -15624,7 +15700,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.validations", "type": "Array", "tags": [], "label": "validations", @@ -15638,7 +15714,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.value", "type": "string", "tags": [], "label": "value", @@ -15651,10 +15727,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token", "type": "Object", "tags": [], - "label": "ssl_enabled", + "label": "api_token", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15662,7 +15738,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -15676,13 +15752,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15690,7 +15766,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.display", "type": "string", "tags": [], "label": "display", @@ -15703,7 +15779,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15711,7 +15787,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.label", "type": "string", "tags": [], "label": "label", @@ -15722,7 +15798,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.options", "type": "Array", "tags": [], "label": "options", @@ -15736,7 +15812,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.order", "type": "number", "tags": [], "label": "order", @@ -15747,7 +15823,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.required", "type": "boolean", "tags": [], "label": "required", @@ -15761,13 +15837,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15775,7 +15851,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -15789,7 +15865,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.type", "type": "string", "tags": [], "label": "type", @@ -15802,7 +15878,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15810,7 +15886,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -15824,7 +15900,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.validations", "type": "Array", "tags": [], "label": "validations", @@ -15838,14 +15914,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -15854,10 +15927,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url", "type": "Object", "tags": [], - "label": "ssl_ca", + "label": "jira_url", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15865,7 +15938,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -15879,13 +15952,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: true; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15893,7 +15966,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.display", "type": "string", "tags": [], "label": "display", @@ -15914,7 +15987,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.label", "type": "string", "tags": [], "label": "label", @@ -15925,7 +15998,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.options", "type": "Array", "tags": [], "label": "options", @@ -15939,7 +16012,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.order", "type": "number", "tags": [], "label": "order", @@ -15950,7 +16023,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.placeholder", + "type": "string", + "tags": [], + "label": "placeholder", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.required", "type": "boolean", "tags": [], "label": "required", @@ -15964,7 +16048,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -15978,7 +16062,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -15992,7 +16076,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.type", "type": "string", "tags": [], "label": "type", @@ -16013,7 +16097,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -16027,7 +16111,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.validations", "type": "Array", "tags": [], "label": "validations", @@ -16041,7 +16125,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.value", "type": "string", "tags": [], "label": "value", @@ -16054,10 +16138,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects", "type": "Object", "tags": [], - "label": "retry_count", + "label": "projects", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16065,18 +16149,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -16090,7 +16177,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.display", "type": "string", "tags": [], "label": "display", @@ -16103,7 +16190,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTAREA" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16111,7 +16198,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.label", "type": "string", "tags": [], "label": "label", @@ -16122,7 +16209,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.options", "type": "Array", "tags": [], "label": "options", @@ -16136,7 +16223,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.order", "type": "number", "tags": [], "label": "order", @@ -16147,13 +16234,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16161,7 +16248,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -16175,21 +16262,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.type", "type": "string", "tags": [], "label": "type", @@ -16202,7 +16286,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".LIST" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16210,13 +16294,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16224,7 +16308,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.validations", "type": "Array", "tags": [], "label": "validations", @@ -16238,8 +16322,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -16251,10 +16335,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled", "type": "Object", "tags": [], - "label": "concurrent_downloads", + "label": "ssl_enabled", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16262,18 +16346,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -16287,7 +16374,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.display", "type": "string", "tags": [], "label": "display", @@ -16300,7 +16387,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16308,7 +16395,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.label", "type": "string", "tags": [], "label": "label", @@ -16319,7 +16406,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.options", "type": "Array", "tags": [], "label": "options", @@ -16333,7 +16420,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.order", "type": "number", "tags": [], "label": "order", @@ -16344,13 +16431,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16358,7 +16445,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -16372,7 +16459,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -16386,7 +16473,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.type", "type": "string", "tags": [], "label": "type", @@ -16399,7 +16486,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16407,13 +16494,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16421,13 +16508,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.validations", "type": "Array", "tags": [], "label": "validations", "description": [], "signature": [ - "{ type: string; constraint: number; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16435,11 +16522,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -16448,10 +16538,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca", "type": "Object", "tags": [], - "label": "use_document_level_security", + "label": "ssl_ca", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16459,7 +16549,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -16473,13 +16563,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: string; }[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16487,7 +16577,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.display", "type": "string", "tags": [], "label": "display", @@ -16500,7 +16590,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16508,7 +16598,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.label", "type": "string", "tags": [], "label": "label", @@ -16519,7 +16609,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.options", "type": "Array", "tags": [], "label": "options", @@ -16533,7 +16623,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.order", "type": "number", "tags": [], "label": "order", @@ -16544,7 +16634,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.required", "type": "boolean", "tags": [], "label": "required", @@ -16558,7 +16648,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -16572,18 +16662,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.type", "type": "string", "tags": [], "label": "type", @@ -16596,7 +16689,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16604,7 +16697,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -16618,7 +16711,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.validations", "type": "Array", "tags": [], "label": "validations", @@ -16632,14 +16725,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -16648,10 +16738,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count", "type": "Object", "tags": [], - "label": "use_text_extraction_service", + "label": "retry_count", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16659,21 +16749,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.default_value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -16687,7 +16774,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.display", "type": "string", "tags": [], "label": "display", @@ -16700,7 +16787,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16708,7 +16795,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.label", "type": "string", "tags": [], "label": "label", @@ -16719,7 +16806,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.options", "type": "Array", "tags": [], "label": "options", @@ -16733,7 +16820,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.order", "type": "number", "tags": [], "label": "order", @@ -16744,13 +16831,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16758,7 +16845,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -16772,18 +16859,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.type", "type": "string", "tags": [], "label": "type", @@ -16796,7 +16886,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16804,7 +16894,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -16818,7 +16908,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.validations", "type": "Array", "tags": [], "label": "validations", @@ -16832,154 +16922,23 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.value", + "type": "number", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false } ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES", - "type": "Object", - "tags": [], - "label": "[FeatureName.SYNC_RULES]", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", - "tags": [], - "label": "advanced", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.advanced.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.basic", - "type": "Object", - "tags": [], - "label": "basic", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.serviceType", - "type": "string", - "tags": [], - "label": "serviceType", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb", - "type": "Object", - "tags": [], - "label": "mongodb", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration", - "type": "Object", - "tags": [], - "label": "configuration", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads", "type": "Object", "tags": [], - "label": "host", + "label": "concurrent_downloads", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16987,8 +16946,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -16998,7 +16957,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -17012,7 +16971,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.display", "type": "string", "tags": [], "label": "display", @@ -17025,7 +16984,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17033,7 +16992,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.label", "type": "string", "tags": [], "label": "label", @@ -17044,7 +17003,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.options", "type": "Array", "tags": [], "label": "options", @@ -17058,7 +17017,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.order", "type": "number", "tags": [], "label": "order", @@ -17069,13 +17028,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17083,7 +17042,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -17097,18 +17056,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.type", "type": "string", "tags": [], "label": "type", @@ -17121,7 +17083,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17129,13 +17091,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17143,13 +17105,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.validations", "type": "Array", "tags": [], "label": "validations", "description": [], "signature": [ - "never[]" + "{ type: string; constraint: number; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17157,8 +17119,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -17170,10 +17132,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security", "type": "Object", "tags": [], - "label": "user", + "label": "use_document_level_security", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17181,24 +17143,27 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17206,7 +17171,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.display", "type": "string", "tags": [], "label": "display", @@ -17219,7 +17184,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17227,7 +17192,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.label", "type": "string", "tags": [], "label": "label", @@ -17238,7 +17203,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.options", "type": "Array", "tags": [], "label": "options", @@ -17252,7 +17217,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.order", "type": "number", "tags": [], "label": "order", @@ -17263,13 +17228,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17277,7 +17242,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -17291,7 +17256,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -17302,7 +17267,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.type", "type": "string", "tags": [], "label": "type", @@ -17315,7 +17280,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17323,7 +17288,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -17337,7 +17302,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.validations", "type": "Array", "tags": [], "label": "validations", @@ -17351,11 +17316,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_document_level_security.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -17364,10 +17332,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service", "type": "Object", "tags": [], - "label": "password", + "label": "use_text_extraction_service", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17375,18 +17343,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.default_value", + "type": "boolean", "tags": [], "label": "default_value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -17400,7 +17371,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.display", "type": "string", "tags": [], "label": "display", @@ -17413,7 +17384,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17421,7 +17392,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.label", "type": "string", "tags": [], "label": "label", @@ -17432,7 +17403,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.options", "type": "Array", "tags": [], "label": "options", @@ -17446,7 +17417,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.order", "type": "number", "tags": [], "label": "order", @@ -17457,13 +17428,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17471,13 +17442,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17485,7 +17456,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -17496,7 +17467,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.type", "type": "string", "tags": [], "label": "type", @@ -17509,7 +17480,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17517,13 +17488,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17531,7 +17502,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.validations", "type": "Array", "tags": [], "label": "validations", @@ -17545,23 +17516,39 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false } ] - }, + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES", "type": "Object", "tags": [], - "label": "database", + "label": "[FeatureName.SYNC_RULES]", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17569,78 +17556,220 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", "tags": [], - "label": "default_value", + "label": "advanced", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.depends_on", - "type": "Array", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.basic", + "type": "Object", "tags": [], - "label": "depends_on", + "label": "basic", "description": [], - "signature": [ - "never[]" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, - "trackAdoption": false - }, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.basic.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.DOCUMENT_LEVEL_SECURITY", + "type": "Object", + "tags": [], + "label": "[FeatureName.DOCUMENT_LEVEL_SECURITY]", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.display", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.DOCUMENT_LEVEL_SECURITY.enabled", + "type": "boolean", "tags": [], - "label": "display", + "label": "enabled", "description": [], "signature": [ - { - "pluginId": "@kbn/search-connectors", - "scope": "common", - "docId": "kibKbnSearchConnectorsPluginApi", - "section": "def-common.DisplayType", - "text": "DisplayType" - }, - ".TEXTBOX" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.label", - "type": "string", - "tags": [], - "label": "label", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.options", - "type": "Array", - "tags": [], - "label": "options", - "description": [], - "signature": [ - "never[]" - ], + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb", + "type": "Object", + "tags": [], + "label": "mongodb", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host", + "type": "Object", + "tags": [], + "label": "host", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.default_value", + "type": "string", + "tags": [], + "label": "default_value", + "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.order", "type": "number", "tags": [], "label": "order", @@ -17651,7 +17780,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.required", "type": "boolean", "tags": [], "label": "required", @@ -17665,7 +17794,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -17679,7 +17808,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -17690,7 +17819,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.type", "type": "string", "tags": [], "label": "type", @@ -17711,7 +17840,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -17725,7 +17854,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.validations", "type": "Array", "tags": [], "label": "validations", @@ -17739,7 +17868,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.value", "type": "string", "tags": [], "label": "value", @@ -17752,10 +17881,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user", "type": "Object", "tags": [], - "label": "collection", + "label": "user", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17763,7 +17892,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.default_value", "type": "string", "tags": [], "label": "default_value", @@ -17774,7 +17903,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -17788,7 +17917,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.display", "type": "string", "tags": [], "label": "display", @@ -17809,7 +17938,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.label", "type": "string", "tags": [], "label": "label", @@ -17820,7 +17949,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.options", "type": "Array", "tags": [], "label": "options", @@ -17834,7 +17963,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.order", "type": "number", "tags": [], "label": "order", @@ -17845,13 +17974,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17859,7 +17988,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -17873,7 +18002,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -17884,7 +18013,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.type", "type": "string", "tags": [], "label": "type", @@ -17905,7 +18034,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -17919,7 +18048,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.validations", "type": "Array", "tags": [], "label": "validations", @@ -17933,7 +18062,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.value", "type": "string", "tags": [], "label": "value", @@ -17946,10 +18075,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password", "type": "Object", "tags": [], - "label": "direct_connection", + "label": "password", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17957,21 +18086,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.default_value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -17985,7 +18111,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.display", "type": "string", "tags": [], "label": "display", @@ -17998,7 +18124,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18006,7 +18132,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.label", "type": "string", "tags": [], "label": "label", @@ -18017,7 +18143,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.options", "type": "Array", "tags": [], "label": "options", @@ -18031,7 +18157,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.order", "type": "number", "tags": [], "label": "order", @@ -18042,13 +18168,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18056,13 +18182,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18070,7 +18196,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -18081,7 +18207,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.type", "type": "string", "tags": [], "label": "type", @@ -18094,7 +18220,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18102,7 +18228,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -18116,7 +18242,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.validations", "type": "Array", "tags": [], "label": "validations", @@ -18130,14 +18256,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -18146,10 +18269,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database", "type": "Object", "tags": [], - "label": "ssl_enabled", + "label": "database", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18157,21 +18280,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.default_value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -18185,7 +18305,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.display", "type": "string", "tags": [], "label": "display", @@ -18198,7 +18318,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18206,7 +18326,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.label", "type": "string", "tags": [], "label": "label", @@ -18217,7 +18337,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.options", "type": "Array", "tags": [], "label": "options", @@ -18231,7 +18351,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.order", "type": "number", "tags": [], "label": "order", @@ -18242,7 +18362,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.required", "type": "boolean", "tags": [], "label": "required", @@ -18256,7 +18376,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -18270,7 +18390,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -18281,7 +18401,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.type", "type": "string", "tags": [], "label": "type", @@ -18294,7 +18414,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18302,7 +18422,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -18316,7 +18436,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.validations", "type": "Array", "tags": [], "label": "validations", @@ -18330,14 +18450,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -18346,10 +18463,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection", "type": "Object", "tags": [], - "label": "ssl_ca", + "label": "collection", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18357,7 +18474,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.default_value", "type": "string", "tags": [], "label": "default_value", @@ -18368,13 +18485,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: true; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18382,7 +18499,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.display", "type": "string", "tags": [], "label": "display", @@ -18403,7 +18520,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.label", "type": "string", "tags": [], "label": "label", @@ -18414,7 +18531,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.options", "type": "Array", "tags": [], "label": "options", @@ -18428,7 +18545,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.order", "type": "number", "tags": [], "label": "order", @@ -18439,13 +18556,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18453,7 +18570,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -18467,7 +18584,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -18478,7 +18595,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.type", "type": "string", "tags": [], "label": "type", @@ -18499,7 +18616,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -18513,7 +18630,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.validations", "type": "Array", "tags": [], "label": "validations", @@ -18527,7 +18644,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.value", "type": "string", "tags": [], "label": "value", @@ -18540,10 +18657,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection", "type": "Object", "tags": [], - "label": "tls_insecure", + "label": "direct_connection", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18551,7 +18668,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.default_value", "type": "boolean", "tags": [], "label": "default_value", @@ -18565,13 +18682,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: true; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18579,7 +18696,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.display", "type": "string", "tags": [], "label": "display", @@ -18600,7 +18717,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.label", "type": "string", "tags": [], "label": "label", @@ -18611,7 +18728,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.options", "type": "Array", "tags": [], "label": "options", @@ -18625,7 +18742,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.order", "type": "number", "tags": [], "label": "order", @@ -18636,7 +18753,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.required", "type": "boolean", "tags": [], "label": "required", @@ -18650,7 +18767,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -18664,7 +18781,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -18675,7 +18792,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.type", "type": "string", "tags": [], "label": "type", @@ -18696,13 +18813,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18710,7 +18827,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.validations", "type": "Array", "tags": [], "label": "validations", @@ -18724,7 +18841,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.value", "type": "boolean", "tags": [], "label": "value", @@ -18737,169 +18854,13 @@ "trackAdoption": false } ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.FILTERING_ADVANCED_CONFIG", - "type": "boolean", - "tags": [], - "label": "[FeatureName.FILTERING_ADVANCED_CONFIG]", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.FILTERING_RULES", - "type": "boolean", - "tags": [], - "label": "[FeatureName.FILTERING_RULES]", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES", - "type": "Object", - "tags": [], - "label": "[FeatureName.SYNC_RULES]", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", - "tags": [], - "label": "advanced", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.advanced.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.basic", - "type": "Object", - "tags": [], - "label": "basic", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.serviceType", - "type": "string", - "tags": [], - "label": "serviceType", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql", - "type": "Object", - "tags": [], - "label": "mssql", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration", - "type": "Object", - "tags": [], - "label": "configuration", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled", "type": "Object", "tags": [], - "label": "host", + "label": "ssl_enabled", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18907,18 +18868,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.default_value", + "type": "boolean", "tags": [], "label": "default_value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -18932,7 +18896,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.display", "type": "string", "tags": [], "label": "display", @@ -18945,7 +18909,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18953,7 +18917,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.label", "type": "string", "tags": [], "label": "label", @@ -18964,7 +18928,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.options", "type": "Array", "tags": [], "label": "options", @@ -18978,7 +18942,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.order", "type": "number", "tags": [], "label": "order", @@ -18989,7 +18953,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.required", "type": "boolean", "tags": [], "label": "required", @@ -19003,7 +18967,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -19017,7 +18981,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -19028,7 +18992,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.type", "type": "string", "tags": [], "label": "type", @@ -19041,7 +19005,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19049,7 +19013,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -19063,7 +19027,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.validations", "type": "Array", "tags": [], "label": "validations", @@ -19077,11 +19041,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_enabled.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -19090,10 +19057,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca", "type": "Object", "tags": [], - "label": "port", + "label": "ssl_ca", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19101,27 +19068,24 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19129,7 +19093,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.display", "type": "string", "tags": [], "label": "display", @@ -19142,7 +19106,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19150,7 +19114,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.label", "type": "string", "tags": [], "label": "label", @@ -19161,7 +19125,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.options", "type": "Array", "tags": [], "label": "options", @@ -19175,7 +19139,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.order", "type": "number", "tags": [], "label": "order", @@ -19186,13 +19150,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19200,7 +19164,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -19214,7 +19178,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -19225,7 +19189,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.type", "type": "string", "tags": [], "label": "type", @@ -19238,7 +19202,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19246,7 +19210,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -19260,7 +19224,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.validations", "type": "Array", "tags": [], "label": "validations", @@ -19274,8 +19238,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.ssl_ca.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -19287,10 +19251,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure", "type": "Object", "tags": [], - "label": "username", + "label": "tls_insecure", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19298,24 +19262,27 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.default_value", + "type": "boolean", "tags": [], "label": "default_value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19323,7 +19290,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.display", "type": "string", "tags": [], "label": "display", @@ -19336,7 +19303,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19344,7 +19311,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.label", "type": "string", "tags": [], "label": "label", @@ -19355,7 +19322,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.options", "type": "Array", "tags": [], "label": "options", @@ -19369,7 +19336,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.order", "type": "number", "tags": [], "label": "order", @@ -19380,7 +19347,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.required", "type": "boolean", "tags": [], "label": "required", @@ -19394,7 +19361,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -19408,7 +19375,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -19419,7 +19386,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.type", "type": "string", "tags": [], "label": "type", @@ -19432,7 +19399,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19440,13 +19407,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19454,7 +19421,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.validations", "type": "Array", "tags": [], "label": "validations", @@ -19468,23 +19435,67 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.tls_insecure.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false } ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.FILTERING_ADVANCED_CONFIG", + "type": "boolean", + "tags": [], + "label": "[FeatureName.FILTERING_ADVANCED_CONFIG]", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.FILTERING_RULES", + "type": "boolean", + "tags": [], + "label": "[FeatureName.FILTERING_RULES]", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES", "type": "Object", "tags": [], - "label": "password", + "label": "[FeatureName.SYNC_RULES]", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19492,193 +19503,114 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.default_value", - "type": "string", - "tags": [], - "label": "default_value", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.depends_on", - "type": "Array", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", "tags": [], - "label": "depends_on", + "label": "advanced", "description": [], - "signature": [ - "never[]" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.display", - "type": "string", - "tags": [], - "label": "display", - "description": [], - "signature": [ + "trackAdoption": false, + "children": [ { - "pluginId": "@kbn/search-connectors", - "scope": "common", - "docId": "kibKbnSearchConnectorsPluginApi", - "section": "def-common.DisplayType", - "text": "DisplayType" - }, - ".TEXTBOX" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.label", - "type": "string", - "tags": [], - "label": "label", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.options", - "type": "Array", - "tags": [], - "label": "options", - "description": [], - "signature": [ - "never[]" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.order", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.basic", + "type": "Object", "tags": [], - "label": "order", + "label": "basic", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.required", - "type": "boolean", - "tags": [], - "label": "required", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.sensitive", - "type": "boolean", - "tags": [], - "label": "sensitive", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.tooltip", - "type": "string", - "tags": [], - "label": "tooltip", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "signature": [ + "trackAdoption": false, + "children": [ { - "pluginId": "@kbn/search-connectors", - "scope": "common", - "docId": "kibKbnSearchConnectorsPluginApi", - "section": "def-common.FieldType", - "text": "FieldType" - }, - ".STRING" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.ui_restrictions", - "type": "Array", - "tags": [], - "label": "ui_restrictions", - "description": [], - "signature": [ - "never[]" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.validations", - "type": "Array", - "tags": [], - "label": "validations", - "description": [], - "signature": [ - "never[]" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.value", - "type": "string", - "tags": [], - "label": "value", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.basic.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ] - }, + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql", + "type": "Object", + "tags": [], + "label": "mssql", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host", "type": "Object", "tags": [], - "label": "database", + "label": "host", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19686,7 +19618,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.default_value", "type": "string", "tags": [], "label": "default_value", @@ -19697,7 +19629,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -19711,7 +19643,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.display", "type": "string", "tags": [], "label": "display", @@ -19732,7 +19664,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.label", "type": "string", "tags": [], "label": "label", @@ -19743,7 +19675,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.options", "type": "Array", "tags": [], "label": "options", @@ -19757,7 +19689,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.order", "type": "number", "tags": [], "label": "order", @@ -19768,7 +19700,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.required", "type": "boolean", "tags": [], "label": "required", @@ -19782,7 +19714,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -19796,7 +19728,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -19807,7 +19739,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.type", "type": "string", "tags": [], "label": "type", @@ -19828,7 +19760,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -19842,7 +19774,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.validations", "type": "Array", "tags": [], "label": "validations", @@ -19856,7 +19788,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.value", "type": "string", "tags": [], "label": "value", @@ -19869,10 +19801,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port", "type": "Object", "tags": [], - "label": "tables", + "label": "port", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19880,18 +19812,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -19905,7 +19840,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.display", "type": "string", "tags": [], "label": "display", @@ -19918,7 +19853,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTAREA" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19926,7 +19861,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.label", "type": "string", "tags": [], "label": "label", @@ -19937,7 +19872,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.options", "type": "Array", "tags": [], "label": "options", @@ -19951,7 +19886,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.order", "type": "number", "tags": [], "label": "order", @@ -19962,7 +19897,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.required", "type": "boolean", "tags": [], "label": "required", @@ -19976,7 +19911,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -19990,7 +19925,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -20001,7 +19936,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.type", "type": "string", "tags": [], "label": "type", @@ -20014,7 +19949,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".LIST" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20022,7 +19957,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -20036,7 +19971,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.validations", "type": "Array", "tags": [], "label": "validations", @@ -20050,8 +19985,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -20063,10 +19998,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username", "type": "Object", "tags": [], - "label": "ssl_enabled", + "label": "username", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20074,21 +20009,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.default_value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -20102,7 +20034,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.display", "type": "string", "tags": [], "label": "display", @@ -20115,7 +20047,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20123,7 +20055,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.label", "type": "string", "tags": [], "label": "label", @@ -20134,7 +20066,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.options", "type": "Array", "tags": [], "label": "options", @@ -20148,7 +20080,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.order", "type": "number", "tags": [], "label": "order", @@ -20159,7 +20091,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.required", "type": "boolean", "tags": [], "label": "required", @@ -20173,7 +20105,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -20187,7 +20119,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -20198,7 +20130,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.type", "type": "string", "tags": [], "label": "type", @@ -20211,7 +20143,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20219,7 +20151,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -20233,7 +20165,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.validations", "type": "Array", "tags": [], "label": "validations", @@ -20247,14 +20179,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -20263,10 +20192,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password", "type": "Object", "tags": [], - "label": "ssl_ca", + "label": "password", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20274,7 +20203,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.default_value", "type": "string", "tags": [], "label": "default_value", @@ -20285,13 +20214,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: true; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20299,7 +20228,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.display", "type": "string", "tags": [], "label": "display", @@ -20320,7 +20249,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.label", "type": "string", "tags": [], "label": "label", @@ -20331,7 +20260,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.options", "type": "Array", "tags": [], "label": "options", @@ -20345,7 +20274,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.order", "type": "number", "tags": [], "label": "order", @@ -20356,7 +20285,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.required", "type": "boolean", "tags": [], "label": "required", @@ -20370,13 +20299,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20384,7 +20313,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -20395,7 +20324,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.type", "type": "string", "tags": [], "label": "type", @@ -20416,7 +20345,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -20430,7 +20359,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.validations", "type": "Array", "tags": [], "label": "validations", @@ -20444,7 +20373,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.value", "type": "string", "tags": [], "label": "value", @@ -20457,10 +20386,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database", "type": "Object", "tags": [], - "label": "schema", + "label": "database", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20468,7 +20397,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.default_value", "type": "string", "tags": [], "label": "default_value", @@ -20479,7 +20408,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -20493,7 +20422,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.display", "type": "string", "tags": [], "label": "display", @@ -20514,7 +20443,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.label", "type": "string", "tags": [], "label": "label", @@ -20525,7 +20454,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.options", "type": "Array", "tags": [], "label": "options", @@ -20539,7 +20468,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.order", "type": "number", "tags": [], "label": "order", @@ -20550,7 +20479,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.required", "type": "boolean", "tags": [], "label": "required", @@ -20564,7 +20493,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -20578,7 +20507,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -20589,7 +20518,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.type", "type": "string", "tags": [], "label": "type", @@ -20610,7 +20539,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -20624,7 +20553,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.validations", "type": "Array", "tags": [], "label": "validations", @@ -20638,7 +20567,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.value", "type": "string", "tags": [], "label": "value", @@ -20651,10 +20580,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables", "type": "Object", "tags": [], - "label": "fetch_size", + "label": "tables", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20662,8 +20591,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], @@ -20673,7 +20602,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -20687,7 +20616,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.display", "type": "string", "tags": [], "label": "display", @@ -20700,7 +20629,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTAREA" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20708,7 +20637,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.label", "type": "string", "tags": [], "label": "label", @@ -20719,7 +20648,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.options", "type": "Array", "tags": [], "label": "options", @@ -20733,7 +20662,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.order", "type": "number", "tags": [], "label": "order", @@ -20744,13 +20673,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20758,7 +20687,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -20772,7 +20701,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -20783,7 +20712,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.type", "type": "string", "tags": [], "label": "type", @@ -20796,7 +20725,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".LIST" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20804,13 +20733,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20818,7 +20747,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.validations", "type": "Array", "tags": [], "label": "validations", @@ -20832,8 +20761,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -20845,10 +20774,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled", "type": "Object", "tags": [], - "label": "retry_count", + "label": "ssl_enabled", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20856,18 +20785,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.default_value", + "type": "boolean", "tags": [], "label": "default_value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -20881,7 +20813,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.display", "type": "string", "tags": [], "label": "display", @@ -20894,7 +20826,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20902,7 +20834,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.label", "type": "string", "tags": [], "label": "label", @@ -20913,7 +20845,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.options", "type": "Array", "tags": [], "label": "options", @@ -20927,7 +20859,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.order", "type": "number", "tags": [], "label": "order", @@ -20938,13 +20870,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20952,7 +20884,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -20966,7 +20898,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -20977,7 +20909,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.type", "type": "string", "tags": [], "label": "type", @@ -20990,7 +20922,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -20998,13 +20930,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21012,7 +20944,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.validations", "type": "Array", "tags": [], "label": "validations", @@ -21026,11 +20958,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -21039,10 +20974,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca", "type": "Object", "tags": [], - "label": "validate_host", + "label": "ssl_ca", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21050,27 +20985,24 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.default_value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21078,7 +21010,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.display", "type": "string", "tags": [], "label": "display", @@ -21091,7 +21023,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21099,7 +21031,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.label", "type": "string", "tags": [], "label": "label", @@ -21110,7 +21042,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.options", "type": "Array", "tags": [], "label": "options", @@ -21124,7 +21056,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.order", "type": "number", "tags": [], "label": "order", @@ -21135,7 +21067,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.required", "type": "boolean", "tags": [], "label": "required", @@ -21149,7 +21081,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -21163,7 +21095,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -21174,7 +21106,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.type", "type": "string", "tags": [], "label": "type", @@ -21187,7 +21119,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21195,7 +21127,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -21209,7 +21141,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.validations", "type": "Array", "tags": [], "label": "validations", @@ -21223,39 +21155,23 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false } ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema", "type": "Object", "tags": [], - "label": "[FeatureName.SYNC_RULES]", + "label": "schema", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21263,125 +21179,10 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.default_value", + "type": "string", "tags": [], - "label": "advanced", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.advanced.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "false" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.basic", - "type": "Object", - "tags": [], - "label": "basic", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.serviceType", - "type": "string", - "tags": [], - "label": "serviceType", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql", - "type": "Object", - "tags": [], - "label": "mysql", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration", - "type": "Object", - "tags": [], - "label": "configuration", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host", - "type": "Object", - "tags": [], - "label": "host", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.default_value", - "type": "string", - "tags": [], - "label": "default_value", + "label": "default_value", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21389,7 +21190,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -21403,7 +21204,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.display", "type": "string", "tags": [], "label": "display", @@ -21424,7 +21225,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.label", "type": "string", "tags": [], "label": "label", @@ -21435,7 +21236,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.options", "type": "Array", "tags": [], "label": "options", @@ -21449,7 +21250,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.order", "type": "number", "tags": [], "label": "order", @@ -21460,7 +21261,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.required", "type": "boolean", "tags": [], "label": "required", @@ -21474,7 +21275,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -21488,7 +21289,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -21499,7 +21300,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.type", "type": "string", "tags": [], "label": "type", @@ -21520,7 +21321,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -21534,7 +21335,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.validations", "type": "Array", "tags": [], "label": "validations", @@ -21548,7 +21349,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.value", "type": "string", "tags": [], "label": "value", @@ -21561,10 +21362,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size", "type": "Object", "tags": [], - "label": "port", + "label": "fetch_size", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21572,21 +21373,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -21600,7 +21398,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.display", "type": "string", "tags": [], "label": "display", @@ -21621,7 +21419,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.label", "type": "string", "tags": [], "label": "label", @@ -21632,7 +21430,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.options", "type": "Array", "tags": [], "label": "options", @@ -21646,7 +21444,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.order", "type": "number", "tags": [], "label": "order", @@ -21657,13 +21455,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21671,7 +21469,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -21685,7 +21483,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -21696,7 +21494,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.type", "type": "string", "tags": [], "label": "type", @@ -21717,13 +21515,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21731,7 +21529,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.validations", "type": "Array", "tags": [], "label": "validations", @@ -21745,8 +21543,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -21758,10 +21556,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count", "type": "Object", "tags": [], - "label": "user", + "label": "retry_count", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21769,8 +21567,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -21780,7 +21578,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -21794,7 +21592,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.display", "type": "string", "tags": [], "label": "display", @@ -21807,7 +21605,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21815,7 +21613,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.label", "type": "string", "tags": [], "label": "label", @@ -21826,7 +21624,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.options", "type": "Array", "tags": [], "label": "options", @@ -21840,7 +21638,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.order", "type": "number", "tags": [], "label": "order", @@ -21851,7 +21649,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.required", "type": "boolean", "tags": [], "label": "required", @@ -21865,7 +21663,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -21879,7 +21677,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -21890,7 +21688,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.type", "type": "string", "tags": [], "label": "type", @@ -21903,7 +21701,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21911,13 +21709,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21925,7 +21723,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.validations", "type": "Array", "tags": [], "label": "validations", @@ -21939,8 +21737,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -21952,10 +21750,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host", "type": "Object", "tags": [], - "label": "password", + "label": "validate_host", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -21963,18 +21761,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.default_value", + "type": "boolean", "tags": [], "label": "default_value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -21988,7 +21789,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.display", "type": "string", "tags": [], "label": "display", @@ -22001,7 +21802,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22009,7 +21810,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.label", "type": "string", "tags": [], "label": "label", @@ -22020,7 +21821,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.options", "type": "Array", "tags": [], "label": "options", @@ -22034,7 +21835,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.order", "type": "number", "tags": [], "label": "order", @@ -22045,13 +21846,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22059,13 +21860,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22073,7 +21874,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -22084,7 +21885,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.type", "type": "string", "tags": [], "label": "type", @@ -22097,7 +21898,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22105,7 +21906,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -22119,7 +21920,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.validations", "type": "Array", "tags": [], "label": "validations", @@ -22133,23 +21934,39 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false } ] - }, + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES", "type": "Object", "tags": [], - "label": "database", + "label": "[FeatureName.SYNC_RULES]", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22157,7 +21974,122 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", + "tags": [], + "label": "advanced", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.basic", + "type": "Object", + "tags": [], + "label": "basic", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.basic.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql", + "type": "Object", + "tags": [], + "label": "mysql", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host", + "type": "Object", + "tags": [], + "label": "host", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.default_value", "type": "string", "tags": [], "label": "default_value", @@ -22168,7 +22100,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -22182,7 +22114,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.display", "type": "string", "tags": [], "label": "display", @@ -22203,7 +22135,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.label", "type": "string", "tags": [], "label": "label", @@ -22214,7 +22146,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.options", "type": "Array", "tags": [], "label": "options", @@ -22228,7 +22160,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.order", "type": "number", "tags": [], "label": "order", @@ -22239,7 +22171,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.required", "type": "boolean", "tags": [], "label": "required", @@ -22253,7 +22185,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -22267,7 +22199,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -22278,7 +22210,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.type", "type": "string", "tags": [], "label": "type", @@ -22299,7 +22231,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -22313,7 +22245,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.validations", "type": "Array", "tags": [], "label": "validations", @@ -22327,7 +22259,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.value", "type": "string", "tags": [], "label": "value", @@ -22340,10 +22272,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port", "type": "Object", "tags": [], - "label": "tables", + "label": "port", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22351,18 +22283,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -22376,7 +22311,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.display", "type": "string", "tags": [], "label": "display", @@ -22389,7 +22324,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTAREA" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22397,7 +22332,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.label", "type": "string", "tags": [], "label": "label", @@ -22408,7 +22343,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.options", "type": "Array", "tags": [], "label": "options", @@ -22422,7 +22357,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.order", "type": "number", "tags": [], "label": "order", @@ -22433,7 +22368,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.required", "type": "boolean", "tags": [], "label": "required", @@ -22447,7 +22382,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -22461,7 +22396,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -22472,7 +22407,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.type", "type": "string", "tags": [], "label": "type", @@ -22485,7 +22420,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".LIST" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22493,7 +22428,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -22507,7 +22442,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.validations", "type": "Array", "tags": [], "label": "validations", @@ -22521,7 +22456,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.value", "type": "string", "tags": [], "label": "value", @@ -22534,10 +22469,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user", "type": "Object", "tags": [], - "label": "ssl_enabled", + "label": "user", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22545,21 +22480,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.default_value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -22573,7 +22505,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.display", "type": "string", "tags": [], "label": "display", @@ -22586,7 +22518,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22594,7 +22526,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.label", "type": "string", "tags": [], "label": "label", @@ -22605,7 +22537,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.options", "type": "Array", "tags": [], "label": "options", @@ -22619,7 +22551,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.order", "type": "number", "tags": [], "label": "order", @@ -22630,13 +22562,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22644,7 +22576,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -22658,7 +22590,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -22669,7 +22601,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.type", "type": "string", "tags": [], "label": "type", @@ -22682,7 +22614,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22690,7 +22622,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -22704,7 +22636,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.validations", "type": "Array", "tags": [], "label": "validations", @@ -22718,14 +22650,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -22734,10 +22663,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password", "type": "Object", "tags": [], - "label": "ssl_ca", + "label": "password", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22745,7 +22674,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.default_value", "type": "string", "tags": [], "label": "default_value", @@ -22756,13 +22685,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: true; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22770,7 +22699,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.display", "type": "string", "tags": [], "label": "display", @@ -22791,7 +22720,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.label", "type": "string", "tags": [], "label": "label", @@ -22802,7 +22731,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.options", "type": "Array", "tags": [], "label": "options", @@ -22816,7 +22745,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.order", "type": "number", "tags": [], "label": "order", @@ -22827,13 +22756,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22841,13 +22770,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22855,7 +22784,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -22866,7 +22795,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.type", "type": "string", "tags": [], "label": "type", @@ -22887,7 +22816,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -22901,7 +22830,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.validations", "type": "Array", "tags": [], "label": "validations", @@ -22915,7 +22844,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.value", "type": "string", "tags": [], "label": "value", @@ -22928,10 +22857,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database", "type": "Object", "tags": [], - "label": "fetch_size", + "label": "database", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22939,8 +22868,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], @@ -22950,7 +22879,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -22964,7 +22893,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.display", "type": "string", "tags": [], "label": "display", @@ -22977,7 +22906,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -22985,7 +22914,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.label", "type": "string", "tags": [], "label": "label", @@ -22996,7 +22925,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.options", "type": "Array", "tags": [], "label": "options", @@ -23010,7 +22939,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.order", "type": "number", "tags": [], "label": "order", @@ -23021,13 +22950,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23035,7 +22964,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -23049,7 +22978,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -23060,7 +22989,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.type", "type": "string", "tags": [], "label": "type", @@ -23073,7 +23002,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23081,13 +23010,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23095,7 +23024,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.validations", "type": "Array", "tags": [], "label": "validations", @@ -23109,8 +23038,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -23122,10 +23051,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables", "type": "Object", "tags": [], - "label": "retry_count", + "label": "tables", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23133,8 +23062,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], @@ -23144,7 +23073,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -23158,7 +23087,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.display", "type": "string", "tags": [], "label": "display", @@ -23171,7 +23100,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTAREA" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23179,7 +23108,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.label", "type": "string", "tags": [], "label": "label", @@ -23190,7 +23119,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.options", "type": "Array", "tags": [], "label": "options", @@ -23204,7 +23133,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.order", "type": "number", "tags": [], "label": "order", @@ -23215,13 +23144,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23229,7 +23158,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -23243,7 +23172,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -23254,7 +23183,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.type", "type": "string", "tags": [], "label": "type", @@ -23267,7 +23196,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".LIST" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23275,13 +23204,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23289,7 +23218,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.validations", "type": "Array", "tags": [], "label": "validations", @@ -23303,8 +23232,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -23313,141 +23242,13 @@ "trackAdoption": false } ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES", - "type": "Object", - "tags": [], - "label": "[FeatureName.SYNC_RULES]", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", - "tags": [], - "label": "advanced", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.advanced.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.basic", - "type": "Object", - "tags": [], - "label": "basic", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.serviceType", - "type": "string", - "tags": [], - "label": "serviceType", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive", - "type": "Object", - "tags": [], - "label": "network_drive", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration", - "type": "Object", - "tags": [], - "label": "configuration", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled", "type": "Object", "tags": [], - "label": "username", + "label": "ssl_enabled", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23455,13 +23256,13 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.default_value", + "type": "boolean", "tags": [], "label": "default_value", "description": [], "signature": [ - "null" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23469,7 +23270,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -23483,7 +23284,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.display", "type": "string", "tags": [], "label": "display", @@ -23496,7 +23297,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23504,7 +23305,3246 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".BOOLEAN" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.value", + "type": "boolean", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca", + "type": "Object", + "tags": [], + "label": "ssl_ca", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.default_value", + "type": "string", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "{ field: string; value: true; }[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size", + "type": "Object", + "tags": [], + "label": "fetch_size", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.default_value", + "type": "number", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".NUMERIC" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".INTEGER" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.value", + "type": "number", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count", + "type": "Object", + "tags": [], + "label": "retry_count", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.default_value", + "type": "number", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".NUMERIC" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".INTEGER" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.value", + "type": "number", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES", + "type": "Object", + "tags": [], + "label": "[FeatureName.SYNC_RULES]", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", + "tags": [], + "label": "advanced", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.basic", + "type": "Object", + "tags": [], + "label": "basic", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.basic.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive", + "type": "Object", + "tags": [], + "label": "network_drive", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username", + "type": "Object", + "tags": [], + "label": "username", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password", + "type": "Object", + "tags": [], + "label": "password", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip", + "type": "Object", + "tags": [], + "label": "server_ip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.placeholder", + "type": "string", + "tags": [], + "label": "placeholder", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port", + "type": "Object", + "tags": [], + "label": "server_port", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".NUMERIC" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".INTEGER" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.value", + "type": "number", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path", + "type": "Object", + "tags": [], + "label": "drive_path", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.placeholder", + "type": "string", + "tags": [], + "label": "placeholder", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security", + "type": "Object", + "tags": [], + "label": "use_document_level_security", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TOGGLE" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".BOOLEAN" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.value", + "type": "boolean", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES", + "type": "Object", + "tags": [], + "label": "[FeatureName.SYNC_RULES]", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", + "tags": [], + "label": "advanced", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.basic", + "type": "Object", + "tags": [], + "label": "basic", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.basic.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive", + "type": "Object", + "tags": [], + "label": "onedrive", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id", + "type": "Object", + "tags": [], + "label": "client_id", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret", + "type": "Object", + "tags": [], + "label": "client_secret", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id", + "type": "Object", + "tags": [], + "label": "tenant_id", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count", + "type": "Object", + "tags": [], + "label": "retry_count", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.default_value", + "type": "number", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".NUMERIC" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".INTEGER" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads", + "type": "Object", + "tags": [], + "label": "concurrent_downloads", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.default_value", + "type": "number", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".NUMERIC" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".INTEGER" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security", + "type": "Object", + "tags": [], + "label": "use_document_level_security", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TOGGLE" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.label", "type": "string", "tags": [], "label": "label", @@ -23515,7 +26555,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.options", "type": "Array", "tags": [], "label": "options", @@ -23529,7 +26569,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.order", "type": "number", "tags": [], "label": "order", @@ -23540,7 +26580,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.required", "type": "boolean", "tags": [], "label": "required", @@ -23554,7 +26594,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -23568,7 +26608,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -23579,7 +26619,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.type", "type": "string", "tags": [], "label": "type", @@ -23592,7 +26632,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23600,7 +26640,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -23614,7 +26654,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.validations", "type": "Array", "tags": [], "label": "validations", @@ -23628,11 +26668,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -23641,10 +26684,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service", "type": "Object", "tags": [], - "label": "password", + "label": "use_text_extraction_service", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23652,7 +26695,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -23666,7 +26709,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -23680,7 +26723,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.display", "type": "string", "tags": [], "label": "display", @@ -23693,7 +26736,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23701,7 +26744,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.label", "type": "string", "tags": [], "label": "label", @@ -23712,7 +26755,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.options", "type": "Array", "tags": [], "label": "options", @@ -23726,7 +26769,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.order", "type": "number", "tags": [], "label": "order", @@ -23737,7 +26780,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.required", "type": "boolean", "tags": [], "label": "required", @@ -23751,13 +26794,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23765,7 +26808,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -23776,7 +26819,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.type", "type": "string", "tags": [], "label": "type", @@ -23789,7 +26832,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23797,13 +26840,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23811,7 +26854,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.validations", "type": "Array", "tags": [], "label": "validations", @@ -23825,23 +26868,114 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false } ] - }, + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.features.FeatureName.DOCUMENT_LEVEL_SECURITY", + "type": "Object", + "tags": [], + "label": "[FeatureName.DOCUMENT_LEVEL_SECURITY]", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.features.FeatureName.DOCUMENT_LEVEL_SECURITY.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle", + "type": "Object", + "tags": [], + "label": "oracle", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host", "type": "Object", "tags": [], - "label": "server_ip", + "label": "host", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -23849,21 +26983,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -23877,7 +27008,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.display", "type": "string", "tags": [], "label": "display", @@ -23898,7 +27029,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.label", "type": "string", "tags": [], "label": "label", @@ -23909,7 +27040,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.options", "type": "Array", "tags": [], "label": "options", @@ -23923,7 +27054,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.order", "type": "number", "tags": [], "label": "order", @@ -23934,18 +27065,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.placeholder", - "type": "string", - "tags": [], - "label": "placeholder", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.required", "type": "boolean", "tags": [], "label": "required", @@ -23959,7 +27079,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -23973,7 +27093,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -23984,7 +27104,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.type", "type": "string", "tags": [], "label": "type", @@ -24005,7 +27125,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -24019,7 +27139,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.validations", "type": "Array", "tags": [], "label": "validations", @@ -24033,7 +27153,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.value", "type": "string", "tags": [], "label": "value", @@ -24046,10 +27166,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port", "type": "Object", "tags": [], - "label": "server_port", + "label": "port", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -24057,7 +27177,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -24071,7 +27191,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -24085,7 +27205,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.display", "type": "string", "tags": [], "label": "display", @@ -24106,7 +27226,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.label", "type": "string", "tags": [], "label": "label", @@ -24117,7 +27237,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.options", "type": "Array", "tags": [], "label": "options", @@ -24131,7 +27251,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.order", "type": "number", "tags": [], "label": "order", @@ -24142,7 +27262,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.required", "type": "boolean", "tags": [], "label": "required", @@ -24156,7 +27276,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -24170,7 +27290,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -24181,7 +27301,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.type", "type": "string", "tags": [], "label": "type", @@ -24202,7 +27322,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -24216,7 +27336,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.validations", "type": "Array", "tags": [], "label": "validations", @@ -24230,8 +27350,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -24243,10 +27363,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username", "type": "Object", "tags": [], - "label": "drive_path", + "label": "username", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -24254,21 +27374,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -24282,7 +27399,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.display", "type": "string", "tags": [], "label": "display", @@ -24303,7 +27420,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.label", "type": "string", "tags": [], "label": "label", @@ -24314,7 +27431,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.options", "type": "Array", "tags": [], "label": "options", @@ -24328,7 +27445,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.order", "type": "number", "tags": [], "label": "order", @@ -24339,18 +27456,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.placeholder", - "type": "string", - "tags": [], - "label": "placeholder", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.required", "type": "boolean", "tags": [], "label": "required", @@ -24364,7 +27470,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -24378,7 +27484,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -24389,7 +27495,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.type", "type": "string", "tags": [], "label": "type", @@ -24410,7 +27516,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -24424,7 +27530,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.validations", "type": "Array", "tags": [], "label": "validations", @@ -24438,7 +27544,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.value", "type": "string", "tags": [], "label": "value", @@ -24451,10 +27557,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password", "type": "Object", "tags": [], - "label": "use_document_level_security", + "label": "password", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -24462,21 +27568,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -24490,7 +27593,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.display", "type": "string", "tags": [], "label": "display", @@ -24503,7 +27606,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -24511,7 +27614,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.label", "type": "string", "tags": [], "label": "label", @@ -24522,7 +27625,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.options", "type": "Array", "tags": [], "label": "options", @@ -24536,7 +27639,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.order", "type": "number", "tags": [], "label": "order", @@ -24547,7 +27650,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.required", "type": "boolean", "tags": [], "label": "required", @@ -24561,13 +27664,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -24575,7 +27678,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -24586,7 +27689,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.type", "type": "string", "tags": [], "label": "type", @@ -24599,7 +27702,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -24607,7 +27710,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -24621,7 +27724,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.validations", "type": "Array", "tags": [], "label": "validations", @@ -24635,154 +27738,23 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.use_document_level_security.value", - "type": "boolean", - "tags": [], - "label": "value", - "description": [], - "signature": [ - "false" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES", - "type": "Object", - "tags": [], - "label": "[FeatureName.SYNC_RULES]", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", - "tags": [], - "label": "advanced", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.advanced.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "false" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.basic", - "type": "Object", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.value", + "type": "string", "tags": [], - "label": "basic", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false } ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.serviceType", - "type": "string", - "tags": [], - "label": "serviceType", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive", - "type": "Object", - "tags": [], - "label": "onedrive", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration", - "type": "Object", - "tags": [], - "label": "configuration", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database", "type": "Object", "tags": [], - "label": "client_id", + "label": "database", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -24790,21 +27762,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -24818,7 +27787,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.display", "type": "string", "tags": [], "label": "display", @@ -24839,7 +27808,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.label", "type": "string", "tags": [], "label": "label", @@ -24850,7 +27819,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.options", "type": "Array", "tags": [], "label": "options", @@ -24864,7 +27833,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.order", "type": "number", "tags": [], "label": "order", @@ -24875,7 +27844,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.required", "type": "boolean", "tags": [], "label": "required", @@ -24889,7 +27858,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -24903,21 +27872,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.type", "type": "string", "tags": [], "label": "type", @@ -24938,7 +27904,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -24952,7 +27918,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.validations", "type": "Array", "tags": [], "label": "validations", @@ -24966,7 +27932,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.value", "type": "string", "tags": [], "label": "value", @@ -24979,10 +27945,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables", "type": "Object", "tags": [], - "label": "client_secret", + "label": "tables", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -24990,21 +27956,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -25018,7 +27981,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.display", "type": "string", "tags": [], "label": "display", @@ -25031,7 +27994,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TEXTAREA" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25039,7 +28002,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.label", "type": "string", "tags": [], "label": "label", @@ -25050,7 +28013,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.options", "type": "Array", "tags": [], "label": "options", @@ -25064,7 +28027,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.order", "type": "number", "tags": [], "label": "order", @@ -25075,7 +28038,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.required", "type": "boolean", "tags": [], "label": "required", @@ -25089,13 +28052,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25103,21 +28066,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.type", "type": "string", "tags": [], "label": "type", @@ -25130,7 +28090,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".LIST" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25138,7 +28098,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -25152,7 +28112,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.validations", "type": "Array", "tags": [], "label": "validations", @@ -25166,7 +28126,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.value", "type": "string", "tags": [], "label": "value", @@ -25179,10 +28139,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size", "type": "Object", "tags": [], - "label": "tenant_id", + "label": "fetch_size", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25190,21 +28150,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -25218,7 +28175,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.display", "type": "string", "tags": [], "label": "display", @@ -25231,7 +28188,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25239,7 +28196,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.label", "type": "string", "tags": [], "label": "label", @@ -25250,7 +28207,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.options", "type": "Array", "tags": [], "label": "options", @@ -25264,7 +28221,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.order", "type": "number", "tags": [], "label": "order", @@ -25275,13 +28232,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25289,7 +28246,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -25303,21 +28260,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.type", "type": "string", "tags": [], "label": "type", @@ -25330,7 +28284,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25338,13 +28292,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25352,7 +28306,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.validations", "type": "Array", "tags": [], "label": "validations", @@ -25366,8 +28320,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -25379,7 +28333,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count", "type": "Object", "tags": [], "label": "retry_count", @@ -25390,7 +28344,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.default_value", "type": "number", "tags": [], "label": "default_value", @@ -25401,7 +28355,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -25415,7 +28369,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.display", "type": "string", "tags": [], "label": "display", @@ -25436,7 +28390,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.label", "type": "string", "tags": [], "label": "label", @@ -25447,7 +28401,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.options", "type": "Array", "tags": [], "label": "options", @@ -25461,7 +28415,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.order", "type": "number", "tags": [], "label": "order", @@ -25472,7 +28426,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.required", "type": "boolean", "tags": [], "label": "required", @@ -25486,7 +28440,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -25500,21 +28454,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.type", "type": "string", "tags": [], "label": "type", @@ -25535,7 +28486,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -25549,7 +28500,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.validations", "type": "Array", "tags": [], "label": "validations", @@ -25563,8 +28514,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -25576,10 +28527,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol", "type": "Object", "tags": [], - "label": "concurrent_downloads", + "label": "oracle_protocol", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25587,8 +28538,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], @@ -25598,7 +28549,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -25612,7 +28563,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.display", "type": "string", "tags": [], "label": "display", @@ -25625,7 +28576,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".DROPDOWN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25633,7 +28584,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.label", "type": "string", "tags": [], "label": "label", @@ -25644,13 +28595,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.options", "type": "Array", "tags": [], "label": "options", "description": [], "signature": [ - "never[]" + "{ label: string; value: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25658,7 +28609,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.order", "type": "number", "tags": [], "label": "order", @@ -25669,13 +28620,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25683,7 +28634,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -25697,21 +28648,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.type", "type": "string", "tags": [], "label": "type", @@ -25724,7 +28672,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25732,7 +28680,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -25746,7 +28694,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.validations", "type": "Array", "tags": [], "label": "validations", @@ -25760,7 +28708,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.value", "type": "string", "tags": [], "label": "value", @@ -25773,10 +28721,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home", "type": "Object", "tags": [], - "label": "use_document_level_security", + "label": "oracle_home", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25784,21 +28732,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -25812,7 +28757,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.display", "type": "string", "tags": [], "label": "display", @@ -25825,7 +28770,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25833,7 +28778,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.label", "type": "string", "tags": [], "label": "label", @@ -25844,7 +28789,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.options", "type": "Array", "tags": [], "label": "options", @@ -25858,7 +28803,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.order", "type": "number", "tags": [], "label": "order", @@ -25869,13 +28814,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25883,7 +28828,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -25897,7 +28842,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -25908,7 +28853,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.type", "type": "string", "tags": [], "label": "type", @@ -25921,7 +28866,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25929,13 +28874,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25943,7 +28888,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.validations", "type": "Array", "tags": [], "label": "validations", @@ -25957,14 +28902,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -25973,10 +28915,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path", "type": "Object", "tags": [], - "label": "use_text_extraction_service", + "label": "wallet_configuration_path", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -25984,21 +28926,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -26012,7 +28951,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.display", "type": "string", "tags": [], "label": "display", @@ -26025,7 +28964,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -26033,7 +28972,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.label", "type": "string", "tags": [], "label": "label", @@ -26044,7 +28983,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.options", "type": "Array", "tags": [], "label": "options", @@ -26058,7 +28997,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.order", "type": "number", "tags": [], "label": "order", @@ -26069,13 +29008,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -26083,7 +29022,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -26097,7 +29036,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -26108,7 +29047,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.type", "type": "string", "tags": [], "label": "type", @@ -26121,7 +29060,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -26129,7 +29068,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -26143,7 +29082,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.validations", "type": "Array", "tags": [], "label": "validations", @@ -26157,14 +29096,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -26175,18 +29111,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.features", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features", "type": "Object", "tags": [], "label": "features", @@ -26197,10 +29122,10 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.features.FeatureName.DOCUMENT_LEVEL_SECURITY", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features.FeatureName.SYNC_RULES", "type": "Object", "tags": [], - "label": "[FeatureName.DOCUMENT_LEVEL_SECURITY]", + "label": "[FeatureName.SYNC_RULES]", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -26208,17 +29133,57 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.features.FeatureName.DOCUMENT_LEVEL_SECURITY.enabled", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", "tags": [], - "label": "enabled", + "label": "advanced", "description": [], - "signature": [ - "true" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features.FeatureName.SYNC_RULES.basic", + "type": "Object", + "tags": [], + "label": "basic", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features.FeatureName.SYNC_RULES.basic.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ] } @@ -26226,7 +29191,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.serviceType", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.serviceType", "type": "string", "tags": [], "label": "serviceType", @@ -26239,10 +29215,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql", "type": "Object", "tags": [], - "label": "oracle", + "label": "postgresql", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -26250,7 +29226,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration", "type": "Object", "tags": [], "label": "configuration", @@ -26261,7 +29237,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host", "type": "Object", "tags": [], "label": "host", @@ -26272,7 +29248,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.default_value", "type": "string", "tags": [], "label": "default_value", @@ -26283,7 +29259,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -26297,7 +29273,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.display", "type": "string", "tags": [], "label": "display", @@ -26318,7 +29294,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.label", "type": "string", "tags": [], "label": "label", @@ -26329,7 +29305,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.options", "type": "Array", "tags": [], "label": "options", @@ -26343,7 +29319,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.order", "type": "number", "tags": [], "label": "order", @@ -26354,7 +29330,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.required", "type": "boolean", "tags": [], "label": "required", @@ -26368,7 +29344,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -26382,7 +29358,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -26393,7 +29369,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.type", "type": "string", "tags": [], "label": "type", @@ -26414,7 +29390,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -26428,7 +29404,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.validations", "type": "Array", "tags": [], "label": "validations", @@ -26442,7 +29418,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.host.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.value", "type": "string", "tags": [], "label": "value", @@ -26455,7 +29431,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port", "type": "Object", "tags": [], "label": "port", @@ -26466,7 +29442,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -26480,7 +29456,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -26494,7 +29470,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.display", "type": "string", "tags": [], "label": "display", @@ -26515,7 +29491,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.label", "type": "string", "tags": [], "label": "label", @@ -26526,7 +29502,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.options", "type": "Array", "tags": [], "label": "options", @@ -26540,7 +29516,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.order", "type": "number", "tags": [], "label": "order", @@ -26551,7 +29527,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.required", "type": "boolean", "tags": [], "label": "required", @@ -26565,7 +29541,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -26579,7 +29555,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -26590,7 +29566,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.type", "type": "string", "tags": [], "label": "type", @@ -26611,7 +29587,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -26625,7 +29601,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.validations", "type": "Array", "tags": [], "label": "validations", @@ -26638,9 +29614,9 @@ "trackAdoption": false }, { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.port.value", - "type": "string", + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -26652,7 +29628,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username", "type": "Object", "tags": [], "label": "username", @@ -26663,7 +29639,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.default_value", "type": "string", "tags": [], "label": "default_value", @@ -26674,7 +29650,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -26688,7 +29664,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.display", "type": "string", "tags": [], "label": "display", @@ -26709,7 +29685,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.label", "type": "string", "tags": [], "label": "label", @@ -26720,7 +29696,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.options", "type": "Array", "tags": [], "label": "options", @@ -26734,7 +29710,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.order", "type": "number", "tags": [], "label": "order", @@ -26745,7 +29721,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.required", "type": "boolean", "tags": [], "label": "required", @@ -26759,7 +29735,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -26773,7 +29749,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -26784,7 +29760,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.type", "type": "string", "tags": [], "label": "type", @@ -26805,7 +29781,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -26819,7 +29795,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.validations", "type": "Array", "tags": [], "label": "validations", @@ -26833,7 +29809,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.username.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.value", "type": "string", "tags": [], "label": "value", @@ -26846,7 +29822,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password", "type": "Object", "tags": [], "label": "password", @@ -26857,7 +29833,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.default_value", "type": "string", "tags": [], "label": "default_value", @@ -26868,7 +29844,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -26882,7 +29858,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.display", "type": "string", "tags": [], "label": "display", @@ -26903,7 +29879,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.label", "type": "string", "tags": [], "label": "label", @@ -26914,7 +29890,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.options", "type": "Array", "tags": [], "label": "options", @@ -26928,7 +29904,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.order", "type": "number", "tags": [], "label": "order", @@ -26939,7 +29915,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.required", "type": "boolean", "tags": [], "label": "required", @@ -26953,7 +29929,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -26967,7 +29943,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -26978,7 +29954,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.type", "type": "string", "tags": [], "label": "type", @@ -26999,7 +29975,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -27013,7 +29989,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.validations", "type": "Array", "tags": [], "label": "validations", @@ -27027,7 +30003,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.password.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.value", "type": "string", "tags": [], "label": "value", @@ -27040,7 +30016,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database", "type": "Object", "tags": [], "label": "database", @@ -27051,7 +30027,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.default_value", "type": "string", "tags": [], "label": "default_value", @@ -27062,7 +30038,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -27076,7 +30052,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.display", "type": "string", "tags": [], "label": "display", @@ -27097,7 +30073,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.label", "type": "string", "tags": [], "label": "label", @@ -27108,7 +30084,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.options", "type": "Array", "tags": [], "label": "options", @@ -27122,7 +30098,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.order", "type": "number", "tags": [], "label": "order", @@ -27133,7 +30109,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.required", "type": "boolean", "tags": [], "label": "required", @@ -27147,7 +30123,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -27161,7 +30137,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -27172,7 +30148,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.type", "type": "string", "tags": [], "label": "type", @@ -27193,7 +30169,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -27207,7 +30183,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.validations", "type": "Array", "tags": [], "label": "validations", @@ -27221,7 +30197,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.database.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.value", "type": "string", "tags": [], "label": "value", @@ -27234,10 +30210,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema", "type": "Object", "tags": [], - "label": "tables", + "label": "schema", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27245,7 +30221,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.default_value", "type": "string", "tags": [], "label": "default_value", @@ -27256,7 +30232,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -27270,7 +30246,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.display", "type": "string", "tags": [], "label": "display", @@ -27283,7 +30259,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTAREA" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27291,7 +30267,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.label", "type": "string", "tags": [], "label": "label", @@ -27302,7 +30278,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.options", "type": "Array", "tags": [], "label": "options", @@ -27316,7 +30292,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.order", "type": "number", "tags": [], "label": "order", @@ -27327,7 +30303,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.required", "type": "boolean", "tags": [], "label": "required", @@ -27341,7 +30317,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -27355,7 +30331,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -27366,7 +30342,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.type", "type": "string", "tags": [], "label": "type", @@ -27379,7 +30355,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".LIST" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27387,7 +30363,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -27401,7 +30377,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.validations", "type": "Array", "tags": [], "label": "validations", @@ -27415,7 +30391,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.tables.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.value", "type": "string", "tags": [], "label": "value", @@ -27428,10 +30404,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables", "type": "Object", "tags": [], - "label": "fetch_size", + "label": "tables", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27439,8 +30415,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], @@ -27450,7 +30426,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -27464,7 +30440,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.display", "type": "string", "tags": [], "label": "display", @@ -27477,7 +30453,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTAREA" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27485,7 +30461,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.label", "type": "string", "tags": [], "label": "label", @@ -27496,7 +30472,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.options", "type": "Array", "tags": [], "label": "options", @@ -27510,7 +30486,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.order", "type": "number", "tags": [], "label": "order", @@ -27521,13 +30497,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27535,7 +30511,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -27549,7 +30525,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -27560,7 +30536,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.type", "type": "string", "tags": [], "label": "type", @@ -27573,7 +30549,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".LIST" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27581,13 +30557,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27595,7 +30571,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.validations", "type": "Array", "tags": [], "label": "validations", @@ -27609,8 +30585,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.fetch_size.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -27622,10 +30598,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled", "type": "Object", "tags": [], - "label": "retry_count", + "label": "ssl_enabled", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27633,18 +30609,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.default_value", + "type": "boolean", "tags": [], "label": "default_value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -27658,7 +30637,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.display", "type": "string", "tags": [], "label": "display", @@ -27671,7 +30650,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27679,7 +30658,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.label", "type": "string", "tags": [], "label": "label", @@ -27690,7 +30669,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.options", "type": "Array", "tags": [], "label": "options", @@ -27704,7 +30683,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.order", "type": "number", "tags": [], "label": "order", @@ -27715,13 +30694,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27729,7 +30708,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -27743,7 +30722,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -27754,7 +30733,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.type", "type": "string", "tags": [], "label": "type", @@ -27767,7 +30746,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27775,13 +30754,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27789,7 +30768,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.validations", "type": "Array", "tags": [], "label": "validations", @@ -27803,11 +30782,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.retry_count.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -27816,10 +30798,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca", "type": "Object", "tags": [], - "label": "oracle_protocol", + "label": "ssl_ca", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27827,7 +30809,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.default_value", "type": "string", "tags": [], "label": "default_value", @@ -27838,13 +30820,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27852,7 +30834,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.display", "type": "string", "tags": [], "label": "display", @@ -27865,7 +30847,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".DROPDOWN" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27873,7 +30855,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.label", "type": "string", "tags": [], "label": "label", @@ -27884,13 +30866,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.options", "type": "Array", "tags": [], "label": "options", "description": [], "signature": [ - "{ label: string; value: string; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27898,7 +30880,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.order", "type": "number", "tags": [], "label": "order", @@ -27909,7 +30891,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.required", "type": "boolean", "tags": [], "label": "required", @@ -27923,7 +30905,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -27937,7 +30919,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -27948,7 +30930,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.type", "type": "string", "tags": [], "label": "type", @@ -27969,13 +30951,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -27983,7 +30965,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.validations", "type": "Array", "tags": [], "label": "validations", @@ -27997,7 +30979,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_protocol.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.value", "type": "string", "tags": [], "label": "value", @@ -28010,19 +30992,19 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size", "type": "Object", "tags": [], - "label": "oracle_home", + "label": "fetch_size", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false, "children": [ { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.default_value", - "type": "string", + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -28032,7 +31014,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -28046,7 +31028,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.display", "type": "string", "tags": [], "label": "display", @@ -28059,7 +31041,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28067,7 +31049,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.label", "type": "string", "tags": [], "label": "label", @@ -28078,7 +31060,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.options", "type": "Array", "tags": [], "label": "options", @@ -28092,7 +31074,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.order", "type": "number", "tags": [], "label": "order", @@ -28103,7 +31085,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.required", "type": "boolean", "tags": [], "label": "required", @@ -28117,7 +31099,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -28131,7 +31113,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -28142,7 +31124,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.type", "type": "string", "tags": [], "label": "type", @@ -28155,7 +31137,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28163,7 +31145,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -28177,7 +31159,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.validations", "type": "Array", "tags": [], "label": "validations", @@ -28191,8 +31173,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.oracle_home.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -28204,10 +31186,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count", "type": "Object", "tags": [], - "label": "wallet_configuration_path", + "label": "retry_count", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28215,8 +31197,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -28226,7 +31208,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -28240,7 +31222,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.display", "type": "string", "tags": [], "label": "display", @@ -28253,7 +31235,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28261,7 +31243,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.label", "type": "string", "tags": [], "label": "label", @@ -28272,7 +31254,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.options", "type": "Array", "tags": [], "label": "options", @@ -28286,7 +31268,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.order", "type": "number", "tags": [], "label": "order", @@ -28297,7 +31279,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.required", "type": "boolean", "tags": [], "label": "required", @@ -28311,7 +31293,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -28325,7 +31307,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -28336,7 +31318,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.type", "type": "string", "tags": [], "label": "type", @@ -28349,7 +31331,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28357,7 +31339,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -28371,7 +31353,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.validations", "type": "Array", "tags": [], "label": "validations", @@ -28385,8 +31367,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.configuration.wallet_configuration_path.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -28400,7 +31382,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features", "type": "Object", "tags": [], "label": "features", @@ -28411,7 +31393,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features.FeatureName.SYNC_RULES", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features.FeatureName.SYNC_RULES", "type": "Object", "tags": [], "label": "[FeatureName.SYNC_RULES]", @@ -28422,7 +31404,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features.FeatureName.SYNC_RULES.advanced", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features.FeatureName.SYNC_RULES.advanced", "type": "Object", "tags": [], "label": "advanced", @@ -28433,7 +31415,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features.FeatureName.SYNC_RULES.advanced.enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features.FeatureName.SYNC_RULES.advanced.enabled", "type": "boolean", "tags": [], "label": "enabled", @@ -28449,7 +31431,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features.FeatureName.SYNC_RULES.basic", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features.FeatureName.SYNC_RULES.basic", "type": "Object", "tags": [], "label": "basic", @@ -28460,7 +31442,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.features.FeatureName.SYNC_RULES.basic.enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features.FeatureName.SYNC_RULES.basic.enabled", "type": "boolean", "tags": [], "label": "enabled", @@ -28480,7 +31462,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.name", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.name", "type": "string", "tags": [], "label": "name", @@ -28491,7 +31473,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.oracle.serviceType", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.serviceType", "type": "string", "tags": [], "label": "serviceType", @@ -28504,10 +31486,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3", "type": "Object", "tags": [], - "label": "postgresql", + "label": "s3", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28515,7 +31497,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration", "type": "Object", "tags": [], "label": "configuration", @@ -28526,10 +31508,207 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets", + "type": "Object", + "tags": [], + "label": "buckets", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTAREA" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".LIST" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.buckets.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id", "type": "Object", "tags": [], - "label": "host", + "label": "aws_access_key_id", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28537,18 +31716,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -28562,7 +31744,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.display", "type": "string", "tags": [], "label": "display", @@ -28583,7 +31765,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.label", "type": "string", "tags": [], "label": "label", @@ -28594,7 +31776,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.options", "type": "Array", "tags": [], "label": "options", @@ -28608,7 +31790,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.order", "type": "number", "tags": [], "label": "order", @@ -28619,7 +31801,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.required", "type": "boolean", "tags": [], "label": "required", @@ -28633,7 +31815,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -28647,18 +31829,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.type", "type": "string", "tags": [], "label": "type", @@ -28679,7 +31864,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -28693,7 +31878,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.validations", "type": "Array", "tags": [], "label": "validations", @@ -28707,7 +31892,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.host.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_access_key_id.value", "type": "string", "tags": [], "label": "value", @@ -28720,10 +31905,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key", "type": "Object", "tags": [], - "label": "port", + "label": "aws_secret_access_key", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28731,7 +31916,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -28745,7 +31930,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -28759,7 +31944,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.display", "type": "string", "tags": [], "label": "display", @@ -28772,7 +31957,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28780,7 +31965,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.label", "type": "string", "tags": [], "label": "label", @@ -28791,7 +31976,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.options", "type": "Array", "tags": [], "label": "options", @@ -28805,7 +31990,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.order", "type": "number", "tags": [], "label": "order", @@ -28816,7 +32001,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.required", "type": "boolean", "tags": [], "label": "required", @@ -28830,13 +32015,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28844,18 +32029,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.type", "type": "string", "tags": [], "label": "type", @@ -28868,7 +32056,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28876,7 +32064,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -28890,7 +32078,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.validations", "type": "Array", "tags": [], "label": "validations", @@ -28904,8 +32092,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.port.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.aws_secret_access_key.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -28917,10 +32105,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout", "type": "Object", "tags": [], - "label": "username", + "label": "read_timeout", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28928,8 +32116,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -28939,7 +32127,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -28953,7 +32141,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.display", "type": "string", "tags": [], "label": "display", @@ -28966,7 +32154,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -28974,7 +32162,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.label", "type": "string", "tags": [], "label": "label", @@ -28985,7 +32173,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.options", "type": "Array", "tags": [], "label": "options", @@ -28999,7 +32187,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.order", "type": "number", "tags": [], "label": "order", @@ -29010,13 +32198,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29024,7 +32212,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -29038,18 +32226,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.type", "type": "string", "tags": [], "label": "type", @@ -29062,7 +32253,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29070,13 +32261,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29084,7 +32275,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.validations", "type": "Array", "tags": [], "label": "validations", @@ -29098,7 +32289,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.username.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.read_timeout.value", "type": "string", "tags": [], "label": "value", @@ -29111,10 +32302,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout", "type": "Object", "tags": [], - "label": "password", + "label": "connect_timeout", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29122,8 +32313,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -29133,7 +32324,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -29147,7 +32338,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.display", "type": "string", "tags": [], "label": "display", @@ -29160,7 +32351,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29168,7 +32359,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.label", "type": "string", "tags": [], "label": "label", @@ -29179,7 +32370,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.options", "type": "Array", "tags": [], "label": "options", @@ -29193,7 +32384,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.order", "type": "number", "tags": [], "label": "order", @@ -29204,13 +32395,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29218,13 +32409,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29232,18 +32423,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.type", "type": "string", "tags": [], "label": "type", @@ -29256,7 +32450,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29264,13 +32458,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29278,7 +32472,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.validations", "type": "Array", "tags": [], "label": "validations", @@ -29292,7 +32486,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.password.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.connect_timeout.value", "type": "string", "tags": [], "label": "value", @@ -29305,10 +32499,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts", "type": "Object", "tags": [], - "label": "database", + "label": "max_attempts", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29316,8 +32510,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -29327,7 +32521,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -29341,7 +32535,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.display", "type": "string", "tags": [], "label": "display", @@ -29354,7 +32548,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29362,7 +32556,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.label", "type": "string", "tags": [], "label": "label", @@ -29373,7 +32567,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.options", "type": "Array", "tags": [], "label": "options", @@ -29387,7 +32581,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.order", "type": "number", "tags": [], "label": "order", @@ -29398,13 +32592,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29412,7 +32606,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -29426,18 +32620,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.type", "type": "string", "tags": [], "label": "type", @@ -29450,7 +32647,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29458,13 +32655,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29472,7 +32669,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.validations", "type": "Array", "tags": [], "label": "validations", @@ -29486,7 +32683,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.database.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.max_attempts.value", "type": "string", "tags": [], "label": "value", @@ -29499,10 +32696,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size", "type": "Object", "tags": [], - "label": "schema", + "label": "page_size", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29510,8 +32707,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -29521,7 +32718,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -29535,7 +32732,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.display", "type": "string", "tags": [], "label": "display", @@ -29548,7 +32745,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29556,7 +32753,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.label", "type": "string", "tags": [], "label": "label", @@ -29567,7 +32764,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.options", "type": "Array", "tags": [], "label": "options", @@ -29581,7 +32778,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.order", "type": "number", "tags": [], "label": "order", @@ -29592,13 +32789,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29606,7 +32803,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -29620,18 +32817,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.type", "type": "string", "tags": [], "label": "type", @@ -29644,7 +32844,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29652,13 +32852,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29666,7 +32866,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.validations", "type": "Array", "tags": [], "label": "validations", @@ -29680,7 +32880,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.schema.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.page_size.value", "type": "string", "tags": [], "label": "value", @@ -29693,10 +32893,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service", "type": "Object", "tags": [], - "label": "tables", + "label": "use_text_extraction_service", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29704,18 +32904,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -29729,7 +32932,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.display", "type": "string", "tags": [], "label": "display", @@ -29742,7 +32945,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTAREA" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29750,7 +32953,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.label", "type": "string", "tags": [], "label": "label", @@ -29761,7 +32964,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.options", "type": "Array", "tags": [], "label": "options", @@ -29775,7 +32978,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.order", "type": "number", "tags": [], "label": "order", @@ -29786,7 +32989,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.required", "type": "boolean", "tags": [], "label": "required", @@ -29800,7 +33003,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -29814,7 +33017,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -29825,7 +33028,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.type", "type": "string", "tags": [], "label": "type", @@ -29838,7 +33041,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".LIST" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29846,13 +33049,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29860,7 +33063,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.validations", "type": "Array", "tags": [], "label": "validations", @@ -29874,23 +33077,98 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.tables.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.configuration.use_text_extraction_service.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false } ] - }, + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.s3.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce", + "type": "Object", + "tags": [], + "label": "salesforce", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain", "type": "Object", "tags": [], - "label": "ssl_enabled", + "label": "domain", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29898,13 +33176,13 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.default_value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], "signature": [ - "false" + "null" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29912,7 +33190,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -29926,7 +33204,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.display", "type": "string", "tags": [], "label": "display", @@ -29939,7 +33217,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -29947,7 +33225,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.label", "type": "string", "tags": [], "label": "label", @@ -29958,7 +33236,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.options", "type": "Array", "tags": [], "label": "options", @@ -29972,7 +33250,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.order", "type": "number", "tags": [], "label": "order", @@ -29983,7 +33261,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.required", "type": "boolean", "tags": [], "label": "required", @@ -29997,7 +33275,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -30011,7 +33289,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -30022,7 +33300,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.type", "type": "string", "tags": [], "label": "type", @@ -30035,7 +33313,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30043,7 +33321,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -30057,7 +33335,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.validations", "type": "Array", "tags": [], "label": "validations", @@ -30071,14 +33349,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_enabled.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.domain.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -30087,10 +33362,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id", "type": "Object", "tags": [], - "label": "ssl_ca", + "label": "client_id", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30098,24 +33373,27 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: true; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30123,7 +33401,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.display", "type": "string", "tags": [], "label": "display", @@ -30144,7 +33422,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.label", "type": "string", "tags": [], "label": "label", @@ -30155,7 +33433,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.options", "type": "Array", "tags": [], "label": "options", @@ -30169,7 +33447,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.order", "type": "number", "tags": [], "label": "order", @@ -30180,7 +33458,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.required", "type": "boolean", "tags": [], "label": "required", @@ -30194,13 +33472,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30208,7 +33486,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -30219,7 +33497,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.type", "type": "string", "tags": [], "label": "type", @@ -30240,7 +33518,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -30254,7 +33532,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.validations", "type": "Array", "tags": [], "label": "validations", @@ -30268,7 +33546,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.ssl_ca.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_id.value", "type": "string", "tags": [], "label": "value", @@ -30281,10 +33559,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret", "type": "Object", "tags": [], - "label": "fetch_size", + "label": "client_secret", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30292,18 +33570,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -30317,7 +33598,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.display", "type": "string", "tags": [], "label": "display", @@ -30330,7 +33611,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30338,7 +33619,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.label", "type": "string", "tags": [], "label": "label", @@ -30349,7 +33630,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.options", "type": "Array", "tags": [], "label": "options", @@ -30363,7 +33644,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.order", "type": "number", "tags": [], "label": "order", @@ -30374,13 +33655,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30388,13 +33669,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30402,7 +33683,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -30413,7 +33694,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.type", "type": "string", "tags": [], "label": "type", @@ -30426,7 +33707,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30434,13 +33715,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30448,7 +33729,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.validations", "type": "Array", "tags": [], "label": "validations", @@ -30462,8 +33743,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.fetch_size.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.client_secret.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -30475,10 +33756,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service", "type": "Object", "tags": [], - "label": "retry_count", + "label": "use_text_extraction_service", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30486,18 +33767,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -30511,7 +33795,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.display", "type": "string", "tags": [], "label": "display", @@ -30524,7 +33808,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30532,7 +33816,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.label", "type": "string", "tags": [], "label": "label", @@ -30543,7 +33827,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.options", "type": "Array", "tags": [], "label": "options", @@ -30557,7 +33841,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.order", "type": "number", "tags": [], "label": "order", @@ -30568,13 +33852,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30582,7 +33866,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -30596,7 +33880,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -30607,7 +33891,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.type", "type": "string", "tags": [], "label": "type", @@ -30620,7 +33904,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -30628,7 +33912,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -30642,7 +33926,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.validations", "type": "Array", "tags": [], "label": "validations", @@ -30656,11 +33940,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.configuration.retry_count.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.configuration.use_text_extraction_service.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -30671,87 +33958,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features.FeatureName.SYNC_RULES", - "type": "Object", - "tags": [], - "label": "[FeatureName.SYNC_RULES]", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", - "tags": [], - "label": "advanced", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features.FeatureName.SYNC_RULES.advanced.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "false" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features.FeatureName.SYNC_RULES.basic", - "type": "Object", - "tags": [], - "label": "basic", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.name", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.name", "type": "string", "tags": [], "label": "name", @@ -30762,7 +33969,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.postgresql.serviceType", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.salesforce.serviceType", "type": "string", "tags": [], "label": "serviceType", @@ -31434,6 +34641,17 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.servicenow.configuration.services.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/search-connectors", "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.servicenow.configuration.services.display", @@ -31455,17 +34673,6 @@ "deprecated": false, "trackAdoption": false }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.servicenow.configuration.services.label", - "type": "string", - "tags": [], - "label": "label", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, { "parentPluginId": "@kbn/search-connectors", "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.servicenow.configuration.services.options", diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index a6b7bde99b33b..b819b5ab07bbb 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/te | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2420 | 0 | 2420 | 0 | +| 2649 | 0 | 2649 | 0 | ## Common diff --git a/api_docs/kbn_search_errors.mdx b/api_docs/kbn_search_errors.mdx index 359241925b497..d25ee8f50d71b 100644 --- a/api_docs/kbn_search_errors.mdx +++ b/api_docs/kbn_search_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-errors title: "@kbn/search-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-errors plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-errors'] --- import kbnSearchErrorsObj from './kbn_search_errors.devdocs.json'; diff --git a/api_docs/kbn_search_index_documents.mdx b/api_docs/kbn_search_index_documents.mdx index cc2de3f8eb92c..31eb960a4bb48 100644 --- a/api_docs/kbn_search_index_documents.mdx +++ b/api_docs/kbn_search_index_documents.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-index-documents title: "@kbn/search-index-documents" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-index-documents plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-index-documents'] --- import kbnSearchIndexDocumentsObj from './kbn_search_index_documents.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 11673f03f3cda..8634aeb0a583e 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-12-13 +date: 2023-12-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_plugin_types_common.mdx b/api_docs/kbn_security_plugin_types_common.mdx index c31259d11e263..e7b7ae5aa13c3 100644 --- a/api_docs/kbn_security_plugin_types_common.mdx +++ b/api_docs/kbn_security_plugin_types_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-common title: "@kbn/security-plugin-types-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-common plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-common'] --- import kbnSecurityPluginTypesCommonObj from './kbn_security_plugin_types_common.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_public.mdx b/api_docs/kbn_security_plugin_types_public.mdx index ca42a20309108..d6a32277a9cc3 100644 --- a/api_docs/kbn_security_plugin_types_public.mdx +++ b/api_docs/kbn_security_plugin_types_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-public title: "@kbn/security-plugin-types-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-public plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-public'] --- import kbnSecurityPluginTypesPublicObj from './kbn_security_plugin_types_public.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_server.mdx b/api_docs/kbn_security_plugin_types_server.mdx index 40b205d9510a4..0e272df7134f4 100644 --- a/api_docs/kbn_security_plugin_types_server.mdx +++ b/api_docs/kbn_security_plugin_types_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-server title: "@kbn/security-plugin-types-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-server plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-server'] --- import kbnSecurityPluginTypesServerObj from './kbn_security_plugin_types_server.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 0412538358863..245e1024c7b93 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-12-13 +date: 2023-12-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 9ea0c03982ef9..a7511111c9102 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-12-13 +date: 2023-12-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 461a568f66a26..888dc5d13f759 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-12-13 +date: 2023-12-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 43ce233338174..d5c0ecef59f02 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-12-13 +date: 2023-12-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 ce29c635fc6da..b5af3e0de4973 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-12-13 +date: 2023-12-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 fdab05ab2d86f..6980f77ee7452 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-12-13 +date: 2023-12-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 0716f9ffa4a93..8adc8a2aa93c7 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-12-13 +date: 2023-12-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 034b40e76fa77..59e8e7a218b20 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-12-13 +date: 2023-12-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.devdocs.json b/api_docs/kbn_securitysolution_exception_list_components.devdocs.json index 43eab9a3b5012..e264ff91b5597 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.devdocs.json +++ b/api_docs/kbn_securitysolution_exception_list_components.devdocs.json @@ -834,7 +834,7 @@ "label": "formattedDateComponent", "description": [], "signature": [ - "\"symbol\" | \"object\" | \"big\" | \"link\" | \"small\" | \"sub\" | \"sup\" | \"source\" | \"desc\" | \"filter\" | \"text\" | \"map\" | \"head\" | React.ComponentType | \"slot\" | \"style\" | \"title\" | \"meta\" | \"data\" | \"pattern\" | \"summary\" | \"template\" | \"span\" | \"main\" | \"path\" | \"form\" | \"body\" | \"q\" | \"label\" | \"progress\" | \"legend\" | \"article\" | \"image\" | \"menu\" | \"stop\" | \"base\" | \"s\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"canvas\" | \"svg\" | \"select\" | \"output\" | \"script\" | \"time\" | \"mask\" | \"input\" | \"a\" | \"abbr\" | \"address\" | \"area\" | \"aside\" | \"audio\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"br\" | \"button\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"header\" | \"hgroup\" | \"hr\" | \"html\" | \"i\" | \"iframe\" | \"img\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"section\" | \"strong\" | \"table\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"var\" | \"video\" | \"wbr\" | \"webview\" | \"animate\" | \"animateMotion\" | \"animateTransform\" | \"circle\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"line\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\" | \"view\"" + "\"symbol\" | \"object\" | \"big\" | \"link\" | \"small\" | \"sub\" | \"sup\" | \"source\" | \"desc\" | \"filter\" | \"text\" | \"map\" | \"head\" | React.ComponentType | \"slot\" | \"style\" | \"title\" | \"meta\" | \"data\" | \"pattern\" | \"summary\" | \"template\" | \"span\" | \"main\" | \"path\" | \"form\" | \"body\" | \"q\" | \"label\" | \"progress\" | \"article\" | \"image\" | \"menu\" | \"stop\" | \"base\" | \"s\" | \"legend\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"canvas\" | \"svg\" | \"select\" | \"output\" | \"script\" | \"time\" | \"mask\" | \"input\" | \"a\" | \"abbr\" | \"address\" | \"area\" | \"aside\" | \"audio\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"br\" | \"button\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"header\" | \"hgroup\" | \"hr\" | \"html\" | \"i\" | \"iframe\" | \"img\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"section\" | \"strong\" | \"table\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"var\" | \"video\" | \"wbr\" | \"webview\" | \"animate\" | \"animateMotion\" | \"animateTransform\" | \"circle\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"line\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\" | \"view\"" ], "path": "packages/kbn-securitysolution-exception-list-components/src/exception_item_card/meta/index.tsx", "deprecated": false, @@ -848,7 +848,7 @@ "label": "securityLinkAnchorComponent", "description": [], "signature": [ - "\"symbol\" | \"object\" | \"big\" | \"link\" | \"small\" | \"sub\" | \"sup\" | \"source\" | \"desc\" | \"filter\" | \"text\" | \"map\" | \"head\" | React.ComponentType | \"slot\" | \"style\" | \"title\" | \"meta\" | \"data\" | \"pattern\" | \"summary\" | \"template\" | \"span\" | \"main\" | \"path\" | \"form\" | \"body\" | \"q\" | \"label\" | \"progress\" | \"legend\" | \"article\" | \"image\" | \"menu\" | \"stop\" | \"base\" | \"s\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"canvas\" | \"svg\" | \"select\" | \"output\" | \"script\" | \"time\" | \"mask\" | \"input\" | \"a\" | \"abbr\" | \"address\" | \"area\" | \"aside\" | \"audio\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"br\" | \"button\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"header\" | \"hgroup\" | \"hr\" | \"html\" | \"i\" | \"iframe\" | \"img\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"section\" | \"strong\" | \"table\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"var\" | \"video\" | \"wbr\" | \"webview\" | \"animate\" | \"animateMotion\" | \"animateTransform\" | \"circle\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"line\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\" | \"view\"" + "\"symbol\" | \"object\" | \"big\" | \"link\" | \"small\" | \"sub\" | \"sup\" | \"source\" | \"desc\" | \"filter\" | \"text\" | \"map\" | \"head\" | React.ComponentType | \"slot\" | \"style\" | \"title\" | \"meta\" | \"data\" | \"pattern\" | \"summary\" | \"template\" | \"span\" | \"main\" | \"path\" | \"form\" | \"body\" | \"q\" | \"label\" | \"progress\" | \"article\" | \"image\" | \"menu\" | \"stop\" | \"base\" | \"s\" | \"legend\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"canvas\" | \"svg\" | \"select\" | \"output\" | \"script\" | \"time\" | \"mask\" | \"input\" | \"a\" | \"abbr\" | \"address\" | \"area\" | \"aside\" | \"audio\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"br\" | \"button\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"header\" | \"hgroup\" | \"hr\" | \"html\" | \"i\" | \"iframe\" | \"img\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"section\" | \"strong\" | \"table\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"var\" | \"video\" | \"wbr\" | \"webview\" | \"animate\" | \"animateMotion\" | \"animateTransform\" | \"circle\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"line\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\" | \"view\"" ], "path": "packages/kbn-securitysolution-exception-list-components/src/exception_item_card/meta/index.tsx", "deprecated": false, @@ -987,7 +987,7 @@ "label": "securityLinkAnchorComponent", "description": [], "signature": [ - "\"symbol\" | \"object\" | \"big\" | \"link\" | \"small\" | \"sub\" | \"sup\" | \"source\" | \"desc\" | \"filter\" | \"text\" | \"map\" | \"head\" | React.ComponentType | \"slot\" | \"style\" | \"title\" | \"meta\" | \"data\" | \"pattern\" | \"summary\" | \"template\" | \"span\" | \"main\" | \"path\" | \"form\" | \"body\" | \"q\" | \"label\" | \"progress\" | \"legend\" | \"article\" | \"image\" | \"menu\" | \"stop\" | \"base\" | \"s\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"canvas\" | \"svg\" | \"select\" | \"output\" | \"script\" | \"time\" | \"mask\" | \"input\" | \"a\" | \"abbr\" | \"address\" | \"area\" | \"aside\" | \"audio\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"br\" | \"button\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"header\" | \"hgroup\" | \"hr\" | \"html\" | \"i\" | \"iframe\" | \"img\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"section\" | \"strong\" | \"table\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"var\" | \"video\" | \"wbr\" | \"webview\" | \"animate\" | \"animateMotion\" | \"animateTransform\" | \"circle\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"line\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\" | \"view\"" + "\"symbol\" | \"object\" | \"big\" | \"link\" | \"small\" | \"sub\" | \"sup\" | \"source\" | \"desc\" | \"filter\" | \"text\" | \"map\" | \"head\" | React.ComponentType | \"slot\" | \"style\" | \"title\" | \"meta\" | \"data\" | \"pattern\" | \"summary\" | \"template\" | \"span\" | \"main\" | \"path\" | \"form\" | \"body\" | \"q\" | \"label\" | \"progress\" | \"article\" | \"image\" | \"menu\" | \"stop\" | \"base\" | \"s\" | \"legend\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"canvas\" | \"svg\" | \"select\" | \"output\" | \"script\" | \"time\" | \"mask\" | \"input\" | \"a\" | \"abbr\" | \"address\" | \"area\" | \"aside\" | \"audio\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"br\" | \"button\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"header\" | \"hgroup\" | \"hr\" | \"html\" | \"i\" | \"iframe\" | \"img\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"section\" | \"strong\" | \"table\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"var\" | \"video\" | \"wbr\" | \"webview\" | \"animate\" | \"animateMotion\" | \"animateTransform\" | \"circle\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"line\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\" | \"view\"" ], "path": "packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.tsx", "deprecated": false, @@ -1001,7 +1001,7 @@ "label": "formattedDateComponent", "description": [], "signature": [ - "\"symbol\" | \"object\" | \"big\" | \"link\" | \"small\" | \"sub\" | \"sup\" | \"source\" | \"desc\" | \"filter\" | \"text\" | \"map\" | \"head\" | React.ComponentType | \"slot\" | \"style\" | \"title\" | \"meta\" | \"data\" | \"pattern\" | \"summary\" | \"template\" | \"span\" | \"main\" | \"path\" | \"form\" | \"body\" | \"q\" | \"label\" | \"progress\" | \"legend\" | \"article\" | \"image\" | \"menu\" | \"stop\" | \"base\" | \"s\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"canvas\" | \"svg\" | \"select\" | \"output\" | \"script\" | \"time\" | \"mask\" | \"input\" | \"a\" | \"abbr\" | \"address\" | \"area\" | \"aside\" | \"audio\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"br\" | \"button\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"header\" | \"hgroup\" | \"hr\" | \"html\" | \"i\" | \"iframe\" | \"img\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"section\" | \"strong\" | \"table\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"var\" | \"video\" | \"wbr\" | \"webview\" | \"animate\" | \"animateMotion\" | \"animateTransform\" | \"circle\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"line\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\" | \"view\"" + "\"symbol\" | \"object\" | \"big\" | \"link\" | \"small\" | \"sub\" | \"sup\" | \"source\" | \"desc\" | \"filter\" | \"text\" | \"map\" | \"head\" | React.ComponentType | \"slot\" | \"style\" | \"title\" | \"meta\" | \"data\" | \"pattern\" | \"summary\" | \"template\" | \"span\" | \"main\" | \"path\" | \"form\" | \"body\" | \"q\" | \"label\" | \"progress\" | \"article\" | \"image\" | \"menu\" | \"stop\" | \"base\" | \"s\" | \"legend\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"canvas\" | \"svg\" | \"select\" | \"output\" | \"script\" | \"time\" | \"mask\" | \"input\" | \"a\" | \"abbr\" | \"address\" | \"area\" | \"aside\" | \"audio\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"br\" | \"button\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"header\" | \"hgroup\" | \"hr\" | \"html\" | \"i\" | \"iframe\" | \"img\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"section\" | \"strong\" | \"table\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"var\" | \"video\" | \"wbr\" | \"webview\" | \"animate\" | \"animateMotion\" | \"animateTransform\" | \"circle\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"line\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\" | \"view\"" ], "path": "packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.tsx", "deprecated": false, diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index f8ccc961fa071..55c3d512fb662 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-12-13 +date: 2023-12-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 98867ef6793c1..aea8d029e4adc 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-12-13 +date: 2023-12-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 201a188001d44..e835912ea65d3 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-12-13 +date: 2023-12-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 fca5f19ec9b9b..e7eb4daf2f2e0 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-12-13 +date: 2023-12-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 3b505b114f173..ddabdbd6c7f23 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-12-13 +date: 2023-12-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 8e1e922f060e2..fd772232c6856 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-12-13 +date: 2023-12-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 9fa60c98c2011..f22dbb52a7f09 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-12-13 +date: 2023-12-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 f47925c97ef4d..e1e1b7ff9ae59 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-12-13 +date: 2023-12-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 150138ee44af1..7622631f52f41 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-12-13 +date: 2023-12-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 82da11c352188..56969ea07c512 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-12-13 +date: 2023-12-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 49f3f2ac8a8ab..e1b6b07b37f98 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-12-13 +date: 2023-12-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 e36b530bc5cc4..6b1d512142a25 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-12-13 +date: 2023-12-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 527f5ea1a897f..4b7aa0ed27ebd 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-12-13 +date: 2023-12-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 c0025f7d91ef9..9c00df92f8c05 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-12-13 +date: 2023-12-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 d6c1ccbcfecd0..412bf321a7c3e 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-12-13 +date: 2023-12-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 ac8d9ff93f0e2..0ad230a8d0c8d 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-12-13 +date: 2023-12-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 6370d56895d71..f6f9893d46f28 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-12-13 +date: 2023-12-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 62a5ed6b1f908..9506a7b563924 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-12-13 +date: 2023-12-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 fdc617b8a9794..e75cf6c1c600c 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-12-13 +date: 2023-12-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 4842a4c95bfb3..15272b0b60dee 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-12-13 +date: 2023-12-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 a6d18ff4a80a1..daf438adff757 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-12-13 +date: 2023-12-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 26be90fdc941a..4075a758b6272 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-12-13 +date: 2023-12-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 6c7517d2d2b4e..61af3db0f3f2f 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-12-13 +date: 2023-12-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 09278bcf76055..b4af417ef3191 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-12-13 +date: 2023-12-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_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 5f0eab9a7f498..215a13bb4c88a 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-12-13 +date: 2023-12-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_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 0ee07a1fa95c9..6eadb8927bd71 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-12-13 +date: 2023-12-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 5a603d226a9f6..f44ecd625c9f6 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-12-13 +date: 2023-12-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 737850b312962..f0fc2d060055b 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-12-13 +date: 2023-12-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 3996273c15066..eebe08710b1c1 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-12-13 +date: 2023-12-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_error_boundary.mdx b/api_docs/kbn_shared_ux_error_boundary.mdx index c4c864d6c943c..78e7ef220018f 100644 --- a/api_docs/kbn_shared_ux_error_boundary.mdx +++ b/api_docs/kbn_shared_ux_error_boundary.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-error-boundary title: "@kbn/shared-ux-error-boundary" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-error-boundary plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-error-boundary'] --- import kbnSharedUxErrorBoundaryObj from './kbn_shared_ux_error_boundary.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 88b0c10a6403a..13ffb90ccdac2 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-12-13 +date: 2023-12-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 19312fd73ac5d..be9c8628011e8 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-12-13 +date: 2023-12-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 6113e98a39e64..a5bb38cc8dfe8 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-12-13 +date: 2023-12-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 9a548cc0598ce..e7df266510f7e 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-12-13 +date: 2023-12-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 db8faa85c799a..67c35dca9008b 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-12-13 +date: 2023-12-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 d3e08fc66fef7..23cc3b8f7fb08 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-12-13 +date: 2023-12-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 0aa3188b83c7f..252a4a1eb8e72 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-12-13 +date: 2023-12-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 79c4ed8378c4a..65951bdfb6bec 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-12-13 +date: 2023-12-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 3fb53edd87a66..45ce77ebd08d7 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-12-13 +date: 2023-12-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 6b6892008dcc0..037b38c981c72 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-12-13 +date: 2023-12-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 35bc5527a3856..c217c3fe1827f 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-12-13 +date: 2023-12-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 d4307eaddf09a..59ce0044c7b4e 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-12-13 +date: 2023-12-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 a8764a0396885..939c2873624e3 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-12-13 +date: 2023-12-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 bafdf2b2e2ece..99b0636b9fce5 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-12-13 +date: 2023-12-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 f61ab20d66900..db0ab5534e6fc 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-12-13 +date: 2023-12-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 46f685ddf488f..f726c8e292d29 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-12-13 +date: 2023-12-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 435885429fa5b..2bfb360e65287 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-12-13 +date: 2023-12-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 711b4010257fb..f4ea43c6b0bdb 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-12-13 +date: 2023-12-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 823df2a2d123f..67f0f57bedf41 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-12-13 +date: 2023-12-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 31e9355e8c276..a8155fc5ff788 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-12-13 +date: 2023-12-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 ab449b4a7a702..4b2fe4e8ad0b6 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-12-13 +date: 2023-12-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 015299f8e1ab1..d2930ab26fdad 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-12-13 +date: 2023-12-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 c92148d59799a..d3c07bde0fde8 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-12-13 +date: 2023-12-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 f78c738eb9a6a..7bfa9688162f0 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-12-13 +date: 2023-12-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 f89668409aa3a..7e69ee35237b2 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-12-13 +date: 2023-12-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 4238c987f78f1..7400bd1bc3bba 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-12-13 +date: 2023-12-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 8b7dcae80e360..1eb713e5335cd 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-12-13 +date: 2023-12-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 94789eafd32ea..ee71d00ce91e2 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-12-13 +date: 2023-12-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 04e14a2cbf87e..3723fedeb1182 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-12-13 +date: 2023-12-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 b30bc1175d276..70ab1516ba4c4 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-12-13 +date: 2023-12-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 7efc1d670402c..c1cab11a2befd 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-12-13 +date: 2023-12-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 a4fca13fe7f8d..67c3b68cecd85 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-12-13 +date: 2023-12-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 5628267c70971..37c588425b545 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-12-13 +date: 2023-12-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 bad71a7da23cb..6b3546bfdec9c 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-12-13 +date: 2023-12-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 41564d347d1b9..06befbcc068c5 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-12-13 +date: 2023-12-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 36047818ab02e..7b11d4aeeb34e 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-12-13 +date: 2023-12-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 3b9675bfc4c1c..ab703e5efab4e 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-12-13 +date: 2023-12-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 2a1424281575e..11194c5a699c8 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-12-13 +date: 2023-12-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 c9f7ab98d67d5..87a5a5f0292fa 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-12-13 +date: 2023-12-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 9c3f4b922194d..007deda1f7b6c 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-12-13 +date: 2023-12-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 176eec58b7221..b7cc50c5c9548 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-12-13 +date: 2023-12-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 d16e6c6f4c688..122c7f154b865 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_triggers_actions_ui_types.mdx b/api_docs/kbn_triggers_actions_ui_types.mdx index a1ea065074a2f..1168c42809770 100644 --- a/api_docs/kbn_triggers_actions_ui_types.mdx +++ b/api_docs/kbn_triggers_actions_ui_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-triggers-actions-ui-types title: "@kbn/triggers-actions-ui-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/triggers-actions-ui-types plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/triggers-actions-ui-types'] --- import kbnTriggersActionsUiTypesObj from './kbn_triggers_actions_ui_types.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 78c0909d1b313..fa3e62460b266 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-12-13 +date: 2023-12-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 f997749e29829..830c8c76a560b 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-12-13 +date: 2023-12-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 d387828a98405..b9d4c787dc2ad 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-12-13 +date: 2023-12-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 fb8018caca1f7..88eb5d41e185f 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-12-13 +date: 2023-12-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 5a9b28bbfaf0a..2424fe8106ebb 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-12-13 +date: 2023-12-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 752163ee9c93c..fda3438460b69 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-12-13 +date: 2023-12-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 e747c34786fb4..6865cada16b24 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-12-13 +date: 2023-12-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 1823a2ebf138a..cc7948aa4f06b 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-12-13 +date: 2023-12-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_unsaved_changes_badge.mdx b/api_docs/kbn_unsaved_changes_badge.mdx index 5dbf6040fb04e..f7d5935f72c17 100644 --- a/api_docs/kbn_unsaved_changes_badge.mdx +++ b/api_docs/kbn_unsaved_changes_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-badge title: "@kbn/unsaved-changes-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unsaved-changes-badge plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-badge'] --- import kbnUnsavedChangesBadgeObj from './kbn_unsaved_changes_badge.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 1b6372a9362a0..ffeaf1bccf450 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-12-13 +date: 2023-12-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 5a703e961a081..ef65b4cf4681b 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-12-13 +date: 2023-12-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 9f3699b145955..31cc5d30f12e6 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-12-13 +date: 2023-12-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 54cf676b81ef5..6daaa2fe1ee83 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-12-13 +date: 2023-12-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 3ca0131ed9c47..752e8f315af1b 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-12-13 +date: 2023-12-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 5619f252630df..74f4e38fa4962 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-12-13 +date: 2023-12-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 3bbace52503e0..c884fab298c09 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-12-13 +date: 2023-12-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_visualization_utils.mdx b/api_docs/kbn_visualization_utils.mdx index 79f3a8a236bce..738be0bebfac0 100644 --- a/api_docs/kbn_visualization_utils.mdx +++ b/api_docs/kbn_visualization_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-utils title: "@kbn/visualization-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-utils plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-utils'] --- import kbnVisualizationUtilsObj from './kbn_visualization_utils.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 1a1a8ce6eb3f5..6838f5568eca9 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-12-13 +date: 2023-12-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 08a518c7b88dd..a9b656198f9c6 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kbn_zod_helpers.mdx b/api_docs/kbn_zod_helpers.mdx index 6d9de209bcccc..c5995b1f6db88 100644 --- a/api_docs/kbn_zod_helpers.mdx +++ b/api_docs/kbn_zod_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod-helpers title: "@kbn/zod-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/zod-helpers plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod-helpers'] --- import kbnZodHelpersObj from './kbn_zod_helpers.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 681f9d3be2560..559c77164ad20 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-12-13 +date: 2023-12-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 08450777ca866..ca3c114633bd5 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-12-13 +date: 2023-12-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 c530a713b1810..0a622cbcb2bb9 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-12-13 +date: 2023-12-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 7efe5a7bb03c8..4f635d8ba1ab1 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.devdocs.json b/api_docs/lens.devdocs.json index 8e19ab8a174f2..48dc406105739 100644 --- a/api_docs/lens.devdocs.json +++ b/api_docs/lens.devdocs.json @@ -8880,7 +8880,7 @@ "CustomXDomain", " | undefined>; ariaDescription?: string | undefined; ariaDescribedBy?: string | undefined; ariaLabelledBy?: string | undefined; ariaTableCaption?: string | undefined; legendAction?: \"ignore\" | undefined; legendStrategy?: ", "LegendStrategy", - " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> & Partial>) | undefined" + " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onResize?: \"ignore\" | undefined; onWillRender?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> & Partial>) | undefined" ], "path": "src/plugins/chart_expressions/expression_xy/common/types/expression_renderers.ts", "deprecated": false, @@ -10891,7 +10891,7 @@ "CustomXDomain", " | undefined>; ariaDescription?: string | undefined; ariaDescribedBy?: string | undefined; ariaLabelledBy?: string | undefined; ariaTableCaption?: string | undefined; legendAction?: \"ignore\" | undefined; legendStrategy?: ", "LegendStrategy", - " | undefined; onLegendItemClick?: \"ignore\" | undefined; customLegend?: \"ignore\" | undefined; onLegendItemMinusClick?: \"ignore\" | undefined; onLegendItemOut?: \"ignore\" | undefined; onLegendItemOver?: \"ignore\" | undefined; onLegendItemPlusClick?: \"ignore\" | undefined; debugState?: boolean | undefined; onProjectionClick?: \"ignore\" | undefined; onElementClick?: \"ignore\" | undefined; onElementOver?: \"ignore\" | undefined; onElementOut?: \"ignore\" | undefined; onBrushEnd?: \"ignore\" | undefined; onProjectionAreaChange?: \"ignore\" | undefined; onAnnotationClick?: \"ignore\" | undefined; pointerUpdateDebounce?: number | undefined; roundHistogramBrushValues?: boolean | undefined; noResults?: React.ReactChild | React.ComponentType<{}> | undefined; legendSort?: \"ignore\" | undefined; }>> | Partial | undefined; legendSort?: \"ignore\" | undefined; }>> | Partial Promise<{ ready: boolean; error?: any; deployment_state?: string | undefined; allocation_state?: string | undefined; }>; } & ", + ") => Promise<{ ready: boolean; error?: any; deployment_state?: ", + "MlDeploymentState", + " | undefined; allocation_state?: ", + "MlDeploymentAllocationState", + " | undefined; model_name?: string | undefined; }>; } & ", "ObservabilityAIAssistantRouteCreateOptions", "; \"POST /internal/observability_ai_assistant/kb/setup\": { endpoint: \"POST /internal/observability_ai_assistant/kb/setup\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", @@ -1186,7 +1190,11 @@ "ObservabilityAIAssistantRouteCreateOptions", "; \"GET /internal/observability_ai_assistant/kb/status\": { endpoint: \"GET /internal/observability_ai_assistant/kb/status\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", - ") => Promise<{ ready: boolean; error?: any; deployment_state?: string | undefined; allocation_state?: string | undefined; }>; } & ", + ") => Promise<{ ready: boolean; error?: any; deployment_state?: ", + "MlDeploymentState", + " | undefined; allocation_state?: ", + "MlDeploymentAllocationState", + " | undefined; model_name?: string | undefined; }>; } & ", "ObservabilityAIAssistantRouteCreateOptions", "; \"POST /internal/observability_ai_assistant/kb/setup\": { endpoint: \"POST /internal/observability_ai_assistant/kb/setup\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", @@ -1928,7 +1936,11 @@ "ObservabilityAIAssistantRouteCreateOptions", "; \"GET /internal/observability_ai_assistant/kb/status\": { endpoint: \"GET /internal/observability_ai_assistant/kb/status\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", - ") => Promise<{ ready: boolean; error?: any; deployment_state?: string | undefined; allocation_state?: string | undefined; }>; } & ", + ") => Promise<{ ready: boolean; error?: any; deployment_state?: ", + "MlDeploymentState", + " | undefined; allocation_state?: ", + "MlDeploymentAllocationState", + " | undefined; model_name?: string | undefined; }>; } & ", "ObservabilityAIAssistantRouteCreateOptions", "; \"POST /internal/observability_ai_assistant/kb/setup\": { endpoint: \"POST /internal/observability_ai_assistant/kb/setup\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", @@ -2439,7 +2451,11 @@ "ObservabilityAIAssistantRouteCreateOptions", "; \"GET /internal/observability_ai_assistant/kb/status\": { endpoint: \"GET /internal/observability_ai_assistant/kb/status\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", - ") => Promise<{ ready: boolean; error?: any; deployment_state?: string | undefined; allocation_state?: string | undefined; }>; } & ", + ") => Promise<{ ready: boolean; error?: any; deployment_state?: ", + "MlDeploymentState", + " | undefined; allocation_state?: ", + "MlDeploymentAllocationState", + " | undefined; model_name?: string | undefined; }>; } & ", "ObservabilityAIAssistantRouteCreateOptions", "; \"POST /internal/observability_ai_assistant/kb/setup\": { endpoint: \"POST /internal/observability_ai_assistant/kb/setup\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", @@ -3028,7 +3044,11 @@ "ObservabilityAIAssistantRouteCreateOptions", "; \"GET /internal/observability_ai_assistant/kb/status\": { endpoint: \"GET /internal/observability_ai_assistant/kb/status\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", - ") => Promise<{ ready: boolean; error?: any; deployment_state?: string | undefined; allocation_state?: string | undefined; }>; } & ", + ") => Promise<{ ready: boolean; error?: any; deployment_state?: ", + "MlDeploymentState", + " | undefined; allocation_state?: ", + "MlDeploymentAllocationState", + " | undefined; model_name?: string | undefined; }>; } & ", "ObservabilityAIAssistantRouteCreateOptions", "; \"POST /internal/observability_ai_assistant/kb/setup\": { endpoint: \"POST /internal/observability_ai_assistant/kb/setup\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", @@ -3530,7 +3550,11 @@ "ObservabilityAIAssistantRouteCreateOptions", "; \"GET /internal/observability_ai_assistant/kb/status\": { endpoint: \"GET /internal/observability_ai_assistant/kb/status\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", - ") => Promise<{ ready: boolean; error?: any; deployment_state?: string | undefined; allocation_state?: string | undefined; }>; } & ", + ") => Promise<{ ready: boolean; error?: any; deployment_state?: ", + "MlDeploymentState", + " | undefined; allocation_state?: ", + "MlDeploymentAllocationState", + " | undefined; model_name?: string | undefined; }>; } & ", "ObservabilityAIAssistantRouteCreateOptions", "; \"POST /internal/observability_ai_assistant/kb/setup\": { endpoint: \"POST /internal/observability_ai_assistant/kb/setup\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", @@ -4254,7 +4278,11 @@ "ObservabilityAIAssistantRouteCreateOptions", "; \"GET /internal/observability_ai_assistant/kb/status\": { endpoint: \"GET /internal/observability_ai_assistant/kb/status\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", - ") => Promise<{ ready: boolean; error?: any; deployment_state?: string | undefined; allocation_state?: string | undefined; }>; } & ", + ") => Promise<{ ready: boolean; error?: any; deployment_state?: ", + "MlDeploymentState", + " | undefined; allocation_state?: ", + "MlDeploymentAllocationState", + " | undefined; model_name?: string | undefined; }>; } & ", "ObservabilityAIAssistantRouteCreateOptions", "; \"POST /internal/observability_ai_assistant/kb/setup\": { endpoint: \"POST /internal/observability_ai_assistant/kb/setup\"; params?: undefined; handler: ({}: ", "ObservabilityAIAssistantRouteHandlerResources", diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index a3dcc07b4d5ed..bcf80c1e23f90 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index 450a4d4a5771a..952d450fc11f3 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index dc7a06343e49f..563659003a732 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.devdocs.json b/api_docs/observability_shared.devdocs.json index 938f26fbaf7dd..a5cc5ef4eb230 100644 --- a/api_docs/observability_shared.devdocs.json +++ b/api_docs/observability_shared.devdocs.json @@ -1268,17 +1268,19 @@ }, { "parentPluginId": "observabilityShared", - "id": "def-public.useChartTheme", + "id": "def-public.useChartThemes", "type": "Function", "tags": [], - "label": "useChartTheme", + "label": "useChartThemes", "description": [], "signature": [ - "() => ", + "() => { baseTheme: ", + "Theme", + "; theme: ", "RecursivePartial", "<", "Theme", - ">[]" + ">[]; }" ], "path": "x-pack/plugins/observability_shared/public/hooks/use_chart_theme.tsx", "deprecated": false, diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 10c54acb98e1c..804f41b692c14 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-12-13 +date: 2023-12-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 69b4b6a7ef2c8..dcba49d6259ba 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-12-13 +date: 2023-12-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 7014db6c900b3..0322fcf675c84 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-12-13 +date: 2023-12-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 41fc7ab92b9f8..86ff3a3822245 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -21,7 +21,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 77666 | 235 | 66394 | 1632 | +| 77896 | 235 | 66624 | 1632 | ## Plugin Directory @@ -141,7 +141,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 3 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | -| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 599 | 2 | 590 | 17 | +| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 600 | 2 | 591 | 17 | | | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | - | 91 | 0 | 86 | 12 | | | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | This plugin exposes and registers observability log consumption features. | 18 | 0 | 18 | 1 | | | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | - | 14 | 0 | 14 | 0 | @@ -573,7 +573,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-detections-response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 119 | 0 | 116 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 75 | 0 | 75 | 0 | -| | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 2420 | 0 | 2420 | 0 | +| | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 2649 | 0 | 2649 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 27 | 1 | 26 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 25 | 0 | 25 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 20 | 0 | 18 | 1 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index cd2f4c3906f75..aa4e75de71586 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-12-13 +date: 2023-12-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 e19ac7f3e2f25..9b036ab61acfa 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-12-13 +date: 2023-12-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 dbe18d4751cf2..ecfaae6f481ab 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-12-13 +date: 2023-12-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 f4fe8d843b520..17536c51e619e 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-12-13 +date: 2023-12-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 6ed537f495929..b55bbb55fda63 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-12-13 +date: 2023-12-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 527f3e4e44fad..896a83f3ce68f 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-12-13 +date: 2023-12-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 fde9f5cacb7a4..827f10b1e5da1 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-12-13 +date: 2023-12-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 d909c4190c7d2..6bd4b18bd49e8 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-12-13 +date: 2023-12-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 f22f44c953929..32a611234926e 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-12-13 +date: 2023-12-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 0987ea89b1213..1f59185e49ead 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-12-13 +date: 2023-12-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 04edf1533c3a6..e0a9585dcbc87 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-12-13 +date: 2023-12-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 9ae525c765d88..88e17a747d06c 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-12-13 +date: 2023-12-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 fbf90b54e6d9f..23d79f8a0eaf7 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-12-13 +date: 2023-12-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 b89e9ee31a2a6..a9e2834dc90b8 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-12-13 +date: 2023-12-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 2c966b4d79652..f69dc41d8e218 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-12-13 +date: 2023-12-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 4da181ff1e482..193d7e3670ec6 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-12-13 +date: 2023-12-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 f051295150042..70f9d0fbb9d3b 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-12-13 +date: 2023-12-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 30a16529afcd2..38d183bdd07e0 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-12-13 +date: 2023-12-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 0c14de5067456..a3726ca10b322 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-12-13 +date: 2023-12-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 73ebf41473545..c2e998c15606a 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-12-13 +date: 2023-12-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 c52b0ae30c813..d8b640f7b117b 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-12-13 +date: 2023-12-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 d4f5deba1abb8..ace71134c7063 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-12-13 +date: 2023-12-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 f68a4546c2110..11f087f29b699 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-12-13 +date: 2023-12-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 d9ad924531e16..96ce3b79ad7c8 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-12-13 +date: 2023-12-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 915df7c382e7f..95efb34784eae 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-12-13 +date: 2023-12-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 ce3f26f563b65..7cd9cfc7faf3e 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-12-13 +date: 2023-12-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 3202de6d32957..db92f657d75c1 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-12-13 +date: 2023-12-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 704f0e612a852..c8bd9e5c98e38 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-12-13 +date: 2023-12-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 e9648651b78ef..2b8e70660e472 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-12-13 +date: 2023-12-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 748e15857205e..44e50e04aeb2f 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-12-13 +date: 2023-12-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 b801b30dec7a2..05d7f92a740bd 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-12-13 +date: 2023-12-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 fabb1c8da10fd..00de782cb3c58 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-12-13 +date: 2023-12-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 b70a9f34459cf..9a5ed978510fe 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-12-13 +date: 2023-12-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 39b8639ced195..679c9e539ec7c 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-12-13 +date: 2023-12-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 ad8a6c2eb58b4..31e0e53aa15b6 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-12-13 +date: 2023-12-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 edc93ac9166bd..cee144ffa5e8e 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-12-13 +date: 2023-12-14 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 62ad63dfc5a19..dcf4bba8aa176 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-12-13 +date: 2023-12-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 2203ee25d71ae..e21bd7b84147b 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-12-13 +date: 2023-12-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 e8f917bf9c427..1da42b5b2b4f0 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-12-13 +date: 2023-12-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 ef88412c75787..b71efb927fa0f 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-12-13 +date: 2023-12-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 811786e0c0dd3..ba917446b6564 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-12-13 +date: 2023-12-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 8e51dc9383e6d..2fa20a7cde211 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-12-13 +date: 2023-12-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 fa290623d336d..20c6a3b28a4dc 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-12-13 +date: 2023-12-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 6a1a87a987ce7..46b9f71bfcf04 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-12-13 +date: 2023-12-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 2ecbe1ae1760e..dcb342dda5c5f 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-12-13 +date: 2023-12-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 7d3f265993649..e6c4fb3a83263 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-12-13 +date: 2023-12-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 9e4d25fb12892..3159bd437c3de 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-12-13 +date: 2023-12-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 358674e87da11..524e8efd0c655 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-12-13 +date: 2023-12-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 faaaa178d0b99..1a07ea443efee 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-12-13 +date: 2023-12-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 17b06547b474f..965d7e352497e 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-12-13 +date: 2023-12-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 d1c9105d22ed9..b65f58bb58f50 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-12-13 +date: 2023-12-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 8df33a2b0cd66..d93a92601ff00 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-12-13 +date: 2023-12-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 bb0f94b486415..c872fa9785fc1 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-12-13 +date: 2023-12-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 2154e74df7f8d..134760579368e 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-12-13 +date: 2023-12-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 6ecefb481de62..ce54c730f82b0 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-12-13 +date: 2023-12-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 47c2586768a12..11a0abdfbb105 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-12-13 +date: 2023-12-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 e800328abf1b5..541c6dc3a9374 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-12-13 +date: 2023-12-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 fe445fc3f0c08..3b11cde180296 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-12-13 +date: 2023-12-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 865d2c0fa1d1e..b7ed4b72b5aa0 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-12-13 +date: 2023-12-14 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 0dfd52881332d..3552f4f823598 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-12-13 +date: 2023-12-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 286593102ec28f47d5d682b6ded284f222f80203 Mon Sep 17 00:00:00 2001 From: Mykola Harmash Date: Thu, 14 Dec 2023 09:21:11 +0100 Subject: [PATCH 041/123] [ObsUX] Use Profiling locators instead of hardcoded URL (#173246) Closes https://github.com/elastic/kibana/issues/173158 Closes https://github.com/elastic/kibana/issues/173152 ## Summary Switches from a hardcoded URL in `` to Profiling locators exposed by `observability_shared`. Also made `` a bit more generic pure visual component. Had to add locators to `observability_shared` plugin start interface as Infra currently does not expose plugins setup interfaces to components. https://github.com/elastic/kibana/assets/793851/5a4df5e2-4305-4439-a831-c9ddc9b82a71 --- .../tabs/profiling/flamegraph.tsx | 18 +++++- .../tabs/profiling/functions.tsx | 18 +++++- .../tabs/profiling/profiling_links.tsx | 36 +++++------ .../observability_shared/public/plugin.ts | 64 ++++++++++++------- 4 files changed, 91 insertions(+), 45 deletions(-) diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/profiling/flamegraph.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/profiling/flamegraph.tsx index a0fbeb25ca3d1..a00b9373c2f02 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/profiling/flamegraph.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/profiling/flamegraph.tsx @@ -8,6 +8,8 @@ import React, { useMemo } from 'react'; import { EuiSpacer } from '@elastic/eui'; import { EmbeddableFlamegraph } from '@kbn/observability-shared-plugin/public'; +import { i18n } from '@kbn/i18n'; +import { useKibanaContextForPlugin } from '../../../../hooks/use_kibana'; import { useAssetDetailsRenderPropsContext } from '../../hooks/use_asset_details_render_props'; import { useDatePickerContext } from '../../hooks/use_date_picker'; import { useProfilingFlamegraphData } from '../../hooks/use_profiling_flamegraph_data'; @@ -17,11 +19,17 @@ import { ErrorPrompt } from './error_prompt'; import { ProfilingLinks } from './profiling_links'; export function Flamegraph() { + const { services } = useKibanaContextForPlugin(); const { asset } = useAssetDetailsRenderPropsContext(); const { activeTabId } = useTabSwitcherContext(); - const { getDateRangeInTimestamp } = useDatePickerContext(); + const { dateRange, getDateRangeInTimestamp } = useDatePickerContext(); const { from, to } = getDateRangeInTimestamp(); + const profilingLinkLocator = services.observabilityShared.locators.profiling.flamegraphLocator; + const profilingLinkLabel = i18n.translate('xpack.infra.flamegraph.profilingAppFlamegraphLink', { + defaultMessage: 'Go to Universal Profiling Flamegraph', + }); + const params = useMemo( () => ({ hostname: asset.name, @@ -41,7 +49,13 @@ export function Flamegraph() { return ( <> - + diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/profiling/functions.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/profiling/functions.tsx index b6089df1bc67c..1b9a58ff561b3 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/profiling/functions.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/profiling/functions.tsx @@ -8,6 +8,8 @@ import React, { useMemo } from 'react'; import { EmbeddableFunctions } from '@kbn/observability-shared-plugin/public'; import { EuiSpacer } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { useKibanaContextForPlugin } from '../../../../hooks/use_kibana'; import { useAssetDetailsRenderPropsContext } from '../../hooks/use_asset_details_render_props'; import { useDatePickerContext } from '../../hooks/use_date_picker'; import { useProfilingFunctionsData } from '../../hooks/use_profiling_functions_data'; @@ -17,11 +19,17 @@ import { ErrorPrompt } from './error_prompt'; import { ProfilingLinks } from './profiling_links'; export function Functions() { + const { services } = useKibanaContextForPlugin(); const { asset } = useAssetDetailsRenderPropsContext(); const { activeTabId } = useTabSwitcherContext(); - const { getDateRangeInTimestamp } = useDatePickerContext(); + const { dateRange, getDateRangeInTimestamp } = useDatePickerContext(); const { from, to } = getDateRangeInTimestamp(); + const profilingLinkLocator = services.observabilityShared.locators.profiling.topNFunctionsLocator; + const profilingLinkLabel = i18n.translate('xpack.infra.flamegraph.profilingAppTopFunctionsLink', { + defaultMessage: 'Go to Universal Profiling Functions', + }); + const params = useMemo( () => ({ hostname: asset.name, @@ -44,7 +52,13 @@ export function Functions() { return ( <> - + diff --git a/x-pack/plugins/observability_shared/public/plugin.ts b/x-pack/plugins/observability_shared/public/plugin.ts index 93d17b297cfbf..f2caeb94cbca4 100644 --- a/x-pack/plugins/observability_shared/public/plugin.ts +++ b/x-pack/plugins/observability_shared/public/plugin.ts @@ -5,19 +5,32 @@ * 2.0. */ -import { BehaviorSubject } from 'rxjs'; -import type { CoreStart, Plugin, CoreSetup } from '@kbn/core/public'; -import type { GuidedOnboardingPluginStart } from '@kbn/guided-onboarding-plugin/public'; import { CasesUiStart } from '@kbn/cases-plugin/public'; -import { SpacesPluginStart } from '@kbn/spaces-plugin/public'; +import type { CoreSetup, CoreStart, Plugin } from '@kbn/core/public'; import type { EmbeddableStart } from '@kbn/embeddable-plugin/public'; -import type { SharePluginSetup, SharePluginStart } from '@kbn/share-plugin/public'; -import { createNavigationRegistry } from './components/page_template/helpers/navigation_registry'; +import type { GuidedOnboardingPluginStart } from '@kbn/guided-onboarding-plugin/public'; +import type { + BrowserUrlService, + SharePluginSetup, + SharePluginStart, +} from '@kbn/share-plugin/public'; +import { SpacesPluginStart } from '@kbn/spaces-plugin/public'; +import { BehaviorSubject } from 'rxjs'; import { createLazyObservabilityPageTemplate } from './components/page_template'; +import { createNavigationRegistry } from './components/page_template/helpers/navigation_registry'; +import { + type FlamegraphLocator, + FlamegraphLocatorDefinition, +} from './locators/profiling/flamegraph_locator'; +import { + type StacktracesLocator, + StacktracesLocatorDefinition, +} from './locators/profiling/stacktraces_locator'; +import { + type TopNFunctionsLocator, + TopNFunctionsLocatorDefinition, +} from './locators/profiling/topn_functions_locator'; import { updateGlobalNavigation } from './services/update_global_navigation'; -import { FlamegraphLocatorDefinition } from './locators/profiling/flamegraph_locator'; -import { TopNFunctionsLocatorDefinition } from './locators/profiling/topn_functions_locator'; -import { StacktracesLocatorDefinition } from './locators/profiling/stacktraces_locator'; export interface ObservabilitySharedSetup { share: SharePluginSetup; @@ -36,6 +49,14 @@ export type ObservabilitySharedPluginSetup = ReturnType; export type ProfilingLocators = ObservabilitySharedPluginSetup['locators']['profiling']; +interface ObservabilitySharedLocators { + profiling: { + flamegraphLocator: FlamegraphLocator; + topNFunctionsLocator: TopNFunctionsLocator; + stacktracesLocator: StacktracesLocator; + }; +} + export class ObservabilitySharedPlugin implements Plugin { private readonly navigationRegistry = createNavigationRegistry(); private isSidebarEnabled$: BehaviorSubject; @@ -46,19 +67,7 @@ export class ObservabilitySharedPlugin implements Plugin { public setup(coreSetup: CoreSetup, pluginsSetup: ObservabilitySharedSetup) { return { - locators: { - profiling: { - flamegraphLocator: pluginsSetup.share.url.locators.create( - new FlamegraphLocatorDefinition() - ), - topNFunctionsLocator: pluginsSetup.share.url.locators.create( - new TopNFunctionsLocatorDefinition() - ), - stacktracesLocator: pluginsSetup.share.url.locators.create( - new StacktracesLocatorDefinition() - ), - }, - }, + locators: this.createLocators(pluginsSetup.share.url), navigation: { registerSections: this.navigationRegistry.registerSections, }, @@ -79,6 +88,7 @@ export class ObservabilitySharedPlugin implements Plugin { }); return { + locators: this.createLocators(plugins.share.url), navigation: { PageTemplate, registerSections: this.navigationRegistry.registerSections, @@ -89,4 +99,14 @@ export class ObservabilitySharedPlugin implements Plugin { } public stop() {} + + private createLocators(urlService: BrowserUrlService): ObservabilitySharedLocators { + return { + profiling: { + flamegraphLocator: urlService.locators.create(new FlamegraphLocatorDefinition()), + topNFunctionsLocator: urlService.locators.create(new TopNFunctionsLocatorDefinition()), + stacktracesLocator: urlService.locators.create(new StacktracesLocatorDefinition()), + }, + }; + } } From 5cab10bd0c4728dbc240ea633b489df1435d5189 Mon Sep 17 00:00:00 2001 From: Alex Szabo Date: Thu, 14 Dec 2023 09:29:08 +0100 Subject: [PATCH 042/123] [Ops] Fix release assistant issues (#173032) ## Summary This PR aims to fix a few issues that we encountered during the Monday morning automatic run. Here are the issues, and their causes: - the job failed because the `git config` commands failed with empty input - _missing e-mail when `kibanamachine` triggered_ - the referenced containing QAF build wasn't the first, but the latest job - _reversed ordering in build results_ - the referenced QAF build might be a run that's testing the QA deployment - _QAF builds from a certain job were taken without further consideration_ - old builds at the end of the listing don't seem to have corresponding QAF builds - that listing was using a different github api, getting fewer commits by default, thus we couldn't determine this relation Can be tried with https://buildkite.com/elastic/kibana-serverless-release-1/builds?branch=fix-release-helper-issues with `DRY_RUN=1` A recent build with successes: https://buildkite.com/elastic/kibana-serverless-release-1/builds/103 --- .../create_deploy_tag/collect_commit_info.ts | 4 +- .../create_deploy_tag/create_deploy_tag.sh | 7 ++- .../create_deploy_tag/get_github_identity.ts | 56 ++++++++++++++++++ .../info_sections/build_info.ts | 58 +++++++------------ .../list_commit_candidates.ts | 2 +- .../serverless/create_deploy_tag/mock_exec.ts | 5 +- 6 files changed, 90 insertions(+), 42 deletions(-) create mode 100644 .buildkite/scripts/serverless/create_deploy_tag/get_github_identity.ts diff --git a/.buildkite/scripts/serverless/create_deploy_tag/collect_commit_info.ts b/.buildkite/scripts/serverless/create_deploy_tag/collect_commit_info.ts index ce30a3a71d8ee..5f4957f771d45 100644 --- a/.buildkite/scripts/serverless/create_deploy_tag/collect_commit_info.ts +++ b/.buildkite/scripts/serverless/create_deploy_tag/collect_commit_info.ts @@ -13,6 +13,7 @@ import { getSelectedCommitHash, getCommitByHash, makeCommitInfoHtml, + getRecentCommits, } from './info_sections/commit_info'; import { getArtifactBuild, @@ -45,7 +46,8 @@ async function main() { const buildkiteBuild = await getOnMergePRBuild(selectedSha); const nextBuildContainingCommit = await getQAFBuildContainingCommit( selectedSha, - selectedCommitInfo.date! + selectedCommitInfo.date!, + await getRecentCommits(50) ); const artifactBuild = await getArtifactBuild(selectedSha); addBuildkiteInfoSection( diff --git a/.buildkite/scripts/serverless/create_deploy_tag/create_deploy_tag.sh b/.buildkite/scripts/serverless/create_deploy_tag/create_deploy_tag.sh index b0d7660054bce..87c197142a9bb 100755 --- a/.buildkite/scripts/serverless/create_deploy_tag/create_deploy_tag.sh +++ b/.buildkite/scripts/serverless/create_deploy_tag/create_deploy_tag.sh @@ -11,9 +11,12 @@ fi echo "--- Creating deploy tag $DEPLOY_TAG at $KIBANA_COMMIT_SHA" +echo "Fetching user identity from GitHub..." +IDENTITY_JSON=$(ts-node .buildkite/scripts/serverless/create_deploy_tag/get_github_identity.ts) + # Set git identity to whomever triggered the buildkite job -git config user.email "$BUILDKITE_BUILD_CREATOR_EMAIL" -git config user.name "$BUILDKITE_BUILD_CREATOR" +git config user.email "${BUILDKITE_BUILD_CREATOR_EMAIL:-$(echo ${IDENTITY_JSON} | jq .email)}" +git config user.name "${BUILDKITE_BUILD_CREATOR:-$(echo ${IDENTITY_JSON} | jq .name)}" # Create a tag for the deploy git tag -a "$DEPLOY_TAG" "$KIBANA_COMMIT_SHA" \ diff --git a/.buildkite/scripts/serverless/create_deploy_tag/get_github_identity.ts b/.buildkite/scripts/serverless/create_deploy_tag/get_github_identity.ts new file mode 100644 index 0000000000000..f8179b4f0a37a --- /dev/null +++ b/.buildkite/scripts/serverless/create_deploy_tag/get_github_identity.ts @@ -0,0 +1,56 @@ +/* + * 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. + */ + +// Query the GitHub API for the user's GitHub identity +import { octokit } from './shared'; + +const getGitHubIdentity = async (): Promise<{ + login: string; + name: string | null; + email: string | null; +}> => { + const { data } = await octokit.users.getAuthenticated(); + + return { + login: data.login, + name: data.name, + email: data.email, + }; +}; + +async function main() { + try { + const identity = await getGitHubIdentity(); + + if (!identity.name) { + identity.name = identity.login; + } + + if (!identity.email) { + identity.email = `${identity.login}@elastic.co`; + } + + return identity; + } catch (error) { + console.error(error); + + return { + login: 'unknown-user', + name: 'Unknown User', + email: 'unknown-user@elastic.co', + }; + } +} + +if (require.main === module) { + main().then((identity) => { + console.log(JSON.stringify(identity)); + }); +} else { + module.exports = main; +} diff --git a/.buildkite/scripts/serverless/create_deploy_tag/info_sections/build_info.ts b/.buildkite/scripts/serverless/create_deploy_tag/info_sections/build_info.ts index 7330458703546..0315d59ec9ca4 100644 --- a/.buildkite/scripts/serverless/create_deploy_tag/info_sections/build_info.ts +++ b/.buildkite/scripts/serverless/create_deploy_tag/info_sections/build_info.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import { components } from '@octokit/openapi-types'; -import { buildkite, buildkiteBuildStateToEmoji, CommitWithStatuses, octokit } from '../shared'; +import { buildkite, buildkiteBuildStateToEmoji, CommitWithStatuses } from '../shared'; +import { GitCommitExtract } from './commit_info'; import { Build } from '#pipeline-utils/buildkite'; const QA_FTR_TEST_SLUG = 'appex-qa-serverless-kibana-ftr-tests'; @@ -70,27 +70,30 @@ export async function getArtifactBuild(commitSha: string): Promise { - // List of commits - const commitShaList = await getCommitListCached(); - // List of QAF builds const qafBuilds = await buildkite.getBuildsAfterDate(QA_FTR_TEST_SLUG, date, 30); + qafBuilds.reverse(); // Find the first build that contains this commit - const build = qafBuilds.find((kbBuild) => { - // Check if build.commit is after commitSha? - const kibanaCommitSha = tryGetKibanaBuildHashFromQAFBuild(kbBuild); - const buildkiteBuildShaIndex = commitShaList.findIndex((c) => c.sha === kibanaCommitSha); - const commitShaIndex = commitShaList.findIndex((c) => c.sha === commitSha); - - return ( - commitShaIndex !== -1 && - buildkiteBuildShaIndex !== -1 && - buildkiteBuildShaIndex < commitShaIndex - ); - }); + const build = qafBuilds + // Only search across scheduled builds, triggered builds might run with different commits + .filter((e) => e.source === 'schedule') + .find((kbBuild) => { + const commitShaIndex = recentGitCommits.findIndex((c) => c.sha === commitSha); + + const kibanaCommitOfFTR = tryGetKibanaBuildHashFromQAFBuild(kbBuild); + const buildkiteBuildShaIndex = recentGitCommits.findIndex((c) => c.sha === kibanaCommitOfFTR); + + // Check if build.commit is after commitSha? + return ( + commitShaIndex !== -1 && + buildkiteBuildShaIndex !== -1 && + buildkiteBuildShaIndex <= commitShaIndex + ); + }); if (!build) { return null; @@ -121,25 +124,6 @@ function tryGetKibanaBuildHashFromQAFBuild(build: Build) { } } -let _commitListCache: Array | null = null; -async function getCommitListCached() { - if (!_commitListCache) { - const resp = await octokit.request<'GET /repos/{owner}/{repo}/commits'>( - 'GET /repos/{owner}/{repo}/commits', - { - owner: 'elastic', - repo: 'kibana', - headers: { - accept: 'application/vnd.github.v3+json', - 'X-GitHub-Api-Version': '2022-11-28', - }, - } - ); - _commitListCache = resp.data; - } - return _commitListCache; -} - function makeBuildInfoSnippetHtml(name: string, build: BuildkiteBuildExtract | null) { if (!build) { return `[❓] ${name} - no build found`; diff --git a/.buildkite/scripts/serverless/create_deploy_tag/list_commit_candidates.ts b/.buildkite/scripts/serverless/create_deploy_tag/list_commit_candidates.ts index 7b20174200096..8245b195789fe 100755 --- a/.buildkite/scripts/serverless/create_deploy_tag/list_commit_candidates.ts +++ b/.buildkite/scripts/serverless/create_deploy_tag/list_commit_candidates.ts @@ -83,7 +83,7 @@ async function enrichWithStatuses(commits: GitCommitExtract[]): Promise { })(); const makeMockExec = (id: string) => { - console.warn("--- Using mock exec, don't use this on CI. ---"); + if (process.env?.CI?.match(/(1|true)/i)) { + throw new Error(`Mock exec is not supported in CI - your commands won't be executed.`); + } + const callStorage = getCallStorage(); const calls = callStorage[id]; From 424708c9e569a77bbdc862f7bef1b7c92db6ba4a Mon Sep 17 00:00:00 2001 From: Vitalii Dmyterko <92328789+vitaliidm@users.noreply.github.com> Date: Thu, 14 Dec 2023 09:12:19 +0000 Subject: [PATCH 043/123] [Security Solution][Detection Engine] fixes alert suppression for threshold rule when suppression value is a number (#173093) ## Summary - fixes rule execution failure, when one of the suppression values is `number` type - adds functions test to cover the case ### 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 --- .../wrap_suppressed_threshold_alerts.ts | 5 +- .../ecs_compliant/mappings.json | 3 + .../threshold_alert_suppression.ts | 76 +++++++++++++++++++ 3 files changed, 81 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/threshold/wrap_suppressed_threshold_alerts.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/threshold/wrap_suppressed_threshold_alerts.ts index a3df4faa14c56..e2fa437a03543 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/threshold/wrap_suppressed_threshold_alerts.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/threshold/wrap_suppressed_threshold_alerts.ts @@ -6,6 +6,7 @@ */ import objectHash from 'object-hash'; +import sortBy from 'lodash/sortBy'; import type { SuppressionFieldsLatest } from '@kbn/rule-registry-plugin/common/schemas'; import { @@ -79,9 +80,7 @@ export const wrapSuppressedThresholdALerts = ({ completeRule.ruleParams.ruleId ); - const suppressedValues = Object.entries(bucket.key) - .map(([key, value]) => value) - .sort((a, b) => a.localeCompare(b)); + const suppressedValues = sortBy(Object.entries(bucket.key).map(([_, value]) => value)); const id = objectHash([ hit._index, diff --git a/x-pack/test/functional/es_archives/security_solution/ecs_compliant/mappings.json b/x-pack/test/functional/es_archives/security_solution/ecs_compliant/mappings.json index 897ac651fcb43..1e2c79a11e26e 100644 --- a/x-pack/test/functional/es_archives/security_solution/ecs_compliant/mappings.json +++ b/x-pack/test/functional/es_archives/security_solution/ecs_compliant/mappings.json @@ -66,6 +66,9 @@ "properties": { "name": { "type": "keyword" + }, + "uptime": { + "type": "long" } } }, diff --git a/x-pack/test/security_solution_api_integration/test_suites/detections_response/default_license/rule_execution_logic/execution_logic/threshold_alert_suppression.ts b/x-pack/test/security_solution_api_integration/test_suites/detections_response/default_license/rule_execution_logic/execution_logic/threshold_alert_suppression.ts index 59ab5185f6ab6..39b012748930b 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/detections_response/default_license/rule_execution_logic/execution_logic/threshold_alert_suppression.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/detections_response/default_license/rule_execution_logic/execution_logic/threshold_alert_suppression.ts @@ -655,6 +655,82 @@ export default ({ getService }: FtrProviderContext) => { }); }); + // should work correctly if one of the suppressed fields is keyword, another - number + it('should update an existing alert in the time window with multiple fields of different types', async () => { + const id = uuidv4(); + const timestamp = '2020-10-28T05:45:00.000Z'; + const firstRunDoc = { + id, + '@timestamp': timestamp, + agent: { + name: 'agent-1', + }, + host: { + uptime: 100, + }, + }; + + const secondRunDoc = { + ...firstRunDoc, + '@timestamp': '2020-10-28T06:15:00.000Z', + }; + + await indexListOfDocuments([firstRunDoc, firstRunDoc, secondRunDoc, secondRunDoc]); + + const rule: ThresholdRuleCreateProps = { + ...getThresholdRuleForAlertTesting(['ecs_compliant']), + query: `id:${id}`, + threshold: { + field: ['agent.name', 'host.uptime'], + value: 2, + }, + alert_suppression: { + duration: { + value: 2, + unit: 'h', + }, + }, + from: 'now-35m', + interval: '30m', + }; + + const { previewId } = await previewRule({ + supertest, + rule, + timeframeEnd: new Date('2020-10-28T06:30:00.000Z'), + invocationCount: 2, + }); + + const previewAlerts = await getPreviewAlerts({ + es, + previewId, + sort: ['agent.type', ALERT_ORIGINAL_TIME], + }); + + expect(previewAlerts.length).toEqual(1); + + expect(previewAlerts[0]._source).toEqual( + expect.objectContaining({ + [ALERT_SUPPRESSION_TERMS]: [ + { + field: 'agent.name', + value: 'agent-1', + }, + { + field: 'host.uptime', + value: 100, + }, + ], + [TIMESTAMP]: '2020-10-28T06:00:00.000Z', + [ALERT_LAST_DETECTED]: '2020-10-28T06:30:00.000Z', + [ALERT_ORIGINAL_TIME]: timestamp, + [ALERT_SUPPRESSION_START]: '2020-10-28T06:00:00.000Z', + [ALERT_SUPPRESSION_END]: '2020-10-28T06:30:00.000Z', + [ALERT_SUPPRESSION_DOCS_COUNT]: 1, + }) + ); + }); + it('should correctly suppress when using a timestamp override', async () => { const id = uuidv4(); const timestamp = '2020-10-28T05:45:00.000Z'; From ade658c82f71b7911dbe3af6d90a43bdb0f8a199 Mon Sep 17 00:00:00 2001 From: jennypavlova Date: Thu, 14 Dec 2023 10:57:47 +0100 Subject: [PATCH 044/123] [ObsUx] Trace timeline: Change the missing trace items warning message (#173196) Closes #173134 ## Summary This PR is a follow-up to #171196 and changes the missing trace items tooltip message. image ## Testing Same as in https://github.com/elastic/kibana/pull/171196#issue-1992757531 but the message should be changed to the one in the screenshot here --- .../waterfall_container/index.tsx | 10 ++++++---- ...ing.tsx => orphan_trace_items_warning.tsx} | 9 +++++++-- .../waterfall_helpers.test.ts | 12 +++++------ .../waterfall_helpers/waterfall_helpers.ts | 20 +++++++++++-------- 4 files changed, 31 insertions(+), 20 deletions(-) rename x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/{missing_transaction_warning.tsx => orphan_trace_items_warning.tsx} (71%) diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/index.tsx index abd6aee61f407..aa2ea7388ffd6 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/index.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/index.tsx @@ -17,7 +17,7 @@ import { WaterfallLegendType, } from './waterfall/waterfall_helpers/waterfall_helpers'; import { WaterfallLegends } from './waterfall_legends'; -import { MissingTransactionWarning } from './waterfall/missing_transaction_warning'; +import { OrphanTraceItemsWarning } from './waterfall/orphan_trace_items_warning'; interface Props { waterfallItemId?: string; @@ -39,7 +39,7 @@ export function WaterfallContainer({ if (!waterfall) { return null; } - const { legends, items, hasOrphanTraceItems } = waterfall; + const { legends, items, orphanTraceItemsCount } = waterfall; // Service colors are needed to color the dot in the error popover const serviceLegends = legends.filter( @@ -116,9 +116,11 @@ export function WaterfallContainer({ type={colorBy} /> - {hasOrphanTraceItems ? ( + {orphanTraceItemsCount > 0 ? ( - + ) : null} diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/missing_transaction_warning.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/orphan_trace_items_warning.tsx similarity index 71% rename from x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/missing_transaction_warning.tsx rename to x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/orphan_trace_items_warning.tsx index 62d1d05bca6c2..c3554e2c84c40 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/missing_transaction_warning.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/orphan_trace_items_warning.tsx @@ -9,7 +9,11 @@ import React from 'react'; import { EuiBadge, EuiToolTip } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -export function MissingTransactionWarning() { +export function OrphanTraceItemsWarning({ + orphanTraceItemsCount, +}: { + orphanTraceItemsCount: number; +}) { return ( { }); }); - describe('getHasOrphanTraceItems', () => { + describe('getOrphanTraceItemsCount', () => { const myTransactionItem = { processor: { event: 'transaction' }, trace: { id: 'myTrace' }, @@ -728,7 +728,7 @@ describe('waterfall_helpers', () => { }, } as WaterfallTransaction; - it('should return false if there are no orphan items', () => { + it('should return missing items count: 0 if there are no orphan items', () => { const traceItems: Array = [ myTransactionItem, { @@ -741,10 +741,10 @@ describe('waterfall_helpers', () => { }, } as WaterfallSpan, ]; - expect(getHasOrphanTraceItems(traceItems)).toBe(false); + expect(getOrphanTraceItemsCount(traceItems)).toBe(0); }); - it('should return true if there are orphan items', () => { + it('should return missing items count if there are orphan items', () => { const traceItems: Array = [ myTransactionItem, { @@ -757,7 +757,7 @@ describe('waterfall_helpers', () => { }, } as WaterfallSpan, ]; - expect(getHasOrphanTraceItems(traceItems)).toBe(true); + expect(getOrphanTraceItemsCount(traceItems)).toBe(1); }); }); }); diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_helpers/waterfall_helpers.ts b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_helpers/waterfall_helpers.ts index b197859ff1083..7152cecc3f805 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_helpers/waterfall_helpers.ts +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_helpers/waterfall_helpers.ts @@ -48,7 +48,7 @@ export interface IWaterfall { totalErrorsCount: number; traceDocsTotal: number; maxTraceItems: number; - hasOrphanTraceItems: boolean; + orphanTraceItemsCount: number; } interface IWaterfallItemBase { @@ -416,7 +416,7 @@ function getErrorCountByParentId( }, {}); } -export const getHasOrphanTraceItems = ( +export const getOrphanTraceItemsCount = ( traceDocs: Array ) => { const waterfallItemsIds = new Set( @@ -427,9 +427,13 @@ export const getHasOrphanTraceItems = ( ) ); - return traceDocs.some( - (item) => item.parent?.id && !waterfallItemsIds.has(item.parent.id) - ); + let missingTraceItemsCounter = 0; + traceDocs.some((item) => { + if (item.parent?.id && !waterfallItemsIds.has(item.parent.id)) { + missingTraceItemsCounter++; + } + }); + return missingTraceItemsCounter; }; export function getWaterfall(apiResponse: TraceAPIResponse): IWaterfall { @@ -446,7 +450,7 @@ export function getWaterfall(apiResponse: TraceAPIResponse): IWaterfall { totalErrorsCount: 0, traceDocsTotal: 0, maxTraceItems: 0, - hasOrphanTraceItems: false, + orphanTraceItemsCount: 0, }; } @@ -482,7 +486,7 @@ export function getWaterfall(apiResponse: TraceAPIResponse): IWaterfall { const duration = getWaterfallDuration(items); const legends = getLegends(items); - const hasOrphanTraceItems = getHasOrphanTraceItems(traceItems.traceDocs); + const orphanTraceItemsCount = getOrphanTraceItemsCount(traceItems.traceDocs); return { entryWaterfallTransaction, @@ -498,6 +502,6 @@ export function getWaterfall(apiResponse: TraceAPIResponse): IWaterfall { totalErrorsCount: traceItems.errorDocs.length, traceDocsTotal: traceItems.traceDocsTotal, maxTraceItems: traceItems.maxTraceItems, - hasOrphanTraceItems, + orphanTraceItemsCount, }; } From 960b1a1fbe774215bcc457e83cb5f5ba78c99a83 Mon Sep 17 00:00:00 2001 From: Alex Szabo Date: Thu, 14 Dec 2023 11:20:22 +0100 Subject: [PATCH 045/123] skip flaky suite (#163253) --- .../migrations/group3/split_failed_to_clone.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/split_failed_to_clone.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/split_failed_to_clone.test.ts index da9657e1765d1..1642e4059a885 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/split_failed_to_clone.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/split_failed_to_clone.test.ts @@ -59,7 +59,8 @@ const RELOCATE_TYPES: Record = { export const logFilePath = Path.join(__dirname, 'split_failed_to_clone.test.log'); -describe('when splitting .kibana into multiple indices and one clone fails', () => { +// Failing: See https://github.com/elastic/kibana/issues/163253 +describe.skip('when splitting .kibana into multiple indices and one clone fails', () => { let esServer: TestElasticsearchUtils['es']; let typeRegistry: ISavedObjectTypeRegistry; let migratorTestKitFactory: () => Promise; From 99be181a1ef21f1cb98c7830494b9d24929a3a0b Mon Sep 17 00:00:00 2001 From: Mark Hopkin Date: Thu, 14 Dec 2023 10:23:09 +0000 Subject: [PATCH 046/123] [Entity Analytics] Require full risk engine privileges to enable, disable and init the risk engine. (#172932) ## Summary Previously, a user only required SO read/write to enable or disable the risk engine once it had been initialised. This PR makes it so that a user requires all risk engine privileges to do any of these actions. **Test steps** A user is required to have cluster manage_index_templates and manage_transform permissions as well as read and write access to `'risk-score.risk-score-*'` in order to access these APIs. 1. Create a user with a privilege missing 2. Attempt one of the following URL calls: - `POST kbn:/internal/risk_score/engine/init` - `POST kbn:/internal/risk_score/engine/enable` - `POST kbn:/internal/risk_score/engine/disable` 3. All should return a 403 with an informative error message about which permission is missing. --------- Co-authored-by: Jared Burgett <147995946+jaredburgettelastic@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Ryland Herrick --- .../entity_analytics/risk_engine/index.ts | 1 + .../risk_engine/privileges.test.ts | 59 ++++++++++ .../risk_engine/privileges.ts | 58 ++++++++++ .../translations.tsx | 2 +- .../use_missing_risk_engine_privileges.ts | 56 ++------- .../get_user_risk_engine_privileges.ts | 30 ----- .../risk_engine_privileges.test.ts | 88 ++++++++++++++ .../risk_engine/risk_engine_privileges.ts | 109 ++++++++++++++++++ .../risk_engine/routes/disable.test.ts | 20 +++- .../risk_engine/routes/disable.ts | 50 ++++---- .../risk_engine/routes/enable.test.ts | 20 +++- .../risk_engine/routes/enable.ts | 50 ++++---- .../risk_engine/routes/init.ts | 97 ++++++++-------- .../risk_engine/routes/privileges.ts | 2 +- .../routes/risk_engine_privileges.mock.ts | 34 ++++++ .../risk_engine/risk_engine_privileges.ts | 39 ++++++- .../entity_analytics/utils/risk_engine.ts | 34 +++++- 17 files changed, 566 insertions(+), 183 deletions(-) create mode 100644 x-pack/plugins/security_solution/common/entity_analytics/risk_engine/privileges.test.ts create mode 100644 x-pack/plugins/security_solution/common/entity_analytics/risk_engine/privileges.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/get_user_risk_engine_privileges.ts create mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/risk_engine_privileges.test.ts create mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/risk_engine_privileges.ts create mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/risk_engine_privileges.mock.ts diff --git a/x-pack/plugins/security_solution/common/entity_analytics/risk_engine/index.ts b/x-pack/plugins/security_solution/common/entity_analytics/risk_engine/index.ts index b5f4e8f433009..3da0d8be4f0be 100644 --- a/x-pack/plugins/security_solution/common/entity_analytics/risk_engine/index.ts +++ b/x-pack/plugins/security_solution/common/entity_analytics/risk_engine/index.ts @@ -12,3 +12,4 @@ export * from './range'; export * from './types'; export * from './indices'; export * from './constants'; +export * from './privileges'; diff --git a/x-pack/plugins/security_solution/common/entity_analytics/risk_engine/privileges.test.ts b/x-pack/plugins/security_solution/common/entity_analytics/risk_engine/privileges.test.ts new file mode 100644 index 0000000000000..5c25db68c87a1 --- /dev/null +++ b/x-pack/plugins/security_solution/common/entity_analytics/risk_engine/privileges.test.ts @@ -0,0 +1,59 @@ +/* + * 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 { EntityAnalyticsPrivileges } from '../../api/entity_analytics/common'; +import { getMissingRiskEnginePrivileges } from './privileges'; + +describe('getMissingRiskEnginePrivileges', () => { + it('returns the missing cluster privileges', () => { + const noClusterPrivileges: EntityAnalyticsPrivileges['privileges'] = { + elasticsearch: { + cluster: { + manage_index_templates: false, + manage_transform: false, + }, + index: { + 'risk-score.risk-score-*': { + read: true, + write: true, + }, + }, + }, + }; + + const missingPrivileges = getMissingRiskEnginePrivileges(noClusterPrivileges); + + expect(missingPrivileges).toEqual({ + clusterPrivileges: ['manage_index_templates', 'manage_transform'], + indexPrivileges: [], + }); + }); + + it('returns the missing index privileges', () => { + const noIndexPrivileges: EntityAnalyticsPrivileges['privileges'] = { + elasticsearch: { + cluster: { + manage_index_templates: true, + manage_transform: true, + }, + index: { + 'risk-score.risk-score-*': { + read: false, + write: false, + }, + }, + }, + }; + + const missingPrivileges = getMissingRiskEnginePrivileges(noIndexPrivileges); + + expect(missingPrivileges).toEqual({ + clusterPrivileges: [], + indexPrivileges: [['risk-score.risk-score-*', ['read', 'write']]], + }); + }); +}); diff --git a/x-pack/plugins/security_solution/common/entity_analytics/risk_engine/privileges.ts b/x-pack/plugins/security_solution/common/entity_analytics/risk_engine/privileges.ts new file mode 100644 index 0000000000000..add0a0e56efce --- /dev/null +++ b/x-pack/plugins/security_solution/common/entity_analytics/risk_engine/privileges.ts @@ -0,0 +1,58 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { EntityAnalyticsPrivileges } from '../../api/entity_analytics/common'; +import { + RISK_ENGINE_REQUIRED_ES_CLUSTER_PRIVILEGES, + RISK_ENGINE_REQUIRED_ES_INDEX_PRIVILEGES, +} from './constants'; + +export type MissingClusterPrivileges = string[]; +export type MissingIndexPrivileges = Array; + +export interface MissingPrivileges { + clusterPrivileges: MissingClusterPrivileges; + indexPrivileges: MissingIndexPrivileges; +} + +export const getMissingIndexPrivileges = ( + privileges: EntityAnalyticsPrivileges['privileges']['elasticsearch']['index'] +): MissingIndexPrivileges => { + const missingIndexPrivileges: MissingIndexPrivileges = []; + + if (!privileges) { + return missingIndexPrivileges; + } + + for (const [indexName, requiredPrivileges] of Object.entries( + RISK_ENGINE_REQUIRED_ES_INDEX_PRIVILEGES + )) { + const missingPrivileges = requiredPrivileges.filter( + (privilege) => !privileges[indexName][privilege] + ); + + if (missingPrivileges.length) { + missingIndexPrivileges.push([indexName, missingPrivileges]); + } + } + + return missingIndexPrivileges; +}; + +export const getMissingRiskEnginePrivileges = ( + privileges: EntityAnalyticsPrivileges['privileges'] +): MissingPrivileges => { + const missingIndexPrivileges = getMissingIndexPrivileges(privileges.elasticsearch.index); + const missingClusterPrivileges = RISK_ENGINE_REQUIRED_ES_CLUSTER_PRIVILEGES.filter( + (privilege) => !privileges.elasticsearch.cluster?.[privilege] + ); + + return { + indexPrivileges: missingIndexPrivileges, + clusterPrivileges: missingClusterPrivileges, + }; +}; diff --git a/x-pack/plugins/security_solution/public/entity_analytics/components/risk_engine_privileges_callout/translations.tsx b/x-pack/plugins/security_solution/public/entity_analytics/components/risk_engine_privileges_callout/translations.tsx index ed58f50f28279..d7e45c0ff80f3 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/components/risk_engine_privileges_callout/translations.tsx +++ b/x-pack/plugins/security_solution/public/entity_analytics/components/risk_engine_privileges_callout/translations.tsx @@ -9,9 +9,9 @@ import { EuiCode, EuiLink } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import React from 'react'; +import type { MissingPrivileges } from '../../../../common/entity_analytics/risk_engine'; import { useKibana } from '../../../common/lib/kibana'; import { CommaSeparatedValues } from '../../../detections/components/callouts/missing_privileges_callout/comma_separated_values'; -import type { MissingPrivileges } from './use_missing_risk_engine_privileges'; export const MISSING_PRIVILEGES_CALLOUT_TITLE = i18n.translate( 'xpack.securitySolution.riskEngine.missingPrivilegesCallOut.messageTitle', diff --git a/x-pack/plugins/security_solution/public/entity_analytics/components/risk_engine_privileges_callout/use_missing_risk_engine_privileges.ts b/x-pack/plugins/security_solution/public/entity_analytics/components/risk_engine_privileges_callout/use_missing_risk_engine_privileges.ts index 76f57281e9f93..aeda116c7a188 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/components/risk_engine_privileges_callout/use_missing_risk_engine_privileges.ts +++ b/x-pack/plugins/security_solution/public/entity_analytics/components/risk_engine_privileges_callout/use_missing_risk_engine_privileges.ts @@ -6,49 +6,17 @@ */ import { useMemo } from 'react'; -import type { EntityAnalyticsPrivileges } from '../../../../common/api/entity_analytics/common'; import { useRiskEnginePrivileges } from '../../api/hooks/use_risk_engine_privileges'; -import { - RISK_ENGINE_REQUIRED_ES_CLUSTER_PRIVILEGES, - RISK_ENGINE_REQUIRED_ES_INDEX_PRIVILEGES, -} from '../../../../common/entity_analytics/risk_engine'; - -const getMissingIndexPrivileges = ( - privileges: EntityAnalyticsPrivileges['privileges']['elasticsearch']['index'] -): MissingIndexPrivileges => { - const missingIndexPrivileges: MissingIndexPrivileges = []; - - if (!privileges) { - return missingIndexPrivileges; - } - - for (const [indexName, requiredPrivileges] of Object.entries( - RISK_ENGINE_REQUIRED_ES_INDEX_PRIVILEGES - )) { - const missingPrivileges = requiredPrivileges.filter( - (privilege) => !privileges[indexName][privilege] - ); - - if (missingPrivileges.length) { - missingIndexPrivileges.push([indexName, missingPrivileges]); - } - } - - return missingIndexPrivileges; -}; - -export type MissingClusterPrivileges = string[]; -export type MissingIndexPrivileges = Array<[indexName: string, privileges: string[]]>; - -export interface MissingPrivileges { - clusterPrivileges: MissingClusterPrivileges; - indexPrivileges: MissingIndexPrivileges; -} - +import type { MissingPrivileges } from '../../../../common/entity_analytics/risk_engine'; +import { getMissingRiskEnginePrivileges } from '../../../../common/entity_analytics/risk_engine'; export type MissingPrivilegesResponse = | { isLoading: true } | { isLoading: false; hasAllRequiredPrivileges: true } - | { isLoading: false; missingPrivileges: MissingPrivileges; hasAllRequiredPrivileges: false }; + | { + isLoading: false; + missingPrivileges: MissingPrivileges; + hasAllRequiredPrivileges: false; + }; export const useMissingPrivileges = (): MissingPrivilegesResponse => { const { data: privilegesResponse, isLoading } = useRiskEnginePrivileges(); @@ -67,18 +35,16 @@ export const useMissingPrivileges = (): MissingPrivilegesResponse => { }; } - const { privileges } = privilegesResponse; - const missinIndexPrivileges = getMissingIndexPrivileges(privileges.elasticsearch.index); - const missingClusterPrivileges = RISK_ENGINE_REQUIRED_ES_CLUSTER_PRIVILEGES.filter( - (privilege) => !privileges.elasticsearch.cluster?.[privilege] + const { indexPrivileges, clusterPrivileges } = getMissingRiskEnginePrivileges( + privilegesResponse.privileges ); return { isLoading: false, hasAllRequiredPrivileges: false, missingPrivileges: { - indexPrivileges: missinIndexPrivileges, - clusterPrivileges: missingClusterPrivileges, + indexPrivileges, + clusterPrivileges, }, }; }, [isLoading, privilegesResponse]); diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/get_user_risk_engine_privileges.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/get_user_risk_engine_privileges.ts deleted file mode 100644 index 03920c099000f..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/get_user_risk_engine_privileges.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 type { KibanaRequest } from '@kbn/core/server'; -import type { SecurityPluginStart } from '@kbn/security-plugin/server'; -import { - RISK_ENGINE_REQUIRED_ES_CLUSTER_PRIVILEGES, - RISK_ENGINE_REQUIRED_ES_INDEX_PRIVILEGES, -} from '../../../../common/entity_analytics/risk_engine'; -import { checkAndFormatPrivileges } from '../utils/check_and_format_privileges'; - -export const getUserRiskEnginePrivileges = async ( - request: KibanaRequest, - security: SecurityPluginStart -) => { - return checkAndFormatPrivileges({ - request, - security, - privilegesToCheck: { - elasticsearch: { - cluster: RISK_ENGINE_REQUIRED_ES_CLUSTER_PRIVILEGES, - index: RISK_ENGINE_REQUIRED_ES_INDEX_PRIVILEGES, - }, - }, - }); -}; diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/risk_engine_privileges.test.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/risk_engine_privileges.test.ts new file mode 100644 index 0000000000000..f464292713420 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/risk_engine_privileges.test.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { EntityAnalyticsPrivileges } from '../../../../common/api/entity_analytics/common'; +import { _getMissingPrivilegesMessage } from './risk_engine_privileges'; + +describe('_getMissingPrivilegesMessage', () => { + it('should create correct message for user with no cluster privileges', () => { + const noClusterPrivileges: EntityAnalyticsPrivileges = { + privileges: { + elasticsearch: { + cluster: { + manage_index_templates: false, + manage_transform: false, + }, + index: { + 'risk-score.risk-score-*': { + read: true, + write: true, + }, + }, + }, + }, + has_all_required: false, + }; + + const result = _getMissingPrivilegesMessage(noClusterPrivileges); + + expect(result).toMatchInlineSnapshot( + `"User is missing risk engine privileges. Missing cluster privileges: manage_index_templates, manage_transform."` + ); + }); + + it('should create correct message for user with no index privileges', () => { + const noIndexPrivileges: EntityAnalyticsPrivileges = { + privileges: { + elasticsearch: { + cluster: { + manage_index_templates: true, + manage_transform: true, + }, + index: { + 'risk-score.risk-score-*': { + read: false, + write: false, + }, + }, + }, + }, + has_all_required: false, + }; + + const result = _getMissingPrivilegesMessage(noIndexPrivileges); + + expect(result).toMatchInlineSnapshot( + `"User is missing risk engine privileges. Missing index privileges for index \\"risk-score.risk-score-*\\": read, write. "` + ); + }); + + it('should create correct message for user with no cluster or index privileges', () => { + const noClusterOrIndexPrivileges: EntityAnalyticsPrivileges = { + privileges: { + elasticsearch: { + cluster: { + manage_index_templates: false, + manage_transform: false, + }, + index: { + 'risk-score.risk-score-*': { + read: false, + write: false, + }, + }, + }, + }, + has_all_required: false, + }; + + const result = _getMissingPrivilegesMessage(noClusterOrIndexPrivileges); + + expect(result).toMatchInlineSnapshot( + `"User is missing risk engine privileges. Missing index privileges for index \\"risk-score.risk-score-*\\": read, write. Missing cluster privileges: manage_index_templates, manage_transform."` + ); + }); +}); diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/risk_engine_privileges.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/risk_engine_privileges.ts new file mode 100644 index 0000000000000..df7914e5b242b --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/risk_engine_privileges.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 type { + IKibanaResponse, + KibanaRequest, + KibanaResponseFactory, + StartServicesAccessor, +} from '@kbn/core/server'; +import { buildSiemResponse } from '@kbn/lists-plugin/server/routes'; +import type { SecurityPluginStart } from '@kbn/security-plugin/server'; +import { i18n } from '@kbn/i18n'; +import type { EntityAnalyticsPrivileges } from '../../../../common/api/entity_analytics/common'; +import type { SecuritySolutionPluginStartDependencies } from '../../../plugin_contract'; +import type { SecuritySolutionRequestHandlerContext } from '../../../types'; +import { + RISK_ENGINE_REQUIRED_ES_CLUSTER_PRIVILEGES, + RISK_ENGINE_REQUIRED_ES_INDEX_PRIVILEGES, + getMissingRiskEnginePrivileges, +} from '../../../../common/entity_analytics/risk_engine'; +import { checkAndFormatPrivileges } from '../utils/check_and_format_privileges'; + +export const getUserRiskEnginePrivileges = async ( + request: KibanaRequest, + security: SecurityPluginStart +) => { + return checkAndFormatPrivileges({ + request, + security, + privilegesToCheck: { + elasticsearch: { + cluster: RISK_ENGINE_REQUIRED_ES_CLUSTER_PRIVILEGES, + index: RISK_ENGINE_REQUIRED_ES_INDEX_PRIVILEGES, + }, + }, + }); +}; + +export const _getMissingPrivilegesMessage = (riskEnginePrivileges: EntityAnalyticsPrivileges) => { + const { indexPrivileges, clusterPrivileges } = getMissingRiskEnginePrivileges( + riskEnginePrivileges.privileges + ); + + const indexPrivilegesMessage = indexPrivileges + .map(([indexName, privileges]) => + i18n.translate('xpack.securitySolution.entityAnalytics.riskEngine.missingIndexPrivilege', { + defaultMessage: 'Missing index privileges for index "{indexName}": {privileges}.', + values: { + indexName, + privileges: privileges.join(', '), + }, + }) + ) + .join('\n'); + + const clusterPrivilegesMessage = !clusterPrivileges.length + ? '' + : i18n.translate('xpack.securitySolution.entityAnalytics.riskEngine.missingClusterPrivilege', { + defaultMessage: 'Missing cluster privileges: {privileges}.', + values: { + privileges: clusterPrivileges.join(', '), + }, + }); + + const unauthorizedMessage = i18n.translate( + 'xpack.securitySolution.entityAnalytics.riskEngine.unauthorized', + { + defaultMessage: 'User is missing risk engine privileges.', + } + ); + + return `${unauthorizedMessage} ${indexPrivilegesMessage} ${clusterPrivilegesMessage}`; +}; + +/** + * This function is used to check if the user has the required privileges to access the risk engine. + * It is used to wrap a risk engine route handler which requires full access to the risk engine. + * @param getStartServices - Kibana's start services accessor + * @param handler - The route handler to wrap + **/ +export const withRiskEnginePrivilegeCheck = ( + getStartServices: StartServicesAccessor, + handler: ( + context: SecuritySolutionRequestHandlerContext, + request: KibanaRequest, + response: KibanaResponseFactory + ) => Promise +) => { + return async ( + context: SecuritySolutionRequestHandlerContext, + request: KibanaRequest, + response: KibanaResponseFactory + ) => { + const [_, { security }] = await getStartServices(); + const privileges = await getUserRiskEnginePrivileges(request, security); + if (!privileges.has_all_required) { + const siemResponse = buildSiemResponse(response); + return siemResponse.error({ + statusCode: 403, + body: _getMissingPrivilegesMessage(privileges), + }); + } + return handler(context, request, response); + }; +}; diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/disable.test.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/disable.test.ts index eb7ae66c2c3d3..429b13f3a3738 100644 --- a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/disable.test.ts +++ b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/disable.test.ts @@ -7,7 +7,7 @@ import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks'; import { riskEngineDisableRoute } from './disable'; - +import { riskEnginePrivilegesMock } from './risk_engine_privileges.mock'; import { RISK_ENGINE_DISABLE_URL } from '../../../../../common/constants'; import { serverMock, @@ -48,9 +48,13 @@ describe('risk score disable route', () => { describe('when task manager is available', () => { beforeEach(() => { - getStartServicesMock = jest - .fn() - .mockResolvedValue([{}, { taskManager: mockTaskManagerStart }]); + getStartServicesMock = jest.fn().mockResolvedValue([ + {}, + { + taskManager: mockTaskManagerStart, + security: riskEnginePrivilegesMock.createMockSecurityStartWithFullRiskEngineAccess(), + }, + ]); riskEngineDisableRoute(server.router, getStartServicesMock); }); @@ -84,7 +88,13 @@ describe('risk score disable route', () => { describe('when task manager is unavailable', () => { beforeEach(() => { - getStartServicesMock = jest.fn().mockResolvedValueOnce([{}, { taskManager: undefined }]); + getStartServicesMock = jest.fn().mockResolvedValue([ + {}, + { + taskManager: undefined, + security: riskEnginePrivilegesMock.createMockSecurityStartWithFullRiskEngineAccess(), + }, + ]); riskEngineDisableRoute(server.router, getStartServicesMock); }); diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/disable.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/disable.ts index dde7ddbee9e83..4f9ffc99057be 100644 --- a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/disable.ts +++ b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/disable.ts @@ -12,6 +12,7 @@ import { RISK_ENGINE_DISABLE_URL, APP_ID } from '../../../../../common/constants import type { StartPlugins } from '../../../../plugin'; import type { SecuritySolutionPluginRouter } from '../../../../types'; import { TASK_MANAGER_UNAVAILABLE_ERROR } from './translations'; +import { withRiskEnginePrivilegeCheck } from '../risk_engine_privileges'; export const riskEngineDisableRoute = ( router: SecuritySolutionPluginRouter, @@ -25,31 +26,34 @@ export const riskEngineDisableRoute = ( tags: ['access:securitySolution', `access:${APP_ID}-entity-analytics`], }, }) - .addVersion({ version: '1', validate: {} }, async (context, request, response) => { - const siemResponse = buildSiemResponse(response); + .addVersion( + { version: '1', validate: {} }, + withRiskEnginePrivilegeCheck(getStartServices, async (context, request, response) => { + const siemResponse = buildSiemResponse(response); - const [_, { taskManager }] = await getStartServices(); - const securitySolution = await context.securitySolution; - const riskEngineClient = securitySolution.getRiskEngineDataClient(); + const [_, { taskManager }] = await getStartServices(); + const securitySolution = await context.securitySolution; + const riskEngineClient = securitySolution.getRiskEngineDataClient(); - if (!taskManager) { - return siemResponse.error({ - statusCode: 400, - body: TASK_MANAGER_UNAVAILABLE_ERROR, - }); - } + if (!taskManager) { + return siemResponse.error({ + statusCode: 400, + body: TASK_MANAGER_UNAVAILABLE_ERROR, + }); + } - try { - await riskEngineClient.disableRiskEngine({ taskManager }); - return response.ok({ body: { success: true } }); - } catch (e) { - const error = transformError(e); + try { + await riskEngineClient.disableRiskEngine({ taskManager }); + return response.ok({ body: { success: true } }); + } catch (e) { + const error = transformError(e); - return siemResponse.error({ - statusCode: error.statusCode, - body: { message: error.message, full_error: JSON.stringify(e) }, - bypassErrorFormat: true, - }); - } - }); + return siemResponse.error({ + statusCode: error.statusCode, + body: { message: error.message, full_error: JSON.stringify(e) }, + bypassErrorFormat: true, + }); + } + }) + ); }; diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/enable.test.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/enable.test.ts index 02ccf01dc6166..4932de0b2d270 100644 --- a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/enable.test.ts +++ b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/enable.test.ts @@ -7,7 +7,6 @@ import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks'; import { riskEngineEnableRoute } from './enable'; - import { RISK_ENGINE_ENABLE_URL } from '../../../../../common/constants'; import { serverMock, @@ -15,6 +14,7 @@ import { requestMock, } from '../../../detection_engine/routes/__mocks__'; import { riskEngineDataClientMock } from '../risk_engine_data_client.mock'; +import { riskEnginePrivilegesMock } from './risk_engine_privileges.mock'; describe('risk score enable route', () => { let server: ReturnType; @@ -48,9 +48,13 @@ describe('risk score enable route', () => { describe('when task manager is available', () => { beforeEach(() => { - getStartServicesMock = jest - .fn() - .mockResolvedValue([{}, { taskManager: mockTaskManagerStart }]); + getStartServicesMock = jest.fn().mockResolvedValue([ + {}, + { + taskManager: mockTaskManagerStart, + security: riskEnginePrivilegesMock.createMockSecurityStartWithFullRiskEngineAccess(), + }, + ]); riskEngineEnableRoute(server.router, getStartServicesMock); }); @@ -84,7 +88,13 @@ describe('risk score enable route', () => { describe('when task manager is unavailable', () => { beforeEach(() => { - getStartServicesMock = jest.fn().mockResolvedValueOnce([{}, { taskManager: undefined }]); + getStartServicesMock = jest.fn().mockResolvedValue([ + {}, + { + taskManager: undefined, + security: riskEnginePrivilegesMock.createMockSecurityStartWithFullRiskEngineAccess(), + }, + ]); riskEngineEnableRoute(server.router, getStartServicesMock); }); diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/enable.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/enable.ts index bebc8b7236bb8..e63a914efadb9 100644 --- a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/enable.ts +++ b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/enable.ts @@ -12,6 +12,7 @@ import { RISK_ENGINE_ENABLE_URL, APP_ID } from '../../../../../common/constants' import { TASK_MANAGER_UNAVAILABLE_ERROR } from './translations'; import type { StartPlugins } from '../../../../plugin'; import type { SecuritySolutionPluginRouter } from '../../../../types'; +import { withRiskEnginePrivilegeCheck } from '../risk_engine_privileges'; export const riskEngineEnableRoute = ( router: SecuritySolutionPluginRouter, @@ -25,29 +26,32 @@ export const riskEngineEnableRoute = ( tags: ['access:securitySolution', `access:${APP_ID}-entity-analytics`], }, }) - .addVersion({ version: '1', validate: {} }, async (context, request, response) => { - const siemResponse = buildSiemResponse(response); - const [_, { taskManager }] = await getStartServices(); - const securitySolution = await context.securitySolution; - const riskEngineClient = securitySolution.getRiskEngineDataClient(); - if (!taskManager) { - return siemResponse.error({ - statusCode: 400, - body: TASK_MANAGER_UNAVAILABLE_ERROR, - }); - } + .addVersion( + { version: '1', validate: {} }, + withRiskEnginePrivilegeCheck(getStartServices, async (context, request, response) => { + const siemResponse = buildSiemResponse(response); + const [_, { taskManager }] = await getStartServices(); + const securitySolution = await context.securitySolution; + const riskEngineClient = securitySolution.getRiskEngineDataClient(); + if (!taskManager) { + return siemResponse.error({ + statusCode: 400, + body: TASK_MANAGER_UNAVAILABLE_ERROR, + }); + } - try { - await riskEngineClient.enableRiskEngine({ taskManager }); - return response.ok({ body: { success: true } }); - } catch (e) { - const error = transformError(e); + try { + await riskEngineClient.enableRiskEngine({ taskManager }); + return response.ok({ body: { success: true } }); + } catch (e) { + const error = transformError(e); - return siemResponse.error({ - statusCode: error.statusCode, - body: { message: error.message, full_error: JSON.stringify(e) }, - bypassErrorFormat: true, - }); - } - }); + return siemResponse.error({ + statusCode: error.statusCode, + body: { message: error.message, full_error: JSON.stringify(e) }, + bypassErrorFormat: true, + }); + } + }) + ); }; diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/init.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/init.ts index a76af277949fd..ffc6608505804 100644 --- a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/init.ts +++ b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/init.ts @@ -13,7 +13,7 @@ import type { StartPlugins } from '../../../../plugin'; import { TASK_MANAGER_UNAVAILABLE_ERROR } from './translations'; import type { SecuritySolutionPluginRouter } from '../../../../types'; import type { InitRiskEngineResultResponse } from '../../types'; - +import { withRiskEnginePrivilegeCheck } from '../risk_engine_privileges'; export const riskEngineInitRoute = ( router: SecuritySolutionPluginRouter, getStartServices: StartServicesAccessor @@ -26,59 +26,62 @@ export const riskEngineInitRoute = ( tags: ['access:securitySolution', `access:${APP_ID}-entity-analytics`], }, }) - .addVersion({ version: '1', validate: {} }, async (context, request, response) => { - const siemResponse = buildSiemResponse(response); - const securitySolution = await context.securitySolution; - const [_, { taskManager }] = await getStartServices(); - const riskEngineDataClient = securitySolution.getRiskEngineDataClient(); - const riskScoreDataClient = securitySolution.getRiskScoreDataClient(); - const spaceId = securitySolution.getSpaceId(); + .addVersion( + { version: '1', validate: {} }, + withRiskEnginePrivilegeCheck(getStartServices, async (context, request, response) => { + const siemResponse = buildSiemResponse(response); + const securitySolution = await context.securitySolution; + const [_, { taskManager }] = await getStartServices(); + const riskEngineDataClient = securitySolution.getRiskEngineDataClient(); + const riskScoreDataClient = securitySolution.getRiskScoreDataClient(); + const spaceId = securitySolution.getSpaceId(); - try { - if (!taskManager) { - return siemResponse.error({ - statusCode: 400, - body: TASK_MANAGER_UNAVAILABLE_ERROR, + try { + if (!taskManager) { + return siemResponse.error({ + statusCode: 400, + body: TASK_MANAGER_UNAVAILABLE_ERROR, + }); + } + + const initResult = await riskEngineDataClient.init({ + taskManager, + namespace: spaceId, + riskScoreDataClient, }); - } - const initResult = await riskEngineDataClient.init({ - taskManager, - namespace: spaceId, - riskScoreDataClient, - }); + const initResultResponse: InitRiskEngineResultResponse = { + risk_engine_enabled: initResult.riskEngineEnabled, + risk_engine_resources_installed: initResult.riskEngineResourcesInstalled, + risk_engine_configuration_created: initResult.riskEngineConfigurationCreated, + legacy_risk_engine_disabled: initResult.legacyRiskEngineDisabled, + errors: initResult.errors, + }; - const initResultResponse: InitRiskEngineResultResponse = { - risk_engine_enabled: initResult.riskEngineEnabled, - risk_engine_resources_installed: initResult.riskEngineResourcesInstalled, - risk_engine_configuration_created: initResult.riskEngineConfigurationCreated, - legacy_risk_engine_disabled: initResult.legacyRiskEngineDisabled, - errors: initResult.errors, - }; + if ( + !initResult.riskEngineEnabled || + !initResult.riskEngineResourcesInstalled || + !initResult.riskEngineConfigurationCreated + ) { + return siemResponse.error({ + statusCode: 400, + body: { + message: initResultResponse.errors.join('\n'), + full_error: initResultResponse, + }, + bypassErrorFormat: true, + }); + } + return response.ok({ body: { result: initResultResponse } }); + } catch (e) { + const error = transformError(e); - if ( - !initResult.riskEngineEnabled || - !initResult.riskEngineResourcesInstalled || - !initResult.riskEngineConfigurationCreated - ) { return siemResponse.error({ - statusCode: 400, - body: { - message: initResultResponse.errors.join('\n'), - full_error: initResultResponse, - }, + statusCode: error.statusCode, + body: { message: error.message, full_error: JSON.stringify(e) }, bypassErrorFormat: true, }); } - return response.ok({ body: { result: initResultResponse } }); - } catch (e) { - const error = transformError(e); - - return siemResponse.error({ - statusCode: error.statusCode, - body: { message: error.message, full_error: JSON.stringify(e) }, - bypassErrorFormat: true, - }); - } - }); + }) + ); }; diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/privileges.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/privileges.ts index d035119ec0f1e..62b9bf4584aed 100644 --- a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/privileges.ts +++ b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/privileges.ts @@ -12,7 +12,7 @@ import { RISK_ENGINE_PRIVILEGES_URL, APP_ID } from '../../../../../common/consta import type { StartPlugins } from '../../../../plugin'; import type { SecuritySolutionPluginRouter } from '../../../../types'; -import { getUserRiskEnginePrivileges } from '../get_user_risk_engine_privileges'; +import { getUserRiskEnginePrivileges } from '../risk_engine_privileges'; export const riskEnginePrivilegesRoute = ( router: SecuritySolutionPluginRouter, diff --git a/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/risk_engine_privileges.mock.ts b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/risk_engine_privileges.mock.ts new file mode 100644 index 0000000000000..10c772cfcf05e --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/risk_engine_privileges.mock.ts @@ -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 { securityMock } from '@kbn/security-plugin/server/mocks'; + +const createMockSecurityStartWithFullRiskEngineAccess = () => { + const mockSecurityStart = securityMock.createStart(); + + const mockCheckPrivileges = jest.fn().mockResolvedValue({ + hasAllRequested: true, + privileges: { + elasticsearch: { + cluster: ['manage', 'monitor'], + index: { + 'index-name': ['read'], + }, + }, + }, + }); + + mockSecurityStart.authz.checkPrivilegesDynamicallyWithRequest = jest + .fn() + .mockReturnValue(mockCheckPrivileges); + + return mockSecurityStart; +}; + +export const riskEnginePrivilegesMock = { + createMockSecurityStartWithFullRiskEngineAccess, +}; diff --git a/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/default_license/risk_engine/risk_engine_privileges.ts b/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/default_license/risk_engine/risk_engine_privileges.ts index c187e0ad5ff10..1336aa5c21ac1 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/default_license/risk_engine/risk_engine_privileges.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/default_license/risk_engine/risk_engine_privileges.ts @@ -81,10 +81,9 @@ const USERNAME_TO_ROLES = { export default ({ getService }: FtrProviderContext) => { const userHelper = usersAndRolesFactory(getService('security')); - describe('@ess Entity Analytics - Risk Engine Privileges API', () => { + describe('@ess Entity Analytics - Risk Engine Privileges', () => { const supertestWithoutAuth = getService('supertestWithoutAuth'); const riskEngineRoutesNoAuth = riskEngineRouteHelpersFactoryNoAuth(supertestWithoutAuth); - async function createPrivilegeTestUsers() { const rolePromises = ROLES.map((role) => userHelper.createRole(role)); @@ -197,5 +196,41 @@ export default ({ getService }: FtrProviderContext) => { }); }); }); + + describe('Risk engine init API privilege check', () => { + it('returns 403 when the user doesnt have all risk engine privileges', async () => { + await riskEngineRoutesNoAuth.init( + { + username: 'no_cluster_manage_index_templates', + password: USER_PASSWORD, + }, + 403 + ); + }); + }); + + describe('Risk engine enable API privilege check', () => { + it('returns 403 when the user doesnt have all risk engine privileges', async () => { + await riskEngineRoutesNoAuth.enable( + { + username: 'no_cluster_manage_index_templates', + password: USER_PASSWORD, + }, + 403 + ); + }); + }); + + describe('Risk engine disable API privilege check', () => { + it('returns 403 when the user doesnt have all risk engine privileges', async () => { + await riskEngineRoutesNoAuth.disable( + { + username: 'no_cluster_manage_index_templates', + password: USER_PASSWORD, + }, + 403 + ); + }); + }); }); }; diff --git a/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/utils/risk_engine.ts b/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/utils/risk_engine.ts index b3a5b1faa006c..5a29900f5e8d6 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/utils/risk_engine.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/utils/risk_engine.ts @@ -509,11 +509,16 @@ export const riskEngineRouteHelpersFactory = ( .expect(200), }); +interface Credentials { + username: string; + password: string; +} + export const riskEngineRouteHelpersFactoryNoAuth = ( supertestWithoutAuth: SuperTest.SuperTest, namespace?: string ) => ({ - privilegesForUser: async ({ username, password }: { username: string; password: string }) => + privilegesForUser: async ({ username, password }: Credentials) => await supertestWithoutAuth .get(RISK_ENGINE_PRIVILEGES_URL) .auth(username, password) @@ -521,6 +526,33 @@ export const riskEngineRouteHelpersFactoryNoAuth = ( .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .send() .expect(200), + init: async ({ username, password }: Credentials, expectStatusCode: number = 200) => + await supertestWithoutAuth + .post(routeWithNamespace(RISK_ENGINE_INIT_URL, namespace)) + .auth(username, password) + .set('kbn-xsrf', 'true') + .set('elastic-api-version', '1') + .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') + .send() + .expect(expectStatusCode), + enable: async ({ username, password }: Credentials, expectStatusCode: number = 200) => + await supertestWithoutAuth + .post(routeWithNamespace(RISK_ENGINE_ENABLE_URL, namespace)) + .auth(username, password) + .set('kbn-xsrf', 'true') + .set('elastic-api-version', '1') + .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') + .send() + .expect(expectStatusCode), + disable: async ({ username, password }: Credentials, expectStatusCode: number = 200) => + await supertestWithoutAuth + .post(routeWithNamespace(RISK_ENGINE_DISABLE_URL, namespace)) + .auth(username, password) + .set('kbn-xsrf', 'true') + .set('elastic-api-version', '1') + .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') + .send() + .expect(expectStatusCode), }); export const installLegacyRiskScore = async ({ From 72f2effba67ea2e8b9c6a63cbaa93d83372a5d8a Mon Sep 17 00:00:00 2001 From: Jan Monschke Date: Thu, 14 Dec 2023 11:31:33 +0100 Subject: [PATCH 047/123] [SecuritySolution] Fix flaky timeline template creation tests (#173206) ## Summary Fixes https://github.com/elastic/kibana/issues/165738 Fixes the flaky timeline template tests. Some of the test code wasn't valid anymore (e.g. notes in timeline templates), so I removed those and cleaned up the now unnecessary code. [Flaky test runner results](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4563) ([flaky runner results before requested changes](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4520)) --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../components/timeline/pin/index.tsx | 2 +- .../timeline_templates/creation.cy.ts | 71 +++++++++---------- .../cypress/screens/timeline.ts | 3 - .../cypress/screens/timelines.ts | 2 + .../cypress/tasks/timeline.ts | 15 ++-- .../cypress/tasks/timelines.ts | 11 ++- 6 files changed, 55 insertions(+), 49 deletions(-) diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/pin/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/pin/index.tsx index 6e359920701f3..369fadfb82457 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/pin/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/pin/index.tsx @@ -54,7 +54,7 @@ export const Pin = React.memo( isTemplate, isPinned: pinned, }); - const pinAriaLabel = ariaLabel != null ? ariaLabel : defaultAriaLabel; + const pinAriaLabel = ariaLabel != null && !isTemplate ? ariaLabel : defaultAriaLabel; return ( { beforeEach(() => { login(); @@ -57,12 +53,24 @@ describe('Timeline Templates', { tags: ['@ess', '@serverless'] }, () => { cy.intercept('PATCH', '/api/timeline').as('timeline'); }); - it.skip('Creates a timeline template', () => { + it('Creates a timeline template', () => { visit(TIMELINES_URL); + waitForTimelinesPanelToBeLoaded(); openTimelineUsingToggle(); + createNewTimelineTemplate(); populateTimeline(); + + cy.log('Add filter'); addFilter(getTimeline().filter); + + cy.log('Update date range'); + showStartEndDate(TIMELINE_DATE_PICKER_CONTAINER); + setEndDateNow(TIMELINE_DATE_PICKER_CONTAINER); + setStartDate('Jan 18, 2018 @ 00:00:00.000', TIMELINE_DATE_PICKER_CONTAINER); + updateTimelineDates(); + + cy.log('Try to pin an event'); cy.get(PIN_EVENT).should( 'have.attr', 'aria-label', @@ -70,36 +78,25 @@ describe('Timeline Templates', { tags: ['@ess', '@serverless'] }, () => { ); cy.get(LOCKED_ICON).should('be.visible'); - addNameToTimelineAndSave(getTimeline().title); + cy.log('Update title and description'); + addNameAndDescriptionToTimeline(getTimeline()); cy.wait('@timeline').then(({ response }) => { const timelineId = response?.body.data.persistTimeline.timeline.savedObjectId; - addDescriptionToTimeline(getTimeline().description); - addNotesToTimeline(getTimeline().notes); markAsFavorite(); - createNewTimelineTemplate(); closeTimeline(); - openTimelineTemplateFromSettings(timelineId); + cy.log('Open template from templates tab'); + openTimelineTemplatesTab(); + openTimelineTemplate(timelineId); + + cy.log('Check that the template has been created correclty'); cy.contains(getTimeline().title).should('exist'); + cy.get(TIMELINE_TITLE).should('have.text', getTimeline().title); cy.get(TIMELINES_DESCRIPTION).first().should('have.text', getTimeline().description); - cy.get(TIMELINES_PINNED_EVENT_COUNT).first().should('have.text', '1'); - cy.get(TIMELINES_NOTES_COUNT).first().should('have.text', '1'); cy.get(TIMELINES_FAVORITE).first().should('exist'); - - openTimeline(timelineId); - - cy.get(FAVORITE_TIMELINE).should('exist'); - cy.get(TIMELINE_TITLE).should('have.text', getTimeline().title); - cy.get(TIMELINE_DESCRIPTION).should('have.text', getTimeline().description); - cy.get(TIMELINE_QUERY).should('have.text', getTimeline().query); - // Comments this assertion until we agreed what to do with the filters. - // cy.get(TIMELINE_FILTER(timeline.filter)).should('exist'); - // cy.get(NOTES_COUNT).should('have.text', '1'); - cy.get(NOTES_TAB_BUTTON).click(); - cy.get(NOTES_TEXT_AREA).should('exist'); - cy.get(NOTES).should('have.text', getTimeline().notes); + cy.get(TIMELINE_QUERY).should('contain.text', getTimeline().query); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts b/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts index 9480fa92e4ee1..32cf43e3de2cf 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts @@ -108,9 +108,6 @@ export const OPEN_TIMELINE_MODAL = '[data-test-subj="open-timeline-modal"]'; export const CLOSE_OPEN_TIMELINE_MODAL_BTN = `${OPEN_TIMELINE_MODAL} > button`; -export const OPEN_TIMELINE_TEMPLATE_ICON = - '[data-test-subj="open-timeline-modal-body-filter-template"]'; - export const PIN_EVENT = '[data-test-subj="pin"]'; export const PINNED_TAB_BUTTON = '[data-test-subj="timelineTabs-pinned"]'; diff --git a/x-pack/test/security_solution_cypress/cypress/screens/timelines.ts b/x-pack/test/security_solution_cypress/cypress/screens/timelines.ts index a90faeb6e80f3..92343b07f3b99 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/timelines.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/timelines.ts @@ -61,3 +61,5 @@ export const TIMELINES_OVERVIEW_SEARCH = `${TIMELINES_OVERVIEW} [data-test-subj= export const TIMELINES_OVERVIEW_TABLE = `${TIMELINES_OVERVIEW} [data-test-subj="timelines-table"]`; export const ROWS = '.euiTableRow'; + +export const TIMELINES_TAB_TEMPLATE = '[data-test-subj="timeline-tab-template"]'; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts index 07cfee64e0f88..d621fd2d832a2 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts @@ -51,7 +51,6 @@ import { TIMESTAMP_TOGGLE_FIELD, TOGGLE_TIMELINE_EXPAND_EVENT, CREATE_NEW_TIMELINE_TEMPLATE, - OPEN_TIMELINE_TEMPLATE_ICON, TIMELINE_SAVE_MODAL, TIMELINE_EDIT_MODAL_SAVE_BUTTON, TIMELINE_EDIT_MODAL_SAVE_AS_NEW_SWITCH, @@ -93,7 +92,8 @@ import { TOGGLE_DATA_PROVIDER_BTN, SAVE_TIMELINE_ACTION_BTN, } from '../screens/timeline'; -import { REFRESH_BUTTON, TIMELINE } from '../screens/timelines'; + +import { REFRESH_BUTTON, TIMELINE, TIMELINES_TAB_TEMPLATE } from '../screens/timelines'; import { drag, drop, waitForTabToBeLoaded } from './common'; import { closeFieldsBrowser, filterFieldsBrowser } from './fields_browser'; @@ -203,7 +203,6 @@ export const addFilter = (filter: TimelineFilter): Cypress.Chainable { cy.get(OPEN_TIMELINE_ICON).click(); }; -export const openTimelineTemplateFromSettings = (id: string) => { - openTimelineFromSettings(); - cy.get(OPEN_TIMELINE_TEMPLATE_ICON).click({ force: true }); - cy.get(TIMELINE_TITLE_BY_ID(id)).click({ force: true }); +export const openTimelineTemplate = (id: string) => { + cy.get(TIMELINE_TITLE_BY_ID(id)).click(); +}; + +export const openTimelineTemplatesTab = () => { + cy.get(TIMELINES_TAB_TEMPLATE).click(); }; export const openTimelineById = (timelineId: string): Cypress.Chainable> => { diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/timelines.ts b/x-pack/test/security_solution_cypress/cypress/tasks/timelines.ts index 7c88cdcb21f86..1e59727a26527 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/timelines.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/timelines.ts @@ -20,7 +20,11 @@ import { TIMELINE_ITEM_ACTION_BTN, } from '../screens/timelines'; import { SELECT_ALL_CHECKBOX } from '../screens/shared'; -import { CREATE_NEW_TIMELINE_WITH_BORDER } from '../screens/timeline'; +import { + CREATE_NEW_TIMELINE_WITH_BORDER, + TIMELINE_COLLAPSED_ITEMS_BTN, + TIMELINE_CREATE_TIMELINE_FROM_TEMPLATE_BTN, +} from '../screens/timeline'; export const expandNotes = () => { cy.get(EXPAND_NOTES_BTN).click(); @@ -67,3 +71,8 @@ export const exportSelectedTimelines = () => { export const createTimeline = () => cy.get(CREATE_NEW_TIMELINE_WITH_BORDER).should('be.visible').click(); + +export const createTimelineFromFirstTemplateInList = () => { + cy.get(TIMELINE_COLLAPSED_ITEMS_BTN).first().click(); + cy.get(TIMELINE_CREATE_TIMELINE_FROM_TEMPLATE_BTN).click(); +}; From 126f45cf61f77ba6425a6546165388ada4b9a28a Mon Sep 17 00:00:00 2001 From: Mark Hopkin Date: Thu, 14 Dec 2023 10:55:44 +0000 Subject: [PATCH 048/123] [Entity Analytics] Remove usage of KibanaServices singleton for routes (#173302) --- .../public/entity_analytics/api/api.ts | 152 +++++++++--------- .../hooks/use_asset_criticality_privileges.ts | 3 +- .../hooks/use_disable_risk_engine_mutation.ts | 3 +- .../hooks/use_enable_risk_engine_mutation.ts | 6 +- .../hooks/use_init_risk_engine_mutation.ts | 4 +- .../api/hooks/use_preview_risk_scores.ts | 5 +- .../api/hooks/use_risk_engine_privileges.ts | 3 +- .../api/hooks/use_risk_engine_status.ts | 4 +- 8 files changed, 92 insertions(+), 88 deletions(-) diff --git a/x-pack/plugins/security_solution/public/entity_analytics/api/api.ts b/x-pack/plugins/security_solution/public/entity_analytics/api/api.ts index 13408e349007d..73cb1cbd57ff0 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/api/api.ts +++ b/x-pack/plugins/security_solution/public/entity_analytics/api/api.ts @@ -15,7 +15,6 @@ import { ASSET_CRITICALITY_PRIVILEGES_URL, } from '../../../common/constants'; -import { KibanaServices } from '../../common/lib/kibana'; import type { CalculateScoresResponse, EnableRiskEngineResponse, @@ -25,89 +24,90 @@ import type { } from '../../../server/lib/entity_analytics/types'; import type { RiskScorePreviewRequestSchema } from '../../../common/entity_analytics/risk_engine/risk_score_preview/request_schema'; import type { EntityAnalyticsPrivileges } from '../../../common/api/entity_analytics/common'; +import { useKibana } from '../../common/lib/kibana/kibana_react'; -/** - * Fetches preview risks scores - */ -export const fetchRiskScorePreview = async ({ - signal, - params, -}: { - signal?: AbortSignal; - params: RiskScorePreviewRequestSchema; -}): Promise => { - return KibanaServices.get().http.fetch(RISK_SCORE_PREVIEW_URL, { - version: '1', - method: 'POST', - body: JSON.stringify(params), - signal, - }); -}; +export const useEntityAnalyticsRoutes = () => { + const http = useKibana().services.http; -/** - * Fetches risks engine status - */ -export const fetchRiskEngineStatus = async ({ - signal, -}: { - signal?: AbortSignal; -}): Promise => { - return KibanaServices.get().http.fetch(RISK_ENGINE_STATUS_URL, { - version: '1', - method: 'GET', + /** + * Fetches preview risks scores + */ + const fetchRiskScorePreview = ({ signal, - }); -}; + params, + }: { + signal?: AbortSignal; + params: RiskScorePreviewRequestSchema; + }) => + http.fetch(RISK_SCORE_PREVIEW_URL, { + version: '1', + method: 'POST', + body: JSON.stringify(params), + signal, + }); -/** - * Init risk score engine - */ -export const initRiskEngine = async (): Promise => { - return KibanaServices.get().http.fetch(RISK_ENGINE_INIT_URL, { - version: '1', - method: 'POST', - }); -}; + /** + * Fetches risks engine status + */ + const fetchRiskEngineStatus = ({ signal }: { signal?: AbortSignal }) => + http.fetch(RISK_ENGINE_STATUS_URL, { + version: '1', + method: 'GET', + signal, + }); -/** - * Enable risk score engine - */ -export const enableRiskEngine = async (): Promise => { - return KibanaServices.get().http.fetch(RISK_ENGINE_ENABLE_URL, { - version: '1', - method: 'POST', - }); -}; + /** + * Init risk score engine + */ + const initRiskEngine = () => + http.fetch(RISK_ENGINE_INIT_URL, { + version: '1', + method: 'POST', + }); -/** - * Disable risk score engine - */ -export const disableRiskEngine = async (): Promise => { - return KibanaServices.get().http.fetch(RISK_ENGINE_DISABLE_URL, { - version: '1', - method: 'POST', - }); -}; + /** + * Enable risk score engine + */ + const enableRiskEngine = () => + http.fetch(RISK_ENGINE_ENABLE_URL, { + version: '1', + method: 'POST', + }); -/** - * Get risk engine privileges - */ -export const fetchRiskEnginePrivileges = async (): Promise => { - return KibanaServices.get().http.fetch(RISK_ENGINE_PRIVILEGES_URL, { - version: '1', - method: 'GET', - }); -}; + /** + * Disable risk score engine + */ + const disableRiskEngine = () => + http.fetch(RISK_ENGINE_DISABLE_URL, { + version: '1', + method: 'POST', + }); -/** - * Get asset criticality privileges - */ -export const fetchAssetCriticalityPrivileges = async (): Promise => { - return KibanaServices.get().http.fetch( - ASSET_CRITICALITY_PRIVILEGES_URL, - { + /** + * Get risk engine privileges + */ + const fetchRiskEnginePrivileges = () => + http.fetch(RISK_ENGINE_PRIVILEGES_URL, { + version: '1', + method: 'GET', + }); + + /** + * Get asset criticality privileges + */ + const fetchAssetCriticalityPrivileges = () => + http.fetch(ASSET_CRITICALITY_PRIVILEGES_URL, { version: '1', method: 'GET', - } - ); + }); + + return { + fetchRiskScorePreview, + fetchRiskEngineStatus, + initRiskEngine, + enableRiskEngine, + disableRiskEngine, + fetchRiskEnginePrivileges, + fetchAssetCriticalityPrivileges, + }; }; diff --git a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_asset_criticality_privileges.ts b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_asset_criticality_privileges.ts index 7314dcc6147a4..afed24ac49e63 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_asset_criticality_privileges.ts +++ b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_asset_criticality_privileges.ts @@ -5,8 +5,9 @@ * 2.0. */ import { useQuery } from '@tanstack/react-query'; -import { fetchAssetCriticalityPrivileges } from '../api'; +import { useEntityAnalyticsRoutes } from '../api'; export const useAssetCriticalityPrivileges = () => { + const { fetchAssetCriticalityPrivileges } = useEntityAnalyticsRoutes(); return useQuery(['GET', 'FETCH_ASSET_CRITICALITY_PRIVILEGES'], fetchAssetCriticalityPrivileges); }; diff --git a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_disable_risk_engine_mutation.ts b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_disable_risk_engine_mutation.ts index 8b3ca2d0ac2ad..9f601d191d440 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_disable_risk_engine_mutation.ts +++ b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_disable_risk_engine_mutation.ts @@ -6,7 +6,7 @@ */ import type { UseMutationOptions } from '@tanstack/react-query'; import { useMutation } from '@tanstack/react-query'; -import { disableRiskEngine } from '../api'; +import { useEntityAnalyticsRoutes } from '../api'; import { useInvalidateRiskEngineStatusQuery } from './use_risk_engine_status'; import type { EnableRiskEngineResponse, @@ -17,6 +17,7 @@ export const DISABLE_RISK_ENGINE_MUTATION_KEY = ['POST', 'DISABLE_RISK_ENGINE']; export const useDisableRiskEngineMutation = (options?: UseMutationOptions<{}>) => { const invalidateRiskEngineStatusQuery = useInvalidateRiskEngineStatusQuery(); + const { disableRiskEngine } = useEntityAnalyticsRoutes(); return useMutation( () => disableRiskEngine(), diff --git a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_enable_risk_engine_mutation.ts b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_enable_risk_engine_mutation.ts index c4d5070014fc2..0f1a5995b7656 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_enable_risk_engine_mutation.ts +++ b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_enable_risk_engine_mutation.ts @@ -6,7 +6,7 @@ */ import type { UseMutationOptions } from '@tanstack/react-query'; import { useMutation } from '@tanstack/react-query'; -import { enableRiskEngine } from '../api'; +import { useEntityAnalyticsRoutes } from '../api'; import { useInvalidateRiskEngineStatusQuery } from './use_risk_engine_status'; import type { EnableRiskEngineResponse, @@ -16,9 +16,9 @@ export const ENABLE_RISK_ENGINE_MUTATION_KEY = ['POST', 'ENABLE_RISK_ENGINE']; export const useEnableRiskEngineMutation = (options?: UseMutationOptions<{}>) => { const invalidateRiskEngineStatusQuery = useInvalidateRiskEngineStatusQuery(); - + const { enableRiskEngine } = useEntityAnalyticsRoutes(); return useMutation( - () => enableRiskEngine(), + enableRiskEngine, { ...options, mutationKey: ENABLE_RISK_ENGINE_MUTATION_KEY, diff --git a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_init_risk_engine_mutation.ts b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_init_risk_engine_mutation.ts index 1e2a695652edf..aa8a19c4a7a6a 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_init_risk_engine_mutation.ts +++ b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_init_risk_engine_mutation.ts @@ -6,7 +6,7 @@ */ import type { UseMutationOptions } from '@tanstack/react-query'; import { useMutation } from '@tanstack/react-query'; -import { initRiskEngine } from '../api'; +import { useEntityAnalyticsRoutes } from '../api'; import { useInvalidateRiskEngineStatusQuery } from './use_risk_engine_status'; import type { InitRiskEngineResponse, @@ -17,7 +17,7 @@ export const INIT_RISK_ENGINE_STATUS_KEY = ['POST', 'INIT_RISK_ENGINE']; export const useInitRiskEngineMutation = (options?: UseMutationOptions<{}>) => { const invalidateRiskEngineStatusQuery = useInvalidateRiskEngineStatusQuery(); - + const { initRiskEngine } = useEntityAnalyticsRoutes(); return useMutation(() => initRiskEngine(), { ...options, mutationKey: INIT_RISK_ENGINE_STATUS_KEY, diff --git a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_preview_risk_scores.ts b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_preview_risk_scores.ts index 84360372ff876..01e9c6ac8dfea 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_preview_risk_scores.ts +++ b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_preview_risk_scores.ts @@ -6,7 +6,7 @@ */ import { useQuery } from '@tanstack/react-query'; import dateMath from '@kbn/datemath'; -import { fetchRiskScorePreview } from '../api'; +import { useEntityAnalyticsRoutes } from '../api'; import type { RiskScorePreviewRequestSchema } from '../../../../common/entity_analytics/risk_engine/risk_score_preview/request_schema'; export const useRiskScorePreview = ({ @@ -14,9 +14,10 @@ export const useRiskScorePreview = ({ range, filter, }: RiskScorePreviewRequestSchema) => { + const { fetchRiskScorePreview } = useEntityAnalyticsRoutes(); + return useQuery(['POST', 'FETCH_PREVIEW_RISK_SCORE', range, filter], async ({ signal }) => { const params: RiskScorePreviewRequestSchema = { data_view_id: dataViewId }; - if (range) { const startTime = dateMath.parse(range.start)?.utc().toISOString(); const endTime = dateMath diff --git a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_risk_engine_privileges.ts b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_risk_engine_privileges.ts index 2a3ffa40856cb..5278b537048ff 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_risk_engine_privileges.ts +++ b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_risk_engine_privileges.ts @@ -5,8 +5,9 @@ * 2.0. */ import { useQuery } from '@tanstack/react-query'; -import { fetchRiskEnginePrivileges } from '../api'; +import { useEntityAnalyticsRoutes } from '../api'; export const useRiskEnginePrivileges = () => { + const { fetchRiskEnginePrivileges } = useEntityAnalyticsRoutes(); return useQuery(['GET', 'FETCH_RISK_ENGINE_PRIVILEGES'], fetchRiskEnginePrivileges); }; diff --git a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_risk_engine_status.ts b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_risk_engine_status.ts index ed591213b2dcf..07ef32f0a3e41 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_risk_engine_status.ts +++ b/x-pack/plugins/security_solution/public/entity_analytics/api/hooks/use_risk_engine_status.ts @@ -6,7 +6,7 @@ */ import { useQuery, useQueryClient } from '@tanstack/react-query'; import { useCallback } from 'react'; -import { fetchRiskEngineStatus } from '../api'; +import { useEntityAnalyticsRoutes } from '../api'; import { RiskEngineStatus } from '../../../../common/entity_analytics/risk_engine/types'; import { useIsExperimentalFeatureEnabled } from '../../../common/hooks/use_experimental_features'; const FETCH_RISK_ENGINE_STATUS = ['GET', 'FETCH_RISK_ENGINE_STATUS']; @@ -29,7 +29,7 @@ export const useIsNewRiskScoreModuleInstalled = () => { export const useRiskEngineStatus = () => { const isNewRiskScoreModuleAvailable = useIsExperimentalFeatureEnabled('riskScoringRoutesEnabled'); - + const { fetchRiskEngineStatus } = useEntityAnalyticsRoutes(); return useQuery(FETCH_RISK_ENGINE_STATUS, async ({ signal }) => { if (!isNewRiskScoreModuleAvailable) { return { From 37af741c6e03afe9dc877600fe47960b5bac8f50 Mon Sep 17 00:00:00 2001 From: Nikita Indik Date: Thu, 14 Dec 2023 13:09:16 +0100 Subject: [PATCH 049/123] [Security Solution] Prebuilt rules diffing style adjustments (#173187) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Resolves: https://github.com/elastic/kibana/issues/173264** **Addresses: https://github.com/elastic/kibana/issues/169160** ## Summary Tweaks diff styling so that it's more readable in both light and dark modes. --- #### Light mode Scherm­afbeelding 2023-12-13 om 17 37 07 #### Dark mode Scherm­afbeelding 2023-12-13 om 17 41 03 --- .../rule_details/json_diff/constants.ts | 42 ++++++++++ .../rule_details/json_diff/diff_view.tsx | 76 ++++++++++++++----- 2 files changed, 97 insertions(+), 21 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/json_diff/constants.ts diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/json_diff/constants.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/json_diff/constants.ts new file mode 100644 index 0000000000000..3d3b6bc74e72d --- /dev/null +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/json_diff/constants.ts @@ -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. + */ + +export const TABLE_CLASS_NAME = 'rule-update-diff-table'; +export const CODE_CLASS_NAME = 'rule-update-diff-code'; +export const GUTTER_CLASS_NAME = 'rule-update-diff-gutter'; +export const DARK_THEME_CLASS_NAME = 'rule-update-diff-dark-theme'; + +export const COLORS = { + light: { + gutterBackground: { + deletion: 'rgb(255, 215, 213)', + insertion: 'rgb(204, 255, 216)', + }, + lineBackground: { + deletion: 'rgb(255, 235, 233)', + insertion: 'rgb(230, 255, 236)', + }, + characterBackground: { + deletion: 'rgba(255, 129, 130, 0.4)', + insertion: 'rgb(171, 242, 188)', + }, + }, + dark: { + gutterBackground: { + deletion: 'rgba(248, 81, 73, 0.3)', + insertion: 'rgba(63, 185, 80, 0.3)', + }, + lineBackground: { + deletion: 'rgba(248, 81, 73, 0.1)', + insertion: 'rgba(46, 160, 67, 0.15)', + }, + characterBackground: { + deletion: 'rgba(248, 81, 73, 0.4)', + insertion: 'rgba(46, 160, 67, 0.4)', + }, + }, +}; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/json_diff/diff_view.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/json_diff/diff_view.tsx index 8905d0aca4e6f..3139cb5478907 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/json_diff/diff_view.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/json_diff/diff_view.tsx @@ -6,6 +6,7 @@ */ import React, { useMemo } from 'react'; +import classNames from 'classnames'; import { css, Global } from '@emotion/react'; import { Diff, @@ -23,9 +24,16 @@ import type { HunkTokens, } from 'react-diff-view'; import unidiff from 'unidiff'; -import { useEuiTheme } from '@elastic/eui'; +import { useEuiTheme, COLOR_MODES_STANDARD } from '@elastic/eui'; import { Hunks } from './hunks'; import { markEdits, DiffMethod } from './mark_edits'; +import { + TABLE_CLASS_NAME, + CODE_CLASS_NAME, + GUTTER_CLASS_NAME, + DARK_THEME_CLASS_NAME, + COLORS, +} from './constants'; interface UseExpandReturn { expandRange: (start: number, end: number) => void; @@ -137,53 +145,73 @@ const convertToDiffFile = (oldSource: string, newSource: string) => { return diffFile; }; -const TABLE_CLASS_NAME = 'rule-update-diff-table'; -const CODE_CLASS_NAME = 'rule-update-diff-code'; -const GUTTER_CLASS_NAME = 'rule-update-diff-gutter'; - const CustomStyles: React.FC = ({ children }) => { const { euiTheme } = useEuiTheme(); const customCss = css` - .${TABLE_CLASS_NAME} .diff-gutter-col { - width: ${euiTheme.size.xl}; + .${CODE_CLASS_NAME}.diff-code { + padding: 0 ${euiTheme.size.l} 0 ${euiTheme.size.m}; } - .${CODE_CLASS_NAME}.diff-code, .${GUTTER_CLASS_NAME}.diff-gutter { - background: transparent; + .${TABLE_CLASS_NAME} .diff-gutter-col { + width: ${euiTheme.size.xl}; } + /* Vertical line separating two sides of the diff view */ .${GUTTER_CLASS_NAME}:nth-child(3) { border-left: 1px solid ${euiTheme.colors.mediumShade}; } + /* Gutter of a line with deletions */ .${GUTTER_CLASS_NAME}.diff-gutter-delete { - color: ${euiTheme.colors.dangerText}; font-weight: bold; + background: ${COLORS.light.gutterBackground.deletion}; + } + .${DARK_THEME_CLASS_NAME} .${GUTTER_CLASS_NAME}.diff-gutter-delete { + background: ${COLORS.dark.gutterBackground.deletion}; } + /* Gutter of a line with insertions */ .${GUTTER_CLASS_NAME}.diff-gutter-insert { - color: ${euiTheme.colors.successText}; font-weight: bold; + background: ${COLORS.light.gutterBackground.insertion}; + } + .${DARK_THEME_CLASS_NAME} .${GUTTER_CLASS_NAME}.diff-gutter-insert { + background: ${COLORS.dark.gutterBackground.insertion}; } - .${CODE_CLASS_NAME}.diff-code { - padding: 0 ${euiTheme.size.l} 0 ${euiTheme.size.m}; + /* Background of a line with deletions */ + .${CODE_CLASS_NAME}.diff-code-delete { + background: ${COLORS.light.lineBackground.deletion}; + } + .${DARK_THEME_CLASS_NAME} .${CODE_CLASS_NAME}.diff-code-delete { + background: ${COLORS.dark.lineBackground.deletion}; } - .${CODE_CLASS_NAME}.diff-code-delete .diff-code-edit, - .${CODE_CLASS_NAME}.diff-code-insert .diff-code-edit { - background: transparent; + /* Background of a line with insertions */ + .${CODE_CLASS_NAME}.diff-code-insert { + background: ${COLORS.light.lineBackground.insertion}; + } + .${DARK_THEME_CLASS_NAME} .${CODE_CLASS_NAME}.diff-code-insert { + background: ${COLORS.dark.lineBackground.insertion}; } + /* Accented background of removed characters / words */ .${CODE_CLASS_NAME}.diff-code-delete .diff-code-edit { - color: ${euiTheme.colors.dangerText}; - text-decoration: line-through; + font-weight: 700; + background: ${COLORS.light.characterBackground.deletion}; + } + .${DARK_THEME_CLASS_NAME} .${CODE_CLASS_NAME}.diff-code-delete .diff-code-edit { + background: ${COLORS.dark.characterBackground.deletion}; } + /* Accented background of inserted characters / words */ .${CODE_CLASS_NAME}.diff-code-insert .diff-code-edit { - color: ${euiTheme.colors.successText}; - text-decoration: underline; + font-weight: 700; + background: ${COLORS.light.characterBackground.insertion}; + } + .${DARK_THEME_CLASS_NAME} .${CODE_CLASS_NAME}.diff-code-insert .diff-code-edit { + background: ${COLORS.dark.characterBackground.insertion}; } `; @@ -229,6 +257,12 @@ export const DiffView = ({ */ const tokens = useTokens(hunks, diffMethod, oldSource); + const { colorMode } = useEuiTheme(); + + const tableClassName = classNames(TABLE_CLASS_NAME, { + [DARK_THEME_CLASS_NAME]: colorMode === COLOR_MODES_STANDARD.dark, + }); + return ( From e73eb522904e44b72b3e13637403edfd33a68bb8 Mon Sep 17 00:00:00 2001 From: Nick Peihl Date: Thu, 14 Dec 2023 07:50:43 -0500 Subject: [PATCH 050/123] [Links] Add Links to Dashboard feature privileges (#173332) --- .../features/server/__snapshots__/oss_features.test.ts.snap | 4 ++++ x-pack/plugins/features/server/oss_features.ts | 2 ++ 2 files changed, 6 insertions(+) diff --git a/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap b/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap index 7247c1d23cb0c..11b6f64b0ef5a 100644 --- a/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap +++ b/x-pack/plugins/features/server/__snapshots__/oss_features.test.ts.snap @@ -582,6 +582,7 @@ Array [ "visualization", "canvas-workpad", "lens", + "links", "map", "tag", ], @@ -614,6 +615,7 @@ Array [ "visualization", "canvas-workpad", "lens", + "links", "map", "dashboard", "query", @@ -1196,6 +1198,7 @@ Array [ "visualization", "canvas-workpad", "lens", + "links", "map", "tag", ], @@ -1228,6 +1231,7 @@ Array [ "visualization", "canvas-workpad", "lens", + "links", "map", "dashboard", "query", diff --git a/x-pack/plugins/features/server/oss_features.ts b/x-pack/plugins/features/server/oss_features.ts index 1fee088a25184..21eb4a2556074 100644 --- a/x-pack/plugins/features/server/oss_features.ts +++ b/x-pack/plugins/features/server/oss_features.ts @@ -203,6 +203,7 @@ export const buildOSSFeatures = ({ 'visualization', 'canvas-workpad', 'lens', + 'links', 'map', 'tag', ], @@ -220,6 +221,7 @@ export const buildOSSFeatures = ({ 'visualization', 'canvas-workpad', 'lens', + 'links', 'map', 'dashboard', 'query', From f247b24cb7ee3c6d89d929e059ef0e672de17c15 Mon Sep 17 00:00:00 2001 From: Liam Thompson <32779855+leemthompo@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:11:43 +0100 Subject: [PATCH 051/123] [Enterprise Search] Update name of connector config final step (#173366) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Improves existing step name ⬇️ ![screenshot_2023-12-14_at_11 38 11](https://github.com/elastic/kibana/assets/32779855/716ef2a9-ae73-4828-98ca-4ff8ea88cfe8) --- .../search_index/connector/connector_configuration.tsx | 2 +- .../native_connector_configuration.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx index 6a5f9a17e5e3d..93566c21fe999 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx @@ -319,7 +319,7 @@ export const ConnectorConfiguration: React.FC = () => { title: i18n.translate( 'xpack.enterpriseSearch.content.indices.configurationConnector.steps.schedule.title', { - defaultMessage: 'Advanced configuration', + defaultMessage: 'Sync your data', } ), titleSize: 'xs', diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/native_connector_configuration/native_connector_configuration.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/native_connector_configuration/native_connector_configuration.tsx index df4155cb28d65..252a135f44a55 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/native_connector_configuration/native_connector_configuration.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/native_connector_configuration/native_connector_configuration.tsx @@ -174,7 +174,7 @@ export const NativeConnectorConfiguration: React.FC = () => { title: i18n.translate( 'xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.steps.advancedConfigurationTitle', { - defaultMessage: 'Advanced configuration', + defaultMessage: 'Sync your data', } ), titleSize: 'xs', From e88d044c51be40b313c5d65f892b7273771643de Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 14 Dec 2023 08:49:41 -0600 Subject: [PATCH 052/123] [Security Solution] remove alert status UI from alerts details flyout (#172888) --- .../right/components/about_section.tsx | 2 - .../right/components/alert_status.test.tsx | 72 ------------------- .../right/components/alert_status.tsx | 60 ---------------- .../right/components/test_ids.ts | 4 -- .../alert_details_right_panel.cy.ts | 45 ++---------- .../alert_details_right_panel_overview_tab.ts | 6 -- 6 files changed, 5 insertions(+), 184 deletions(-) delete mode 100644 x-pack/plugins/security_solution/public/flyout/document_details/right/components/alert_status.test.tsx delete mode 100644 x-pack/plugins/security_solution/public/flyout/document_details/right/components/alert_status.tsx diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/about_section.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/about_section.tsx index b5849ce5f9350..1752ff91c3f03 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/about_section.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/about_section.tsx @@ -14,7 +14,6 @@ import { ABOUT_SECTION_TEST_ID } from './test_ids'; import { Description } from './description'; import { Reason } from './reason'; import { MitreAttack } from './mitre_attack'; -import { AlertStatus } from './alert_status'; export interface AboutSectionProps { /** @@ -42,7 +41,6 @@ export const AboutSection: VFC = ({ expanded = true }) => { - ); }; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/alert_status.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/alert_status.test.tsx deleted file mode 100644 index 31d9d686c4bd0..0000000000000 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/alert_status.test.tsx +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; -import { act, render } from '@testing-library/react'; -import { AlertStatus } from './alert_status'; -import { RightPanelContext } from '../context'; -import { WORKFLOW_STATUS_DETAILS_TEST_ID, WORKFLOW_STATUS_TITLE_TEST_ID } from './test_ids'; -import { mockSearchHit } from '../../shared/mocks/mock_search_hit'; -import { TestProviders } from '../../../../common/mock'; -import { useBulkGetUserProfiles } from '../../../../common/components/user_profiles/use_bulk_get_user_profiles'; - -jest.mock('../../../../common/components/user_profiles/use_bulk_get_user_profiles'); - -const renderAlertStatus = (contextValue: RightPanelContext) => - render( - - - - - - ); - -const mockUserProfiles = [ - { uid: 'user-id-1', enabled: true, user: { username: 'user1', full_name: 'User 1' }, data: {} }, -]; - -describe('', () => { - beforeEach(() => { - jest.clearAllMocks(); - }); - it('should render alert status history information', async () => { - (useBulkGetUserProfiles as jest.Mock).mockReturnValue({ - isLoading: false, - data: mockUserProfiles, - }); - const contextValue = { - searchHit: { - ...mockSearchHit, - fields: { - 'kibana.alert.workflow_user': 'user-id-1', - 'kibana.alert.workflow_status_updated_at': '2023-11-01T22:33:26.893Z', - }, - }, - } as unknown as RightPanelContext; - - const { getByTestId } = renderAlertStatus(contextValue); - - await act(async () => { - expect(getByTestId(WORKFLOW_STATUS_TITLE_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(WORKFLOW_STATUS_DETAILS_TEST_ID)).toBeInTheDocument(); - }); - }); - - it('should render empty component if missing workflow_user value', async () => { - const contextValue = { - searchHit: { - some_field: 'some_value', - }, - } as unknown as RightPanelContext; - - const { container } = renderAlertStatus(contextValue); - - await act(async () => { - expect(container).toBeEmptyDOMElement(); - }); - }); -}); diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/alert_status.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/alert_status.tsx deleted file mode 100644 index 07ce258b7dd7c..0000000000000 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/alert_status.tsx +++ /dev/null @@ -1,60 +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 { EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiTitle } from '@elastic/eui'; -import { getUserDisplayName } from '@kbn/user-profile-components'; -import { FormattedMessage } from '@kbn/i18n-react'; -import type { FC } from 'react'; -import React from 'react'; -import { WORKFLOW_STATUS_DETAILS_TEST_ID, WORKFLOW_STATUS_TITLE_TEST_ID } from './test_ids'; -import { useRightPanelContext } from '../context'; -import { useBulkGetUserProfiles } from '../../../../common/components/user_profiles/use_bulk_get_user_profiles'; -import { PreferenceFormattedDate } from '../../../../common/components/formatted_date'; - -/** - * Displays info about who last updated the alert's workflow status and when. - */ -export const AlertStatus: FC = () => { - const { searchHit } = useRightPanelContext(); - const statusUpdatedBy = searchHit.fields?.['kibana.alert.workflow_user'] as string; - const statusUpdatedAt = searchHit.fields?.['kibana.alert.workflow_status_updated_at']; - - const result = useBulkGetUserProfiles({ uids: new Set(statusUpdatedBy) }); - const user = result.data?.[0]?.user; - - if (!statusUpdatedBy || !statusUpdatedAt || result.isLoading || user == null) { - return null; - } - - return ( - - - - -
- -
-
-
- - , - }} - /> - -
- ); -}; - -AlertStatus.displayName = 'AlertStatus'; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/test_ids.ts b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/test_ids.ts index fd9c15b2c079c..5b176a34014ab 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/test_ids.ts +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/test_ids.ts @@ -43,10 +43,6 @@ const MITRE_ATTACK_TEST_ID = `${PREFIX}MitreAttack` as const; export const MITRE_ATTACK_TITLE_TEST_ID = `${MITRE_ATTACK_TEST_ID}Title` as const; export const MITRE_ATTACK_DETAILS_TEST_ID = `${MITRE_ATTACK_TEST_ID}Details` as const; -export const WORKFLOW_STATUS_TEST_ID = `${PREFIX}WorkflowStatus` as const; -export const WORKFLOW_STATUS_TITLE_TEST_ID = `${WORKFLOW_STATUS_TEST_ID}Title` as const; -export const WORKFLOW_STATUS_DETAILS_TEST_ID = `${WORKFLOW_STATUS_TEST_ID}Details` as const; - /* Investigation section */ export const INVESTIGATION_SECTION_TEST_ID = `${PREFIX}InvestigationSection` as const; diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts index 0d28bcf7c42b3..aaa8806362d06 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts @@ -12,7 +12,7 @@ import { VIEW_CASE_TOASTER_LINK, } from '../../../../screens/expandable_flyout/common'; import { expandFirstAlertExpandableFlyout } from '../../../../tasks/expandable_flyout/common'; -import { ALERT_CHECKBOX } from '../../../../screens/alerts'; +import { ALERT_CHECKBOX, EMPTY_ALERT_TABLE } from '../../../../screens/alerts'; import { DOCUMENT_DETAILS_FLYOUT_COLLAPSE_DETAILS_BUTTON, DOCUMENT_DETAILS_FLYOUT_EXPAND_DETAILS_BUTTON, @@ -59,23 +59,10 @@ import { getNewRule } from '../../../../objects/rule'; import { ALERTS_URL } from '../../../../urls/navigation'; import { waitForAlertsToPopulate } from '../../../../tasks/create_new_rule'; import { TOASTER } from '../../../../screens/alerts_detection_rules'; -import { goToAcknowledgedAlerts, goToClosedAlerts, waitForAlerts } from '../../../../tasks/alerts'; -import { - DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_WORKFLOW_STATUS_DETAILS, - DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_WORKFLOW_STATUS_TITLE, -} from '../../../../screens/expandable_flyout/alert_details_right_panel_overview_tab'; describe('Alert details expandable flyout right panel', { tags: ['@ess', '@serverless'] }, () => { const rule = getNewRule(); - before(() => { - cy.task('esArchiverLoad', { archiveName: 'auditbeat_multiple' }); - }); - - after(() => { - cy.task('esArchiverUnload', 'auditbeat_multiple'); - }); - beforeEach(() => { deleteAlertsAndRules(); login(); @@ -162,45 +149,23 @@ describe('Alert details expandable flyout right panel', { tags: ['@ess', '@serve }); it('should mark as acknowledged', () => { - cy.get(ALERT_CHECKBOX).should('have.length', 5); + cy.get(ALERT_CHECKBOX).should('have.length', 1); expandFirstAlertExpandableFlyout(); openTakeActionButtonAndSelectItem(DOCUMENT_DETAILS_FLYOUT_FOOTER_ADD_MARK_AS_ACKNOWLEDGED); cy.get(TOASTER).should('have.text', 'Successfully marked 1 alert as acknowledged.'); - - goToAcknowledgedAlerts(); - waitForAlerts(); - expandFirstAlertExpandableFlyout(); - cy.get(DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_WORKFLOW_STATUS_TITLE).should( - 'have.text', - 'Last alert status change' - ); - cy.get(DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_WORKFLOW_STATUS_DETAILS).should( - 'contain.text', - 'Alert status updated' - ); + cy.get(EMPTY_ALERT_TABLE).should('exist'); }); it('should mark as closed', () => { - cy.get(ALERT_CHECKBOX).should('have.length', 5); + cy.get(ALERT_CHECKBOX).should('have.length', 1); expandFirstAlertExpandableFlyout(); openTakeActionButtonAndSelectItem(DOCUMENT_DETAILS_FLYOUT_FOOTER_MARK_AS_CLOSED); cy.get(TOASTER).should('have.text', 'Successfully closed 1 alert.'); - - goToClosedAlerts(); - waitForAlerts(); - expandFirstAlertExpandableFlyout(); - cy.get(DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_WORKFLOW_STATUS_TITLE).should( - 'have.text', - 'Last alert status change' - ); - cy.get(DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_WORKFLOW_STATUS_DETAILS).should( - 'contain.text', - 'Alert status updated' - ); + cy.get(EMPTY_ALERT_TABLE).should('exist'); }); // these actions are now grouped together as we're not really testing their functionality but just the existence of the option in the dropdown diff --git a/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_right_panel_overview_tab.ts b/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_right_panel_overview_tab.ts index e416eae01a186..e7095ac71b236 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_right_panel_overview_tab.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_right_panel_overview_tab.ts @@ -40,8 +40,6 @@ import { ANALYZER_PREVIEW_TEST_ID, SESSION_PREVIEW_TEST_ID, RESPONSE_BUTTON_TEST_ID, - WORKFLOW_STATUS_TITLE_TEST_ID, - WORKFLOW_STATUS_DETAILS_TEST_ID, } from '@kbn/security-solution-plugin/public/flyout/document_details/right/components/test_ids'; import { getDataTestSubjectSelector } from '../../helpers/common'; @@ -69,10 +67,6 @@ export const DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_MITRE_ATTACK_TITLE = getDataTe export const DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_MITRE_ATTACK_DETAILS = getDataTestSubjectSelector( MITRE_ATTACK_DETAILS_TEST_ID ); -export const DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_WORKFLOW_STATUS_TITLE = - getDataTestSubjectSelector(WORKFLOW_STATUS_TITLE_TEST_ID); -export const DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_WORKFLOW_STATUS_DETAILS = - getDataTestSubjectSelector(WORKFLOW_STATUS_DETAILS_TEST_ID); /* Investigation section */ From 1555f16f703819cdf2fd89042c66616e8eba0b99 Mon Sep 17 00:00:00 2001 From: Shahzad Date: Thu, 14 Dec 2023 15:50:17 +0100 Subject: [PATCH 053/123] [SLos] Slo burn rules accounts for max alert limit (#173379) --- .../server/lib/rules/slo_burn_rate/executor.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts b/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts index 5c7c7c323a300..ddcd3b244dbb6 100644 --- a/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts +++ b/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts @@ -95,6 +95,10 @@ export const getRuleExecutor = ({ const results = await evaluate(esClient.asCurrentUser, slo, params, new Date(dateEnd)); if (results.length > 0) { + const alertLimit = alertFactory.alertLimit.getValue(); + let hasReachedLimit = false; + let scheduledActionsCount = 0; + for (const result of results) { const { instanceId, @@ -113,6 +117,11 @@ export const getRuleExecutor = ({ `/app/observability/slos/${slo.id}${urlQuery}` ); if (shouldAlert) { + if (scheduledActionsCount >= alertLimit) { + // need to set this so that warning is displayed in the UI and in the logs + hasReachedLimit = true; + break; // once limit is reached, we break out of the loop and don't schedule any more alerts + } const reason = buildReason( instanceId, windowDef.actionGroup, @@ -160,6 +169,7 @@ export const getRuleExecutor = ({ alert.scheduleActions(windowDef.actionGroup, context); alert.replaceState({ alertState: AlertStates.ALERT }); + scheduledActionsCount++; } } @@ -195,6 +205,7 @@ export const getRuleExecutor = ({ recoveredAlert.setContext(context); } + alertFactory.alertLimit.setLimitReached(hasReachedLimit); } return { state: {} }; From 253d71604d56333fefce5aed37d9e692aab96810 Mon Sep 17 00:00:00 2001 From: christineweng <18648970+christineweng@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:56:55 -0600 Subject: [PATCH 054/123] [Security Solution] Enable expandable flyout in rule creation workflow (#173326) ## Summary This PR enables new expandable flyout in rule creation -> preview alerts. --- .../plugins/security_solution/common/experimental_features.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/common/experimental_features.ts b/x-pack/plugins/security_solution/common/experimental_features.ts index 328cdf3a35219..a9f3affba56d7 100644 --- a/x-pack/plugins/security_solution/common/experimental_features.ts +++ b/x-pack/plugins/security_solution/common/experimental_features.ts @@ -82,7 +82,7 @@ export const allowedExperimentalValues = Object.freeze({ /** * Enables expandable flyout in create rule page, alert preview */ - expandableFlyoutInCreateRuleEnabled: false, + expandableFlyoutInCreateRuleEnabled: true, /* * Enables new Set of filters on the Alerts page. * From a0e0c4a860bcc875192aa9c09cc732268d2b8c36 Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Thu, 14 Dec 2023 10:44:20 -0500 Subject: [PATCH 055/123] [Fleet] Fix displaying prerelease labels correctly in the installed integration tab (#173319) --- .../integration_preference.stories.tsx | 2 +- .../epm/components/integration_preference.tsx | 75 +++++++++---------- .../epm/screens/home/available_packages.tsx | 19 ++--- .../epm/screens/home/card_utils.test.tsx | 69 ++++++++++++++++- .../sections/epm/screens/home/card_utils.tsx | 7 +- .../home/hooks/use_available_packages.tsx | 13 ++-- .../sections/epm/screens/home/index.tsx | 31 ++++++-- .../fleet/public/hooks/use_request/epm.ts | 24 +++--- .../public/hooks/use_request/settings.ts | 32 +++++--- 9 files changed, 183 insertions(+), 89 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/integration_preference.stories.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/integration_preference.stories.tsx index ebc18d84487db..b0655a78fd1e1 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/integration_preference.stories.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/integration_preference.stories.tsx @@ -36,7 +36,7 @@ export const IntegrationPreference = () => { {}} + prereleaseIntegrationsEnabled={false} /> ); }; diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/integration_preference.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/integration_preference.tsx index 71f0370d13832..9f1d716f6f396 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/integration_preference.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/integration_preference.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useCallback, useEffect } from 'react'; +import React, { useCallback } from 'react'; import styled from 'styled-components'; import { i18n } from '@kbn/i18n'; @@ -23,7 +23,7 @@ import { EuiSwitch, } from '@elastic/eui'; -import { sendPutSettings, useGetSettings, useStartServices } from '../../../hooks'; +import { usePutSettingsMutation, useStartServices } from '../../../hooks'; export type IntegrationPreferenceType = 'recommended' | 'beats' | 'agent'; @@ -35,7 +35,7 @@ interface Option { export interface Props { initialType: IntegrationPreferenceType; onChange: (type: IntegrationPreferenceType) => void; - onPrereleaseEnabledChange: (prerelease: boolean) => void; + prereleaseIntegrationsEnabled: boolean; } const recommendedTooltip = ( @@ -86,42 +86,39 @@ const options: Option[] = [ export const IntegrationPreference = ({ initialType, onChange, - onPrereleaseEnabledChange, + prereleaseIntegrationsEnabled, }: Props) => { const [idSelected, setIdSelected] = React.useState(initialType); - - const { docLinks } = useStartServices(); - - const [prereleaseIntegrationsEnabled, setPrereleaseIntegrationsEnabled] = React.useState< + const [prereleaseIntegrationsChecked, setPrereleaseIntegrationsChecked] = React.useState< boolean | undefined >(undefined); - const { data: settings, error: settingsError } = useGetSettings(); - - useEffect(() => { - const isEnabled = Boolean(settings?.item.prerelease_integrations_enabled); - if (settings?.item) { - setPrereleaseIntegrationsEnabled(isEnabled); - } else if (settingsError) { - setPrereleaseIntegrationsEnabled(false); - } - }, [settings?.item, settingsError]); - - useEffect(() => { - if (prereleaseIntegrationsEnabled !== undefined) { - onPrereleaseEnabledChange(prereleaseIntegrationsEnabled); - } - }, [onPrereleaseEnabledChange, prereleaseIntegrationsEnabled]); - - const updateSettings = useCallback(async (prerelease: boolean) => { - const res = await sendPutSettings({ - prerelease_integrations_enabled: prerelease, - }); - - if (res.error) { - throw res.error; - } - }, []); + const { docLinks, notifications } = useStartServices(); + + const { mutateAsync: mutateSettingsAsync } = usePutSettingsMutation(); + + const updateSettings = useCallback( + async (prerelease: boolean) => { + try { + setPrereleaseIntegrationsChecked(prerelease); + const res = await mutateSettingsAsync({ + prerelease_integrations_enabled: prerelease, + }); + + if (res.error) { + throw res.error; + } + } catch (error) { + setPrereleaseIntegrationsChecked(!prerelease); + notifications.toasts.addError(error, { + title: i18n.translate('xpack.fleet.errorUpdatingSettings', { + defaultMessage: 'Error updating settings', + }), + }); + } + }, + [mutateSettingsAsync, notifications.toasts] + ); const link = ( @@ -153,16 +150,18 @@ export const IntegrationPreference = ({ EventTarget & { checked: boolean } > ) => { - const isChecked = event.target.checked; - setPrereleaseIntegrationsEnabled(isChecked); - updateSettings(isChecked); + updateSettings(event.target.checked); }; return ( diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/available_packages.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/available_packages.tsx index 47ee17dcc601c..8a3abb9fc962c 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/available_packages.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/available_packages.tsx @@ -97,9 +97,9 @@ function OnPremLink() { ); } -export const AvailablePackages: React.FC<{ - setPrereleaseEnabled: (isEnabled: boolean) => void; -}> = ({ setPrereleaseEnabled }) => { +export const AvailablePackages: React.FC<{ prereleaseIntegrationsEnabled: boolean }> = ({ + prereleaseIntegrationsEnabled, +}) => { useBreadcrumbs('integrations_all'); const { @@ -121,11 +121,10 @@ export const AvailablePackages: React.FC<{ setUrlandPushHistory, setUrlandReplaceHistory, filteredCards, - setPrereleaseIntegrationsEnabled, availableSubCategories, selectedSubCategory, setSelectedSubCategory, - } = useAvailablePackages(); + } = useAvailablePackages({ prereleaseIntegrationsEnabled }); const onCategoryChange = useCallback( ({ id }: { id: string }) => { @@ -137,14 +136,6 @@ export const AvailablePackages: React.FC<{ [setCategory, setSearchTerm, setSelectedSubCategory, setUrlandPushHistory] ); - const onPrereleaseEnabledChange = useCallback( - (isEnabled: boolean) => { - setPrereleaseIntegrationsEnabled(isEnabled); - setPrereleaseEnabled(isEnabled); - }, - [setPrereleaseIntegrationsEnabled, setPrereleaseEnabled] - ); - if (!isLoading && !categoryExists(initialSelectedCategory, allCategories)) { setUrlandReplaceHistory({ searchString: searchTerm, categoryId: '', subCategoryId: '' }); return null; @@ -155,8 +146,8 @@ export const AvailablePackages: React.FC<{ , ]; diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.test.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.test.tsx index 327d550df5780..77cfdb3a9102e 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.test.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.test.tsx @@ -9,8 +9,9 @@ import React from 'react'; import { createIntegrationsTestRendererMock } from '../../../../../../mock'; import type { PackageListItem } from '../../../../types'; +import { ExperimentalFeaturesService } from '../../../../services'; -import { getIntegrationLabels } from './card_utils'; +import { getIntegrationLabels, mapToCard } from './card_utils'; function renderIntegrationLabels(item: Partial) { const renderer = createIntegrationsTestRendererMock(); @@ -18,7 +19,73 @@ function renderIntegrationLabels(item: Partial) { return renderer.render(<>{getIntegrationLabels(item as any)}); } +const addBasePath = (s: string) => s; +const getHref = (k: string) => k; + describe('Card utils', () => { + describe('mapToCard', () => { + beforeEach(() => { + ExperimentalFeaturesService.init({}); + }); + + it('should use the installed version if available, without prelease', () => { + const cardItem = mapToCard({ + item: { + id: 'test', + version: '2.0.0-preview-1', + installationInfo: { + version: '1.0.0', + }, + }, + addBasePath, + getHref, + } as any); + + expect(cardItem).toMatchObject({ + release: 'ga', + version: '1.0.0', + isUpdateAvailable: true, + extraLabelsBadges: undefined, + }); + }); + + it('should use the installed version if available, with prelease ', () => { + const cardItem = mapToCard({ + item: { + id: 'test', + version: '2.0.0', + installationInfo: { + version: '1.0.0-preview-1', + }, + }, + addBasePath, + getHref, + } as any); + + expect(cardItem).toMatchObject({ + release: 'preview', + version: '1.0.0-preview-1', + isUpdateAvailable: true, + }); + }); + + it('should use the registry version if no installation is available ', () => { + const cardItem = mapToCard({ + item: { + id: 'test', + version: '2.0.0-preview-1', + }, + addBasePath, + getHref, + } as any); + + expect(cardItem).toMatchObject({ + release: 'preview', + version: '2.0.0-preview-1', + isUpdateAvailable: false, + }); + }); + }); describe('getIntegrationLabels', () => { it('should return an empty list for an integration without errors', () => { const res = renderIntegrationLabels({ diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.tsx index 910b872bf5ceb..1caea49e2096e 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.tsx @@ -75,7 +75,7 @@ export const mapToCard = ({ let isUnverified = false; - const version = 'version' in item ? item.version || '' : ''; + let version = 'version' in item ? item.version || '' : ''; let isUpdateAvailable = false; let isReauthorizationRequired = false; @@ -84,9 +84,8 @@ export const mapToCard = ({ ? addBasePath(item.uiInternalPath) : item.uiExternalLink || getAbsolutePath(item.uiInternalPath); } else { - let urlVersion = item.version; if (item?.installationInfo?.version) { - urlVersion = item.installationInfo.version || item.version; + version = item.installationInfo.version || item.version; isUnverified = isPackageUnverified(item, packageVerificationKeyId); isUpdateAvailable = isPackageUpdatable(item); @@ -94,7 +93,7 @@ export const mapToCard = ({ } const url = getHref('integration_details_overview', { - pkgkey: `${item.name}-${urlVersion}`, + pkgkey: `${item.name}-${version}`, ...(item.integration ? { integration: item.integration } : {}), }); diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/hooks/use_available_packages.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/hooks/use_available_packages.tsx index ca66f0c2020d0..9aa242f8575b3 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/hooks/use_available_packages.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/hooks/use_available_packages.tsx @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import React, { useState, useMemo } from 'react'; +import { useState, useMemo } from 'react'; import { uniq } from 'lodash'; @@ -103,11 +103,13 @@ const packageListToIntegrationsList = (packages: PackageList): PackageList => { }, []); }; -export const useAvailablePackages = () => { +export const useAvailablePackages = ({ + prereleaseIntegrationsEnabled, +}: { + prereleaseIntegrationsEnabled: boolean; +}) => { const [preference, setPreference] = useState('recommended'); - const [prereleaseIntegrationsEnabled, setPrereleaseIntegrationsEnabled] = React.useState< - boolean | undefined - >(undefined); + const { showIntegrationsSubcategories } = ExperimentalFeaturesService.get(); const { @@ -245,6 +247,5 @@ export const useAvailablePackages = () => { eprPackageLoadingError, eprCategoryLoadingError, filteredCards, - setPrereleaseIntegrationsEnabled, }; }; diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/index.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/index.tsx index 81dec69d0d911..72e2d57412d41 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/index.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/index.tsx @@ -5,8 +5,9 @@ * 2.0. */ -import React, { useState, useMemo } from 'react'; +import React, { useMemo } from 'react'; import { Routes, Route } from '@kbn/shared-ux-router'; +import { EuiLoadingSpinner } from '@elastic/eui'; import { installationStatuses } from '../../../../../../../common/constants'; @@ -14,7 +15,7 @@ import { INTEGRATIONS_ROUTING_PATHS, INTEGRATIONS_SEARCH_QUERYPARAM } from '../. import { DefaultLayout } from '../../../../layouts'; import { isPackageUpdatable } from '../../../../services'; -import { useGetPackagesQuery } from '../../../../hooks'; +import { useAuthz, useGetPackagesQuery, useGetSettingsQuery } from '../../../../hooks'; import type { CategoryFacet, ExtendedIntegrationCategory } from './category_facets'; @@ -41,12 +42,23 @@ export const categoryExists = (category: string, categories: CategoryFacet[]) => }; export const EPMHomePage: React.FC = () => { - const [prereleaseEnabled, setPrereleaseEnabled] = useState(false); + const authz = useAuthz(); + const isAuthorizedToFetchSettings = authz.fleet.all; + const { data: settings, isFetchedAfterMount: isSettingsFetched } = useGetSettingsQuery({ + enabled: isAuthorizedToFetchSettings, + }); + const prereleaseIntegrationsEnabled = settings?.item.prerelease_integrations_enabled ?? false; + const shouldFetchPackages = !isAuthorizedToFetchSettings || isSettingsFetched; // loading packages to find installed ones - const { data: allPackages, isLoading } = useGetPackagesQuery({ - prerelease: prereleaseEnabled, - }); + const { data: allPackages, isLoading } = useGetPackagesQuery( + { + prerelease: prereleaseIntegrationsEnabled, + }, + { + enabled: shouldFetchPackages, + } + ); const installedPackages = useMemo( () => @@ -76,6 +88,11 @@ export const EPMHomePage: React.FC = () => { const notificationsBySection = { manage: unverifiedPackageCount + upgradeablePackageCount, }; + + if (!shouldFetchPackages) { + return ; + } + return ( @@ -85,7 +102,7 @@ export const EPMHomePage: React.FC = () => { - + diff --git a/x-pack/plugins/fleet/public/hooks/use_request/epm.ts b/x-pack/plugins/fleet/public/hooks/use_request/epm.ts index a09e975d57e16..03bf36da75763 100644 --- a/x-pack/plugins/fleet/public/hooks/use_request/epm.ts +++ b/x-pack/plugins/fleet/public/hooks/use_request/epm.ts @@ -82,15 +82,21 @@ export const useGetPackages = (query: GetPackagesRequest['query'] = {}) => { }); }; -export const useGetPackagesQuery = (query: GetPackagesRequest['query']) => { - return useQuery(['get-packages', query], () => - sendRequestForRq({ - path: epmRouteService.getListPath(), - method: 'get', - version: API_VERSIONS.public.v1, - query, - }) - ); +export const useGetPackagesQuery = ( + query: GetPackagesRequest['query'], + options?: { enabled?: boolean } +) => { + return useQuery({ + queryKey: ['get-packages', query], + queryFn: () => + sendRequestForRq({ + path: epmRouteService.getListPath(), + method: 'get', + version: API_VERSIONS.public.v1, + query, + }), + enabled: options?.enabled, + }); }; export const sendGetPackages = (query: GetPackagesRequest['query'] = {}) => { diff --git a/x-pack/plugins/fleet/public/hooks/use_request/settings.ts b/x-pack/plugins/fleet/public/hooks/use_request/settings.ts index d074644a9d26a..7cb6415df1923 100644 --- a/x-pack/plugins/fleet/public/hooks/use_request/settings.ts +++ b/x-pack/plugins/fleet/public/hooks/use_request/settings.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { useQuery } from '@tanstack/react-query'; +import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import { settingsRoutesService } from '../../services'; import type { PutSettingsResponse, PutSettingsRequest, GetSettingsResponse } from '../../types'; @@ -15,14 +15,17 @@ import { API_VERSIONS } from '../../../common/constants'; import type { RequestError } from './use_request'; import { sendRequest, sendRequestForRq, useRequest } from './use_request'; -export function useGetSettingsQuery() { - return useQuery(['settings'], () => - sendRequestForRq({ - method: 'get', - path: settingsRoutesService.getInfoPath(), - version: API_VERSIONS.public.v1, - }) - ); +export function useGetSettingsQuery(options?: { enabled?: boolean }) { + return useQuery({ + queryKey: ['settings'], + enabled: options?.enabled, + queryFn: () => + sendRequestForRq({ + method: 'get', + path: settingsRoutesService.getInfoPath(), + version: API_VERSIONS.public.v1, + }), + }); } export function useGetSettings() { @@ -41,6 +44,17 @@ export function sendGetSettings() { }); } +export function usePutSettingsMutation() { + const queryClient = useQueryClient(); + + return useMutation({ + mutationFn: sendPutSettings, + onSuccess: () => { + queryClient.invalidateQueries(['settings']); + }, + }); +} + export function sendPutSettings(body: PutSettingsRequest['body']) { return sendRequest({ method: 'put', From c7fabda4c59789facbbc6127589e66d162148669 Mon Sep 17 00:00:00 2001 From: David Kilfoyle <41695641+kilfoyle@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:01:26 -0500 Subject: [PATCH 056/123] [DOCS] Add 'secrets' to Fleet settings page (#172637) This updates the list of available Fleet settings in the Kibana docs, as follows: - Moves the `config` and `proxy_id` settings from the Required to the Optional section of `xpack.fleet.outputs`. CC @nchaulet since the settings were added to the docs via https://github.com/elastic/kibana/pull/158771). [See orange highlight] - Adds the `ssl` setting with the `certificate` property (this setting is already available but doesn't appear to have been documented). [See red highlight] - Adds the new `secrets` setting, with SSL `key` as a property. [See blue highlight] - Adds an example output configuration. [See green highlight] Rel: https://github.com/elastic/ingest-docs/issues/692 See [docs preview](https://kibana_172637.docs-preview.app.elstc.co/guide/en/kibana/master/fleet-settings-kb.html) --- ![Screenshot 2023-12-05 at 4 22 42 PM](https://github.com/elastic/kibana/assets/41695641/a547bad7-57aa-4470-8328-30b80f257973) --- docs/settings/fleet-settings.asciidoc | 52 +++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/docs/settings/fleet-settings.asciidoc b/docs/settings/fleet-settings.asciidoc index d3cad6b4dfdbc..a85c4b67063e6 100644 --- a/docs/settings/fleet-settings.asciidoc +++ b/docs/settings/fleet-settings.asciidoc @@ -13,7 +13,10 @@ In {ecloud}, {fleet} flags are already configured. You can configure `xpack.fleet` settings in your `kibana.yml`. By default, {fleet} is enabled. To use {fleet}, you also need to configure {kib} and {es} hosts. -See the {fleet-guide}/index.html[{fleet}] docs for more information. +Many {fleet} settings can also be configured directly through the {fleet} UI. +See {fleet-guide}/fleet-settings.html[Fleet UI settings] for details. + +See the {fleet-guide}/index.html[{fleet}] docs for more information about {fleet}. [[general-fleet-settings-kb]] ==== General {fleet} settings @@ -174,6 +177,8 @@ xpack.fleet.agentPolicies: `xpack.fleet.outputs`:: List of outputs that are configured when the {fleet} app starts. + +Certain types of outputs have additional required and optional settings. Refer to {fleet-guide}/fleet-settings.html#output-settings[Output settings] in the {fleet} and {agent} Guide for the full list of settings for each output type. ++ If configured in your `kibana.yml`, output settings are grayed out and unavailable in the {fleet} UI. To make these settings editable in the UI, do not configure them in the configuration file. @@ -188,13 +193,9 @@ NOTE: The `xpack.fleet.outputs` settings are intended for advanced configuration `name`::: Output name. `type`::: - Type of Output. Currently we support "elasticsearch", "logstash", "kafka". + Type of Output. Currently we support "elasticsearch", "logstash", "kafka", and "remote_elasticsearch". `hosts`::: Array that contains the list of host for that output. - `config`::: - Extra config for that output. - `proxy_id`::: - Unique ID of a proxy to access the output. ===== + .Optional properties of `xpack.fleet.outputs` @@ -204,7 +205,46 @@ NOTE: The `xpack.fleet.outputs` settings are intended for advanced configuration If `true`, the output specified in `xpack.fleet.outputs` will be the one used to send agent data unless there is another one configured specifically for the agent policy. `is_default_monitoring`::: If `true`, the output specified in `xpack.fleet.outputs` will be the one used to send agent monitoring data unless there is another one configured specifically for the agent policy. + `config`::: + Extra config for that output. + `proxy_id`::: + Unique ID of a proxy to access the output. + `ssl`::: + Set to enable authentication using the Secure Sockets Layer (SSL) protocol. ++ +.Properties of `ssl` +[%collapsible%open] +======= + `certificate`:::: + The SSL certificate that {agents} use to authenticate with the output. Include the full contents of the certificate here. +======= + + `secrets`::: + Include here any values for preconfigured outputs that should be stored as secrets. A secret value is replaced in the `kibana.yml` settings file with a reference, with the original value stored externally as a secure hash. Note that this type of secret storage requires all configured {fleet-server}s to be on version 8.12.0 or later. ++ +.Properties of `secrets` +[%collapsible%open] +======= + `key`::::: + The private certificate key that {agents} use to authenticate with the output. +======= ===== ++ +Example `xpack.fleet.outputs` configuration: ++ +[source,yaml] +---- +xpack.fleet.outputs: + - id: my-logstash-output-with-a-secret + name: preconfigured logstash output with a secret + type: logstash + hosts: ["localhost:9999"] + ssl: + certificate: xxxxxxxxxx + secrets: + ssl: + key: securekey +---- `xpack.fleet.fleetServerHosts`:: List of {fleet-server} hosts that are configured when the {fleet} app starts. From 5067645daa99140032350d9bb6f6345e2ab09eb2 Mon Sep 17 00:00:00 2001 From: Sander Philipse <94373878+sphilipse@users.noreply.github.com> Date: Thu, 14 Dec 2023 17:10:31 +0100 Subject: [PATCH 057/123] [Search] Fix issues with search hub and header (#173265) ## Summary This fixes a number of issues with the Search Hub and header actions. - Header actions show on all Search pages - Header adopts Kibana theme - Header button icon takes parent color - Header text corrected - Search labs banner image takes parent color - CloudID is hidden if not defined --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../components/cloud_details.tsx | 11 +- .../curations/curation/curation.tsx | 2 +- .../layout/kibana_header_actions.tsx | 11 +- .../public/applications/app_search/index.tsx | 20 +- .../components/layout/page_template.tsx | 14 +- .../search_application/header_docs_action.tsx | 37 ++- .../search_application_view.tsx | 14 +- .../product_selector/icons/connector.tsx | 34 ++ .../product_selector/icons/crawler.tsx | 27 ++ .../product_selector/ingestion_selector.tsx | 9 +- .../product_selector/welcome_banner.tsx | 2 +- .../public/applications/index.test.tsx | 28 +- .../public/applications/index.tsx | 18 +- .../shared/api_key/api_key_panel.tsx | 73 +++-- .../shared/layout/endpoint_icon.tsx | 30 ++ .../shared/layout/endpoints_header_action.tsx | 300 +++++++++--------- .../shared/layout/page_template.tsx | 7 +- .../search_labs_banner/search_labs_banner.tsx | 18 +- .../search_labs_banner/search_labs_logo.tsx | 39 +++ .../layout/kibana_header_actions.tsx | 7 +- .../views/overview/gated_form_page.tsx | 5 +- .../public/assets/images/search_labs_logo.svg | 20 -- .../plugins/enterprise_search/tsconfig.json | 1 + 23 files changed, 447 insertions(+), 280 deletions(-) create mode 100644 x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/icons/connector.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/icons/crawler.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/shared/layout/endpoint_icon.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/shared/search_labs_banner/search_labs_logo.tsx delete mode 100644 x-pack/plugins/enterprise_search/public/assets/images/search_labs_logo.svg diff --git a/packages/kbn-search-api-panels/components/cloud_details.tsx b/packages/kbn-search-api-panels/components/cloud_details.tsx index 2354ca4b345f2..25e7e660ee356 100644 --- a/packages/kbn-search-api-panels/components/cloud_details.tsx +++ b/packages/kbn-search-api-panels/components/cloud_details.tsx @@ -22,6 +22,7 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; +import { css } from '@emotion/react'; import { OverviewPanel } from '..'; import { ELASTICSEARCH_URL_PLACEHOLDER } from '../constants'; @@ -49,7 +50,15 @@ export const CloudDetailsPanel = ({ const panelContent = ( - + {selectedDetail === CloudDetail.CloudId && cloudId} {selectedDetail === CloudDetail.ElasticsearchEndpoint && elasticsearchUrl} diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx index 47718a3266e35..1c49c077e7a6a 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation.tsx @@ -26,7 +26,7 @@ export const Curation: React.FC = () => { }, [curationId]); if (dataLoading) { - return ; + return ; } return isAutomated ? : ; }; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/layout/kibana_header_actions.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/layout/kibana_header_actions.tsx index e23c8ff8f0f0c..e2756bdda05f2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/layout/kibana_header_actions.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/layout/kibana_header_actions.tsx @@ -9,8 +9,7 @@ import React from 'react'; import { useValues } from 'kea'; -import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; - +import { EndpointsHeaderAction } from '../../../shared/layout/endpoints_header_action'; import { EngineLogic } from '../engine'; import { QueryTesterButton } from '../query_tester'; @@ -18,12 +17,6 @@ export const KibanaHeaderActions: React.FC = () => { const { engineName } = useValues(EngineLogic); return ( - - {engineName && ( - - - - )} - + {Boolean(engineName) && } ); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx index efef9bf1bb398..1c661f1f6d03b 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx @@ -16,6 +16,7 @@ import { isVersionMismatch } from '../../../common/is_version_mismatch'; import { InitialAppData } from '../../../common/types'; import { HttpLogic } from '../shared/http'; import { KibanaLogic } from '../shared/kibana'; +import { EndpointsHeaderAction } from '../shared/layout/endpoints_header_action'; import { VersionMismatchPage } from '../shared/version_mismatch'; import { AppLogic } from './app_logic'; @@ -77,13 +78,18 @@ export const AppSearch: React.FC = (props) => { ); }; -export const AppSearchUnconfigured: React.FC = () => ( - - - - - -); +export const AppSearchUnconfigured: React.FC = () => { + const { renderHeaderActions } = useValues(KibanaLogic); + renderHeaderActions(EndpointsHeaderAction); + + return ( + + + + + + ); +}; export const AppSearchConfigured: React.FC> = (props) => { const { diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/components/layout/page_template.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/layout/page_template.tsx index 54b3450161014..550acf7fa9359 100644 --- a/x-pack/plugins/enterprise_search/public/applications/applications/components/layout/page_template.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/layout/page_template.tsx @@ -5,13 +5,17 @@ * 2.0. */ -import React from 'react'; +import React, { useLayoutEffect } from 'react'; + +import { useValues } from 'kea'; import { ENTERPRISE_SEARCH_CONTENT_PLUGIN } from '../../../../../common/constants'; +import { KibanaLogic } from '../../../shared/kibana'; import { SetEnterpriseSearchApplicationsChrome } from '../../../shared/kibana_chrome'; import { EnterpriseSearchPageTemplateWrapper, PageTemplateProps } from '../../../shared/layout'; import { useEnterpriseSearchApplicationNav } from '../../../shared/layout'; import { SendEnterpriseSearchTelemetry } from '../../../shared/telemetry'; +import { SearchApplicationHeaderDocsAction } from '../search_application/header_docs_action'; export type EnterpriseSearchApplicationsPageTemplateProps = Omit< PageTemplateProps, @@ -36,6 +40,14 @@ export const EnterpriseSearchApplicationsPageTemplate: React.FC< pageTemplateProps.isEmptyState, hasSchemaConflicts ); + const { renderHeaderActions } = useValues(KibanaLogic); + useLayoutEffect(() => { + renderHeaderActions(SearchApplicationHeaderDocsAction); + + return () => { + renderHeaderActions(); + }; + }, []); return ( ( - - - - {i18n.translate( - 'xpack.enterpriseSearch.searchApplications.searchApplication.header.searchApplicationsDoc', - { - defaultMessage: 'Search Applications Doc', - } - )} - - - + + + {i18n.translate( + 'xpack.enterpriseSearch.searchApplications.searchApplication.header.searchApplicationsDoc', + { + defaultMessage: 'Search Applications Doc', + } + )} + + ); diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_view.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_view.tsx index 92a99b45be6d5..fef6f95c3b435 100644 --- a/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_view.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_view.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useEffect, useLayoutEffect } from 'react'; +import React, { useEffect } from 'react'; import { useParams, Redirect } from 'react-router-dom'; import { useValues, useActions } from 'kea'; @@ -13,8 +13,6 @@ import { useValues, useActions } from 'kea'; import { Routes, Route } from '@kbn/shared-ux-router'; import { Status } from '../../../../../common/types/api'; - -import { KibanaLogic } from '../../../shared/kibana'; import { SEARCH_APPLICATION_PATH, SEARCH_APPLICATION_CONTENT_PATH, @@ -29,7 +27,6 @@ import { DeleteSearchApplicationModal } from '../search_applications/delete_sear import { SearchApplicationConnect } from './connect/search_application_connect'; import { SearchApplicationDocsExplorer } from './docs_explorer/docs_explorer'; -import { SearchApplicationHeaderDocsAction } from './header_docs_action'; import { SearchApplicationContent } from './search_application_content'; import { SearchApplicationError } from './search_application_error'; import { SearchApplicationViewLogic } from './search_application_view_logic'; @@ -48,15 +45,6 @@ export const SearchApplicationView: React.FC = () => { const { tabId = SearchApplicationViewTabs.DOCS_EXPLORER } = useParams<{ tabId?: string; }>(); - const { renderHeaderActions } = useValues(KibanaLogic); - - useLayoutEffect(() => { - renderHeaderActions(SearchApplicationHeaderDocsAction); - - return () => { - renderHeaderActions(); - }; - }, []); useEffect(() => { fetchSearchApplication({ name: searchApplicationName }); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/icons/connector.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/icons/connector.tsx new file mode 100644 index 0000000000000..612a759b46c17 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/icons/connector.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 React from 'react'; + +export const ConnectorIcon = () => { + return ( + + + + + + + + + + + + ); +}; diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/icons/crawler.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/icons/crawler.tsx new file mode 100644 index 0000000000000..73b38816e8a54 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/icons/crawler.tsx @@ -0,0 +1,27 @@ +/* + * 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'; + +export const CrawlerIcon = () => { + return ( + + + + + ); +}; diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/ingestion_selector.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/ingestion_selector.tsx index 49a5d068b437c..d2f2173a2d9a3 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/ingestion_selector.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/ingestion_selector.tsx @@ -31,8 +31,6 @@ import { } from '../../../../../common/constants'; import apiLogo from '../../../../assets/images/api_cloud.svg'; -import connectorIcon from '../../../../assets/images/connector.svg'; -import crawlerIcon from '../../../../assets/images/crawler.svg'; import fileUploadLogo from '../../../../assets/images/file_upload_logo.svg'; import sampleDataLogo from '../../../../assets/images/sample_data_logo.svg'; import connectorLogo from '../../../../assets/images/search_connector.svg'; @@ -48,6 +46,9 @@ import { HttpLogic } from '../../../shared/http/http_logic'; import { KibanaLogic } from '../../../shared/kibana'; import { EuiLinkTo } from '../../../shared/react_router_helpers'; +import { ConnectorIcon } from './icons/connector'; +import { CrawlerIcon } from './icons/crawler'; + export const IngestionSelector: React.FC = () => { const { application: { navigateToApp }, @@ -91,7 +92,7 @@ export const IngestionSelector: React.FC = () => { defaultMessage: 'Crawl URL', } )} - buttonIcon={crawlerIcon} + buttonIcon={CrawlerIcon} description={i18n.translate( 'xpack.enterpriseSearch.ingestSelector.method.crawler.description', { @@ -119,7 +120,7 @@ export const IngestionSelector: React.FC = () => { defaultMessage: 'Create a connector', } )} - buttonIcon={connectorIcon} + buttonIcon={ConnectorIcon} description={i18n.translate( 'xpack.enterpriseSearch.ingestSelector.method.connectors.description', { diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/welcome_banner.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/welcome_banner.tsx index effeae6757dc6..1f7b5f8652a33 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/welcome_banner.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/welcome_banner.tsx @@ -37,7 +37,7 @@ export const WelcomeBanner: React.FC = ({ user, image }) => {i18n.translate('xpack.enterpriseSearch.welcomeBanner.header.titleDescription', { defaultMessage: - 'There are endless ways to ingest and explore data with Elasticsearch, but here are a few of the most popular', + 'There are endless ways to ingest and explore data with Elasticsearch, connect to your Elasticsearch instance and start indexing data', })} diff --git a/x-pack/plugins/enterprise_search/public/applications/index.test.tsx b/x-pack/plugins/enterprise_search/public/applications/index.test.tsx index bb5e1a35f18a0..d4a21f4cd6c36 100644 --- a/x-pack/plugins/enterprise_search/public/applications/index.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/index.test.tsx @@ -10,10 +10,14 @@ import React from 'react'; import { act } from '@testing-library/react'; import { getContext } from 'kea'; +import { Observable } from 'rxjs'; + import { chartPluginMock } from '@kbn/charts-plugin/public/mocks'; import { coreMock } from '@kbn/core/public/mocks'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { guidedOnboardingMock } from '@kbn/guided-onboarding-plugin/public/mocks'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; import { lensPluginMock } from '@kbn/lens-plugin/public/mocks'; import { licensingMock } from '@kbn/licensing-plugin/public/mocks'; import { mlPluginMock } from '@kbn/ml-plugin/public/mocks'; @@ -53,7 +57,13 @@ describe('renderApp', () => { }); const mockContainer = kibanaDeps.params.element; - const MockApp = () =>
Hello world!
; + const MockApp = () => ( +
+ {i18n.translate('xpack.enterpriseSearch.mockApp.div.helloWorldLabel', { + defaultMessage: 'Hello world', + })} +
+ ); it('mounts and unmounts UI', () => { const unmount = renderApp(MockApp, kibanaDeps, pluginData); @@ -102,12 +112,24 @@ describe('renderApp', () => { describe('renderHeaderActions', () => { const mockHeaderEl = document.createElement('header'); - const MockHeaderActions = () => ; + const MockHeaderActions = () => ( + + ); it('mounts and unmounts any HeaderActions component', () => { const store = getContext().store; - const unmountHeader = renderHeaderActions(MockHeaderActions, store, mockHeaderEl); + const unmountHeader = renderHeaderActions( + MockHeaderActions, + store, + { theme$: new Observable() } as any, + mockHeaderEl + ); expect(mockHeaderEl.querySelector('.hello-world')).not.toBeNull(); unmountHeader(); diff --git a/x-pack/plugins/enterprise_search/public/applications/index.tsx b/x-pack/plugins/enterprise_search/public/applications/index.tsx index 3421da8967ff5..55362dbfa8430 100644 --- a/x-pack/plugins/enterprise_search/public/applications/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/index.tsx @@ -15,7 +15,8 @@ import { Store } from 'redux'; import { AppMountParameters, CoreStart } from '@kbn/core/public'; import { I18nProvider } from '@kbn/i18n-react'; -import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; +import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; +import { KibanaThemeProvider } from '@kbn/react-kibana-context-theme'; import { AuthenticatedUser } from '@kbn/security-plugin/public'; import { Router } from '@kbn/shared-ux-router'; @@ -116,7 +117,7 @@ export const renderApp = ( productFeatures, renderHeaderActions: (HeaderActions) => params.setHeaderActionMenu( - HeaderActions ? renderHeaderActions.bind(null, HeaderActions, store) : undefined + HeaderActions ? renderHeaderActions.bind(null, HeaderActions, store, params) : undefined ), security, setBreadcrumbs: chrome.setBreadcrumbs, @@ -139,7 +140,7 @@ export const renderApp = ( ReactDOM.render( - + @@ -184,12 +185,17 @@ export const renderApp = ( export const renderHeaderActions = ( HeaderActions: React.FC, store: Store, + params: AppMountParameters, kibanaHeaderEl: HTMLElement ) => { ReactDOM.render( - - - , + + + + + + + , kibanaHeaderEl ); return () => ReactDOM.unmountComponentAtNode(kibanaHeaderEl); diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/api_key/api_key_panel.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/api_key/api_key_panel.tsx index ba2c4a86fcb86..c69976f178495 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/api_key/api_key_panel.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/api_key/api_key_panel.tsx @@ -7,6 +7,7 @@ import React, { useEffect, useState } from 'react'; +import { css } from '@emotion/react'; import { useActions, useValues } from 'kea'; import { @@ -80,7 +81,13 @@ export const ApiKeyPanel: React.FC = ({ user }) => { - {elasticsearchEndpoint} + + {elasticsearchEndpoint} + @@ -99,35 +106,45 @@ export const ApiKeyPanel: React.FC = ({ user }) => { - - - {i18n.translate('xpack.enterpriseSearch.apiKey.cloudId', { - defaultMessage: 'Cloud ID:', - })} - - + {Boolean(cloudId) && ( + <> + + + {i18n.translate('xpack.enterpriseSearch.apiKey.cloudId', { + defaultMessage: 'Cloud ID:', + })} + + - - - {cloudId} - - - - {(copy) => ( - + + + {cloudId} + + + + + {(copy) => ( + )} - /> - )} - - - + + + + + )} )} diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/layout/endpoint_icon.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/layout/endpoint_icon.tsx new file mode 100644 index 0000000000000..157fbfd363fa3 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/shared/layout/endpoint_icon.tsx @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +// Remove this file once `endpoint` is available in Kibana +// Coming in EUI 91.1.0 + +export const EndpointIcon = () => { + return ( + + + + + ); +}; diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/layout/endpoints_header_action.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/layout/endpoints_header_action.tsx index 87ffe6d91df25..e46445384ae39 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/layout/endpoints_header_action.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/layout/endpoints_header_action.tsx @@ -26,21 +26,23 @@ import { EuiBadge, EuiHorizontalRule, EuiButton, + EuiHeaderLinks, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { FormattedMessage, I18nProvider } from '@kbn/i18n-react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { ELASTICSEARCH_URL_PLACEHOLDER } from '@kbn/search-api-panels/constants'; import { Status } from '../../../../common/types/api'; -import endpointIcon from '../../../assets/images/endpoint_icon.svg'; import { CreateApiKeyAPILogic } from '../../enterprise_search_overview/api/create_elasticsearch_api_key_logic'; import { FetchApiKeysAPILogic } from '../../enterprise_search_overview/api/fetch_api_keys_logic'; import { CreateApiKeyFlyout } from '../api_key/create_api_key_flyout'; import { KibanaLogic } from '../kibana'; -export const EndpointsHeaderAction: React.FC = () => { +import { EndpointIcon } from './endpoint_icon'; + +export const EndpointsHeaderAction: React.FC = ({ children }) => { const [isPopoverOpen, setPopoverOpen] = useState(false); const { cloud, navigateToUrl } = useValues(KibanaLogic); const { makeRequest } = useActions(FetchApiKeysAPILogic); @@ -61,166 +63,166 @@ export const EndpointsHeaderAction: React.FC = () => { const elasticsearchEndpoint = cloud?.elasticsearchUrl || ELASTICSEARCH_URL_PLACEHOLDER; const button = ( - setPopoverOpen(!isPopoverOpen)} - > + setPopoverOpen(!isPopoverOpen)}> {i18n.translate('xpack.enterpriseSearch.pageTemplate.endpointsButtonLabel', { - defaultMessage: 'Endpoints', + defaultMessage: 'Endpoints & API keys', })} ); return ( - - {isFlyoutOpen && ( - setIsFlyoutOpen(false)} - setApiKey={saveApiKey} - username={user?.full_name || user?.username || ''} - /> - )} - setPopoverOpen(false)} - panelPaddingSize="none" - anchorPosition="downLeft" - > - - - {i18n.translate( - 'xpack.enterpriseSearch.pageTemplate.apiKey.elasticsearchEndpoint', - { - defaultMessage: 'Elasticsearch endpoint:', - } - )} - - - - - - {elasticsearchEndpoint} - - - - {(copy) => ( + + + {Boolean(children) && {children}} + + {isFlyoutOpen && ( + setIsFlyoutOpen(false)} + setApiKey={saveApiKey} + username={user?.full_name || user?.username || ''} + /> + )} + setPopoverOpen(false)} + panelPaddingSize="none" + anchorPosition="downLeft" + > + + + {i18n.translate( + 'xpack.enterpriseSearch.pageTemplate.apiKey.elasticsearchEndpoint', + { + defaultMessage: 'Elasticsearch endpoint:', + } + )} + + + + + + {elasticsearchEndpoint} + + + + {(copy) => ( + + )} + + + + , + ...(Boolean(cloudId) + ? [ + + + {i18n.translate('xpack.enterpriseSearch.apiKey.cloudId', { + defaultMessage: 'Cloud ID:', + })} + + + + + + {cloudId} + + + + {(copy) => ( + + )} + + + + , + ] + : []), + + + + + 0 ? 'success' : 'warning'} + data-test-subj="api-keys-count-badge" + > + {apiKeys.length} + + ), + }} + /> + + + + navigateToUrl('/app/management/security/api_keys', { + shouldNotCreateHref: true, + }) + } /> - )} - - - - , - ...(Boolean(cloudId) - ? [ - + + + , + , + + { + setIsFlyoutOpen(true); + setPopoverOpen(false); + }} + data-test-subj="new-api-key-button" + fullWidth + > - {i18n.translate('xpack.enterpriseSearch.apiKey.cloudId', { - defaultMessage: 'Cloud ID:', + {i18n.translate('xpack.enterpriseSearch.pageTemplate.apiKey.newButtonLabel', { + defaultMessage: 'New API key', })} - - - - - {cloudId} - - - - {(copy) => ( - - )} - - - - , - ] - : []), - - - - - 0 ? 'success' : 'warning'} - data-test-subj="api-keys-count-badge" - > - {apiKeys.length} - - ), - }} - /> - - - - - navigateToUrl('/app/management/security/api_keys', { - shouldNotCreateHref: true, - }) - } - /> - - - , - , - - { - setIsFlyoutOpen(true); - setPopoverOpen(false); - }} - data-test-subj="new-api-key-button" - fullWidth - > - - {i18n.translate('xpack.enterpriseSearch.pageTemplate.apiKey.newButtonLabel', { - defaultMessage: 'New API key', - })} - - - , - ]} - /> - - + + , + ]} + /> + + + + ); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/layout/page_template.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/layout/page_template.tsx index 260b95316b001..2553a12dc17c5 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/layout/page_template.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/layout/page_template.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useEffect } from 'react'; +import React, { useLayoutEffect } from 'react'; import classNames from 'classnames'; import { useValues } from 'kea'; @@ -71,10 +71,13 @@ export const EnterpriseSearchPageTemplateWrapper: React.FC = const navIcon = solutionNavIcon ?? 'logoEnterpriseSearch'; - useEffect(() => { + useLayoutEffect(() => { if (useEndpointHeaderActions) { renderHeaderActions(EndpointsHeaderAction); } + return () => { + renderHeaderActions(); + }; }, []); return ( { const { http } = useValues(HttpLogic); const backgroundImagePath = http.basePath.prepend( '/plugins/enterpriseSearch/assets/images/search_labs_banner_background.svg' ); return ( - - @@ -96,6 +96,6 @@ export const SearchLabsBanner: React.FC = () => { - +
); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/search_labs_banner/search_labs_logo.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/search_labs_banner/search_labs_logo.tsx new file mode 100644 index 0000000000000..f72c89c7ee5f1 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/shared/search_labs_banner/search_labs_logo.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 React from 'react'; + +export const SearchLabsLogo: React.FC = () => { + return ( + + + + + + + + + + + + + + + + + + + + + ); +}; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/layout/kibana_header_actions.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/layout/kibana_header_actions.tsx index c508e4d9e4224..d1eb78b184223 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/layout/kibana_header_actions.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/layout/kibana_header_actions.tsx @@ -7,9 +7,10 @@ import React from 'react'; -import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiHeaderLinks } from '@elastic/eui'; +import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { externalUrl, getWorkplaceSearchUrl } from '../../../shared/enterprise_search_url'; +import { EndpointsHeaderAction } from '../../../shared/layout/endpoints_header_action'; import { EuiButtonEmptyTo } from '../../../shared/react_router_helpers'; import { NAV } from '../../constants'; import { PRIVATE_SOURCES_PATH } from '../../routes'; @@ -18,7 +19,7 @@ export const WorkplaceSearchHeaderActions: React.FC = () => { if (!externalUrl.enterpriseSearchUrl) return null; return ( - + { - + ); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/gated_form_page.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/gated_form_page.tsx index c4a4634695c56..2e3939675ac69 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/gated_form_page.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/gated_form_page.tsx @@ -23,9 +23,7 @@ import { SendWorkplaceSearchTelemetry } from '../../../shared/telemetry'; import { WorkplaceSearchGate } from './gated_form'; -export const WorkplaceSearchGatePage: React.FC< - Omit -> = ({ isLoading }) => { +export const WorkplaceSearchGatePage: React.FC = ({ isLoading }) => { return ( diff --git a/x-pack/plugins/enterprise_search/public/assets/images/search_labs_logo.svg b/x-pack/plugins/enterprise_search/public/assets/images/search_labs_logo.svg deleted file mode 100644 index 63204cae3cf0a..0000000000000 --- a/x-pack/plugins/enterprise_search/public/assets/images/search_labs_logo.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/x-pack/plugins/enterprise_search/tsconfig.json b/x-pack/plugins/enterprise_search/tsconfig.json index 758b8d92997f5..7b91d019e6a49 100644 --- a/x-pack/plugins/enterprise_search/tsconfig.json +++ b/x-pack/plugins/enterprise_search/tsconfig.json @@ -65,5 +65,6 @@ "@kbn/core-http-browser-mocks", "@kbn/core-application-browser", "@kbn/core-capabilities-common", + "@kbn/react-kibana-context-theme", ] } From 73d0a46a392c7264403b9205c5e8cf63987fae88 Mon Sep 17 00:00:00 2001 From: Maxim Kholod Date: Thu, 14 Dec 2023 17:27:57 +0100 Subject: [PATCH 058/123] [Cloud Security] limit setup options for Agentless CSPM (#172562) ## Summary Follow up after - https://github.com/elastic/kibana/pull/171671 Closes - https://github.com/elastic/security-team/issues/7969 Includes: - limiting setup options for agentless to only Direct Access Keys and Temporary Keys - covering Agentless for edit flow ### How to test Make sure to have the FF in your `serverless.security.dev.yml` (it's similar to the `kibana.dev.yml` but specifically for Serverless Security Projects) enabled. Also specify some serverless project id, to enable the logic of `isServerlessEnabled` ``` xpack.fleet.enableExperimental: ['agentless'] xpack.cloud.serverless.project_id: 'some_fake_project_id' ``` The follow the steps from this comment https://github.com/elastic/security-team/issues/7972#issuecomment-1808096052 to have the Agentless artifacts (agent, policy, output, and fleet server host) locally After that, you should be able to test the flow. ### Screencast [screencast-mail.google.com-2023.12.08-16_37_35.webm](https://github.com/elastic/kibana/assets/478762/b94b685f-ed37-4e45-9907-bbd95cb8975a) ### 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) - [ ] [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 - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../aws_credentials_form.tsx | 136 ++++++--------- .../aws_credentials_form_agentless.tsx | 83 +++++++++ .../aws_input_var_fields.tsx | 44 +++++ .../get_aws_credentials_form_options.tsx | 21 ++- .../aws_credentials_form/hooks.ts | 5 +- .../fleet_extensions/eks_credentials_form.tsx | 46 +---- .../fleet_extensions/gcp_credential_form.tsx | 9 +- .../components/fleet_extensions/mocks.ts | 5 +- .../policy_template_form.test.tsx | 165 +++++++++++++++--- .../fleet_extensions/policy_template_form.tsx | 22 ++- .../policy_template_selectors.tsx | 13 +- .../setup_technology_selector.tsx | 13 +- .../use_setup_technology.test.ts | 144 +++++++++++---- .../use_setup_technology.ts | 37 ++-- .../components/fleet_extensions/utils.test.ts | 74 +++++++- .../components/fleet_extensions/utils.ts | 51 +++++- .../public/components/test_subjects.ts | 9 + 17 files changed, 649 insertions(+), 228 deletions(-) create mode 100644 x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form_agentless.tsx create mode 100644 x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_input_var_fields.tsx diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form.tsx index 947e48f434554..3f717a9f4cb22 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form.tsx @@ -4,18 +4,16 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import React from 'react'; +import React, { ReactNode } from 'react'; import { - EuiFieldText, - EuiFieldPassword, + EuiCallOut, EuiFormRow, + EuiHorizontalRule, EuiLink, + EuiSelect, EuiSpacer, EuiText, EuiTitle, - EuiSelect, - EuiCallOut, - EuiHorizontalRule, } from '@elastic/eui'; import type { NewPackagePolicy } from '@kbn/fleet-plugin/public'; import { NewPackagePolicyInput, PackageInfo } from '@kbn/fleet-plugin/common'; @@ -23,25 +21,24 @@ import { FormattedMessage } from '@kbn/i18n-react'; import { css } from '@emotion/react'; import { i18n } from '@kbn/i18n'; import { + AwsCredentialsTypeOptions, getAwsCredentialsFormManualOptions, - AwsOptions, - DEFAULT_MANUAL_AWS_CREDENTIALS_TYPE, } from './get_aws_credentials_form_options'; -import { RadioGroup } from '../csp_boxed_radio_group'; -import { - getCspmCloudFormationDefaultValue, - getPosturePolicy, - NewPackagePolicyPostureInput, -} from '../utils'; +import { CspRadioOption, RadioGroup } from '../csp_boxed_radio_group'; +import { getPosturePolicy, NewPackagePolicyPostureInput } from '../utils'; import { SetupFormat, useAwsCredentialsForm } from './hooks'; import { AWS_ORGANIZATION_ACCOUNT } from '../policy_template_form'; import { AwsCredentialsType } from '../../../../common/types_old'; +import { AwsInputVarFields } from './aws_input_var_fields'; +import { + AWS_CREDENTIALS_TYPE_OPTIONS_TEST_SUBJ, + AWS_CREDENTIALS_TYPE_SELECTOR_TEST_SUBJ, +} from '../../test_subjects'; interface AWSSetupInfoContentProps { - integrationLink: string; + info: ReactNode; } - -const AWSSetupInfoContent = ({ integrationLink }: AWSSetupInfoContentProps) => { +export const AWSSetupInfoContent = ({ info }: AWSSetupInfoContentProps) => { return ( <> @@ -55,48 +52,28 @@ const AWSSetupInfoContent = ({ integrationLink }: AWSSetupInfoContentProps) => { - - -
- ), - }} - /> + {info}
); }; -const getSetupFormatOptions = (): Array<{ id: SetupFormat; label: string }> => [ +const getSetupFormatOptions = (): CspRadioOption[] => [ { id: 'cloud_formation', label: 'CloudFormation', + testId: AWS_CREDENTIALS_TYPE_OPTIONS_TEST_SUBJ.CLOUDFORMATION, }, { id: 'manual', label: i18n.translate('xpack.csp.awsIntegration.setupFormatOptions.manual', { defaultMessage: 'Manual', }), + testId: AWS_CREDENTIALS_TYPE_OPTIONS_TEST_SUBJ.MANUAL, }, ]; -export const getDefaultAwsVarsGroup = (packageInfo: PackageInfo): AwsCredentialsType => { - const hasCloudFormationTemplate = !!getCspmCloudFormationDefaultValue(packageInfo); - if (hasCloudFormationTemplate) { - return 'cloud_formation'; - } - - return DEFAULT_MANUAL_AWS_CREDENTIALS_TYPE; -}; - -interface Props { +export interface AwsFormProps { newPolicy: NewPackagePolicy; input: Extract; updatePolicy(updatedPolicy: NewPackagePolicy): void; @@ -217,7 +194,7 @@ export const AwsCredentialsForm = ({ onChange, setIsValid, disabled, -}: Props) => { +}: AwsFormProps) => { const { awsCredentialsType, setupFormat, @@ -237,7 +214,24 @@ export const AwsCredentialsForm = ({ return ( <> - + + + + ), + }} + /> + } + /> { updatePolicy( @@ -281,60 +279,26 @@ export const AwsCredentialsForm = ({ ); }; -const AwsCredentialTypeSelector = ({ +export const AwsCredentialTypeSelector = ({ type, onChange, + label, + options, }: { onChange(type: AwsCredentialsType): void; type: AwsCredentialsType; + label: string; + options: AwsCredentialsTypeOptions; }) => ( - + { onChange(optionElem.target.value as AwsCredentialsType); }} + data-test-subj={AWS_CREDENTIALS_TYPE_SELECTOR_TEST_SUBJ} /> ); - -const AwsInputVarFields = ({ - fields, - onChange, -}: { - fields: Array; - onChange: (key: string, value: string) => void; -}) => ( -
- {fields.map((field) => ( - - <> - {field.type === 'password' && ( - onChange(field.id, event.target.value)} - /> - )} - {field.type === 'text' && ( - onChange(field.id, event.target.value)} - /> - )} - - - ))} -
-); diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form_agentless.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form_agentless.tsx new file mode 100644 index 0000000000000..b0ab98db98cda --- /dev/null +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_credentials_form_agentless.tsx @@ -0,0 +1,83 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { EuiLink, EuiSpacer } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { i18n } from '@kbn/i18n'; +import { cspIntegrationDocsNavigation } from '../../../common/navigation/constants'; +import { + DEFAULT_AGENTLESS_AWS_CREDENTIALS_TYPE, + getAwsCredentialsFormAgentlessOptions, + getAwsCredentialsFormOptions, + getInputVarsFields, +} from './get_aws_credentials_form_options'; +import { getAwsCredentialsType, getPosturePolicy } from '../utils'; +import { AwsInputVarFields } from './aws_input_var_fields'; +import { + AwsFormProps, + ReadDocumentation, + AWSSetupInfoContent, + AwsCredentialTypeSelector, +} from './aws_credentials_form'; + +export const AwsCredentialsFormAgentless = ({ input, newPolicy, updatePolicy }: AwsFormProps) => { + const awsCredentialsType = getAwsCredentialsType(input) || DEFAULT_AGENTLESS_AWS_CREDENTIALS_TYPE; + const options = getAwsCredentialsFormOptions(); + const group = options[awsCredentialsType]; + const fields = getInputVarsFields(input, group.fields); + const integrationLink = cspIntegrationDocsNavigation.cspm.getStartedPath; + + return ( + <> + + + + ), + }} + /> + } + /> + + { + updatePolicy( + getPosturePolicy(newPolicy, input.type, { + 'aws.credentials.type': { value: optionId }, + }) + ); + }} + /> + + {group.info} + + + + { + updatePolicy(getPosturePolicy(newPolicy, input.type, { [key]: { value } })); + }} + /> + + ); +}; diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_input_var_fields.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_input_var_fields.tsx new file mode 100644 index 0000000000000..5ac54872a583b --- /dev/null +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/aws_input_var_fields.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 React from 'react'; +import { EuiFieldPassword, EuiFieldText, EuiFormRow } from '@elastic/eui'; +import { AwsOptions } from './get_aws_credentials_form_options'; + +export const AwsInputVarFields = ({ + fields, + onChange, +}: { + fields: Array; + onChange: (key: string, value: string) => void; +}) => ( +
+ {fields.map((field) => ( + + <> + {field.type === 'password' && ( + onChange(field.id, event.target.value)} + /> + )} + {field.type === 'text' && ( + onChange(field.id, event.target.value)} + /> + )} + + + ))} +
+); diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/get_aws_credentials_form_options.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/get_aws_credentials_form_options.tsx index c4b19f87636b6..f9d6fe06e5a8b 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/get_aws_credentials_form_options.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/get_aws_credentials_form_options.tsx @@ -92,20 +92,33 @@ export const getInputVarsFields = (input: NewPackagePolicyInput, fields: AwsCred }); export type AwsOptions = Record; - -export const getAwsCredentialsFormManualOptions = (): Array<{ +export type AwsCredentialsTypeOptions = Array<{ value: AwsCredentialsType; text: string; -}> => { +}>; + +const getAwsCredentialsTypeSelectorOptions = ( + filterFn: ({ value }: { value: AwsCredentialsType }) => boolean +): AwsCredentialsTypeOptions => { return Object.entries(getAwsCredentialsFormOptions()) .map(([key, value]) => ({ value: key as AwsCredentialsType, text: value.label, })) - .filter(({ value }) => value !== 'cloud_formation'); + .filter(filterFn); }; +export const getAwsCredentialsFormManualOptions = (): AwsCredentialsTypeOptions => + getAwsCredentialsTypeSelectorOptions(({ value }) => value !== 'cloud_formation'); + +export const getAwsCredentialsFormAgentlessOptions = (): AwsCredentialsTypeOptions => + getAwsCredentialsTypeSelectorOptions( + ({ value }) => value === 'direct_access_keys' || value === 'temporary_keys' + ); + +export const DEFAULT_AWS_CREDENTIALS_TYPE = 'cloud_formation'; export const DEFAULT_MANUAL_AWS_CREDENTIALS_TYPE = 'assume_role'; +export const DEFAULT_AGENTLESS_AWS_CREDENTIALS_TYPE = 'direct_access_keys'; export const getAwsCredentialsFormOptions = (): AwsOptions => ({ assume_role: { diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/hooks.ts b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/hooks.ts index d4824f5bc04b6..3735a585268e1 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/hooks.ts +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/aws_credentials_form/hooks.ts @@ -12,6 +12,7 @@ import { getCspmCloudFormationDefaultValue, getPosturePolicy, NewPackagePolicyPostureInput, + getAwsCredentialsType, } from '../utils'; import { DEFAULT_MANUAL_AWS_CREDENTIALS_TYPE, @@ -43,10 +44,6 @@ const getSetupFormatFromInput = ( return 'cloud_formation'; }; -const getAwsCredentialsType = ( - input: Extract -): AwsCredentialsType | undefined => input.streams[0].vars?.['aws.credentials.type'].value; - export const useAwsCredentialsForm = ({ newPolicy, input, diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/eks_credentials_form.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/eks_credentials_form.tsx index 41f4b857e13f8..fda6ae2f631fa 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/eks_credentials_form.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/eks_credentials_form.tsx @@ -5,22 +5,14 @@ * 2.0. */ import React from 'react'; -import { - EuiFieldText, - EuiFieldPassword, - EuiFormRow, - EuiLink, - EuiSpacer, - EuiText, - EuiTitle, - EuiHorizontalRule, -} from '@elastic/eui'; +import { EuiLink, EuiSpacer, EuiText, EuiTitle, EuiHorizontalRule } from '@elastic/eui'; import type { NewPackagePolicy } from '@kbn/fleet-plugin/public'; import { NewPackagePolicyInput } from '@kbn/fleet-plugin/common'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import { RadioGroup } from './csp_boxed_radio_group'; import { getPosturePolicy, NewPackagePolicyPostureInput } from './utils'; +import { AwsInputVarFields } from './aws_credentials_form/aws_input_var_fields'; const AWSSetupInfoContent = () => ( <> @@ -279,37 +271,3 @@ const AwsCredentialTypeSelector = ({ onChange={(id) => onChange(id as AwsCredentialsType)} /> ); - -const AwsInputVarFields = ({ - fields, - onChange, -}: { - fields: Array; - onChange: (key: string, value: string) => void; -}) => ( -
- {fields.map((field) => ( - - <> - {field.type === 'password' && ( - onChange(field.id, event.target.value)} - /> - )} - {field.type === 'text' && ( - onChange(field.id, event.target.value)} - /> - )} - - - ))} -
-); diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/gcp_credential_form.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/gcp_credential_form.tsx index 45a3f8a6639a5..4039d458548bb 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/gcp_credential_form.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/gcp_credential_form.tsx @@ -31,7 +31,7 @@ import { SETUP_ACCESS_CLOUD_SHELL, SETUP_ACCESS_MANUAL, } from '../../../common/constants'; -import { RadioGroup } from './csp_boxed_radio_group'; +import { CspRadioOption, RadioGroup } from './csp_boxed_radio_group'; import { getCspmCloudShellDefaultValue, getPosturePolicy, @@ -231,12 +231,7 @@ export const gcpField: GcpInputFields = { }, }; -const getSetupFormatOptions = (): Array<{ - id: SetupFormatGCP; - label: string; - disabled: boolean; - testId: string; -}> => [ +const getSetupFormatOptions = (): CspRadioOption[] => [ { id: SETUP_ACCESS_CLOUD_SHELL, label: i18n.translate('xpack.csp.gcpIntegration.setupFormatOptions.googleCloudShell', { diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/mocks.ts b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/mocks.ts index ae933a0f941a8..f893545024d78 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/mocks.ts +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/mocks.ts @@ -6,7 +6,7 @@ */ import type { NewPackagePolicy } from '@kbn/fleet-plugin/public'; import type { PackageInfo } from '@kbn/fleet-plugin/common'; -import { createNewPackagePolicyMock } from '@kbn/fleet-plugin/common/mocks'; +import { createNewPackagePolicyMock, createAgentPolicyMock } from '@kbn/fleet-plugin/common/mocks'; import { CLOUDBEAT_GCP, CLOUDBEAT_AZURE, @@ -24,6 +24,9 @@ export const getMockPolicyK8s = () => getPolicyMock(CLOUDBEAT_VANILLA, 'kspm', ' export const getMockPolicyEKS = () => getPolicyMock(CLOUDBEAT_EKS, 'kspm', 'eks'); export const getMockPolicyVulnMgmtAWS = () => getPolicyMock(CLOUDBEAT_VULN_MGMT_AWS, 'vuln_mgmt', 'aws'); +export const getMockAgentlessAgentPolicy = () => { + return createAgentPolicyMock({ id: 'agentless' }); +}; export const getMockPackageInfoVulnMgmtAWS = () => { return { diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.test.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.test.tsx index 5764b5af44357..3b549dcc9d9ed 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.test.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.test.tsx @@ -5,7 +5,8 @@ * 2.0. */ import React from 'react'; -import { render } from '@testing-library/react'; +import { render, waitFor, within } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; import { CspPolicyTemplateForm, AWS_ORGANIZATION_ACCOUNT, @@ -15,6 +16,7 @@ import { } from './policy_template_form'; import { TestProvider } from '../../test/test_provider'; import { + getMockAgentlessAgentPolicy, getMockPackageInfoCspmAWS, getMockPackageInfoCspmAzure, getMockPackageInfoCspmGCP, @@ -32,7 +34,6 @@ import type { PackageInfo, PackagePolicy, } from '@kbn/fleet-plugin/common'; -import userEvent from '@testing-library/user-event'; import { getPosturePolicy } from './utils'; import { CLOUDBEAT_AWS, @@ -45,6 +46,13 @@ import { createReactQueryResponse } from '../../test/fixtures/react_query'; import { useCspSetupStatusApi } from '../../common/api/use_setup_status_api'; import { usePackagePolicyList } from '../../common/api/use_package_policy_list'; import { CIS_GCP_INPUT_FIELDS_TEST_SUBJECTS } from './gcp_credential_form'; +import { waitForEuiPopoverOpen } from '@elastic/eui/lib/test/rtl'; +import { + AWS_CREDENTIALS_TYPE_OPTIONS_TEST_SUBJ, + AWS_CREDENTIALS_TYPE_SELECTOR_TEST_SUBJ, + SETUP_TECHNOLOGY_SELECTOR_ACCORDION_TEST_SUBJ, + SETUP_TECHNOLOGY_SELECTOR_TEST_SUBJ, +} from '../test_subjects'; // mock useParams jest.mock('react-router-dom', () => ({ @@ -94,12 +102,14 @@ describe('', () => { edit = false, agentPolicy, packageInfo = {} as PackageInfo, + agentlessPolicy, }: { edit?: boolean; newPolicy: NewPackagePolicy; agentPolicy?: AgentPolicy; packageInfo?: PackageInfo; onChange?: jest.Mock; + agentlessPolicy?: AgentPolicy; }) => ( {edit && ( @@ -110,6 +120,7 @@ describe('', () => { packageInfo={packageInfo} isEditPage={true} agentPolicy={agentPolicy} + agentlessPolicy={agentlessPolicy} /> )} {!edit && ( @@ -119,6 +130,7 @@ describe('', () => { packageInfo={packageInfo} isEditPage={false} agentPolicy={agentPolicy} + agentlessPolicy={agentlessPolicy} /> )} @@ -141,7 +153,7 @@ describe('', () => { }); }); - it('renders and updates name field', () => { + it('renders and updates name field', async () => { const policy = getMockPolicyK8s(); const { getByLabelText } = render(); const name = getByLabelText('Name'); @@ -149,15 +161,15 @@ describe('', () => { userEvent.type(name, '1'); - // Listen to the 2nd triggered by the test. - // The 1st is done on mount to ensure initial state is valid. - expect(onChange).toHaveBeenNthCalledWith(2, { - isValid: true, - updatedPolicy: { ...policy, name: `${policy.name}1` }, + await waitFor(() => { + expect(onChange).toHaveBeenCalledWith({ + isValid: true, + updatedPolicy: { ...policy, name: `${policy.name}1` }, + }); }); }); - it('renders and updates description field', () => { + it('renders and updates description field', async () => { const policy = getMockPolicyK8s(); const { getByLabelText } = render(); const description = getByLabelText('Description'); @@ -165,11 +177,11 @@ describe('', () => { userEvent.type(description, '1'); - // Listen to the 2nd triggered by the test. - // The 1st is done on mount to ensure initial state is valid. - expect(onChange).toHaveBeenNthCalledWith(2, { - isValid: true, - updatedPolicy: { ...policy, description: `${policy.description}1` }, + await waitFor(() => { + expect(onChange).toHaveBeenCalledWith({ + isValid: true, + updatedPolicy: { ...policy, description: `${policy.description}1` }, + }); }); }); @@ -186,7 +198,7 @@ describe('', () => { expect(option1).toBeChecked(); }); - it('updates selected KSPM input', () => { + it('updates selected KSPM input', async () => { const k8sPolicy = getMockPolicyK8s(); const eksPolicy = getMockPolicyEKS(); @@ -194,11 +206,11 @@ describe('', () => { const option = getByLabelText('EKS'); userEvent.click(option); - // Listen to the 2nd triggered by the test. - // The 1st is done on mount to ensure initial state is valid. - expect(onChange).toHaveBeenNthCalledWith(2, { - isValid: true, - updatedPolicy: eksPolicy, + await waitFor(() => { + expect(onChange).toHaveBeenCalledWith({ + isValid: true, + updatedPolicy: eksPolicy, + }); }); }); @@ -1436,6 +1448,119 @@ describe('', () => { }); }); + describe('Agentless', () => { + it('should render setup technology selector for AWS and allow to select agent-based', async () => { + const agentlessPolicy = getMockAgentlessAgentPolicy(); + const newPackagePolicy = getMockPolicyAWS(); + + const { getByTestId, getByRole } = render( + + ); + + const setupTechnologySelectorAccordion = getByTestId( + SETUP_TECHNOLOGY_SELECTOR_ACCORDION_TEST_SUBJ + ); + const setupTechnologySelector = getByTestId(SETUP_TECHNOLOGY_SELECTOR_TEST_SUBJ); + const awsCredentialsTypeSelector = getByTestId(AWS_CREDENTIALS_TYPE_SELECTOR_TEST_SUBJ); + const options: HTMLOptionElement[] = within(awsCredentialsTypeSelector).getAllByRole( + 'option' + ); + const optionValues = options.map((option) => option.value); + + // default state + expect(setupTechnologySelectorAccordion).toBeInTheDocument(); + expect(setupTechnologySelector).toBeInTheDocument(); + expect(setupTechnologySelector).toHaveTextContent(/agentless/i); + expect(options).toHaveLength(2); + expect(optionValues).toEqual( + expect.arrayContaining(['direct_access_keys', 'temporary_keys']) + ); + + // select agent-based and check for cloudformation option + userEvent.click(setupTechnologySelector); + const agentBasedOption = getByRole('option', { name: /agent-based/i }); + await waitForEuiPopoverOpen(); + userEvent.click(agentBasedOption); + await waitFor(() => { + expect( + getByTestId(AWS_CREDENTIALS_TYPE_OPTIONS_TEST_SUBJ.CLOUDFORMATION) + ).toBeInTheDocument(); + expect(getByTestId(AWS_CREDENTIALS_TYPE_OPTIONS_TEST_SUBJ.MANUAL)).toBeInTheDocument(); + }); + }); + + it('should not render setup technology selector for KSPM', () => { + const agentlessPolicy = getMockAgentlessAgentPolicy(); + const newPackagePolicy = getMockPolicyEKS(); + + const { queryByTestId } = render( + + ); + + const setupTechnologySelectorAccordion = queryByTestId( + SETUP_TECHNOLOGY_SELECTOR_ACCORDION_TEST_SUBJ + ); + + expect(setupTechnologySelectorAccordion).not.toBeInTheDocument(); + }); + + it('should not render setup technology selector for CNVM', () => { + const agentlessPolicy = getMockAgentlessAgentPolicy(); + const newPackagePolicy = getMockPolicyVulnMgmtAWS(); + + const { queryByTestId } = render( + + ); + + const setupTechnologySelectorAccordion = queryByTestId( + SETUP_TECHNOLOGY_SELECTOR_ACCORDION_TEST_SUBJ + ); + + expect(setupTechnologySelectorAccordion).not.toBeInTheDocument(); + }); + + it('should not render setup technology selector for CSPM GCP', () => { + const agentlessPolicy = getMockAgentlessAgentPolicy(); + const newPackagePolicy = getMockPolicyGCP(); + + const { queryByTestId } = render( + + ); + + const setupTechnologySelectorAccordion = queryByTestId( + SETUP_TECHNOLOGY_SELECTOR_ACCORDION_TEST_SUBJ + ); + + expect(setupTechnologySelectorAccordion).not.toBeInTheDocument(); + }); + + it('should not render setup technology selector for CSPM Azure', () => { + const agentlessPolicy = getMockAgentlessAgentPolicy(); + let newPackagePolicy = getMockPolicyAzure(); + newPackagePolicy = getPosturePolicy(newPackagePolicy, CLOUDBEAT_AZURE, { + 'azure.credentials.type': { value: 'service_principal_with_client_certificate' }, + }); + + const { queryByTestId } = render( + + ); + + const setupTechnologySelectorAccordion = queryByTestId( + SETUP_TECHNOLOGY_SELECTOR_ACCORDION_TEST_SUBJ + ); + + expect(setupTechnologySelectorAccordion).not.toBeInTheDocument(); + }); + }); + it(`renders Service principal with Client Certificate fields`, () => { let policy = getMockPolicyAzure(); policy = getPosturePolicy(policy, CLOUDBEAT_AZURE, { diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.tsx index 17474fd9cd233..303df35545db8 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.tsx @@ -21,6 +21,7 @@ import { EuiTitle, } from '@elastic/eui'; import type { NewPackagePolicy } from '@kbn/fleet-plugin/public'; +import { SetupTechnology } from '@kbn/fleet-plugin/public'; import { FormattedMessage } from '@kbn/i18n-react'; import type { NewPackagePolicyInput, @@ -544,7 +545,11 @@ export const CspPolicyTemplateForm = memo { @@ -558,11 +563,11 @@ export const CspPolicyTemplateForm = memo { - const inputVars = getPostureInputHiddenVars(inputType, packageInfo); + const inputVars = getPostureInputHiddenVars(inputType, packageInfo, setupTechnology); const policy = getPosturePolicy(newPolicy, inputType, inputVars); updatePolicy(policy); }, - [newPolicy, updatePolicy, packageInfo] + [setupTechnology, packageInfo, newPolicy, updatePolicy] ); // search for non null fields of the validation?.vars object @@ -601,6 +606,15 @@ export const CspPolicyTemplateForm = memo { + if (isEditPage) { + return; + } + + setEnabledPolicyInput(input.type); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [setupTechnology]); + useEnsureDefaultNamespace({ newPolicy, input, updatePolicy }); useCloudFormationTemplate({ @@ -739,8 +753,9 @@ export const CspPolicyTemplateForm = memo updatePolicy({ ...newPolicy, [field]: value })} /> - {isAgentlessAvailable && ( + {shouldRenderAgentlessSelector && ( @@ -755,6 +770,7 @@ export const CspPolicyTemplateForm = memo diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_selectors.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_selectors.tsx index aa1e2b7942575..7a045e7f82c0c 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_selectors.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_selectors.tsx @@ -8,6 +8,7 @@ import React from 'react'; import { EuiCallOut, EuiSpacer, EuiText } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import type { NewPackagePolicy, PackageInfo } from '@kbn/fleet-plugin/common'; +import { SetupTechnology } from '@kbn/fleet-plugin/public'; import { PackagePolicyReplaceDefineStepExtensionComponentProps } from '@kbn/fleet-plugin/public/types'; import { CSPM_POLICY_TEMPLATE, @@ -20,6 +21,7 @@ import { getPolicyTemplateInputOptions, type NewPackagePolicyPostureInput } from import { RadioGroup } from './csp_boxed_radio_group'; import { AzureCredentialsForm } from './azure_credentials_form/azure_credentials_form'; import { AwsCredentialsForm } from './aws_credentials_form/aws_credentials_form'; +import { AwsCredentialsFormAgentless } from './aws_credentials_form/aws_credentials_form_agentless'; import { EksCredentialsForm } from './eks_credentials_form'; import { GcpCredentialsForm } from './gcp_credential_form'; @@ -74,11 +76,20 @@ interface PolicyTemplateVarsFormProps { onChange: PackagePolicyReplaceDefineStepExtensionComponentProps['onChange']; setIsValid: (isValid: boolean) => void; disabled: boolean; + setupTechnology: SetupTechnology; } -export const PolicyTemplateVarsForm = ({ input, ...props }: PolicyTemplateVarsFormProps) => { +export const PolicyTemplateVarsForm = ({ + input, + setupTechnology, + ...props +}: PolicyTemplateVarsFormProps) => { switch (input.type) { case 'cloudbeat/cis_aws': + if (setupTechnology === SetupTechnology.AGENTLESS) { + return ; + } + return ; case 'cloudbeat/cis_eks': return ; diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/setup_technology_selector.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/setup_technology_selector.tsx index c3b6572281da3..03ca7ab21150e 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/setup_technology_selector.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/setup_technology_selector.tsx @@ -18,11 +18,17 @@ import { EuiText, useGeneratedHtmlId, } from '@elastic/eui'; +import { + SETUP_TECHNOLOGY_SELECTOR_ACCORDION_TEST_SUBJ, + SETUP_TECHNOLOGY_SELECTOR_TEST_SUBJ, +} from '../../test_subjects'; export const SetupTechnologySelector = ({ + disabled, setupTechnology, onSetupTechnologyChange, }: { + disabled: boolean; setupTechnology: SetupTechnology; onSetupTechnologyChange: (value: SetupTechnology) => void; }) => { @@ -87,15 +93,18 @@ export const SetupTechnologySelector = ({ <> + } + data-test-subj={SETUP_TECHNOLOGY_SELECTOR_ACCORDION_TEST_SUBJ} > diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.test.ts b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.test.ts index a5aa5e2df9734..744a87a009f98 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.test.ts +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.test.ts @@ -14,46 +14,122 @@ import { CLOUDBEAT_AWS } from '../../../../common/constants'; import { useSetupTechnology } from './use_setup_technology'; describe('useSetupTechnology', () => { - it('initializes with AGENT_BASED technology', () => { - const { result } = renderHook(() => - useSetupTechnology({ - input: { type: 'cloudbeat/no-agentless-support' } as NewPackagePolicyInput, - }) - ); - expect(result.current.setupTechnology).toBe(SetupTechnology.AGENT_BASED); - }); + describe('create page flow', () => { + const isEditPage = false; - it('sets to AGENTLESS when agentless is available', () => { - const agentlessPolicy = { id: 'agentlessPolicyId' } as AgentPolicy; - const input = { type: CLOUDBEAT_AWS } as NewPackagePolicyInput; - const { result } = renderHook(() => useSetupTechnology({ input, agentlessPolicy })); - expect(result.current.isAgentlessAvailable).toBeTruthy(); - expect(result.current.setupTechnology).toBe(SetupTechnology.AGENTLESS); - }); + it('initializes with AGENT_BASED technology', () => { + const { result } = renderHook(() => + useSetupTechnology({ + input: { type: 'cloudbeat/no-agentless-support' } as NewPackagePolicyInput, + isEditPage, + }) + ); + expect(result.current.setupTechnology).toBe(SetupTechnology.AGENT_BASED); + }); + + it('sets to AGENTLESS when agentless is available', () => { + const agentlessPolicy = { id: 'agentlessPolicyId' } as AgentPolicy; + const input = { type: CLOUDBEAT_AWS } as NewPackagePolicyInput; + const { result } = renderHook(() => + useSetupTechnology({ input, agentlessPolicy, isEditPage }) + ); + expect(result.current.isAgentlessAvailable).toBeTruthy(); + expect(result.current.setupTechnology).toBe(SetupTechnology.AGENTLESS); + }); - it('sets to AGENT_BASED when agentPolicyId differs from agentlessPolicyId', () => { - const input = { type: CLOUDBEAT_AWS } as NewPackagePolicyInput; - const agentPolicy = { id: 'agentPolicyId' } as AgentPolicy; - const agentlessPolicy = { id: 'agentlessPolicyId' } as AgentPolicy; - const { result } = renderHook(() => - useSetupTechnology({ input, agentPolicy, agentlessPolicy }) - ); - expect(result.current.setupTechnology).toBe(SetupTechnology.AGENT_BASED); + it('sets to AGENT_BASED when agentPolicyId differs from agentlessPolicyId', () => { + const input = { type: CLOUDBEAT_AWS } as NewPackagePolicyInput; + const agentPolicy = { id: 'agentPolicyId' } as AgentPolicy; + const agentlessPolicy = { id: 'agentlessPolicyId' } as AgentPolicy; + const { result } = renderHook(() => + useSetupTechnology({ input, agentPolicy, agentlessPolicy, isEditPage }) + ); + expect(result.current.setupTechnology).toBe(SetupTechnology.AGENT_BASED); + }); + + it('calls handleSetupTechnologyChange when setupTechnology changes', () => { + const handleSetupTechnologyChangeMock = jest.fn(); + const { result } = renderHook(() => + useSetupTechnology({ + input: { type: 'someType' } as NewPackagePolicyInput, + handleSetupTechnologyChange: handleSetupTechnologyChangeMock, + isEditPage, + }) + ); + + act(() => { + result.current.setSetupTechnology(SetupTechnology.AGENTLESS); + }); + + expect(handleSetupTechnologyChangeMock).toHaveBeenCalledWith(SetupTechnology.AGENTLESS); + }); }); - it('calls handleSetupTechnologyChange when setupTechnology changes', () => { - const handleSetupTechnologyChangeMock = jest.fn(); - const { result } = renderHook(() => - useSetupTechnology({ - input: { type: 'someType' } as NewPackagePolicyInput, - handleSetupTechnologyChange: handleSetupTechnologyChangeMock, - }) - ); + describe('edit page flow', () => { + const isEditPage = true; - act(() => { - result.current.setSetupTechnology(SetupTechnology.AGENTLESS); + it('initializes with AGENT_BASED technology', () => { + const { result } = renderHook(() => + useSetupTechnology({ + input: { type: 'cloudbeat/no-agentless-support' } as NewPackagePolicyInput, + isEditPage, + }) + ); + expect(result.current.setupTechnology).toBe(SetupTechnology.AGENT_BASED); }); - expect(handleSetupTechnologyChangeMock).toHaveBeenCalledWith(SetupTechnology.AGENTLESS); + it('initializes with AGENTLESS technology if the agent policy id is "agentless"', () => { + const input = { type: CLOUDBEAT_AWS } as NewPackagePolicyInput; + const agentPolicy = { id: 'agentless' } as AgentPolicy; + const { result } = renderHook(() => + useSetupTechnology({ + input, + agentPolicy, + isEditPage, + }) + ); + expect(result.current.setupTechnology).toBe(SetupTechnology.AGENTLESS); + }); + + it('should not call handleSetupTechnologyChange when setupTechnology changes', () => { + const handleSetupTechnologyChangeMock = jest.fn(); + const input = { type: CLOUDBEAT_AWS } as NewPackagePolicyInput; + const { result } = renderHook(() => + useSetupTechnology({ + input, + handleSetupTechnologyChange: handleSetupTechnologyChangeMock, + isEditPage, + }) + ); + + act(() => { + result.current.setSetupTechnology(SetupTechnology.AGENTLESS); + }); + + expect(handleSetupTechnologyChangeMock).not.toHaveBeenCalled(); + }); + + it('should not update setupTechnology when agentlessPolicyId becomes available', () => { + const input = { type: CLOUDBEAT_AWS } as NewPackagePolicyInput; + const agentlessPolicy = { id: 'agentlessPolicyId' } as AgentPolicy; + const { result, rerender } = renderHook(() => + useSetupTechnology({ + input, + isEditPage, + }) + ); + + expect(result.current.setupTechnology).toBe(SetupTechnology.AGENT_BASED); + + act(() => { + rerender({ + input, + agentlessPolicy, + isEditPage, + }); + }); + + expect(result.current.setupTechnology).toBe(SetupTechnology.AGENT_BASED); + }); }); }); diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.ts b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.ts index 898017d6daef5..4201ffde1b2a8 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.ts +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/setup_technology_selector/use_setup_technology.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { useEffect, useMemo, useState } from 'react'; +import { useEffect, useState } from 'react'; import { AgentPolicy, NewPackagePolicyInput } from '@kbn/fleet-plugin/common'; import { SetupTechnology } from '@kbn/fleet-plugin/public'; @@ -15,24 +15,31 @@ export const useSetupTechnology = ({ agentPolicy, agentlessPolicy, handleSetupTechnologyChange, + isEditPage, }: { input: NewPackagePolicyInput; agentPolicy?: AgentPolicy; agentlessPolicy?: AgentPolicy; handleSetupTechnologyChange?: (value: SetupTechnology) => void; + isEditPage: boolean; }) => { - const [setupTechnology, setSetupTechnology] = useState( - SetupTechnology.AGENT_BASED - ); const isCspmAws = input.type === CLOUDBEAT_AWS; - const isAgentlessAvailable = useMemo( - () => Boolean(isCspmAws && agentlessPolicy), - [isCspmAws, agentlessPolicy] - ); - const agentPolicyId = useMemo(() => agentPolicy?.id, [agentPolicy]); - const agentlessPolicyId = useMemo(() => agentlessPolicy?.id, [agentlessPolicy]); + const isAgentlessAvailable = Boolean(isCspmAws && agentlessPolicy); + const agentPolicyId = agentPolicy?.id; + const agentlessPolicyId = agentlessPolicy?.id; + const [setupTechnology, setSetupTechnology] = useState(() => { + if (isEditPage && agentPolicyId === SetupTechnology.AGENTLESS) { + return SetupTechnology.AGENTLESS; + } + + return SetupTechnology.AGENT_BASED; + }); useEffect(() => { + if (isEditPage) { + return; + } + if (agentPolicyId && agentPolicyId !== agentlessPolicyId) { /* handle case when agent policy is coming from outside, @@ -41,20 +48,24 @@ export const useSetupTechnology = ({ setSetupTechnology(SetupTechnology.AGENT_BASED); } else if (isAgentlessAvailable) { /* - preselecting agenteless when available + preselecting agentless when available and resetting to agent-based when switching to another integration type, which doesn't support agentless */ setSetupTechnology(SetupTechnology.AGENTLESS); } else { setSetupTechnology(SetupTechnology.AGENT_BASED); } - }, [agentPolicyId, agentlessPolicyId, isAgentlessAvailable]); + }, [agentPolicyId, agentlessPolicyId, isAgentlessAvailable, isEditPage]); useEffect(() => { + if (isEditPage) { + return; + } + if (handleSetupTechnologyChange) { handleSetupTechnologyChange(setupTechnology); } - }, [handleSetupTechnologyChange, setupTechnology]); + }, [handleSetupTechnologyChange, isEditPage, setupTechnology]); return { isAgentlessAvailable, diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.test.ts b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.test.ts index 266cd98ab0450..b05c7fe096516 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.test.ts +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.test.ts @@ -4,6 +4,8 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import type { PackageInfo } from '@kbn/fleet-plugin/common'; +import { SetupTechnology } from '@kbn/fleet-plugin/public'; import { getMaxPackageName, @@ -11,9 +13,9 @@ import { getPosturePolicy, getCspmCloudShellDefaultValue, isBelowMinVersion, + getDefaultAwsCredentialsType, } from './utils'; import { getMockPolicyAWS, getMockPolicyK8s, getMockPolicyEKS } from './mocks'; -import type { PackageInfo } from '@kbn/fleet-plugin/common'; describe('getPosturePolicy', () => { for (const [name, getPolicy, expectedVars] of [ @@ -22,7 +24,11 @@ describe('getPosturePolicy', () => { ['cloudbeat/cis_k8s', getMockPolicyK8s, null], ] as const) { it(`updates package policy with hidden vars for ${name}`, () => { - const inputVars = getPostureInputHiddenVars(name, {} as any); + const inputVars = getPostureInputHiddenVars( + name, + {} as PackageInfo, + SetupTechnology.AGENT_BASED + ); const policy = getPosturePolicy(getPolicy(), name, inputVars); const enabledInputs = policy.inputs.filter( @@ -280,3 +286,67 @@ describe('isBelowMinVersion', () => { } }); }); + +describe('getDefaultAwsCredentialsType', () => { + let packageInfo: PackageInfo; + + beforeEach(() => { + packageInfo = { + policy_templates: [ + { + name: 'cspm', + inputs: [ + { + vars: [ + { + name: 'cloud_formation_template', + default: 'http://example.com/cloud_formation_template', + }, + ], + }, + ], + }, + ], + } as PackageInfo; + }); + + it('should return "direct_access_key" for agentless', () => { + const setupTechnology = SetupTechnology.AGENTLESS; + const result = getDefaultAwsCredentialsType(packageInfo, setupTechnology); + + expect(result).toBe('direct_access_keys'); + }); + + it('should return "assume_role" for agent-based, when cloudformation is not available', () => { + const setupTechnology = SetupTechnology.AGENT_BASED; + packageInfo = { + policy_templates: [ + { + name: 'cspm', + inputs: [ + { + vars: [ + { + name: 'cloud_shell', + default: 'http://example.com/cloud_shell', + }, + ], + }, + ], + }, + ], + } as PackageInfo; + + const result = getDefaultAwsCredentialsType({} as PackageInfo, setupTechnology); + + expect(result).toBe('assume_role'); + }); + + it('should return "cloud_formation" for agent-based, when cloudformation is available', () => { + const setupTechnology = SetupTechnology.AGENT_BASED; + + const result = getDefaultAwsCredentialsType(packageInfo, setupTechnology); + + expect(result).toBe('cloud_formation'); + }); +}); diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.ts b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.ts index 1f005ccb950f4..e3b8055497e22 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.ts +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.ts @@ -12,27 +12,36 @@ import type { RegistryPolicyTemplate, RegistryVarsEntry, } from '@kbn/fleet-plugin/common'; +import { SetupTechnology } from '@kbn/fleet-plugin/public'; import merge from 'lodash/merge'; import semverValid from 'semver/functions/valid'; import semverCoerce from 'semver/functions/coerce'; import semverLt from 'semver/functions/lt'; import { CLOUDBEAT_AWS, + CLOUDBEAT_AZURE, CLOUDBEAT_EKS, - CLOUDBEAT_VANILLA, CLOUDBEAT_GCP, - CLOUDBEAT_AZURE, + CLOUDBEAT_VANILLA, CLOUDBEAT_VULN_MGMT_AWS, - SUPPORTED_POLICY_TEMPLATES, - SUPPORTED_CLOUDBEAT_INPUTS, CSPM_POLICY_TEMPLATE, KSPM_POLICY_TEMPLATE, + SUPPORTED_CLOUDBEAT_INPUTS, + SUPPORTED_POLICY_TEMPLATES, VULN_MGMT_POLICY_TEMPLATE, } from '../../../common/constants'; -import { getDefaultAwsVarsGroup } from './aws_credentials_form/aws_credentials_form'; -import type { PostureInput, CloudSecurityPolicyTemplate } from '../../../common/types_old'; +import type { + AwsCredentialsType, + PostureInput, + CloudSecurityPolicyTemplate, +} from '../../../common/types_old'; import { cloudPostureIntegrations } from '../../common/constants'; import { DEFAULT_EKS_VARS_GROUP } from './eks_credentials_form'; +import { + DEFAULT_AGENTLESS_AWS_CREDENTIALS_TYPE, + DEFAULT_AWS_CREDENTIALS_TYPE, + DEFAULT_MANUAL_AWS_CREDENTIALS_TYPE, +} from './aws_credentials_form/get_aws_credentials_form_options'; // Posture policies only support the default namespace export const POSTURE_NAMESPACE = 'default'; @@ -203,14 +212,36 @@ export const getArmTemplateUrlFromCspmPackage = (packageInfo: PackageInfo): stri return armTemplateUrl; }; +export const getDefaultAwsCredentialsType = ( + packageInfo: PackageInfo, + setupTechnology?: SetupTechnology +): AwsCredentialsType => { + if (setupTechnology && setupTechnology === SetupTechnology.AGENTLESS) { + return DEFAULT_AGENTLESS_AWS_CREDENTIALS_TYPE; + } + + const hasCloudFormationTemplate = !!getCspmCloudFormationDefaultValue(packageInfo); + if (hasCloudFormationTemplate) { + return DEFAULT_AWS_CREDENTIALS_TYPE; + } + + return DEFAULT_MANUAL_AWS_CREDENTIALS_TYPE; +}; /** * Input vars that are hidden from the user */ -export const getPostureInputHiddenVars = (inputType: PostureInput, packageInfo: PackageInfo) => { +export const getPostureInputHiddenVars = ( + inputType: PostureInput, + packageInfo: PackageInfo, + setupTechnology: SetupTechnology +) => { switch (inputType) { case 'cloudbeat/cis_aws': return { - 'aws.credentials.type': { value: getDefaultAwsVarsGroup(packageInfo), type: 'text' }, + 'aws.credentials.type': { + value: getDefaultAwsCredentialsType(packageInfo, setupTechnology), + type: 'text', + }, }; case 'cloudbeat/cis_eks': return { 'aws.credentials.type': { value: DEFAULT_EKS_VARS_GROUP, type: 'text' } }; @@ -267,6 +298,10 @@ export const getCspmCloudShellDefaultValue = (packageInfo: PackageInfo): string return cloudShellUrl; }; +export const getAwsCredentialsType = ( + input: Extract +): AwsCredentialsType | undefined => input.streams[0].vars?.['aws.credentials.type'].value; + export const isBelowMinVersion = (version: string, minVersion: string) => { const semanticVersion = semverValid(version); const versionNumberOnly = semverCoerce(semanticVersion) || ''; diff --git a/x-pack/plugins/cloud_security_posture/public/components/test_subjects.ts b/x-pack/plugins/cloud_security_posture/public/components/test_subjects.ts index 1f603a67ae1fc..c51d562fec44a 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/test_subjects.ts +++ b/x-pack/plugins/cloud_security_posture/public/components/test_subjects.ts @@ -43,3 +43,12 @@ export const CREATE_RULE_ACTION_SUBJ = 'csp:create_rule'; export const CSP_GROUPING = 'cloudSecurityGrouping'; export const CSP_GROUPING_LOADING = 'cloudSecurityGroupingLoading'; export const CSP_FINDINGS_COMPLIANCE_SCORE = 'cloudSecurityFindingsComplianceScore'; + +export const AWS_CREDENTIALS_TYPE_SELECTOR_TEST_SUBJ = 'aws-credentials-type-selector'; +export const AWS_CREDENTIALS_TYPE_OPTIONS_TEST_SUBJ = { + CLOUDFORMATION: 'aws-cloudformation-setup-option', + MANUAL: 'aws-manual-setup-option', +}; + +export const SETUP_TECHNOLOGY_SELECTOR_ACCORDION_TEST_SUBJ = 'setup-technology-selector-accordion'; +export const SETUP_TECHNOLOGY_SELECTOR_TEST_SUBJ = 'setup-technology-selector'; From 2d72a3811981eea4cad0dcaeade1aad2ce8ebca4 Mon Sep 17 00:00:00 2001 From: Gerard Soldevila Date: Thu, 14 Dec 2023 17:31:58 +0100 Subject: [PATCH 059/123] Inject initial "not reported" to prevent blocking `/api/status` (#173371) ## Summary Addresses https://github.com/elastic/kibana-team/issues/697 The endpoint is currently waiting for all statuses to be reported. [Recent changes](https://github.com/elastic/kibana/pull/172268) are causing the `pluginsStatus$` Observable to take longer to emit first value. This PR injects a "status not reported" to prevent the different status Observables from blocking calls to the `/api/status` enpdoint. --- .../src/routes/status.ts | 29 ++++++++++++++----- .../http/platform/status.ts | 6 ++-- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/packages/core/status/core-status-server-internal/src/routes/status.ts b/packages/core/status/core-status-server-internal/src/routes/status.ts index e06d667b4c78b..59c7aa23c51d4 100644 --- a/packages/core/status/core-status-server-internal/src/routes/status.ts +++ b/packages/core/status/core-status-server-internal/src/routes/status.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { Observable, combineLatest, ReplaySubject, firstValueFrom } from 'rxjs'; +import { type Observable, combineLatest, ReplaySubject, firstValueFrom, startWith } from 'rxjs'; import { schema } from '@kbn/config-schema'; import type { PackageInfo } from '@kbn/config'; import type { PluginName } from '@kbn/core-base-common'; @@ -15,12 +15,12 @@ import type { MetricsServiceSetup } from '@kbn/core-metrics-server'; import type { CoreIncrementUsageCounter } from '@kbn/core-usage-data-server'; import type { StatusResponse } from '@kbn/core-status-common-internal'; import { - ServiceStatus, - ServiceStatusLevel, - CoreStatus, + type ServiceStatus, + type ServiceStatusLevel, + type CoreStatus, ServiceStatusLevels, } from '@kbn/core-status-common'; -import { calculateLegacyStatus, LegacyStatusInfo } from '../legacy_status'; +import { calculateLegacyStatus, type LegacyStatusInfo } from '../legacy_status'; const SNAPSHOT_POSTFIX = /-SNAPSHOT$/; @@ -61,6 +61,11 @@ export interface RedactedStatusHttpBody { }; } +const SERVICE_UNAVAILABLE_NOT_REPORTED: ServiceStatus = { + level: ServiceStatusLevels.unavailable, + summary: 'Status not yet reported', +}; + export const registerStatusRoute = ({ router, config, @@ -73,9 +78,17 @@ export const registerStatusRoute = ({ const combinedStatus$ = new ReplaySubject< [ServiceStatus, ServiceStatus, CoreStatus, Record>] >(1); - combineLatest([status.overall$, status.coreOverall$, status.core$, status.plugins$]).subscribe( - combinedStatus$ - ); + combineLatest([ + status.overall$.pipe(startWith(SERVICE_UNAVAILABLE_NOT_REPORTED)), + status.coreOverall$.pipe(startWith(SERVICE_UNAVAILABLE_NOT_REPORTED)), + status.core$.pipe( + startWith({ + elasticsearch: SERVICE_UNAVAILABLE_NOT_REPORTED, + savedObjects: SERVICE_UNAVAILABLE_NOT_REPORTED, + }) + ), + status.plugins$.pipe(startWith({})), + ]).subscribe(combinedStatus$); router.get( { diff --git a/test/server_integration/http/platform/status.ts b/test/server_integration/http/platform/status.ts index 8ce193c670849..df472ec36d818 100644 --- a/test/server_integration/http/platform/status.ts +++ b/test/server_integration/http/platform/status.ts @@ -35,13 +35,13 @@ export default function ({ getService }: FtrProviderContext) { // This test must come first because the timeout only applies to the initial emission it("returns a timeout for status check that doesn't emit after 30s", async () => { let aStatus = await getStatus('statusPluginA'); - expect(aStatus.level).to.eql('unavailable'); + expect(aStatus === undefined || aStatus.level === 'unavailable').to.eql(true); // Status will remain in unavailable until the custom status check times out // Keep polling until that condition ends, up to a timeout await retry.waitForWithTimeout(`Status check to timeout`, 40_000, async () => { aStatus = await getStatus('statusPluginA'); - return aStatus.summary === 'Status check timed out after 30s'; + return aStatus?.summary === 'Status check timed out after 30s'; }); expect(aStatus.level).to.eql('unavailable'); @@ -53,7 +53,7 @@ export default function ({ getService }: FtrProviderContext) { await retry.waitForWithTimeout( `statusPluginA status to update`, 5_000, - async () => (await getStatus('statusPluginA')).level === 'degraded' + async () => (await getStatus('statusPluginA'))?.level === 'degraded' ); await statusPropagation(); expect((await getStatus('statusPluginA')).level).to.eql('degraded'); From 54616ecdb2fa399bf73634d6d277c73a34ab6fa1 Mon Sep 17 00:00:00 2001 From: Maryam Saeidi Date: Thu, 14 Dec 2023 19:08:28 +0100 Subject: [PATCH 060/123] [Custom threshold] Add prefill functionality to the custom threshold rule (#172783) Closes #170295 ## Summary This PR adds prefill functionality to the custom threshold rule. Since we don't have any usage for it right now (it will be used in logs and infra apps), the only way to check it is by looking at tests. --- .../components/alert_flyout.tsx | 42 ---- .../components/metrics_alert_dropdown.tsx | 191 ------------------ .../custom_threshold_rule_expression.test.tsx | 167 ++++++++++----- .../custom_threshold_rule_expression.tsx | 70 ++++++- ....test.tsx => use_expression_data.test.tsx} | 0 .../components/custom_threshold/types.ts | 10 +- .../translations/translations/fr-FR.json | 9 - .../translations/translations/ja-JP.json | 9 - .../translations/translations/zh-CN.json | 9 - 9 files changed, 188 insertions(+), 319 deletions(-) delete mode 100644 x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.tsx delete mode 100644 x-pack/plugins/observability/public/components/custom_threshold/components/metrics_alert_dropdown.tsx rename x-pack/plugins/observability/public/components/custom_threshold/hooks/{use_metrics_explorer_data.test.tsx => use_expression_data.test.tsx} (100%) diff --git a/x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.tsx deleted file mode 100644 index 1a90ffc7460c5..0000000000000 --- a/x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.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 React, { useCallback, useContext, useMemo } from 'react'; - -import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; -import { TriggerActionsContext } from './triggers_actions_context'; -import { observabilityRuleCreationValidConsumers } from '../../../../common/constants'; - -interface Props { - visible?: boolean; - setVisible: React.Dispatch>; -} - -export function AlertFlyout(props: Props) { - const { visible, setVisible } = props; - const { triggersActionsUI } = useContext(TriggerActionsContext); - const onCloseFlyout = useCallback(() => setVisible(false), [setVisible]); - const AddAlertFlyout = useMemo( - () => - triggersActionsUI && - triggersActionsUI.getAddRuleFlyout({ - consumer: 'logs', - onClose: onCloseFlyout, - canChangeTrigger: false, - ruleTypeId: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, - validConsumers: observabilityRuleCreationValidConsumers, - useRuleProducer: true, - }), - [triggersActionsUI, onCloseFlyout] - ); - - return <>{visible && AddAlertFlyout}; -} - -export function PrefilledThresholdAlertFlyout({ onClose }: { onClose(): void }) { - return ; -} diff --git a/x-pack/plugins/observability/public/components/custom_threshold/components/metrics_alert_dropdown.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/metrics_alert_dropdown.tsx deleted file mode 100644 index 91b97161f78da..0000000000000 --- a/x-pack/plugins/observability/public/components/custom_threshold/components/metrics_alert_dropdown.tsx +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; -import React, { useState, useCallback, useMemo } from 'react'; -import { - EuiPopover, - EuiHeaderLink, - EuiContextMenu, - EuiContextMenuPanelDescriptor, -} from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { useKibana } from '@kbn/kibana-react-plugin/public'; -import { InfraClientStartDeps } from '../types'; -import { PrefilledThresholdAlertFlyout } from './alert_flyout'; - -type VisibleFlyoutType = 'inventory' | 'threshold' | null; - -export function MetricsAlertDropdown() { - const [popoverOpen, setPopoverOpen] = useState(false); - const [visibleFlyoutType, setVisibleFlyoutType] = useState(null); - const uiCapabilities = useKibana().services.application?.capabilities; - const { - services: { observability }, - } = useKibana(); - const canCreateAlerts = useMemo( - () => Boolean(uiCapabilities?.infrastructure?.save), - [uiCapabilities] - ); - - const closeFlyout = useCallback(() => setVisibleFlyoutType(null), [setVisibleFlyoutType]); - - const closePopover = useCallback(() => { - setPopoverOpen(false); - }, [setPopoverOpen]); - - const togglePopover = useCallback(() => { - setPopoverOpen(!popoverOpen); - }, [setPopoverOpen, popoverOpen]); - const infrastructureAlertsPanel = useMemo( - () => ({ - id: 1, - title: i18n.translate( - 'xpack.observability.customThreshold.rule.infrastructureDropdownTitle', - { - defaultMessage: 'Infrastructure rules', - } - ), - items: [ - { - 'data-test-subj': 'inventory-alerts-create-rule', - name: i18n.translate( - 'xpack.observability.customThreshold.rule.createInventoryRuleButton', - { - defaultMessage: 'Create inventory rule', - } - ), - onClick: () => { - closePopover(); - setVisibleFlyoutType('inventory'); - }, - }, - ], - }), - [setVisibleFlyoutType, closePopover] - ); - - const metricsAlertsPanel = useMemo( - () => ({ - id: 2, - 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.customThreshold.rule.createThresholdRuleButton', - { - defaultMessage: 'Create threshold rule', - } - ), - onClick: () => { - closePopover(); - setVisibleFlyoutType('threshold'); - }, - }, - ], - }), - [setVisibleFlyoutType, closePopover] - ); - - const manageRulesLinkProps = observability.useRulesLink(); - - const manageAlertsMenuItem = useMemo( - () => ({ - name: i18n.translate('xpack.observability.customThreshold.rule.manageRules', { - defaultMessage: 'Manage rules', - }), - icon: 'tableOfContents', - onClick: manageRulesLinkProps.onClick, - }), - [manageRulesLinkProps] - ); - - const firstPanelMenuItems: EuiContextMenuPanelDescriptor['items'] = useMemo( - () => - canCreateAlerts - ? [ - { - 'data-test-subj': 'inventory-alerts-menu-option', - name: i18n.translate( - 'xpack.observability.customThreshold.rule.infrastructureDropdownMenu', - { - defaultMessage: 'Infrastructure', - } - ), - panel: 1, - }, - { - 'data-test-subj': 'metrics-threshold-alerts-menu-option', - name: i18n.translate('xpack.observability.customThreshold.rule.metricsDropdownMenu', { - defaultMessage: 'Metrics', - }), - panel: 2, - }, - manageAlertsMenuItem, - ] - : [manageAlertsMenuItem], - [canCreateAlerts, manageAlertsMenuItem] - ); - - const panels: EuiContextMenuPanelDescriptor[] = useMemo( - () => - [ - { - id: 0, - title: i18n.translate('xpack.observability.customThreshold.rule.alertDropdownTitle', { - defaultMessage: 'Alerts and rules', - }), - items: firstPanelMenuItems, - }, - ].concat(canCreateAlerts ? [infrastructureAlertsPanel, metricsAlertsPanel] : []), - [infrastructureAlertsPanel, metricsAlertsPanel, firstPanelMenuItems, canCreateAlerts] - ); - return ( - <> - - - - } - isOpen={popoverOpen} - closePopover={closePopover} - > - - - - - ); -} - -interface AlertFlyoutProps { - visibleFlyoutType: VisibleFlyoutType; - onClose(): void; -} - -function AlertFlyout({ visibleFlyoutType, onClose }: AlertFlyoutProps) { - switch (visibleFlyoutType) { - case 'threshold': - return ; - default: - return null; - } -} diff --git a/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx index 0f1742469c312..ce1c9527904cc 100644 --- a/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx @@ -6,16 +6,16 @@ */ import React from 'react'; -import { act } from 'react-dom/test-utils'; -import { QueryClientProvider } from '@tanstack/react-query'; 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 { QueryClientProvider } from '@tanstack/react-query'; +import { act } from 'react-dom/test-utils'; import { Aggregators, Comparator } from '../../../common/custom_threshold_rule/types'; import { useKibana } from '../../utils/kibana_react'; import { kibanaStartMock } from '../../utils/kibana_react.mock'; import Expressions from './custom_threshold_rule_expression'; +import { CustomThresholdPrefillOptions } from './types'; jest.mock('../../utils/kibana_react'); jest.mock('./components/preview_chart/preview_chart', () => ({ @@ -38,7 +38,10 @@ describe('Expression', () => { mockKibana(); }); - async function setup() { + async function setup( + currentOptions?: CustomThresholdPrefillOptions, + customRuleParams?: Record + ) { const ruleParams = { criteria: [], groupBy: undefined, @@ -50,6 +53,11 @@ describe('Expression', () => { language: 'kuery', }, }, + ...customRuleParams, + }; + const metadata = { + currentOptions, + adHocDataViewList: [], }; const wrapper = mountWithIntl( @@ -61,9 +69,7 @@ describe('Expression', () => { errors={{}} setRuleParams={(key, value) => Reflect.set(ruleParams, key, value)} setRuleProperty={() => {}} - metadata={{ - adHocDataViewList: [], - }} + metadata={metadata} dataViews={dataViewMock} onChangeMetaData={jest.fn()} /> @@ -81,6 +87,59 @@ describe('Expression', () => { return { wrapper, update, ruleParams }; } + const updateUseKibanaMock = (mockedIndex: any) => { + const mockedDataView = { + getIndexPattern: () => 'mockedIndexPattern', + getName: () => 'mockedName', + ...mockedIndex, + }; + const mockedSearchSource = { + id: 'data_source', + shouldOverwriteDataViewType: false, + requestStartHandlers: [], + inheritOptions: {}, + history: [], + fields: { + index: mockedIndex, + }, + getField: jest.fn(() => mockedDataView), + setField: jest.fn(), + getSerializedFields: jest.fn().mockReturnValue({ index: mockedIndex }), + dependencies: { + aggs: { + types: {}, + }, + }, + }; + const kibanaMock = kibanaStartMock.startContract(); + useKibanaMock.mockReturnValue({ + ...kibanaMock, + services: { + ...kibanaMock.services, + data: { + dataViews: { + create: jest.fn(), + getDefaultDataView: jest.fn(), + }, + query: { + timefilter: { + timefilter: jest.fn(), + }, + queryString: { + getDefaultQuery: jest.fn(), + }, + }, + search: { + searchSource: { + create: jest.fn(() => mockedSearchSource), + createEmpty: jest.fn(() => mockedSearchSource), + }, + }, + }, + }, + }); + }; + it('should use default metrics', async () => { const { ruleParams } = await setup(); expect(ruleParams.criteria).toEqual([ @@ -99,6 +158,41 @@ describe('Expression', () => { ]); }); + it('should prefill the rule using the context metadata', async () => { + const index = 'changedMockedIndex'; + const currentOptions: CustomThresholdPrefillOptions = { + groupBy: ['host.hostname'], + filterQuery: 'foo', + searchConfiguration: { index }, + criteria: [ + { + metrics: [ + { name: 'A', aggType: Aggregators.AVERAGE, field: 'system.load.1' }, + { name: 'B', aggType: Aggregators.CARDINALITY, field: 'system.cpu.user.pct' }, + ], + }, + ], + }; + + const { ruleParams } = await setup(currentOptions, { searchConfiguration: undefined }); + + expect(ruleParams.groupBy).toEqual(['host.hostname']); + expect(ruleParams.searchConfiguration.query.query).toBe('foo'); + expect(ruleParams.searchConfiguration.index).toBe(index); + expect(ruleParams.criteria).toEqual([ + { + metrics: [ + { name: 'A', aggType: Aggregators.AVERAGE, field: 'system.load.1' }, + { name: 'B', aggType: Aggregators.CARDINALITY, field: 'system.cpu.user.pct' }, + ], + comparator: Comparator.GT, + threshold: [100], + timeSize: 1, + timeUnit: 'm', + }, + ]); + }); + it('should show an error message when searchSource throws an error', async () => { const errorMessage = 'Error in searchSource create'; const kibanaMock = kibanaStartMock.startContract(); @@ -140,49 +234,7 @@ describe('Expression', () => { // We should not provide timeFieldName here to show thresholdRuleDataViewErrorNoTimestamp error // timeFieldName: '@timestamp', }; - const mockedDataView = { - getIndexPattern: () => 'mockedIndexPattern', - getName: () => 'mockedName', - ...mockedIndex, - }; - const mockedSearchSource = { - id: 'data_source', - shouldOverwriteDataViewType: false, - requestStartHandlers: [], - inheritOptions: {}, - history: [], - fields: { - index: mockedIndex, - }, - getField: jest.fn(() => mockedDataView), - dependencies: { - aggs: { - types: {}, - }, - }, - }; - const kibanaMock = kibanaStartMock.startContract(); - useKibanaMock.mockReturnValue({ - ...kibanaMock, - services: { - ...kibanaMock.services, - data: { - dataViews: { - create: jest.fn(), - }, - query: { - timefilter: { - timefilter: jest.fn(), - }, - }, - search: { - searchSource: { - create: jest.fn(() => mockedSearchSource), - }, - }, - }, - }, - }); + updateUseKibanaMock(mockedIndex); const { wrapper } = await setup(); expect( wrapper.find(`[data-test-subj="thresholdRuleDataViewErrorNoTimestamp"]`).first().text() @@ -190,4 +242,19 @@ describe('Expression', () => { 'The selected data view does not have a timestamp field, please select another data view.' ); }); + + it('should use output of getSerializedFields() as searchConfiguration', async () => { + const mockedIndex = { + id: 'c34a7c79-a88b-4b4a-ad19-72f6d24104e4', + title: 'metrics-fake_hosts', + fieldFormatMap: {}, + typeMeta: {}, + timeFieldName: '@timestamp', + }; + updateUseKibanaMock(mockedIndex); + const { ruleParams } = await setup(undefined, { searchConfiguration: undefined }); + expect(ruleParams.searchConfiguration).toEqual({ + index: mockedIndex, + }); + }); }); diff --git a/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx b/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx index 539f8fbf4f58d..0df72511ce559 100644 --- a/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx @@ -96,14 +96,24 @@ export default function Expressions(props: Props) { let initialSearchConfiguration = ruleParams.searchConfiguration; if (!ruleParams.searchConfiguration || !ruleParams.searchConfiguration.index) { - const newSearchSource = data.search.searchSource.createEmpty(); - newSearchSource.setField('query', data.query.queryString.getDefaultQuery()); - const defaultDataView = await data.dataViews.getDefaultDataView(); - if (defaultDataView) { - newSearchSource.setField('index', defaultDataView); - setDataView(defaultDataView); + if (metadata?.currentOptions?.searchConfiguration) { + initialSearchConfiguration = { + ...metadata.currentOptions.searchConfiguration, + query: { + query: ruleParams.searchConfiguration?.query ?? '', + language: 'kuery', + }, + }; + } else { + const newSearchSource = data.search.searchSource.createEmpty(); + newSearchSource.setField('query', data.query.queryString.getDefaultQuery()); + const defaultDataView = await data.dataViews.getDefaultDataView(); + if (defaultDataView) { + newSearchSource.setField('index', defaultDataView); + setDataView(defaultDataView); + } + initialSearchConfiguration = newSearchSource.getSerializedFields(); } - initialSearchConfiguration = newSearchSource.getSerializedFields(); } try { @@ -151,7 +161,15 @@ export default function Expressions(props: Props) { setTimeSize(ruleParams.criteria[0].timeSize); setTimeUnit(ruleParams.criteria[0].timeUnit); } else { - setRuleParams('criteria', [defaultExpression]); + preFillCriteria(); + } + + if (!ruleParams.filterQuery) { + preFillFilterQuery(); + } + + if (!ruleParams.groupBy) { + preFillGroupBy(); } if (typeof ruleParams.alertOnNoData === 'undefined') { @@ -259,6 +277,42 @@ export default function Expressions(props: Props) { [ruleParams.criteria, setRuleParams] ); + const preFillFilterQuery = useCallback(() => { + const md = metadata; + + if (md && md.currentOptions?.filterQuery) { + setRuleParams('searchConfiguration', { + ...ruleParams.searchConfiguration, + query: { + query: md.currentOptions.filterQuery, + language: 'kuery', + }, + }); + } + }, [metadata, setRuleParams, ruleParams.searchConfiguration]); + + const preFillCriteria = useCallback(() => { + const md = metadata; + if (md?.currentOptions?.criteria?.length) { + setRuleParams( + 'criteria', + md.currentOptions.criteria.map((criterion) => ({ + ...defaultExpression, + ...criterion, + })) + ); + } else { + setRuleParams('criteria', [defaultExpression]); + } + }, [metadata, setRuleParams]); + + const preFillGroupBy = useCallback(() => { + const md = metadata; + if (md && md.currentOptions?.groupBy) { + setRuleParams('groupBy', md.currentOptions.groupBy); + } + }, [metadata, setRuleParams]); + const hasGroupBy = useMemo( () => ruleParams.groupBy && ruleParams.groupBy.length > 0, [ruleParams.groupBy] diff --git a/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_expression_data.test.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.test.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/hooks/use_expression_data.test.tsx diff --git a/x-pack/plugins/observability/public/components/custom_threshold/types.ts b/x-pack/plugins/observability/public/components/custom_threshold/types.ts index dc0ad4eb71627..9753cabbc118f 100644 --- a/x-pack/plugins/observability/public/components/custom_threshold/types.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/types.ts @@ -15,6 +15,7 @@ import { EmbeddableStart } from '@kbn/embeddable-plugin/public'; import { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import { LensPublicStart } from '@kbn/lens-plugin/public'; import { ObservabilitySharedPluginStart } from '@kbn/observability-shared-plugin/public'; +import { OsqueryPluginStart } from '@kbn/osquery-plugin/public'; import { SharePluginStart } from '@kbn/share-plugin/public'; import { SpacesPluginStart } from '@kbn/spaces-plugin/public'; import { @@ -28,11 +29,18 @@ import { CustomMetricExpressionParams, BaseMetricExpressionParams, aggType, + ThresholdParams, + MetricExpressionParams, } from '../../../common/custom_threshold_rule/types'; import { ObservabilityPublicStart } from '../../plugin'; +export type CustomThresholdPrefillOptions = Partial< + Omit & { criteria: Array> } +>; + export interface AlertContextMeta { adHocDataViewList: DataView[]; + currentOptions?: CustomThresholdPrefillOptions; } export type MetricExpression = Omit & { @@ -66,7 +74,7 @@ export interface InfraClientStartDeps { lens: LensPublicStart; observability: ObservabilityPublicStart; observabilityShared: ObservabilitySharedPluginStart; - osquery?: unknown; // OsqueryPluginStart; + osquery?: OsqueryPluginStart; share: SharePluginStart; spaces: SpacesPluginStart; storage: IStorageWrapper; diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 53e6407db2a7b..549c459b4944f 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -28910,7 +28910,6 @@ "xpack.observability.customThreshold.rule.alertDetailsAppSection.summaryField.rule": "Règle", "xpack.observability.customThreshold.rule.alertDetailsAppSection.thresholdTitle": "Seuil dépassé", "xpack.observability.customThreshold.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.customThreshold.rule.alertDropdownTitle": "Alertes et règles", "xpack.observability.customThreshold.rule.alertFlyout.addCondition": "Ajouter une condition", "xpack.observability.customThreshold.rule.alertFlyout.aggregationText.avg": "Moyenne", "xpack.observability.customThreshold.rule.alertFlyout.aggregationText.cardinality": "Cardinalité", @@ -28958,19 +28957,11 @@ "xpack.observability.customThreshold.rule.alerting.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif.\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.observability.customThreshold.rule.alerting.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\} a récupéré.\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.observability.customThreshold.rule.alerting.threshold.noDataFormattedValue": "[AUCUNE DONNÉE]", - "xpack.observability.customThreshold.rule.alertsButton": "Alertes et règles", "xpack.observability.customThreshold.rule.cloudActionVariableDescription": "Objet cloud défini par ECS s'il est disponible dans la source.", "xpack.observability.customThreshold.rule.containerActionVariableDescription": "Objet conteneur défini par ECS s'il est disponible dans la source.", - "xpack.observability.customThreshold.rule.createInventoryRuleButton": "Créer une règle d'inventaire", - "xpack.observability.customThreshold.rule.createThresholdRuleButton": "Créer une règle de seuil", "xpack.observability.customThreshold.rule.groupByKeysActionVariableDescription": "Objet contenant les groupes qui fournissent les données", "xpack.observability.customThreshold.rule.hostActionVariableDescription": "Objet hôte défini par ECS s'il est disponible dans la source.", - "xpack.observability.customThreshold.rule.infrastructureDropdownMenu": "Infrastructure", - "xpack.observability.customThreshold.rule.infrastructureDropdownTitle": "Règles d'infrastructure", "xpack.observability.customThreshold.rule.labelsActionVariableDescription": "Liste d'étiquettes associées avec l'entité sur laquelle l'alerte s'est déclenchée.", - "xpack.observability.customThreshold.rule.manageRules": "Gérer les règles", - "xpack.observability.customThreshold.rule.metricsDropdownMenu": "Indicateurs", - "xpack.observability.customThreshold.rule.metricsDropdownTitle": "Règles d'indicateurs", "xpack.observability.customThreshold.rule.orchestratorActionVariableDescription": "Objet orchestrateur défini par ECS s'il est disponible dans la source.", "xpack.observability.customThreshold.rule.reasonActionVariableDescription": "Une description concise de la raison du signalement", "xpack.observability.customThreshold.rule.schema.invalidFilterQuery": "filterQuery doit être un filtre KQL valide", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 0262f5fe786e5..8ab33bb6186bb 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -28910,7 +28910,6 @@ "xpack.observability.customThreshold.rule.alertDetailsAppSection.summaryField.rule": "ルール", "xpack.observability.customThreshold.rule.alertDetailsAppSection.thresholdTitle": "しきい値を超えました", "xpack.observability.customThreshold.rule.alertDetailUrlActionVariableDescription": "アラートトラブルシューティングビューにリンクして、さらに詳しい状況や詳細を確認できます。server.publicBaseUrlが構成されていない場合は、空の文字列になります。", - "xpack.observability.customThreshold.rule.alertDropdownTitle": "アラートとルール", "xpack.observability.customThreshold.rule.alertFlyout.addCondition": "条件を追加", "xpack.observability.customThreshold.rule.alertFlyout.aggregationText.avg": "平均", "xpack.observability.customThreshold.rule.alertFlyout.aggregationText.cardinality": "基数", @@ -28958,19 +28957,11 @@ "xpack.observability.customThreshold.rule.alerting.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}はアクティブです。\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.observability.customThreshold.rule.alerting.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\}が回復しました。\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.observability.customThreshold.rule.alerting.threshold.noDataFormattedValue": "[データなし]", - "xpack.observability.customThreshold.rule.alertsButton": "アラートとルール", "xpack.observability.customThreshold.rule.cloudActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたクラウドオブジェクト。", "xpack.observability.customThreshold.rule.containerActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたコンテナーオブジェクト。", - "xpack.observability.customThreshold.rule.createInventoryRuleButton": "インベントリルールの作成", - "xpack.observability.customThreshold.rule.createThresholdRuleButton": "しきい値ルールを作成", "xpack.observability.customThreshold.rule.groupByKeysActionVariableDescription": "データを報告しているグループを含むオブジェクト", "xpack.observability.customThreshold.rule.hostActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたホストオブジェクト。", - "xpack.observability.customThreshold.rule.infrastructureDropdownMenu": "インフラストラクチャー", - "xpack.observability.customThreshold.rule.infrastructureDropdownTitle": "インフラストラクチャールール", "xpack.observability.customThreshold.rule.labelsActionVariableDescription": "このアラートがトリガーされたエンティティに関連付けられたラベルのリスト。", - "xpack.observability.customThreshold.rule.manageRules": "ルールの管理", - "xpack.observability.customThreshold.rule.metricsDropdownMenu": "メトリック", - "xpack.observability.customThreshold.rule.metricsDropdownTitle": "メトリックルール", "xpack.observability.customThreshold.rule.orchestratorActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたオーケストレーターオブジェクト。", "xpack.observability.customThreshold.rule.reasonActionVariableDescription": "アラートの理由の簡潔な説明", "xpack.observability.customThreshold.rule.schema.invalidFilterQuery": "filterQueryは有効なKQLフィルターでなければなりません", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index fae7979b4b37d..d12e878252732 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -28907,7 +28907,6 @@ "xpack.observability.customThreshold.rule.alertDetailsAppSection.summaryField.rule": "规则", "xpack.observability.customThreshold.rule.alertDetailsAppSection.thresholdTitle": "超出阈值", "xpack.observability.customThreshold.rule.alertDetailUrlActionVariableDescription": "链接到告警故障排除视图获取进一步的上下文和详情。如果未配置 server.publicBaseUrl,这将为空字符串。", - "xpack.observability.customThreshold.rule.alertDropdownTitle": "告警和规则", "xpack.observability.customThreshold.rule.alertFlyout.addCondition": "添加条件", "xpack.observability.customThreshold.rule.alertFlyout.aggregationText.avg": "平均值", "xpack.observability.customThreshold.rule.alertFlyout.aggregationText.cardinality": "基数", @@ -28955,19 +28954,11 @@ "xpack.observability.customThreshold.rule.alerting.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 处于活动状态。\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.observability.customThreshold.rule.alerting.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\} 已恢复。\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.observability.customThreshold.rule.alerting.threshold.noDataFormattedValue": "[无数据]", - "xpack.observability.customThreshold.rule.alertsButton": "告警和规则", "xpack.observability.customThreshold.rule.cloudActionVariableDescription": "ECS 定义的云对象(如果在源中可用)。", "xpack.observability.customThreshold.rule.containerActionVariableDescription": "ECS 定义的容器对象(如果在源中可用)。", - "xpack.observability.customThreshold.rule.createInventoryRuleButton": "创建库存规则", - "xpack.observability.customThreshold.rule.createThresholdRuleButton": "创建阈值规则", "xpack.observability.customThreshold.rule.groupByKeysActionVariableDescription": "包含正报告数据的组的对象", "xpack.observability.customThreshold.rule.hostActionVariableDescription": "ECS 定义的主机对象(如果在源中可用)。", - "xpack.observability.customThreshold.rule.infrastructureDropdownMenu": "基础设施", - "xpack.observability.customThreshold.rule.infrastructureDropdownTitle": "基础设施规则", "xpack.observability.customThreshold.rule.labelsActionVariableDescription": "与在其上触发此告警的实体关联的标签列表。", - "xpack.observability.customThreshold.rule.manageRules": "管理规则", - "xpack.observability.customThreshold.rule.metricsDropdownMenu": "指标", - "xpack.observability.customThreshold.rule.metricsDropdownTitle": "指标规则", "xpack.observability.customThreshold.rule.orchestratorActionVariableDescription": "ECS 定义的 Orchestrator 对象(如果在源中可用)。", "xpack.observability.customThreshold.rule.reasonActionVariableDescription": "告警原因的简洁描述", "xpack.observability.customThreshold.rule.schema.invalidFilterQuery": "filterQuery 必须是有效的 KQL 筛选", From 25599df70407c092d5c35759ea3fa463bbabd554 Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 14 Dec 2023 12:26:35 -0600 Subject: [PATCH 061/123] [Security Solution] - skipping failing Cypress test (#173407) --- .../alert_details_right_panel_overview_tab.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 fb2af6a16b022..e9fe42b6951ea 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 @@ -334,7 +334,7 @@ describe( // TODO work on getting proper data to make the prevalence section work here // we need to generate enough data to have at least one field with prevalence - it('should display prevalence section', () => { + it.skip('should display prevalence section', () => { toggleOverviewTabAboutSection(); toggleOverviewTabInvestigationSection(); toggleOverviewTabInsightsSection(); From ff78f889f2df2be69d729f85404106abbf0c0af2 Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 14 Dec 2023 13:32:12 -0600 Subject: [PATCH 062/123] [Security Solution] - skipping failing Cypress test (#173415) ## Summary Skipping test as it was failing on main (see https://github.com/elastic/kibana/issues/173122) --- .../e2e/investigations/alerts/alert_table_action_column.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_action_column.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_action_column.cy.ts index df8136f3e74d9..b8e31186a1366 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_action_column.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_action_column.cy.ts @@ -15,7 +15,7 @@ import { login } from '../../../tasks/login'; import { visitWithTimeRange } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; -describe('Alerts Table Action column', { tags: ['@ess', '@serverless'] }, () => { +describe.skip('Alerts Table Action column', { tags: ['@ess', '@serverless'] }, () => { before(() => { cy.task('esArchiverLoad', { archiveName: 'process_ancestry', From a77a03ac8a6e9979ab65e675b94f4ceb7a105334 Mon Sep 17 00:00:00 2001 From: Lola Date: Thu, 14 Dec 2023 14:38:33 -0500 Subject: [PATCH 063/123] [Cloud Security] fix text wrapping issue (#173414) ## Summary Summarize your PR. If it involves visual changes include a screenshot or gif. Allow text to wrap in Account Evaluation Widget image --- .../public/components/accounts_evaluated_widget.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/cloud_security_posture/public/components/accounts_evaluated_widget.tsx b/x-pack/plugins/cloud_security_posture/public/components/accounts_evaluated_widget.tsx index ef7e2750b34fd..a9b118be899ab 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/accounts_evaluated_widget.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/accounts_evaluated_widget.tsx @@ -85,7 +85,7 @@ export const AccountsEvaluatedWidget = ({ transition: ${euiTheme.animation.normal} ease-in; border-bottom: ${euiTheme.border.thick}; border-color: transparent; - + text-wrap: nowrap; :hover { cursor: pointer; border-color: ${euiTheme.colors.darkestShade}; From 7a5bf8351a9eb4698a47e4df4761ee52d682b2dd Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 14 Dec 2023 14:09:50 -0600 Subject: [PATCH 064/123] [Security Solution] - skipping failing Cypress test (#173418) --- .../cypress/e2e/investigations/alerts/resolver.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/resolver.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/resolver.cy.ts index 9f7708a6c0d3a..4ecbcd3dbf6db 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/resolver.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/resolver.cy.ts @@ -17,7 +17,7 @@ import { login } from '../../../tasks/login'; import { visitWithTimeRange } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; -describe('Analyze events view for alerts', { tags: ['@ess', '@serverless'] }, () => { +describe.skip('Analyze events view for alerts', { tags: ['@ess', '@serverless'] }, () => { before(() => { createRule(getNewRule()); }); From b35564185341f9796b805b22c05d8e6ba047070a Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 14 Dec 2023 14:56:49 -0600 Subject: [PATCH 065/123] [Security Solution] - skipping failing Cypress test (#173422) --- .../e2e/investigations/alerts/alert_table_controls.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts index 29ef82c419ac0..71c551d246882 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts @@ -40,7 +40,7 @@ import { DATAGRID_HEADER } from '../../../screens/timeline'; * * */ -describe(`Alert Table Controls`, { tags: ['@ess', '@serverless'] }, () => { +describe.skip(`Alert Table Controls`, { tags: ['@ess', '@serverless'] }, () => { beforeEach(() => { login(); createRule(getNewRule()); From 11204b2d7c1a06abca19943476fcfec4bb49f425 Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 14 Dec 2023 15:15:21 -0600 Subject: [PATCH 066/123] [Security Solution] - alert details expandable flyout table width 50-50 to 30-70 (#173399) --- .../document_details/right/components/highlighted_fields.tsx | 4 ++-- .../public/flyout/document_details/right/tabs/table_tab.tsx | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/highlighted_fields.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/highlighted_fields.tsx index 806a43f9f5497..5e6bcb2add441 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/highlighted_fields.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/highlighted_fields.tsx @@ -60,7 +60,7 @@ const columns: Array> = [ /> ), 'data-test-subj': 'fieldCell', - width: '50%', + width: '30%', }, { field: 'description', @@ -71,7 +71,7 @@ const columns: Array> = [ /> ), 'data-test-subj': 'valueCell', - width: '50%', + width: '70%', render: (description: { field: string; values: string[] | null | undefined; diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx index 8351d70216be7..c0083d8f80b2d 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx @@ -47,6 +47,7 @@ export const getColumns: ColumnsProvider = ({ {i18n.FIELD}
), + width: '30%', render: (field, data) => { return ( @@ -60,6 +61,7 @@ export const getColumns: ColumnsProvider = ({ {i18n.VALUE}
), + width: '70%', render: (values, data) => { const fieldFromBrowserField = getFieldFromBrowserField( [data.category as string, 'fields', data.field], From fd50ad1dacdefa8f959f6efa68d5e9de7b32b23f Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 14 Dec 2023 15:27:18 -0600 Subject: [PATCH 067/123] [Security Solution] - skipping failing Cypress test (#173423) ## Summary Skipping test as it was failing on main (see https://github.com/elastic/kibana/issues/170520) --- .../cypress/e2e/investigations/alerts/alerts_charts.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_charts.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_charts.cy.ts index 448687ae956c5..9eacb94b5f4ba 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_charts.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_charts.cy.ts @@ -24,7 +24,7 @@ import { } from '../../../screens/search_bar'; import { TOASTER } from '../../../screens/alerts_detection_rules'; -describe( +describe.skip( 'Histogram legend hover actions', { tags: ['@ess', '@serverless', '@brokenInServerlessQA'] }, () => { From 0711efcacbe1d9989ccdb58c285db0b0bae0fc4d Mon Sep 17 00:00:00 2001 From: christineweng <18648970+christineweng@users.noreply.github.com> Date: Thu, 14 Dec 2023 15:27:55 -0600 Subject: [PATCH 068/123] [Security Solution] Reduce flakiness in ransomware tests (#173316) ## Summary `before` -> `beforeEach` to prevent missing timeline on retry Unload data after test finish Fixes: https://github.com/elastic/kibana/issues/170310 Fixes: https://github.com/elastic/kibana/issues/170846 ### Checklist - [x] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed [100/100 ESS and 100/100 Serverless](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4575#_) --- .../alerts/ransomware_detection.cy.ts | 34 +++++++++---------- .../alerts/ransomware_prevention.cy.ts | 27 ++++++--------- .../cypress/tasks/alerts.ts | 2 +- 3 files changed, 29 insertions(+), 34 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/ransomware_detection.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/ransomware_detection.cy.ts index 0e1f95b1e23a9..3d51fb2f595be 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/ransomware_detection.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/ransomware_detection.cy.ts @@ -14,6 +14,7 @@ import { ALERTS_HISTOGRAM_SERIES, ALERT_RULE_NAME, MESSAGE } from '../../../scre import { TIMELINE_QUERY, TIMELINE_VIEW_IN_ANALYZER } from '../../../screens/timeline'; import { selectAlertsHistogram } from '../../../tasks/alerts'; import { createTimeline } from '../../../tasks/timelines'; +import { deleteTimelines } from '../../../tasks/api_calls/common'; describe('Ransomware Detection Alerts', { tags: ['@ess', '@serverless'] }, () => { before(() => { @@ -24,39 +25,38 @@ describe('Ransomware Detection Alerts', { tags: ['@ess', '@serverless'] }, () => }); }); - describe('Ransomware display in Alerts Section', () => { + after(() => { + cy.task('esArchiverUnload', 'ransomware_detection'); + }); + + describe('Ransomware in Alerts Page', () => { beforeEach(() => { login(); visitWithTimeRange(ALERTS_URL); waitForAlertsToPopulate(); }); - describe('Alerts table', () => { - it('shows Ransomware Alerts', () => { - cy.get(ALERT_RULE_NAME).should('have.text', 'Ransomware Detection Alert'); - }); - }); + it('should show ransomware alerts on alerts page', () => { + cy.log('should show ransomware alerts in alerts table'); - describe('Trend Chart', () => { - beforeEach(() => { - selectAlertsHistogram(); - }); + cy.get(ALERT_RULE_NAME).should('have.text', 'Ransomware Detection Alert'); - it('shows Ransomware Detection Alert in the trend chart', () => { - cy.get(ALERTS_HISTOGRAM_SERIES).should('have.text', 'Ransomware Detection Alert'); - }); + cy.log('should show ransomware prevention alert in the trend chart'); + + selectAlertsHistogram(); + cy.get(ALERTS_HISTOGRAM_SERIES).should('have.text', 'Ransomware Detection Alert'); }); }); - // FLAKY: https://github.com/elastic/kibana/issues/170846 - describe.skip('Ransomware in Timelines', () => { - before(() => { + describe('Ransomware in Timelines', () => { + beforeEach(() => { + deleteTimelines(); login(); visitWithTimeRange(TIMELINES_URL); createTimeline(); }); - it('Renders ransomware entries in timelines table', () => { + it('should show ransomware entries in timelines table', () => { cy.get(TIMELINE_QUERY).type('event.code: "ransomware"{enter}'); // Wait for grid to load, it should have an analyzer icon diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/ransomware_prevention.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/ransomware_prevention.cy.ts index b90413cdfe751..099f2e751458d 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/ransomware_prevention.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/ransomware_prevention.cy.ts @@ -29,39 +29,34 @@ describe('Ransomware Prevention Alerts', { tags: ['@ess', '@serverless'] }, () = cy.task('esArchiverUnload', 'ransomware_prevention'); }); - describe('Ransomware display in Alerts Section', () => { + describe('Ransomware in Alerts Page', () => { beforeEach(() => { login(); visitWithTimeRange(ALERTS_URL); }); - describe('Alerts table', () => { - it('shows Ransomware Alerts', () => { - cy.get(ALERT_RULE_NAME).should('have.text', 'Ransomware Prevention Alert'); - }); - }); + it('should show ransomware alerts on alerts page', () => { + cy.log('should show ransomware alerts in alert table'); - describe('Trend Chart', () => { - beforeEach(() => { - selectAlertsHistogram(); - }); + cy.get(ALERT_RULE_NAME).should('have.text', 'Ransomware Prevention Alert'); - it('shows Ransomware Prevention Alert in the trend chart', () => { - cy.get(ALERTS_HISTOGRAM_SERIES).should('have.text', 'Ransomware Prevention Alert'); - }); + cy.log('should show ransomware prevention alert in the trend chart'); + + selectAlertsHistogram(); + cy.get(ALERTS_HISTOGRAM_SERIES).should('have.text', 'Ransomware Prevention Alert'); }); }); describe('Ransomware in Timelines', function () { - before(() => { + beforeEach(() => { deleteTimelines(); + login(); createTimeline({ ...getTimeline(), query: 'event.code: "ransomware"' }).then((response) => { cy.wrap(response.body.data.persistTimeline.timeline.savedObjectId).as('timelineId'); }); }); - it('Renders ransomware entries in timelines table', function () { - login(); + it('should render ransomware entries in timelines table', function () { const timeline = this.timelineId; visitTimeline(timeline); // Wait for grid to load, it should have an analyzer icon diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts b/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts index cc1a06d3545de..a976336100d2f 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts @@ -273,7 +273,7 @@ export const selectCountTable = () => { }; export const selectAlertsHistogram = () => { - cy.get(SELECT_HISTOGRAM).click({ force: true }); + cy.get(SELECT_HISTOGRAM).click(); }; export const goToAcknowledgedAlerts = () => { From f86f5ae2172d70aed160f7cdc73f66000d195c48 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 14 Dec 2023 21:36:30 +0000 Subject: [PATCH 069/123] skip flaky suite (#172881) --- .../detection_engine/rule_creation/esql_rule_ess.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_creation/esql_rule_ess.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_creation/esql_rule_ess.cy.ts index dc52a7269faf1..ab0fbb0cf445a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_creation/esql_rule_ess.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_creation/esql_rule_ess.cy.ts @@ -86,7 +86,8 @@ describe('Detection ES|QL rules, creation', { tags: ['@ess'] }, () => { }); }); - describe('ES|QL query validation', () => { + // FLAKY: https://github.com/elastic/kibana/issues/172881 + describe.skip('ES|QL query validation', () => { beforeEach(() => { login(); visit(CREATE_RULE_URL); From 65016be11de5d2899f079c3c873988c0882279de Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 14 Dec 2023 21:39:39 +0000 Subject: [PATCH 070/123] skip flaky suite (#148557) --- x-pack/test/functional/apps/dashboard/group2/sync_colors.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 a388a4d90af3b..d82868aa068b3 100644 --- a/x-pack/test/functional/apps/dashboard/group2/sync_colors.ts +++ b/x-pack/test/functional/apps/dashboard/group2/sync_colors.ts @@ -35,7 +35,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { return colorMapping; } - describe('sync colors', function () { + // FLAKY: https://github.com/elastic/kibana/issues/148557 + describe.skip('sync colors', function () { before(async function () { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); await kibanaServer.importExport.load( From 9a5dd789e071bea1c275c275b73ebbeb5c401b19 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 14 Dec 2023 21:41:59 +0000 Subject: [PATCH 071/123] skip flaky suite (#173419) --- .../tests/alerts/transaction_error_rate.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/apm_api_integration/tests/alerts/transaction_error_rate.spec.ts b/x-pack/test/apm_api_integration/tests/alerts/transaction_error_rate.spec.ts index a3f69827cf7a8..5115b1051b8c9 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/transaction_error_rate.spec.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/transaction_error_rate.spec.ts @@ -249,7 +249,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); }); - it('shows alert count=1 for opbeans-node on service inventory', async () => { + // FLAKY: https://github.com/elastic/kibana/issues/173419 + it.skip('shows alert count=1 for opbeans-node on service inventory', async () => { const serviceInventoryAlertCounts = await fetchServiceInventoryAlertCounts(apmApiClient); expect(serviceInventoryAlertCounts).to.eql({ 'opbeans-node': 1, From a1d8272faa8e0f32e53ed45fc86f8d45a15569fc Mon Sep 17 00:00:00 2001 From: Garrett Spong Date: Thu, 14 Dec 2023 14:53:35 -0700 Subject: [PATCH 072/123] [Security Solution] [Elastic AI Assistant] Adds support for arbitrary tool registration (#172234) ## Summary Adds support for arbitrary tool registration on plugin start, allowing any plugin consuming the `elastic_assistant` plugin to register tools specific to their use case. This was achieved by introducing an `AppContextService`, with functions `registerTools` and `getRegisteredTools`. When registering within another plugin's start contract, call `registerTools`, e.g. ``` ts // Assistant Tool and Feature Registration plugins.elasticAssistant.registerTools(APP_UI_ID, getAssistantTools()); ``` and to get any tools for a given plugin, call `getRegisteredTools` with the plugin's name. E.g here within the assistant request handler: ```ts // Fetch any tools registered by the request's originating plugin const pluginName = getPluginNameFromRequest({ request, logger }); const assistantTools = (await context.elasticAssistant).getRegisteredTools(pluginName); ``` > [!NOTE] > Use the plugin name that corresponds to your application as defined in the `x-kbn-context` header of requests made from your application. This is the value used to fetch relevant tools, which may be different than your plugin's registered `APP_ID`. ### Test instructions Since no new tool functionality has been enabled here, you can just follow the test instructions from https://github.com/elastic/kibana/pull/173121, and ensure that enabling/disabling the KB or RAG on Alerts still functions as expected. You should see the registered tools as a debug logger, e.g. ``` [DEBUG][plugins.elasticAssistant] AppContextService:getRegisteredTools [DEBUG][plugins.elasticAssistant] pluginName: securitySolutionUI [DEBUG][plugins.elasticAssistant] tools: AlertCountsTool, ESQLKnowledgeBaseTool, OpenAndAcknowledgedAlertsTool [DEBUG][plugins.elasticAssistant] applicable tools: "alert-counts, ESQLKnowledgeBaseTool, open-alerts" ``` ### 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~ - [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> --- .../server/__mocks__/request_context.ts | 2 + .../plugins/elastic_assistant/server/index.ts | 8 +- .../execute_custom_llm_chain/index.ts | 9 +- .../server/lib/langchain/executors/types.ts | 2 + .../get_alert_counts_tool.test.ts | 105 ------ .../alert_counts/get_alert_counts_tool.ts | 47 --- ..._esql_language_knowledge_base_tool.test.ts | 55 ---- .../get_esql_language_knowledge_base_tool.ts | 29 -- .../server/lib/langchain/tools/index.test.ts | 58 ---- .../server/lib/langchain/tools/index.ts | 63 ---- ..._open_and_acknowledged_alerts_tool.test.ts | 218 ------------- .../get_open_and_acknowledged_alerts_tool.ts | 90 ------ .../elastic_assistant/server/plugin.ts | 72 ++++- .../server/routes/evaluate/post_evaluate.ts | 6 + .../server/routes/helpers.test.ts | 67 ++++ .../server/routes/helpers.ts | 53 ++++ .../post_actions_connector_execute.test.ts | 1 + .../routes/post_actions_connector_execute.ts | 10 + .../server/services/app_context.test.ts | 87 +++++ .../server/services/app_context.ts | 69 ++++ .../plugins/elastic_assistant/server/types.ts | 46 +++ .../plugins/elastic_assistant/tsconfig.json | 1 - .../server/assistant/jest.config.js | 19 ++ .../alert_counts/alert_counts_tool.test.ts | 162 ++++++++++ .../tools/alert_counts/alert_counts_tool.ts | 47 +++ .../get_alert_counts_query.test.ts | 0 .../alert_counts/get_alert_counts_query.ts | 0 .../esql_language_knowledge_base_tool.test.ts | 109 +++++++ .../esql_language_knowledge_base_tool.ts | 35 ++ .../server/assistant/tools/index.test.ts | 22 ++ .../server/assistant/tools/index.ts | 17 + ...open_and_acknowledged_alerts_query.test.ts | 0 .../get_open_and_acknowledged_alerts_query.ts | 0 .../helpers.test.ts | 0 .../open_and_acknowledged_alerts/helpers.ts | 0 .../open_and_acknowledged_alerts_tool.test.ts | 298 ++++++++++++++++++ .../open_and_acknowledged_alerts_tool.ts | 93 ++++++ .../security_solution/server/plugin.ts | 6 +- .../server/plugin_contract.ts | 2 + .../plugins/security_solution/tsconfig.json | 4 +- 40 files changed, 1224 insertions(+), 688 deletions(-) delete mode 100644 x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_tool.test.ts delete mode 100644 x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_tool.ts delete mode 100644 x-pack/plugins/elastic_assistant/server/lib/langchain/tools/esql_language_knowledge_base/get_esql_language_knowledge_base_tool.test.ts delete mode 100644 x-pack/plugins/elastic_assistant/server/lib/langchain/tools/esql_language_knowledge_base/get_esql_language_knowledge_base_tool.ts delete mode 100644 x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.test.ts delete mode 100644 x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.ts delete mode 100644 x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.test.ts delete mode 100644 x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.ts create mode 100644 x-pack/plugins/elastic_assistant/server/routes/helpers.test.ts create mode 100644 x-pack/plugins/elastic_assistant/server/routes/helpers.ts create mode 100644 x-pack/plugins/elastic_assistant/server/services/app_context.test.ts create mode 100644 x-pack/plugins/elastic_assistant/server/services/app_context.ts create mode 100644 x-pack/plugins/security_solution/server/assistant/jest.config.js create mode 100644 x-pack/plugins/security_solution/server/assistant/tools/alert_counts/alert_counts_tool.test.ts create mode 100644 x-pack/plugins/security_solution/server/assistant/tools/alert_counts/alert_counts_tool.ts rename x-pack/plugins/{elastic_assistant/server/lib/langchain => security_solution/server/assistant}/tools/alert_counts/get_alert_counts_query.test.ts (100%) rename x-pack/plugins/{elastic_assistant/server/lib/langchain => security_solution/server/assistant}/tools/alert_counts/get_alert_counts_query.ts (100%) create mode 100644 x-pack/plugins/security_solution/server/assistant/tools/esql_language_knowledge_base/esql_language_knowledge_base_tool.test.ts create mode 100644 x-pack/plugins/security_solution/server/assistant/tools/esql_language_knowledge_base/esql_language_knowledge_base_tool.ts create mode 100644 x-pack/plugins/security_solution/server/assistant/tools/index.test.ts create mode 100644 x-pack/plugins/security_solution/server/assistant/tools/index.ts rename x-pack/plugins/{elastic_assistant/server/lib/langchain => security_solution/server/assistant}/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.test.ts (100%) rename x-pack/plugins/{elastic_assistant/server/lib/langchain => security_solution/server/assistant}/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.ts (100%) rename x-pack/plugins/{elastic_assistant/server/lib/langchain => security_solution/server/assistant}/tools/open_and_acknowledged_alerts/helpers.test.ts (100%) rename x-pack/plugins/{elastic_assistant/server/lib/langchain => security_solution/server/assistant}/tools/open_and_acknowledged_alerts/helpers.ts (100%) create mode 100644 x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/open_and_acknowledged_alerts_tool.test.ts create mode 100644 x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/open_and_acknowledged_alerts_tool.ts diff --git a/x-pack/plugins/elastic_assistant/server/__mocks__/request_context.ts b/x-pack/plugins/elastic_assistant/server/__mocks__/request_context.ts index a186b3a19051c..6f68d8f20de32 100644 --- a/x-pack/plugins/elastic_assistant/server/__mocks__/request_context.ts +++ b/x-pack/plugins/elastic_assistant/server/__mocks__/request_context.ts @@ -24,6 +24,7 @@ export const createMockClients = () => { clusterClient: core.elasticsearch.client, elasticAssistant: { actions: actionsClientMock.create(), + getRegisteredTools: jest.fn(), logger: loggingSystemMock.createLogger(), }, savedObjectsClient: core.savedObjects.client, @@ -72,6 +73,7 @@ const createElasticAssistantRequestContextMock = ( ): jest.Mocked => { return { actions: clients.elasticAssistant.actions as unknown as ActionsPluginStart, + getRegisteredTools: jest.fn(), logger: clients.elasticAssistant.logger, }; }; diff --git a/x-pack/plugins/elastic_assistant/server/index.ts b/x-pack/plugins/elastic_assistant/server/index.ts index 0cccc1ba27a7a..1775fc60528e8 100755 --- a/x-pack/plugins/elastic_assistant/server/index.ts +++ b/x-pack/plugins/elastic_assistant/server/index.ts @@ -13,6 +13,10 @@ export async function plugin(initializerContext: PluginInitializerContext) { } export type { - ElasticAssistantPluginSetup as EcsDataQualityDashboardPluginSetup, - ElasticAssistantPluginStart as EcsDataQualityDashboardPluginStart, + ElasticAssistantPluginSetup, + ElasticAssistantPluginStart, + ElasticAssistantPluginSetupDependencies, + ElasticAssistantPluginStartDependencies, + AssistantTool, + AssistantToolParams, } from './types'; diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts index 52a066e54de1e..d6868925cc667 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts @@ -16,7 +16,7 @@ import { KNOWLEDGE_BASE_INDEX_PATTERN } from '../../../routes/knowledge_base/con import type { AgentExecutorParams, AgentExecutorResponse } from '../executors/types'; import { withAssistantSpan } from '../tracers/with_assistant_span'; import { APMTracer } from '../tracers/apm_tracer'; -import { getApplicableTools } from '../tools'; +import { AssistantToolParams } from '../../../types'; export const DEFAULT_AGENT_EXECUTOR_ID = 'Elastic AI Assistant Agent Executor'; @@ -31,6 +31,7 @@ export const callAgentExecutor = async ({ allow, allowReplacement, assistantLangChain, + assistantTools = [], connectorId, elserId, esClient, @@ -71,7 +72,8 @@ export const callAgentExecutor = async ({ // Create a chain that uses the ELSER backed ElasticsearchStore, override k=10 for esql query generation for now const chain = RetrievalQAChain.fromLLM(llm, esStore.asRetriever(10)); - const tools: Tool[] = getApplicableTools({ + // Fetch any applicable tools that the source plugin may have registered + const assistantToolParams: AssistantToolParams = { allow, allowReplacement, alertsIndexPattern, @@ -83,7 +85,8 @@ export const callAgentExecutor = async ({ replacements, request, size, - }); + }; + const tools: Tool[] = assistantTools.flatMap((tool) => tool.getTool(assistantToolParams) ?? []); logger.debug(`applicable tools: ${JSON.stringify(tools.map((t) => t.name).join(', '), null, 2)}`); diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts index bd6a38da5cdc4..e7824e2822f8a 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts @@ -12,6 +12,7 @@ import { Logger } from '@kbn/logging'; import { KibanaRequest } from '@kbn/core-http-server'; import type { LangChainTracer } from 'langchain/callbacks'; import { RequestBody, ResponseBody } from '../types'; +import type { AssistantTool } from '../../../types'; export interface AgentExecutorParams { alertsIndexPattern?: string; @@ -19,6 +20,7 @@ export interface AgentExecutorParams { allow?: string[]; allowReplacement?: string[]; assistantLangChain: boolean; + assistantTools?: AssistantTool[]; connectorId: string; esClient: ElasticsearchClient; kbResource: string | undefined; diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_tool.test.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_tool.test.ts deleted file mode 100644 index cffe31cbcfd39..0000000000000 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_tool.test.ts +++ /dev/null @@ -1,105 +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 { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; -import type { KibanaRequest } from '@kbn/core-http-server'; -import { DynamicTool } from 'langchain/tools'; -import { omit } from 'lodash/fp'; - -import { getAlertCountsTool } from './get_alert_counts_tool'; -import type { RequestBody } from '../../types'; - -describe('getAlertCountsTool', () => { - const alertsIndexPattern = 'alerts-index'; - const esClient = { - search: jest.fn().mockResolvedValue({}), - } as unknown as ElasticsearchClient; - const replacements = { key: 'value' }; - const request = { - body: { - assistantLangChain: false, - alertsIndexPattern: '.alerts-security.alerts-default', - allow: ['@timestamp', 'cloud.availability_zone', 'user.name'], - allowReplacement: ['user.name'], - replacements, - size: 20, - }, - } as unknown as KibanaRequest; - - beforeEach(() => { - jest.clearAllMocks(); - }); - - it('returns a `DynamicTool` with a `func` that calls `esClient.search()` with the expected query', async () => { - const tool: DynamicTool = getAlertCountsTool({ - alertsIndexPattern, - esClient, - replacements, - request, - }) as DynamicTool; - - await tool.func(''); - - expect(esClient.search).toHaveBeenCalledWith({ - aggs: { statusBySeverity: { terms: { field: 'kibana.alert.severity' } } }, - index: ['alerts-index'], - query: { - bool: { - filter: [ - { - bool: { - filter: [{ match_phrase: { 'kibana.alert.workflow_status': 'open' } }], - must_not: [{ exists: { field: 'kibana.alert.building_block_type' } }], - }, - }, - { range: { '@timestamp': { gte: 'now/d', lte: 'now/d' } } }, - ], - }, - }, - size: 0, - }); - }); - - it('returns null when the request is missing required anonymization parameters', () => { - const requestWithMissingParams = omit('body.allow', request) as unknown as KibanaRequest< - unknown, - unknown, - RequestBody - >; - - const tool = getAlertCountsTool({ - alertsIndexPattern, - esClient, - replacements, - request: requestWithMissingParams, - }); - - expect(tool).toBeNull(); - }); - - it('returns null when the alertsIndexPattern is undefined', () => { - const tool = getAlertCountsTool({ - // alertsIndexPattern is undefined - esClient, - replacements, - request, - }); - - expect(tool).toBeNull(); - }); - - it('returns a tool instance with the expected tags', () => { - const tool = getAlertCountsTool({ - alertsIndexPattern, - esClient, - replacements, - request, - }) as DynamicTool; - - expect(tool.tags).toEqual(['alerts', 'alerts-count']); - }); -}); diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_tool.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_tool.ts deleted file mode 100644 index 9c5ec2555d2e5..0000000000000 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_tool.ts +++ /dev/null @@ -1,47 +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 { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; -import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; -import { KibanaRequest } from '@kbn/core-http-server'; -import { DynamicTool, Tool } from 'langchain/tools'; - -import { getAlertsCountQuery } from './get_alert_counts_query'; -import { requestHasRequiredAnonymizationParams } from '../../helpers'; -import type { RequestBody } from '../../types'; - -export const ALERT_COUNTS_TOOL_DESCRIPTION = - 'Call this for the counts of last 24 hours of open alerts in the environment, grouped by their severity'; - -export const getAlertCountsTool = ({ - alertsIndexPattern, - esClient, - replacements, - request, -}: { - alertsIndexPattern?: string; - esClient: ElasticsearchClient; - replacements?: Record; - request: KibanaRequest; -}): Tool | null => { - if (!requestHasRequiredAnonymizationParams(request) || alertsIndexPattern == null) { - return null; - } - - return new DynamicTool({ - name: 'alert-counts', - description: ALERT_COUNTS_TOOL_DESCRIPTION, - func: async () => { - const query = getAlertsCountQuery(alertsIndexPattern); - - const result = await esClient.search(query); - - return JSON.stringify(result); - }, - tags: ['alerts', 'alerts-count'], - }); -}; diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/esql_language_knowledge_base/get_esql_language_knowledge_base_tool.test.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/esql_language_knowledge_base/get_esql_language_knowledge_base_tool.test.ts deleted file mode 100644 index ccd97b7deb088..0000000000000 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/esql_language_knowledge_base/get_esql_language_knowledge_base_tool.test.ts +++ /dev/null @@ -1,55 +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 { RetrievalQAChain } from 'langchain/chains'; -import { DynamicTool } from 'langchain/tools'; - -import { getEsqlLanguageKnowledgeBaseTool } from './get_esql_language_knowledge_base_tool'; - -const chain = {} as RetrievalQAChain; - -describe('getEsqlLanguageKnowledgeBaseTool', () => { - it('returns null if assistantLangChain is false', () => { - const tool = getEsqlLanguageKnowledgeBaseTool({ - assistantLangChain: false, - chain, - modelExists: true, - }); - - expect(tool).toBeNull(); - }); - - it('returns null if modelExists is false (the ELSER model is not installed)', () => { - const tool = getEsqlLanguageKnowledgeBaseTool({ - assistantLangChain: true, - chain, - modelExists: false, // <-- ELSER model is not installed - }); - - expect(tool).toBeNull(); - }); - - it('should return a Tool instance if assistantLangChain and modelExists are true', () => { - const tool = getEsqlLanguageKnowledgeBaseTool({ - assistantLangChain: true, - modelExists: true, - chain, - }); - - expect(tool?.name).toEqual('ESQLKnowledgeBaseTool'); - }); - - it('should return a tool with the expected tags', () => { - const tool = getEsqlLanguageKnowledgeBaseTool({ - assistantLangChain: true, - chain, - modelExists: true, - }) as DynamicTool; - - expect(tool.tags).toEqual(['esql', 'query-generation', 'knowledge-base']); - }); -}); diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/esql_language_knowledge_base/get_esql_language_knowledge_base_tool.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/esql_language_knowledge_base/get_esql_language_knowledge_base_tool.ts deleted file mode 100644 index f49551261a79d..0000000000000 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/esql_language_knowledge_base/get_esql_language_knowledge_base_tool.ts +++ /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 { RetrievalQAChain } from 'langchain/chains'; -import { ChainTool, Tool } from 'langchain/tools'; - -export const getEsqlLanguageKnowledgeBaseTool = ({ - assistantLangChain, - modelExists, - chain, -}: { - assistantLangChain: boolean; - chain: RetrievalQAChain; - /** true when the ELSER model is installed */ - modelExists: boolean; -}): Tool | null => - assistantLangChain && modelExists - ? new ChainTool({ - name: 'ESQLKnowledgeBaseTool', - description: - 'Call this for knowledge on how to build an ESQL query, or answer questions about the ES|QL query language.', - chain, - tags: ['esql', 'query-generation', 'knowledge-base'], - }) - : null; diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.test.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.test.ts deleted file mode 100644 index cb0e79c0558d4..0000000000000 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.test.ts +++ /dev/null @@ -1,58 +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 { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; -import { KibanaRequest } from '@kbn/core-http-server'; -import { RetrievalQAChain } from 'langchain/chains'; - -import { RequestBody } from '../types'; -import { getApplicableTools } from '.'; - -describe('getApplicableTools', () => { - const alertsIndexPattern = 'alerts-index'; - const esClient = { - search: jest.fn().mockResolvedValue({}), - } as unknown as ElasticsearchClient; - const modelExists = true; // the ELSER model is installed - const onNewReplacements = jest.fn(); - const replacements = { key: 'value' }; - const request = { - body: { - assistantLangChain: true, - alertsIndexPattern: '.alerts-security.alerts-default', - allow: ['@timestamp', 'cloud.availability_zone', 'user.name'], - allowReplacement: ['user.name'], - replacements, - size: 20, - }, - } as unknown as KibanaRequest; - const chain = {} as unknown as RetrievalQAChain; - - beforeEach(() => { - jest.clearAllMocks(); - }); - - it('should return an array of applicable tools', () => { - const tools = getApplicableTools({ - alertsIndexPattern, - allow: request.body.allow, - allowReplacement: request.body.allowReplacement, - assistantLangChain: request.body.assistantLangChain, - chain, - esClient, - modelExists, - onNewReplacements, - replacements, - request, - size: request.body.size, - }); - - const minExpectedTools = 3; // 3 tools are currently implemented - - expect(tools.length).toBeGreaterThanOrEqual(minExpectedTools); - }); -}); diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.ts deleted file mode 100644 index 048bdfabce437..0000000000000 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.ts +++ /dev/null @@ -1,63 +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 { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; -import { KibanaRequest } from '@kbn/core-http-server'; -import { RetrievalQAChain } from 'langchain/chains'; -import { Tool } from 'langchain/tools'; - -import { getAlertCountsTool } from './alert_counts/get_alert_counts_tool'; -import { getEsqlLanguageKnowledgeBaseTool } from './esql_language_knowledge_base/get_esql_language_knowledge_base_tool'; -import { getOpenAndAcknowledgedAlertsTool } from './open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool'; -import type { RequestBody } from '../types'; - -export interface GetApplicableTools { - alertsIndexPattern?: string; - allow?: string[]; - allowReplacement?: string[]; - assistantLangChain: boolean; - chain: RetrievalQAChain; - esClient: ElasticsearchClient; - modelExists: boolean; - onNewReplacements?: (newReplacements: Record) => void; - replacements?: Record; - request: KibanaRequest; - size?: number; -} - -export const getApplicableTools = ({ - alertsIndexPattern, - allow, - allowReplacement, - assistantLangChain, - chain, - esClient, - modelExists, - onNewReplacements, - replacements, - request, - size, -}: GetApplicableTools): Tool[] => - [ - getEsqlLanguageKnowledgeBaseTool({ assistantLangChain, chain, modelExists }) ?? [], - getAlertCountsTool({ - alertsIndexPattern, - esClient, - replacements, - request, - }) ?? [], - getOpenAndAcknowledgedAlertsTool({ - alertsIndexPattern, - allow, - allowReplacement, - esClient, - onNewReplacements, - replacements, - request, - size, - }) ?? [], - ].flat(); diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.test.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.test.ts deleted file mode 100644 index 8c769ef284df3..0000000000000 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.test.ts +++ /dev/null @@ -1,218 +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 { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; -import type { KibanaRequest } from '@kbn/core-http-server'; -import { DynamicTool } from 'langchain/tools'; -import { omit } from 'lodash/fp'; - -import { getOpenAndAcknowledgedAlertsTool } from './get_open_and_acknowledged_alerts_tool'; -import { mockAlertsFieldsApi } from '../../../../__mocks__/alerts'; -import type { RequestBody } from '../../types'; -import { MAX_SIZE } from './helpers'; - -describe('getOpenAndAcknowledgedAlertsTool', () => { - const alertsIndexPattern = 'alerts-index'; - const esClient = { - search: jest.fn().mockResolvedValue(mockAlertsFieldsApi), - } as unknown as ElasticsearchClient; - const replacements = { key: 'value' }; - const request = { - body: { - assistantLangChain: false, - alertsIndexPattern: '.alerts-security.alerts-default', - allow: ['@timestamp', 'cloud.availability_zone', 'user.name'], - allowReplacement: ['user.name'], - replacements, - size: 20, - }, - } as unknown as KibanaRequest; - - beforeEach(() => { - jest.clearAllMocks(); - }); - - it('returns a `DynamicTool` with a `func` that calls `esClient.search()` with the expected query', async () => { - const tool: DynamicTool = getOpenAndAcknowledgedAlertsTool({ - alertsIndexPattern, - allow: request.body.allow, - allowReplacement: request.body.allowReplacement, - esClient, - onNewReplacements: jest.fn(), - replacements, - request, - size: request.body.size, - }) as DynamicTool; - - await tool.func(''); - - expect(esClient.search).toHaveBeenCalledWith({ - allow_no_indices: true, - body: { - _source: false, - fields: [ - { - field: '@timestamp', - include_unmapped: true, - }, - { - field: 'cloud.availability_zone', - include_unmapped: true, - }, - { - field: 'user.name', - include_unmapped: true, - }, - ], - query: { - bool: { - filter: [ - { - bool: { - filter: [ - { - bool: { - should: [ - { - match_phrase: { - 'kibana.alert.workflow_status': 'open', - }, - }, - { - match_phrase: { - 'kibana.alert.workflow_status': 'acknowledged', - }, - }, - ], - minimum_should_match: 1, - }, - }, - { - range: { - '@timestamp': { - format: 'strict_date_optional_time', - gte: 'now-1d/d', - lte: 'now/d', - }, - }, - }, - ], - must: [], - must_not: [ - { - exists: { - field: 'kibana.alert.building_block_type', - }, - }, - ], - should: [], - }, - }, - ], - }, - }, - runtime_mappings: {}, - size: 20, - sort: [ - { - 'kibana.alert.risk_score': { - order: 'desc', - }, - }, - { - '@timestamp': { - order: 'desc', - }, - }, - ], - }, - ignore_unavailable: true, - index: ['alerts-index'], - }); - }); - - it('returns null when the request is missing required anonymization parameters', () => { - const requestWithMissingParams = omit('body.allow', request) as unknown as KibanaRequest< - unknown, - unknown, - RequestBody - >; - - const tool = getOpenAndAcknowledgedAlertsTool({ - alertsIndexPattern, - allow: requestWithMissingParams.body.allow, - allowReplacement: requestWithMissingParams.body.allowReplacement, - esClient, - onNewReplacements: jest.fn(), - replacements, - request: requestWithMissingParams, - size: requestWithMissingParams.body.size, - }); - - expect(tool).toBeNull(); - }); - - it('returns null when alertsIndexPattern is undefined', () => { - const tool = getOpenAndAcknowledgedAlertsTool({ - // alertsIndexPattern is undefined - allow: request.body.allow, - allowReplacement: request.body.allowReplacement, - esClient, - onNewReplacements: jest.fn(), - replacements, - request, - size: request.body.size, - }); - - expect(tool).toBeNull(); - }); - - it('returns null when size is undefined', () => { - const tool = getOpenAndAcknowledgedAlertsTool({ - alertsIndexPattern, - allow: request.body.allow, - allowReplacement: request.body.allowReplacement, - esClient, - onNewReplacements: jest.fn(), - replacements, - request, - // size is undefined - }); - - expect(tool).toBeNull(); - }); - - it('returns null when size out of range', () => { - const tool = getOpenAndAcknowledgedAlertsTool({ - alertsIndexPattern, - allow: request.body.allow, - allowReplacement: request.body.allowReplacement, - esClient, - onNewReplacements: jest.fn(), - replacements, - request, - size: MAX_SIZE + 1, // <-- size is out of range - }); - - expect(tool).toBeNull(); - }); - - it('returns a tool instance with the expected tags', () => { - const tool = getOpenAndAcknowledgedAlertsTool({ - alertsIndexPattern, - allow: request.body.allow, - allowReplacement: request.body.allowReplacement, - esClient, - onNewReplacements: jest.fn(), - replacements, - request, - size: request.body.size, - }) as DynamicTool; - - expect(tool.tags).toEqual(['alerts', 'open-alerts']); - }); -}); diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.ts deleted file mode 100644 index c4748230f86ca..0000000000000 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_tool.ts +++ /dev/null @@ -1,90 +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 { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; -import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; -import { KibanaRequest } from '@kbn/core-http-server'; -import { getAnonymizedValue, transformRawData } from '@kbn/elastic-assistant-common'; -import { DynamicTool, Tool } from 'langchain/tools'; -import { requestHasRequiredAnonymizationParams } from '../../helpers'; -import { RequestBody } from '../../types'; - -import { getOpenAndAcknowledgedAlertsQuery } from './get_open_and_acknowledged_alerts_query'; -import { getRawDataOrDefault, sizeIsOutOfRange } from './helpers'; - -export const OPEN_ALERTS_TOOL_DESCRIPTION = - 'Call this for knowledge about the latest n open alerts (sorted by `kibana.alert.risk_score`) in the environment, or when answering questions about open alerts'; - -/** - * Returns a tool for querying open and acknowledged alerts, or null if the - * request doesn't have all the required parameters. - */ -export const getOpenAndAcknowledgedAlertsTool = ({ - alertsIndexPattern, - allow, - allowReplacement, - esClient, - onNewReplacements, - replacements, - request, - size, -}: { - alertsIndexPattern?: string; - allow?: string[]; - allowReplacement?: string[]; - esClient: ElasticsearchClient; - onNewReplacements?: (newReplacements: Record) => void; - replacements?: Record; - request: KibanaRequest; - size?: number; -}): Tool | null => { - if ( - !requestHasRequiredAnonymizationParams(request) || - alertsIndexPattern == null || - size == null || - sizeIsOutOfRange(size) - ) { - return null; - } - - return new DynamicTool({ - name: 'open-alerts', - description: OPEN_ALERTS_TOOL_DESCRIPTION, - func: async () => { - const query = getOpenAndAcknowledgedAlertsQuery({ - alertsIndexPattern, - allow: allow ?? [], - size, - }); - - const result = await esClient.search(query); - - // Accumulate replacements locally so we can, for example use the same - // replacement for a hostname when we see it in multiple alerts: - let localReplacements = { ...replacements }; - const localOnNewReplacements = (newReplacements: Record) => { - localReplacements = { ...localReplacements, ...newReplacements }; // update the local state - - onNewReplacements?.(localReplacements); // invoke the callback with the latest replacements - }; - - return JSON.stringify( - result.hits?.hits?.map((x) => - transformRawData({ - allow: allow ?? [], - allowReplacement: allowReplacement ?? [], - currentReplacements: localReplacements, // <-- the latest local replacements - getAnonymizedValue, - onNewReplacements: localOnNewReplacements, // <-- the local callback - rawData: getRawDataOrDefault(x.fields), - }) - ) - ); - }, - tags: ['alerts', 'open-alerts'], - }); -}; diff --git a/x-pack/plugins/elastic_assistant/server/plugin.ts b/x-pack/plugins/elastic_assistant/server/plugin.ts index a0df339695885..bd06165e57284 100755 --- a/x-pack/plugins/elastic_assistant/server/plugin.ts +++ b/x-pack/plugins/elastic_assistant/server/plugin.ts @@ -18,12 +18,14 @@ import { import { once } from 'lodash'; import { + AssistantTool, ElasticAssistantPluginSetup, ElasticAssistantPluginSetupDependencies, ElasticAssistantPluginStart, ElasticAssistantPluginStartDependencies, ElasticAssistantRequestHandlerContext, GetElser, + PLUGIN_ID, } from './types'; import { deleteKnowledgeBaseRoute, @@ -32,6 +34,13 @@ import { postEvaluateRoute, postKnowledgeBaseRoute, } from './routes'; +import { appContextService, GetRegisteredTools } from './services/app_context'; + +interface CreateRouteHandlerContextParams { + core: CoreSetup; + logger: Logger; + getRegisteredTools: GetRegisteredTools; +} export class ElasticAssistantPlugin implements @@ -48,15 +57,20 @@ export class ElasticAssistantPlugin this.logger = initializerContext.logger.get(); } - private createRouteHandlerContext = ( - core: CoreSetup, - logger: Logger - ): IContextProvider => { + private createRouteHandlerContext = ({ + core, + logger, + getRegisteredTools, + }: CreateRouteHandlerContextParams): IContextProvider< + ElasticAssistantRequestHandlerContext, + typeof PLUGIN_ID + > => { return async function elasticAssistantRouteHandlerContext(context, request) { const [_, pluginsStart] = await core.getStartServices(); return { actions: pluginsStart.actions, + getRegisteredTools, logger, }; }; @@ -65,16 +79,15 @@ export class ElasticAssistantPlugin public setup(core: CoreSetup, plugins: ElasticAssistantPluginSetupDependencies) { this.logger.debug('elasticAssistant: Setup'); const router = core.http.createRouter(); - - core.http.registerRouteHandlerContext< - ElasticAssistantRequestHandlerContext, - 'elasticAssistant' - >( - 'elasticAssistant', - this.createRouteHandlerContext( - core as CoreSetup, - this.logger - ) + core.http.registerRouteHandlerContext( + PLUGIN_ID, + this.createRouteHandlerContext({ + core: core as CoreSetup, + logger: this.logger, + getRegisteredTools: (pluginName: string) => { + return appContextService.getRegisteredTools(pluginName); + }, + }) ); const getElserId: GetElser = once( @@ -94,16 +107,45 @@ export class ElasticAssistantPlugin postEvaluateRoute(router, getElserId); return { actions: plugins.actions, + getRegisteredTools: (pluginName: string) => { + return appContextService.getRegisteredTools(pluginName); + }, }; } public start(core: CoreStart, plugins: ElasticAssistantPluginStartDependencies) { this.logger.debug('elasticAssistant: Started'); + appContextService.start({ logger: this.logger }); return { + /** + * Actions plugin start contract + */ actions: plugins.actions, + + /** + * Get the registered tools for a given plugin name. + * @param pluginName + */ + getRegisteredTools: (pluginName: string) => { + return appContextService.getRegisteredTools(pluginName); + }, + + /** + * Register tools to be used by the Elastic Assistant for a given plugin. Use the plugin name that + * corresponds to your application as defined in the `x-kbn-context` header of requests made from your + * application. + * + * @param pluginName + * @param tools + */ + registerTools: (pluginName: string, tools: AssistantTool[]) => { + return appContextService.registerTools(pluginName, tools); + }, }; } - public stop() {} + public stop() { + appContextService.stop(); + } } diff --git a/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.ts b/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.ts index 39e3233f63744..f5ec4c4555a76 100644 --- a/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.ts +++ b/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.ts @@ -100,6 +100,11 @@ export const postEvaluateRoute = ( throwIfSystemAction: false, }); + // Fetch any tools registered by the request's originating plugin + const assistantTools = (await context.elasticAssistant).getRegisteredTools( + 'securitySolution' + ); + // Get a scoped esClient for passing to the agents for retrieval, and // writing results to the output index const esClient = (await context.core).elasticsearch.client.asCurrentUser; @@ -142,6 +147,7 @@ export const postEvaluateRoute = ( AGENT_EXECUTOR_MAP[agentName]({ actions, assistantLangChain: true, + assistantTools, connectorId, esClient, elserId, diff --git a/x-pack/plugins/elastic_assistant/server/routes/helpers.test.ts b/x-pack/plugins/elastic_assistant/server/routes/helpers.test.ts new file mode 100644 index 0000000000000..384e1f8865736 --- /dev/null +++ b/x-pack/plugins/elastic_assistant/server/routes/helpers.test.ts @@ -0,0 +1,67 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { KibanaRequest } from '@kbn/core-http-server'; +import type { RequestBody } from '../lib/langchain/types'; + +import { DEFAULT_PLUGIN_NAME, getPluginNameFromRequest } from './helpers'; + +describe('getPluginNameFromRequest', () => { + const contextRequestHeaderEncoded = encodeURIComponent( + JSON.stringify({ + type: 'application', + name: 'superSolution', + url: '/kbn/app/super/rules/id/163fa5a4-d72a-45fa-8142-8edc298ecd17/alerts', + page: 'app', + id: 'new', + }) + ); + + const request = { + headers: { + 'x-kbn-context': contextRequestHeaderEncoded, + }, + } as unknown as KibanaRequest; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('extracts plugin name from "x-kbn-context" request header', async () => { + const pluginName = getPluginNameFromRequest({ + request, + defaultPluginName: DEFAULT_PLUGIN_NAME, + }); + expect(pluginName).toEqual('superSolution'); + }); + + it('fails to extract plugin name from undefined "x-kbn-context" request header, falls back to default provided', async () => { + const invalidRequest = { + headers: { + 'x-kbn-context': undefined, + }, + } as unknown as KibanaRequest; + const pluginName = getPluginNameFromRequest({ + request: invalidRequest, + defaultPluginName: DEFAULT_PLUGIN_NAME, + }); + expect(pluginName).toEqual(DEFAULT_PLUGIN_NAME); + }); + + it('fails to extract plugin name from malformed "x-kbn-context" invalidRequest header, falls back to default provided', async () => { + const invalidRequest = { + headers: { + 'x-kbn-context': 'asdfku', + }, + } as unknown as KibanaRequest; + const pluginName = getPluginNameFromRequest({ + request: invalidRequest, + defaultPluginName: DEFAULT_PLUGIN_NAME, + }); + expect(pluginName).toEqual(DEFAULT_PLUGIN_NAME); + }); +}); diff --git a/x-pack/plugins/elastic_assistant/server/routes/helpers.ts b/x-pack/plugins/elastic_assistant/server/routes/helpers.ts new file mode 100644 index 0000000000000..99d4493c16cca --- /dev/null +++ b/x-pack/plugins/elastic_assistant/server/routes/helpers.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { KibanaRequest } from '@kbn/core-http-server'; +import { Logger } from '@kbn/core/server'; +import { RequestBody } from '../lib/langchain/types'; + +interface GetPluginNameFromRequestParams { + request: KibanaRequest; + defaultPluginName: string; + logger?: Logger; +} + +export const DEFAULT_PLUGIN_NAME = 'securitySolutionUI'; + +/** + * Attempts to extract the plugin name the request originated from using the request headers. + * + * Note from Kibana Core: This is not a 100% fit solution, though, because plugins can run in the background, + * or even use other plugins’ helpers (ie, APM can use the infra helpers to call a third plugin) + * + * Should suffice for our purposes here with where the Elastic Assistant is currently used, but if needing a + * dedicated solution, the core folks said to reach out. + * + * @param logger optional logger to log any errors + * @param defaultPluginName default plugin name to use if unable to determine from request + * @param request Kibana Request + * + * @returns plugin name + */ +export const getPluginNameFromRequest = ({ + logger, + defaultPluginName, + request, +}: GetPluginNameFromRequestParams): string => { + try { + const contextHeader = request.headers['x-kbn-context']; + if (contextHeader != null) { + return JSON.parse( + decodeURIComponent(Array.isArray(contextHeader) ? contextHeader[0] : contextHeader) + )?.name; + } + } catch (err) { + logger?.error( + `Error determining source plugin for selecting tools, using ${defaultPluginName}.` + ); + } + return defaultPluginName; +}; diff --git a/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.test.ts b/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.test.ts index 537ead452c8ea..0f7d964eea480 100644 --- a/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.test.ts +++ b/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.test.ts @@ -56,6 +56,7 @@ jest.mock('../lib/langchain/execute_custom_llm_chain', () => ({ const mockContext = { elasticAssistant: { actions: jest.fn(), + getRegisteredTools: jest.fn(() => []), logger: loggingSystemMock.createLogger(), }, core: { diff --git a/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts b/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts index ed68f3526a112..9c1d8601da532 100644 --- a/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts +++ b/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts @@ -23,6 +23,7 @@ import { import { ElasticAssistantRequestHandlerContext, GetElser } from '../types'; import { ESQL_RESOURCE } from './knowledge_base/constants'; import { callAgentExecutor } from '../lib/langchain/execute_custom_llm_chain'; +import { DEFAULT_PLUGIN_NAME, getPluginNameFromRequest } from './helpers'; export const postActionsConnectorExecuteRoute = ( router: IRouter, @@ -58,6 +59,14 @@ export const postActionsConnectorExecuteRoute = ( // TODO: Add `traceId` to actions request when calling via langchain logger.debug('Executing via langchain, assistantLangChain: true'); + // Fetch any tools registered by the request's originating plugin + const pluginName = getPluginNameFromRequest({ + request, + defaultPluginName: DEFAULT_PLUGIN_NAME, + logger, + }); + const assistantTools = (await context.elasticAssistant).getRegisteredTools(pluginName); + // get a scoped esClient for assistant memory const esClient = (await context.core).elasticsearch.client.asCurrentUser; @@ -79,6 +88,7 @@ export const postActionsConnectorExecuteRoute = ( allowReplacement: request.body.allowReplacement, actions, assistantLangChain: request.body.assistantLangChain, + assistantTools, connectorId, elserId, esClient, diff --git a/x-pack/plugins/elastic_assistant/server/services/app_context.test.ts b/x-pack/plugins/elastic_assistant/server/services/app_context.test.ts new file mode 100644 index 0000000000000..621995d3452be --- /dev/null +++ b/x-pack/plugins/elastic_assistant/server/services/app_context.test.ts @@ -0,0 +1,87 @@ +/* + * 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 { appContextService, ElasticAssistantAppContext } from './app_context'; +import { loggerMock } from '@kbn/logging-mocks'; +import { AssistantTool } from '../types'; + +// Mock Logger +const mockLogger = loggerMock.create(); + +// Mock ElasticAssistantAppContext +const mockAppContext: ElasticAssistantAppContext = { + logger: mockLogger, +}; + +describe('AppContextService', () => { + const toolOne: AssistantTool = { + id: 'tool-one', + name: 'ToolOne', + description: 'Description 1', + sourceRegister: 'Source1', + isSupported: jest.fn(), + getTool: jest.fn(), + }; + const toolTwo: AssistantTool = { + id: 'tool-two', + name: 'ToolTwo', + description: 'Description 2', + sourceRegister: 'Source2', + isSupported: jest.fn(), + getTool: jest.fn(), + }; + + beforeEach(() => { + appContextService.stop(); + jest.clearAllMocks(); + }); + + describe('starting and stopping', () => { + it('should clear registered tools when stopped ', () => { + appContextService.start(mockAppContext); + appContextService.registerTools('super', [toolOne]); + appContextService.stop(); + + expect(appContextService.getRegisteredTools('super').length).toBe(0); + }); + }); + + describe('registering tools', () => { + it('should register and get tools for a single plugin', () => { + const pluginName = 'pluginName'; + + appContextService.start(mockAppContext); + appContextService.registerTools(pluginName, [toolOne, toolTwo]); + + // Check if getRegisteredTools returns the correct tools + const retrievedTools = appContextService.getRegisteredTools(pluginName); + expect(retrievedTools).toEqual([toolOne, toolTwo]); + }); + + it('should register and get tools for multiple plugins', () => { + const pluginOne = 'plugin1'; + const pluginTwo = 'plugin2'; + + appContextService.start(mockAppContext); + appContextService.registerTools(pluginOne, [toolOne]); + appContextService.registerTools(pluginTwo, [toolTwo]); + + expect(appContextService.getRegisteredTools(pluginOne)).toEqual([toolOne]); + expect(appContextService.getRegisteredTools(pluginTwo)).toEqual([toolTwo]); + }); + + it('should not add the same tool twice', () => { + const pluginName = 'pluginName'; + + appContextService.start(mockAppContext); + appContextService.registerTools(pluginName, [toolOne]); + appContextService.registerTools(pluginName, [toolOne]); + + expect(appContextService.getRegisteredTools(pluginName).length).toEqual(1); + }); + }); +}); diff --git a/x-pack/plugins/elastic_assistant/server/services/app_context.ts b/x-pack/plugins/elastic_assistant/server/services/app_context.ts new file mode 100644 index 0000000000000..bd7a7c0cc3203 --- /dev/null +++ b/x-pack/plugins/elastic_assistant/server/services/app_context.ts @@ -0,0 +1,69 @@ +/* + * 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 { Logger } from '@kbn/core/server'; +import type { AssistantTool } from '../types'; + +export type PluginName = string; +export type RegisteredToolsStorage = Map>; +export type GetRegisteredTools = (pluginName: string) => AssistantTool[]; +export interface ElasticAssistantAppContext { + logger: Logger; +} + +/** + * Service for managing context specific to the Elastic Assistant + * + * Inspired by `AppContextService` impl from fleet plugin: x-pack/plugins/fleet/server/services/app_context.ts + */ +class AppContextService { + private logger: Logger | undefined; + private registeredTools: RegisteredToolsStorage = new Map>(); + + public start(appContext: ElasticAssistantAppContext) { + this.logger = appContext.logger; + } + + public stop() { + this.registeredTools.clear(); + } + + /** + * Register tools to be used by the Elastic Assistant + * + * @param pluginName + * @param tools + */ + public registerTools(pluginName: string, tools: AssistantTool[]) { + this.logger?.debug('AppContextService:registerTools'); + this.logger?.debug(`pluginName: ${pluginName}`); + this.logger?.debug(`tools: ${tools.map((tool) => tool.name).join(', ')}`); + + if (!this.registeredTools.has(pluginName)) { + this.logger?.debug('plugin has no tools, making new set'); + this.registeredTools.set(pluginName, new Set()); + } + tools.forEach((tool) => this.registeredTools.get(pluginName)?.add(tool)); + } + + /** + * Get the registered tools + * + * @param pluginName + */ + public getRegisteredTools(pluginName: string): AssistantTool[] { + const tools = Array.from(this.registeredTools?.get(pluginName) ?? new Set()); + + this.logger?.debug('AppContextService:getRegisteredTools'); + this.logger?.debug(`pluginName: ${pluginName}`); + this.logger?.debug(`tools: ${tools.map((tool) => tool.name).join(', ')}`); + + return tools; + } +} + +export const appContextService = new AppContextService(); diff --git a/x-pack/plugins/elastic_assistant/server/types.ts b/x-pack/plugins/elastic_assistant/server/types.ts index ed9081c084420..5be8a35a275b9 100755 --- a/x-pack/plugins/elastic_assistant/server/types.ts +++ b/x-pack/plugins/elastic_assistant/server/types.ts @@ -16,6 +16,13 @@ import type { SavedObjectsClientContract, } from '@kbn/core/server'; import { type MlPluginSetup } from '@kbn/ml-plugin/server'; +import { Tool } from 'langchain/dist/tools/base'; +import { RetrievalQAChain } from 'langchain/chains'; +import { ElasticsearchClient } from '@kbn/core/server'; +import { RequestBody } from './lib/langchain/types'; +import type { GetRegisteredTools } from './services/app_context'; + +export const PLUGIN_ID = 'elasticAssistant' as const; /** The plugin setup interface */ export interface ElasticAssistantPluginSetup { @@ -25,6 +32,17 @@ export interface ElasticAssistantPluginSetup { /** The plugin start interface */ export interface ElasticAssistantPluginStart { actions: ActionsPluginStart; + /** + * Register tools to be used by the elastic assistant + * @param pluginName Name of the plugin the tool should be registered to + * @param tools AssistantTools to be registered with for the given plugin + */ + registerTools: (pluginName: string, tools: AssistantTool[]) => void; + /** + * Get the registered tools + * @param pluginName Name of the plugin to get the tools for + */ + getRegisteredTools: GetRegisteredTools; } export interface ElasticAssistantPluginSetupDependencies { @@ -37,6 +55,7 @@ export interface ElasticAssistantPluginStartDependencies { export interface ElasticAssistantApiRequestHandlerContext { actions: ActionsPluginStart; + getRegisteredTools: GetRegisteredTools; logger: Logger; } @@ -51,3 +70,30 @@ export type GetElser = ( request: KibanaRequest, savedObjectsClient: SavedObjectsClientContract ) => Promise | never; + +/** + * Interfaces for registering tools to be used by the elastic assistant + */ + +export interface AssistantTool { + id: string; + name: string; + description: string; + sourceRegister: string; + isSupported: (params: AssistantToolParams) => boolean; + getTool: (params: AssistantToolParams) => Tool | null; +} + +export interface AssistantToolParams { + alertsIndexPattern?: string; + allow?: string[]; + allowReplacement?: string[]; + assistantLangChain: boolean; + chain: RetrievalQAChain; + esClient: ElasticsearchClient; + modelExists: boolean; + onNewReplacements?: (newReplacements: Record) => void; + replacements?: Record; + request: KibanaRequest; + size?: number; +} diff --git a/x-pack/plugins/elastic_assistant/tsconfig.json b/x-pack/plugins/elastic_assistant/tsconfig.json index 5cad4d4b52141..53616fc2dc2b0 100644 --- a/x-pack/plugins/elastic_assistant/tsconfig.json +++ b/x-pack/plugins/elastic_assistant/tsconfig.json @@ -21,7 +21,6 @@ "@kbn/securitysolution-io-ts-utils", "@kbn/actions-plugin", "@kbn/elastic-assistant", - "@kbn/elastic-assistant-common", "@kbn/logging-mocks", "@kbn/core-elasticsearch-server-mocks", "@kbn/core-logging-server-mocks", diff --git a/x-pack/plugins/security_solution/server/assistant/jest.config.js b/x-pack/plugins/security_solution/server/assistant/jest.config.js new file mode 100644 index 0000000000000..787dae7ce8d68 --- /dev/null +++ b/x-pack/plugins/security_solution/server/assistant/jest.config.js @@ -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. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../../..', + roots: ['/x-pack/plugins/security_solution/server/assistant'], + coverageDirectory: + '/target/kibana-coverage/jest/x-pack/plugins/security_solution/server/assistant', + coverageReporters: ['text', 'html'], + collectCoverageFrom: [ + '/x-pack/plugins/security_solution/server/assistant/**/*.{ts,tsx}', + ], + moduleNameMapper: require('../__mocks__/module_name_map'), +}; diff --git a/x-pack/plugins/security_solution/server/assistant/tools/alert_counts/alert_counts_tool.test.ts b/x-pack/plugins/security_solution/server/assistant/tools/alert_counts/alert_counts_tool.test.ts new file mode 100644 index 0000000000000..715d656944c86 --- /dev/null +++ b/x-pack/plugins/security_solution/server/assistant/tools/alert_counts/alert_counts_tool.test.ts @@ -0,0 +1,162 @@ +/* + * 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 } from '@kbn/core-elasticsearch-server'; +import type { KibanaRequest } from '@kbn/core-http-server'; +import type { DynamicTool } from 'langchain/tools'; +import { omit } from 'lodash/fp'; + +import type { RequestBody } from '@kbn/elastic-assistant-plugin/server/lib/langchain/types'; +import { ALERT_COUNTS_TOOL } from './alert_counts_tool'; +import type { RetrievalQAChain } from 'langchain/chains'; + +describe('AlertCountsTool', () => { + const alertsIndexPattern = 'alerts-index'; + const esClient = { + search: jest.fn().mockResolvedValue({}), + } as unknown as ElasticsearchClient; + const replacements = { key: 'value' }; + const request = { + body: { + assistantLangChain: false, + alertsIndexPattern: '.alerts-security.alerts-default', + allow: ['@timestamp', 'cloud.availability_zone', 'user.name'], + allowReplacement: ['user.name'], + replacements, + size: 20, + }, + } as unknown as KibanaRequest; + const assistantLangChain = true; + const chain = {} as unknown as RetrievalQAChain; + const modelExists = true; + const rest = { + assistantLangChain, + chain, + modelExists, + }; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + describe('isSupported', () => { + it('returns false when the alertsIndexPattern is undefined', () => { + const params = { + esClient, + request, + ...rest, + }; + + expect(ALERT_COUNTS_TOOL.isSupported(params)).toBe(false); + }); + + it('returns false when the request is missing required anonymization parameters', () => { + const requestMissingAnonymizationParams = { + body: { + assistantLangChain: false, + alertsIndexPattern: '.alerts-security.alerts-default', + size: 20, + }, + } as unknown as KibanaRequest; + const params = { + esClient, + request: requestMissingAnonymizationParams, + ...rest, + }; + + expect(ALERT_COUNTS_TOOL.isSupported(params)).toBe(false); + }); + + it('returns true if alertsIndexPattern is defined and request includes required anonymization parameters', () => { + const params = { + alertsIndexPattern, + esClient, + request, + ...rest, + }; + + expect(ALERT_COUNTS_TOOL.isSupported(params)).toBe(true); + }); + }); + + describe('getTool', () => { + it('returns a `DynamicTool` with a `func` that calls `esClient.search()` with the expected query', async () => { + const tool: DynamicTool = ALERT_COUNTS_TOOL.getTool({ + alertsIndexPattern, + esClient, + replacements, + request, + ...rest, + }) as DynamicTool; + + await tool.func(''); + + expect(esClient.search).toHaveBeenCalledWith({ + aggs: { statusBySeverity: { terms: { field: 'kibana.alert.severity' } } }, + index: ['alerts-index'], + query: { + bool: { + filter: [ + { + bool: { + filter: [{ match_phrase: { 'kibana.alert.workflow_status': 'open' } }], + must_not: [{ exists: { field: 'kibana.alert.building_block_type' } }], + }, + }, + { range: { '@timestamp': { gte: 'now/d', lte: 'now/d' } } }, + ], + }, + }, + size: 0, + }); + }); + + it('returns null when the request is missing required anonymization parameters', () => { + const requestWithMissingParams = omit('body.allow', request) as unknown as KibanaRequest< + unknown, + unknown, + RequestBody + >; + + const tool = ALERT_COUNTS_TOOL.getTool({ + alertsIndexPattern, + esClient, + replacements, + request: requestWithMissingParams, + ...rest, + }); + + expect(tool).toBeNull(); + }); + + it('returns null when the alertsIndexPattern is undefined', () => { + const tool = ALERT_COUNTS_TOOL.getTool({ + // alertsIndexPattern is undefined + esClient, + replacements, + request, + + ...rest, + }); + + expect(tool).toBeNull(); + }); + + it('returns a tool instance with the expected tags', () => { + const tool = ALERT_COUNTS_TOOL.getTool({ + alertsIndexPattern, + esClient, + replacements, + request, + + ...rest, + }) as DynamicTool; + + expect(tool.tags).toEqual(['alerts', 'alerts-count']); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/server/assistant/tools/alert_counts/alert_counts_tool.ts b/x-pack/plugins/security_solution/server/assistant/tools/alert_counts/alert_counts_tool.ts new file mode 100644 index 0000000000000..e1c265c3dc239 --- /dev/null +++ b/x-pack/plugins/security_solution/server/assistant/tools/alert_counts/alert_counts_tool.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; +import { DynamicTool } from 'langchain/tools'; + +import { requestHasRequiredAnonymizationParams } from '@kbn/elastic-assistant-plugin/server/lib/langchain/helpers'; +import type { AssistantTool, AssistantToolParams } from '@kbn/elastic-assistant-plugin/server'; +import { getAlertsCountQuery } from './get_alert_counts_query'; +import { APP_UI_ID } from '../../../../common'; + +export interface AlertCountsToolParams extends AssistantToolParams { + alertsIndexPattern: string; +} +export const ALERT_COUNTS_TOOL_DESCRIPTION = + 'Call this for the counts of last 24 hours of open alerts in the environment, grouped by their severity'; + +export const ALERT_COUNTS_TOOL: AssistantTool = { + id: 'alert-counts-tool', + name: 'AlertCountsTool', + description: ALERT_COUNTS_TOOL_DESCRIPTION, + sourceRegister: APP_UI_ID, + isSupported: (params: AssistantToolParams): params is AlertCountsToolParams => { + const { request, alertsIndexPattern } = params; + return requestHasRequiredAnonymizationParams(request) && alertsIndexPattern != null; + }, + getTool(params: AssistantToolParams) { + if (!this.isSupported(params)) return null; + const { alertsIndexPattern, esClient } = params as AlertCountsToolParams; + return new DynamicTool({ + name: 'AlertCountsTool', + description: ALERT_COUNTS_TOOL_DESCRIPTION, + func: async () => { + const query = getAlertsCountQuery(alertsIndexPattern); + + const result = await esClient.search(query); + + return JSON.stringify(result); + }, + tags: ['alerts', 'alerts-count'], + }); + }, +}; diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_query.test.ts b/x-pack/plugins/security_solution/server/assistant/tools/alert_counts/get_alert_counts_query.test.ts similarity index 100% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_query.test.ts rename to x-pack/plugins/security_solution/server/assistant/tools/alert_counts/get_alert_counts_query.test.ts diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_query.ts b/x-pack/plugins/security_solution/server/assistant/tools/alert_counts/get_alert_counts_query.ts similarity index 100% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_query.ts rename to x-pack/plugins/security_solution/server/assistant/tools/alert_counts/get_alert_counts_query.ts diff --git a/x-pack/plugins/security_solution/server/assistant/tools/esql_language_knowledge_base/esql_language_knowledge_base_tool.test.ts b/x-pack/plugins/security_solution/server/assistant/tools/esql_language_knowledge_base/esql_language_knowledge_base_tool.test.ts new file mode 100644 index 0000000000000..19e3bf7e7b40a --- /dev/null +++ b/x-pack/plugins/security_solution/server/assistant/tools/esql_language_knowledge_base/esql_language_knowledge_base_tool.test.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 type { RetrievalQAChain } from 'langchain/chains'; +import type { DynamicTool } from 'langchain/tools'; +import { ESQL_KNOWLEDGE_BASE_TOOL } from './esql_language_knowledge_base_tool'; +import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { KibanaRequest } from '@kbn/core-http-server'; +import type { RequestBody } from '@kbn/elastic-assistant-plugin/server/lib/langchain/types'; + +describe('EsqlLanguageKnowledgeBaseTool', () => { + const chain = {} as RetrievalQAChain; + const esClient = { + search: jest.fn().mockResolvedValue({}), + } as unknown as ElasticsearchClient; + const request = { + body: { + assistantLangChain: false, + alertsIndexPattern: '.alerts-security.alerts-default', + allow: ['@timestamp', 'cloud.availability_zone', 'user.name'], + allowReplacement: ['user.name'], + replacements: { key: 'value' }, + size: 20, + }, + } as unknown as KibanaRequest; + const rest = { + chain, + esClient, + request, + }; + + describe('isSupported', () => { + it('returns false if assistantLangChain is false', () => { + const params = { + assistantLangChain: false, + modelExists: true, + ...rest, + }; + + expect(ESQL_KNOWLEDGE_BASE_TOOL.isSupported(params)).toBe(false); + }); + + it('returns false if modelExists is false (the ELSER model is not installed)', () => { + const params = { + assistantLangChain: true, + modelExists: false, // <-- ELSER model is not installed + ...rest, + }; + + expect(ESQL_KNOWLEDGE_BASE_TOOL.isSupported(params)).toBe(false); + }); + + it('returns true if assistantLangChain and modelExists are true', () => { + const params = { + assistantLangChain: true, + modelExists: true, + ...rest, + }; + + expect(ESQL_KNOWLEDGE_BASE_TOOL.isSupported(params)).toBe(true); + }); + }); + + describe('getTool', () => { + it('returns null if assistantLangChain is false', () => { + const tool = ESQL_KNOWLEDGE_BASE_TOOL.getTool({ + assistantLangChain: false, + modelExists: true, + ...rest, + }); + + expect(tool).toBeNull(); + }); + + it('returns null if modelExists is false (the ELSER model is not installed)', () => { + const tool = ESQL_KNOWLEDGE_BASE_TOOL.getTool({ + assistantLangChain: true, + modelExists: false, // <-- ELSER model is not installed + ...rest, + }); + + expect(tool).toBeNull(); + }); + + it('should return a Tool instance if assistantLangChain and modelExists are true', () => { + const tool = ESQL_KNOWLEDGE_BASE_TOOL.getTool({ + assistantLangChain: true, + modelExists: true, + ...rest, + }); + + expect(tool?.name).toEqual('ESQLKnowledgeBaseTool'); + }); + + it('should return a tool with the expected tags', () => { + const tool = ESQL_KNOWLEDGE_BASE_TOOL.getTool({ + assistantLangChain: true, + modelExists: true, + ...rest, + }) as DynamicTool; + + expect(tool.tags).toEqual(['esql', 'query-generation', 'knowledge-base']); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/server/assistant/tools/esql_language_knowledge_base/esql_language_knowledge_base_tool.ts b/x-pack/plugins/security_solution/server/assistant/tools/esql_language_knowledge_base/esql_language_knowledge_base_tool.ts new file mode 100644 index 0000000000000..3dc7dfd8d976c --- /dev/null +++ b/x-pack/plugins/security_solution/server/assistant/tools/esql_language_knowledge_base/esql_language_knowledge_base_tool.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. + */ + +import { ChainTool } from 'langchain/tools'; +import type { AssistantTool, AssistantToolParams } from '@kbn/elastic-assistant-plugin/server'; +import { APP_UI_ID } from '../../../../common'; + +export type EsqlKnowledgeBaseToolParams = AssistantToolParams; + +export const ESQL_KNOWLEDGE_BASE_TOOL: AssistantTool = { + id: 'esql-knowledge-base-tool', + name: 'ESQLKnowledgeBaseTool', + description: + 'Call this for knowledge on how to build an ESQL query, or answer questions about the ES|QL query language.', + sourceRegister: APP_UI_ID, + isSupported: (params: AssistantToolParams): params is EsqlKnowledgeBaseToolParams => { + const { assistantLangChain, modelExists } = params; + return assistantLangChain && modelExists; + }, + getTool(params: AssistantToolParams) { + if (!this.isSupported(params)) return null; + const { chain } = params as EsqlKnowledgeBaseToolParams; + return new ChainTool({ + name: 'ESQLKnowledgeBaseTool', + description: + 'Call this for knowledge on how to build an ESQL query, or answer questions about the ES|QL query language.', + chain, + tags: ['esql', 'query-generation', 'knowledge-base'], + }); + }, +}; diff --git a/x-pack/plugins/security_solution/server/assistant/tools/index.test.ts b/x-pack/plugins/security_solution/server/assistant/tools/index.test.ts new file mode 100644 index 0000000000000..047c84ceddf3b --- /dev/null +++ b/x-pack/plugins/security_solution/server/assistant/tools/index.test.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 { getAssistantTools } from '.'; + +describe('getAssistantTools', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should return an array of applicable tools', () => { + const tools = getAssistantTools(); + + const minExpectedTools = 3; // 3 tools are currently implemented + + expect(tools.length).toBeGreaterThanOrEqual(minExpectedTools); + }); +}); diff --git a/x-pack/plugins/security_solution/server/assistant/tools/index.ts b/x-pack/plugins/security_solution/server/assistant/tools/index.ts new file mode 100644 index 0000000000000..790e674a4b390 --- /dev/null +++ b/x-pack/plugins/security_solution/server/assistant/tools/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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { AssistantTool } from '@kbn/elastic-assistant-plugin/server'; +import { ESQL_KNOWLEDGE_BASE_TOOL } from './esql_language_knowledge_base/esql_language_knowledge_base_tool'; +import { OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL } from './open_and_acknowledged_alerts/open_and_acknowledged_alerts_tool'; +import { ALERT_COUNTS_TOOL } from './alert_counts/alert_counts_tool'; + +export const getAssistantTools = (): AssistantTool[] => [ + ALERT_COUNTS_TOOL, + ESQL_KNOWLEDGE_BASE_TOOL, + OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL, +]; diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.test.ts b/x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.test.ts similarity index 100% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.test.ts rename to x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.test.ts diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.ts b/x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.ts similarity index 100% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.ts rename to x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/get_open_and_acknowledged_alerts_query.ts diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/helpers.test.ts b/x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/helpers.test.ts similarity index 100% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/helpers.test.ts rename to x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/helpers.test.ts diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/helpers.ts b/x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/helpers.ts similarity index 100% rename from x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_and_acknowledged_alerts/helpers.ts rename to x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/helpers.ts diff --git a/x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/open_and_acknowledged_alerts_tool.test.ts b/x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/open_and_acknowledged_alerts_tool.test.ts new file mode 100644 index 0000000000000..c485c001704eb --- /dev/null +++ b/x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/open_and_acknowledged_alerts_tool.test.ts @@ -0,0 +1,298 @@ +/* + * 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 } from '@kbn/core-elasticsearch-server'; +import type { KibanaRequest } from '@kbn/core-http-server'; +import type { DynamicTool } from 'langchain/tools'; +import { omit } from 'lodash/fp'; + +import { OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL } from './open_and_acknowledged_alerts_tool'; +import type { RequestBody } from '@kbn/elastic-assistant-plugin/server/lib/langchain/types'; +import { MAX_SIZE } from './helpers'; +import type { RetrievalQAChain } from 'langchain/chains'; +import { mockAlertsFieldsApi } from '@kbn/elastic-assistant-plugin/server/__mocks__/alerts'; + +describe('OpenAndAcknowledgedAlertsTool', () => { + const alertsIndexPattern = 'alerts-index'; + const esClient = { + search: jest.fn().mockResolvedValue(mockAlertsFieldsApi), + } as unknown as ElasticsearchClient; + const replacements = { key: 'value' }; + const request = { + body: { + assistantLangChain: false, + alertsIndexPattern: '.alerts-security.alerts-default', + allow: ['@timestamp', 'cloud.availability_zone', 'user.name'], + allowReplacement: ['user.name'], + replacements, + size: 20, + }, + } as unknown as KibanaRequest; + const assistantLangChain = true; + const chain = {} as unknown as RetrievalQAChain; + const modelExists = true; + const rest = { + assistantLangChain, + esClient, + chain, + modelExists, + }; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + describe('isSupported', () => { + it('returns false when alertsIndexPattern is undefined', () => { + const params = { + request, + size: 20, + ...rest, + }; + + expect(OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.isSupported(params)).toBe(false); + }); + + it('returns false when the request is missing required anonymization parameters', () => { + const requestMissingAnonymizationParams = { + body: { + assistantLangChain: false, + alertsIndexPattern: '.alerts-security.alerts-default', + size: 20, + }, + } as unknown as KibanaRequest; + const params = { + request: requestMissingAnonymizationParams, + ...rest, + }; + + expect(OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.isSupported(params)).toBe(false); + }); + + it('returns false when size is undefined', () => { + const params = { + alertsIndexPattern, + allow: request.body.allow, + allowReplacement: request.body.allowReplacement, + onNewReplacements: jest.fn(), + replacements, + request, + ...rest, + }; + + expect(OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.isSupported(params)).toBe(false); + }); + + it('returns false when size is out of range', () => { + const params = { + alertsIndexPattern, + allow: request.body.allow, + allowReplacement: request.body.allowReplacement, + onNewReplacements: jest.fn(), + replacements, + request, + size: MAX_SIZE + 1, // <-- size is out of range + + ...rest, + }; + + expect(OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.isSupported(params)).toBe(false); + }); + + it('returns true when anonymization fields, alertsIndexPattern, and size within reange is provided', () => { + const params = { + alertsIndexPattern, + size: 20, + request, + ...rest, + }; + + expect(OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.isSupported(params)).toBe(true); + }); + }); + describe('getTool', () => { + it('returns a `DynamicTool` with a `func` that calls `esClient.search()` with the expected query', async () => { + const tool: DynamicTool = OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.getTool({ + alertsIndexPattern, + allow: request.body.allow, + allowReplacement: request.body.allowReplacement, + onNewReplacements: jest.fn(), + replacements, + request, + size: request.body.size, + ...rest, + }) as DynamicTool; + + await tool.func(''); + + expect(esClient.search).toHaveBeenCalledWith({ + allow_no_indices: true, + body: { + _source: false, + fields: [ + { + field: '@timestamp', + include_unmapped: true, + }, + { + field: 'cloud.availability_zone', + include_unmapped: true, + }, + { + field: 'user.name', + include_unmapped: true, + }, + ], + query: { + bool: { + filter: [ + { + bool: { + filter: [ + { + bool: { + should: [ + { + match_phrase: { + 'kibana.alert.workflow_status': 'open', + }, + }, + { + match_phrase: { + 'kibana.alert.workflow_status': 'acknowledged', + }, + }, + ], + minimum_should_match: 1, + }, + }, + { + range: { + '@timestamp': { + format: 'strict_date_optional_time', + gte: 'now-1d/d', + lte: 'now/d', + }, + }, + }, + ], + must: [], + must_not: [ + { + exists: { + field: 'kibana.alert.building_block_type', + }, + }, + ], + should: [], + }, + }, + ], + }, + }, + runtime_mappings: {}, + size: 20, + sort: [ + { + 'kibana.alert.risk_score': { + order: 'desc', + }, + }, + { + '@timestamp': { + order: 'desc', + }, + }, + ], + }, + ignore_unavailable: true, + index: ['alerts-index'], + }); + }); + + it('returns null when the request is missing required anonymization parameters', () => { + const requestWithMissingParams = omit('body.allow', request) as unknown as KibanaRequest< + unknown, + unknown, + RequestBody + >; + + const tool = OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.getTool({ + alertsIndexPattern, + allow: requestWithMissingParams.body.allow, + allowReplacement: requestWithMissingParams.body.allowReplacement, + onNewReplacements: jest.fn(), + replacements, + request: requestWithMissingParams, + size: requestWithMissingParams.body.size, + ...rest, + }); + + expect(tool).toBeNull(); + }); + + it('returns null when alertsIndexPattern is undefined', () => { + const tool = OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.getTool({ + // alertsIndexPattern is undefined + allow: request.body.allow, + allowReplacement: request.body.allowReplacement, + onNewReplacements: jest.fn(), + replacements, + request, + size: request.body.size, + ...rest, + }); + + expect(tool).toBeNull(); + }); + + it('returns null when size is undefined', () => { + const tool = OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.getTool({ + alertsIndexPattern, + allow: request.body.allow, + allowReplacement: request.body.allowReplacement, + onNewReplacements: jest.fn(), + replacements, + request, + ...rest, + // size is undefined + }); + + expect(tool).toBeNull(); + }); + + it('returns null when size out of range', () => { + const tool = OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.getTool({ + alertsIndexPattern, + allow: request.body.allow, + allowReplacement: request.body.allowReplacement, + onNewReplacements: jest.fn(), + replacements, + request, + size: MAX_SIZE + 1, // <-- size is out of range + ...rest, + }); + + expect(tool).toBeNull(); + }); + + it('returns a tool instance with the expected tags', () => { + const tool = OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL.getTool({ + alertsIndexPattern, + allow: request.body.allow, + allowReplacement: request.body.allowReplacement, + onNewReplacements: jest.fn(), + replacements, + request, + size: request.body.size, + ...rest, + }) as DynamicTool; + + expect(tool.tags).toEqual(['alerts', 'open-and-acknowledged-alerts']); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/open_and_acknowledged_alerts_tool.ts b/x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/open_and_acknowledged_alerts_tool.ts new file mode 100644 index 0000000000000..210fdd42c1555 --- /dev/null +++ b/x-pack/plugins/security_solution/server/assistant/tools/open_and_acknowledged_alerts/open_and_acknowledged_alerts_tool.ts @@ -0,0 +1,93 @@ +/* + * 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 { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; +import { getAnonymizedValue, transformRawData } from '@kbn/elastic-assistant-common'; +import { DynamicTool } from 'langchain/tools'; +import { requestHasRequiredAnonymizationParams } from '@kbn/elastic-assistant-plugin/server/lib/langchain/helpers'; + +import type { AssistantTool, AssistantToolParams } from '@kbn/elastic-assistant-plugin/server'; +import { getOpenAndAcknowledgedAlertsQuery } from './get_open_and_acknowledged_alerts_query'; +import { getRawDataOrDefault, sizeIsOutOfRange } from './helpers'; +import { APP_UI_ID } from '../../../../common'; + +export interface OpenAndAcknowledgedAlertsToolParams extends AssistantToolParams { + alertsIndexPattern: string; + size: number; +} + +export const OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL_DESCRIPTION = + 'Call this for knowledge about the latest n open and acknowledged alerts (sorted by `kibana.alert.risk_score`) in the environment, or when answering questions about open alerts'; + +/** + * Returns a tool for querying open and acknowledged alerts, or null if the + * request doesn't have all the required parameters. + */ +export const OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL: AssistantTool = { + id: 'open-and-acknowledged-alerts-tool', + name: 'OpenAndAcknowledgedAlertsTool', + description: OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL_DESCRIPTION, + sourceRegister: APP_UI_ID, + isSupported: (params: AssistantToolParams): params is OpenAndAcknowledgedAlertsToolParams => { + const { alertsIndexPattern, request, size } = params; + return ( + requestHasRequiredAnonymizationParams(request) && + alertsIndexPattern != null && + size != null && + !sizeIsOutOfRange(size) + ); + }, + getTool(params: AssistantToolParams) { + if (!this.isSupported(params)) return null; + + const { + alertsIndexPattern, + allow, + allowReplacement, + esClient, + onNewReplacements, + replacements, + size, + } = params as OpenAndAcknowledgedAlertsToolParams; + return new DynamicTool({ + name: 'OpenAndAcknowledgedAlertsTool', + description: OPEN_AND_ACKNOWLEDGED_ALERTS_TOOL_DESCRIPTION, + func: async () => { + const query = getOpenAndAcknowledgedAlertsQuery({ + alertsIndexPattern, + allow: allow ?? [], + size, + }); + + const result = await esClient.search(query); + + // Accumulate replacements locally so we can, for example use the same + // replacement for a hostname when we see it in multiple alerts: + let localReplacements = { ...replacements }; + const localOnNewReplacements = (newReplacements: Record) => { + localReplacements = { ...localReplacements, ...newReplacements }; // update the local state + + onNewReplacements?.(localReplacements); // invoke the callback with the latest replacements + }; + + return JSON.stringify( + result.hits?.hits?.map((x) => + transformRawData({ + allow: allow ?? [], + allowReplacement: allowReplacement ?? [], + currentReplacements: localReplacements, // <-- the latest local replacements + getAnonymizedValue, + onNewReplacements: localOnNewReplacements, // <-- the local callback + rawData: getRawDataOrDefault(x.fields), + }) + ) + ); + }, + tags: ['alerts', 'open-and-acknowledged-alerts'], + }); + }, +}; diff --git a/x-pack/plugins/security_solution/server/plugin.ts b/x-pack/plugins/security_solution/server/plugin.ts index 4841ec9fed73d..227a7ea7e1439 100644 --- a/x-pack/plugins/security_solution/server/plugin.ts +++ b/x-pack/plugins/security_solution/server/plugin.ts @@ -46,7 +46,7 @@ import { AppClientFactory } from './client'; import type { ConfigType } from './config'; import { createConfig } from './config'; import { initUiSettings } from './ui_settings'; -import { APP_ID, DEFAULT_ALERTS_INDEX, SERVER_APP_ID } from '../common/constants'; +import { APP_ID, APP_UI_ID, DEFAULT_ALERTS_INDEX, SERVER_APP_ID } from '../common/constants'; import { registerEndpointRoutes } from './endpoint/routes/metadata'; import { registerPolicyRoutes } from './endpoint/routes/policy'; import { registerActionRoutes } from './endpoint/routes/actions'; @@ -114,6 +114,7 @@ import { allRiskScoreIndexPattern, } from '../common/entity_analytics/risk_engine'; import { isEndpointPackageV2 } from '../common/endpoint/utils/package_v2'; +import { getAssistantTools } from './assistant/tools'; export type { SetupPlugins, StartPlugins, PluginSetup, PluginStart } from './plugin_contract'; @@ -509,6 +510,9 @@ export class Plugin implements ISecuritySolutionPlugin { this.licensing$ = plugins.licensing.license$; + // Assistant Tool and Feature Registration + plugins.elasticAssistant.registerTools(APP_UI_ID, getAssistantTools()); + if (this.lists && plugins.taskManager && plugins.fleet) { // Exceptions, Artifacts and Manifests start const taskManager = plugins.taskManager; diff --git a/x-pack/plugins/security_solution/server/plugin_contract.ts b/x-pack/plugins/security_solution/server/plugin_contract.ts index b59d9aac37efe..8370e405c6807 100644 --- a/x-pack/plugins/security_solution/server/plugin_contract.ts +++ b/x-pack/plugins/security_solution/server/plugin_contract.ts @@ -41,6 +41,7 @@ import type { CloudExperimentsPluginStart } from '@kbn/cloud-experiments-plugin/ import type { SharePluginStart } from '@kbn/share-plugin/server'; import type { GuidedOnboardingPluginSetup } from '@kbn/guided-onboarding-plugin/server'; import type { PluginSetup as UnifiedSearchServerPluginSetup } from '@kbn/unified-search-plugin/server'; +import type { ElasticAssistantPluginStart } from '@kbn/elastic-assistant-plugin/server'; import type { AppFeaturesService } from './lib/app_features_service/app_features_service'; import type { ExperimentalFeatures } from '../common'; @@ -72,6 +73,7 @@ export interface SecuritySolutionPluginStartDependencies { cloudExperiments?: CloudExperimentsPluginStart; data: DataPluginStart; dataViews: DataViewsPluginStart; + elasticAssistant: ElasticAssistantPluginStart; eventLog: IEventLogClientService; fleet?: FleetPluginStart; licensing: LicensingPluginStart; diff --git a/x-pack/plugins/security_solution/tsconfig.json b/x-pack/plugins/security_solution/tsconfig.json index 4400f4b8c31e3..2158fe97996dc 100644 --- a/x-pack/plugins/security_solution/tsconfig.json +++ b/x-pack/plugins/security_solution/tsconfig.json @@ -84,6 +84,7 @@ "@kbn/kibana-react-plugin", "@kbn/ecs-data-quality-dashboard", "@kbn/elastic-assistant", + "@kbn/elastic-assistant-plugin", "@kbn/data-views-plugin", "@kbn/datemath", "@kbn/ui-theme", @@ -183,6 +184,7 @@ "@kbn/zod-helpers", "@kbn/core-http-common", "@kbn/search-errors", - "@kbn/stack-connectors-plugin" + "@kbn/stack-connectors-plugin", + "@kbn/elastic-assistant-common" ] } From 51c506a28c519ad74032d660854eb0c3bcbb4987 Mon Sep 17 00:00:00 2001 From: Garrett Spong Date: Thu, 14 Dec 2023 14:53:50 -0700 Subject: [PATCH 073/123] [Security Solution] Fixes ML Security Job fetch failure when `securitySolution:defaultIndex` contains special characters (#173426) ## Summary It was reported that some `securitySolution:defaultIndex`'s could result in the Security Job request failing. This was identified to be an issue with the query params not being properly encoded. This PR updates the `ml_popover` api requests to call `encodeURIComponent()` for all variables used within the request URL's. ## Test instructions Set your `securitySolution:defaultIndex` to be something that includes special characters that wouldn't be encoded in the URL, e.g.: ``` .internal.alerts-security.alerts-siem-, , ``` Then navigate to a page that has the `ML job settings` UI (which fetches the Security ML Jobs), and verify that no errors are displayed. You can open the network panel and ensure that the URL params are correctly encoded, and that the request was successful: Detection_rules__SIEM__-_Kibana Additionally, enable a job and ensure it enables successfully. --- .../common/components/ml_popover/api.ts | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/components/ml_popover/api.ts b/x-pack/plugins/security_solution/public/common/components/ml_popover/api.ts index b1c8c3975197e..a3d9d5f732cf0 100644 --- a/x-pack/plugins/security_solution/public/common/components/ml_popover/api.ts +++ b/x-pack/plugins/security_solution/public/common/components/ml_popover/api.ts @@ -33,7 +33,7 @@ export const checkRecognizer = async ({ signal, }: CheckRecognizerProps): Promise => KibanaServices.get().http.fetch( - `/internal/ml/modules/recognize/${indexPatternName}`, + `/internal/ml/modules/recognize/${indexPatternName.map((i) => encodeURIComponent(i))}`, { method: 'GET', version: '1', @@ -52,13 +52,16 @@ export const checkRecognizer = async ({ * @throws An error if response is not OK */ export const getModules = async ({ moduleId = '', signal }: GetModulesProps): Promise => - KibanaServices.get().http.fetch(`/internal/ml/modules/get_module/${moduleId}`, { - method: 'GET', - version: '1', - asSystemRequest: true, - signal, - query: { filter: 'security' }, - }); + KibanaServices.get().http.fetch( + `/internal/ml/modules/get_module/${encodeURIComponent(moduleId)}`, + { + method: 'GET', + version: '1', + asSystemRequest: true, + signal, + query: { filter: 'security' }, + } + ); /** * Creates ML Jobs + Datafeeds for the given configTemplate + indexPatternName @@ -79,7 +82,7 @@ export const setupMlJob = async ({ prefix = '', }: MlSetupArgs): Promise => { const response = await KibanaServices.get().http.fetch( - `/internal/ml/modules/setup/${configTemplate}`, + `/internal/ml/modules/setup/${encodeURIComponent(configTemplate)}`, { method: 'POST', version: '1', From 1a566d99e7bdfafb7610580ab841b46eb0ba4bce Mon Sep 17 00:00:00 2001 From: Lola Date: Thu, 14 Dec 2023 17:09:19 -0500 Subject: [PATCH 074/123] [Cloud Security] fix re-rendering with unique keys (#173417) ## Summary Summarize your PR. If it involves visual changes include a screenshot or gif. Fix Re-rendering issue with unique key fields in case there are multiple cases of the same benchmark ID with different versions. In case, a new doc is indexed with another benchmark ID and a different version, then we should provide a React `key` attribute with unique key of `benchmark id and version` for each benchmark. This will help avoid duplicated benchmarks and re-render issues. https://github.com/elastic/kibana/assets/17135495/26a9d925-b472-4cf6-9e3b-5f0288188a56 --- .../dashboard_sections/benchmarks_section.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/dashboard_sections/benchmarks_section.tsx b/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/dashboard_sections/benchmarks_section.tsx index d3a6cf3ab12d7..c9c7ca2dad07c 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/dashboard_sections/benchmarks_section.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/dashboard_sections/benchmarks_section.tsx @@ -150,7 +150,7 @@ export const BenchmarksSection = ({ {benchmarks.map((benchmark) => ( Date: Thu, 14 Dec 2023 17:39:58 -0500 Subject: [PATCH 075/123] Add Defend advanced policy option for callstack timeouts (#173431) ## Summary New Defend Advanced Policy option for 8.12.0 to allow users to configure callstack timeouts. This can be used to troubleshoot performance issues. ### 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) ### 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) --- .../pages/policy/models/advanced_policy_schema.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/models/advanced_policy_schema.ts b/x-pack/plugins/security_solution/public/management/pages/policy/models/advanced_policy_schema.ts index 4fe0e6eb7b95a..449090d781330 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/models/advanced_policy_schema.ts +++ b/x-pack/plugins/security_solution/public/management/pages/policy/models/advanced_policy_schema.ts @@ -1162,6 +1162,17 @@ export const AdvancedPolicySchema: AdvancedPolicySchemaType[] = [ } ), }, + { + key: 'windows.advanced.events.callstacks.timeout_microseconds', + first_supported_version: '8.12', + documentation: i18n.translate( + 'xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.timeout_microseconds', + { + defaultMessage: + 'Maximum runtime of inline callstack collection/enrichment. Default: 100000', + } + ), + }, { key: 'windows.advanced.artifacts.global.proxy_url', first_supported_version: '8.8', From 0a73b997c51bf2f075b226a0dcbff319ce74971d Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 14 Dec 2023 17:34:37 -0600 Subject: [PATCH 076/123] [Security Solution] - alerts_charts remove brokenInServerlessQA tag (#173203) --- .../investigations/alerts/alerts_charts.cy.ts | 76 +++++++++---------- 1 file changed, 37 insertions(+), 39 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_charts.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_charts.cy.ts index 9eacb94b5f4ba..c1db8eb2b44d1 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_charts.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_charts.cy.ts @@ -15,6 +15,7 @@ import { selectAlertsHistogram, } from '../../../tasks/alerts'; import { createRule } from '../../../tasks/api_calls/rules'; +import { deleteAlertsAndRules } from '../../../tasks/api_calls/common'; import { login } from '../../../tasks/login'; import { visitWithTimeRange } from '../../../tasks/navigation'; import { ALERTS_URL } from '../../../urls/navigation'; @@ -24,48 +25,45 @@ import { } from '../../../screens/search_bar'; import { TOASTER } from '../../../screens/alerts_detection_rules'; -describe.skip( - 'Histogram legend hover actions', - { tags: ['@ess', '@serverless', '@brokenInServerlessQA'] }, - () => { - const ruleConfigs = getNewRule(); +describe('Histogram legend hover actions', { tags: ['@ess', '@serverless'] }, () => { + const ruleConfigs = getNewRule(); - beforeEach(() => { - login(); - createRule(getNewRule({ rule_id: 'new custom rule' })); - visitWithTimeRange(ALERTS_URL); - selectAlertsHistogram(); - }); + beforeEach(() => { + deleteAlertsAndRules(); + login(); + createRule(getNewRule({ rule_id: 'new custom rule' })); + visitWithTimeRange(ALERTS_URL); + selectAlertsHistogram(); + }); - it('Filter in should add a filter to KQL bar', function () { - const expectedNumberOfAlerts = 1; - clickAlertsHistogramLegend(); - clickAlertsHistogramLegendFilterFor(ruleConfigs.name); - cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM).should( - 'have.text', - `kibana.alert.rule.name: ${ruleConfigs.name}` - ); - cy.get(ALERTS_COUNT).should('have.text', `${expectedNumberOfAlerts} alert`); - }); + it('should should add a filter in to KQL bar', () => { + const expectedNumberOfAlerts = 1; + clickAlertsHistogramLegend(); + clickAlertsHistogramLegendFilterFor(ruleConfigs.name); + cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM).should( + 'have.text', + `kibana.alert.rule.name: ${ruleConfigs.name}` + ); + cy.get(ALERTS_COUNT).should('have.text', `${expectedNumberOfAlerts} alert`); + }); - it('Filter out should add a filter to KQL bar', function () { - clickAlertsHistogramLegend(); - clickAlertsHistogramLegendFilterOut(ruleConfigs.name); - cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM).should( - 'have.text', - `NOT kibana.alert.rule.name: ${ruleConfigs.name}` - ); - cy.get(ALERTS_COUNT).should('not.exist'); + it('should add a filter out to KQL bar', () => { + clickAlertsHistogramLegend(); + clickAlertsHistogramLegendFilterOut(ruleConfigs.name); + cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM).should( + 'have.text', + `NOT kibana.alert.rule.name: ${ruleConfigs.name}` + ); + cy.get(ALERTS_COUNT).should('not.exist'); - cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM_DELETE).click(); - cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM).should('not.exist'); - }); + cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM_DELETE).click(); + cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM).should('not.exist'); + }); - it('Add To Timeline', function () { - clickAlertsHistogramLegend(); - clickAlertsHistogramLegendAddToTimeline(ruleConfigs.name); + it('should add To Timeline', () => { + clickAlertsHistogramLegend(); + clickAlertsHistogramLegendAddToTimeline(ruleConfigs.name); - cy.get(TOASTER).should('have.text', `Added ${ruleConfigs.name} to timeline`); - }); - } -); + cy.get(TOASTER).should('have.text', `Added ${ruleConfigs.name} to timeline`); + }); +}); From 70c51bed3049913ed6f5b63a625bef14f2eab1cb Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 14 Dec 2023 17:35:47 -0600 Subject: [PATCH 077/123] [Security Solution] - small improvements to alert_table_controls.cy.ts Cypress file (#173213) --- .../alerts/alert_table_controls.cy.ts | 149 ++++++++++-------- .../cypress/screens/common/data_grid.ts | 7 - .../cypress/tasks/fields_browser.ts | 4 +- 3 files changed, 81 insertions(+), 79 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts index 71c551d246882..5cab08d5ceb16 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts @@ -13,6 +13,7 @@ import { import { FIELDS_BROWSER_BTN } from '../../../screens/rule_details'; import { addsFields, + clearFieldsBrowser, closeFieldsBrowser, filterFieldsBrowser, removeField, @@ -27,10 +28,11 @@ import { GET_DATA_GRID_HEADER_CELL_ACTION_GROUP, } from '../../../screens/common/data_grid'; import { createRule } from '../../../tasks/api_calls/rules'; +import { deleteAlertsAndRules } from '../../../tasks/api_calls/common'; import { waitForAlertsToPopulate } from '../../../tasks/create_new_rule'; import { login } from '../../../tasks/login'; import { visit } from '../../../tasks/navigation'; -import { ALERTS_URL, TIMELINES_URL } from '../../../urls/navigation'; +import { ALERTS_URL } from '../../../urls/navigation'; import { DATAGRID_HEADER } from '../../../screens/timeline'; /* @@ -42,91 +44,98 @@ import { DATAGRID_HEADER } from '../../../screens/timeline'; describe.skip(`Alert Table Controls`, { tags: ['@ess', '@serverless'] }, () => { beforeEach(() => { + deleteAlertsAndRules(); login(); createRule(getNewRule()); visit(ALERTS_URL); waitForAlertsToPopulate(); }); - it('full screen, column sorting', () => { + it('should enter and exit full screen, column sorting', () => { cy.get(DATA_GRID_FULL_SCREEN) .should('have.attr', 'aria-label', 'Enter fullscreen') .trigger('click'); cy.get(DATA_GRID_FULL_SCREEN) .should('have.attr', 'aria-label', 'Exit fullscreen') .trigger('click'); + }); + + it('should have correct column sorting values', () => { cy.get(DATA_GRID_COLUMN_ORDER_BTN).should('be.visible'); + + cy.log('Date Column'); + + const timestampField = DATA_GRID_FIELDS.TIMESTAMP.fieldName; + cy.get(GET_DATA_GRID_HEADER(timestampField)).trigger('click'); + cy.get(GET_DATA_GRID_HEADER_CELL_ACTION_GROUP(timestampField)) + .should('be.visible') + .should('contain.text', 'Sort Old-New'); + + cy.log('Number column'); + + const riskScoreField = DATA_GRID_FIELDS.RISK_SCORE.fieldName; + cy.get(GET_DATA_GRID_HEADER(riskScoreField)).trigger('click'); + cy.get(GET_DATA_GRID_HEADER_CELL_ACTION_GROUP(riskScoreField)) + .should('be.visible') + .should('contain.text', 'Sort Low-High'); + + cy.log('Text Column'); + + const ruleField = DATA_GRID_FIELDS.RULE.fieldName; + cy.get(GET_DATA_GRID_HEADER(ruleField)).trigger('click'); + cy.get(GET_DATA_GRID_HEADER_CELL_ACTION_GROUP(ruleField)) + .should('be.visible') + .should('contain.text', 'Sort A-Z'); }); - context('Sorting', () => { - it('Date Column', () => { - const timestampField = DATA_GRID_FIELDS.TIMESTAMP.fieldName; - cy.get(GET_DATA_GRID_HEADER(timestampField)).trigger('click'); - cy.get(GET_DATA_GRID_HEADER_CELL_ACTION_GROUP(timestampField)) - .should('be.visible') - .should('contain.text', 'Sort Old-New'); - }); - - it('Number column', () => { - const riskScoreField = DATA_GRID_FIELDS.RISK_SCORE.fieldName; - cy.get(GET_DATA_GRID_HEADER(riskScoreField)).trigger('click'); - cy.get(GET_DATA_GRID_HEADER_CELL_ACTION_GROUP(riskScoreField)) - .should('be.visible') - .should('contain.text', 'Sort Low-High'); - }); - - it('Text Column', () => { - const ruleField = DATA_GRID_FIELDS.RULE.fieldName; - cy.get(GET_DATA_GRID_HEADER(ruleField)).trigger('click'); - cy.get(GET_DATA_GRID_HEADER_CELL_ACTION_GROUP(ruleField)) - .should('be.visible') - .should('contain.text', 'Sort A-Z'); - }); + it('should retain column configuration when a column is added or removed after reloading the page', () => { + const severityFieldName = 'kibana.alert.severity'; + const idFieldName = '_id'; + + cy.get(DATAGRID_HEADER(severityFieldName)).should('exist'); + cy.get(DATAGRID_HEADER(idFieldName)).should('not.exist'); + + cy.get(FIELDS_BROWSER_BTN).click(); + cy.get(FIELDS_BROWSER_CONTAINER).should('exist'); + + cy.log('remove severity field'); + + filterFieldsBrowser(severityFieldName); + removeField(severityFieldName); + + cy.log('add id field'); + + clearFieldsBrowser(); + filterFieldsBrowser(idFieldName); + addsFields([idFieldName]); + closeFieldsBrowser(); + + cy.get(DATAGRID_HEADER(severityFieldName)).should('not.exist'); + cy.get(DATAGRID_HEADER(idFieldName)).should('exist'); + + cy.reload(); + waitForAlerts(); + + cy.get(DATAGRID_HEADER(severityFieldName)).should('not.exist'); + cy.get(DATAGRID_HEADER(idFieldName)).should('exist'); }); - context('Columns Configuration', () => { - it('should retain column configuration when a column is removed when coming back to alert page', () => { - const fieldName = 'kibana.alert.severity'; - cy.get(FIELDS_BROWSER_BTN).click(); - cy.get(FIELDS_BROWSER_CONTAINER).should('be.visible'); - - filterFieldsBrowser(fieldName); - removeField(fieldName); - closeFieldsBrowser(); - cy.get(DATAGRID_HEADER(fieldName)).should('not.exist'); - - visit(TIMELINES_URL); - visit(ALERTS_URL); - waitForAlerts(); - cy.get(DATAGRID_HEADER('_id')).should('not.exist'); - }); - it('should retain column configuration when a column is added when coming back to alert page', () => { - cy.get(FIELDS_BROWSER_BTN).click(); - cy.get(FIELDS_BROWSER_CONTAINER).should('be.visible'); - - addsFields(['_id']); - closeFieldsBrowser(); - cy.get(DATAGRID_HEADER('_id')).should('be.visible'); - - visit(TIMELINES_URL); - visit(ALERTS_URL); - waitForAlerts(); - cy.get(DATAGRID_HEADER('_id')).should('be.visible'); - }); - it('should retain columns configuration when switching between eventrenderedView and gridView', () => { - const fieldName = '_id'; - cy.get(FIELDS_BROWSER_BTN).click(); - cy.get(FIELDS_BROWSER_CONTAINER).should('be.visible'); - - addsFields([fieldName]); - closeFieldsBrowser(); - cy.get(DATAGRID_HEADER(fieldName)).should('be.visible'); - - switchAlertTableToEventRenderedView(); - cy.get(DATAGRID_HEADER(fieldName)).should('not.exist'); - - switchAlertTableToGridView(); - cy.get(DATAGRID_HEADER(fieldName)).should('be.visible'); - }); + it('should retain columns configuration when switching between eventrenderedView and gridView', () => { + const fieldName = '_id'; + cy.get(FIELDS_BROWSER_BTN).click(); + cy.get(FIELDS_BROWSER_CONTAINER).should('be.visible'); + + addsFields([fieldName]); + closeFieldsBrowser(); + + cy.get(DATAGRID_HEADER(fieldName)).should('be.visible'); + + switchAlertTableToEventRenderedView(); + + cy.get(DATAGRID_HEADER(fieldName)).should('not.exist'); + + switchAlertTableToGridView(); + + cy.get(DATAGRID_HEADER(fieldName)).should('be.visible'); }); }); diff --git a/x-pack/test/security_solution_cypress/cypress/screens/common/data_grid.ts b/x-pack/test/security_solution_cypress/cypress/screens/common/data_grid.ts index 3c86283af97b0..5a9dfe248cba3 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/common/data_grid.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/common/data_grid.ts @@ -39,10 +39,3 @@ export const DATA_GRID_FULL_SCREEN = export const DATA_GRID_FIELD_SORT_BTN = '[data-test-subj="dataGridColumnSortingButton"]'; export const DATA_GRID_COLUMN_ORDER_BTN = '[data-test-subj="dataGridColumnSelectorButton"]'; - -export const DATA_GRID_COLUMNS = '.euiDataGridHeaderCell__content'; - -export const COLUMN_ORDER_POPUP = { - TIMESTAMP: '[data-test-subj="dataGridColumnSelectorColumnItem-@timestamp"]', - REASON: '[data-test-subj="dataGridColumnSelectorColumnItem-kibana.alert.reason"]', -}; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/fields_browser.ts b/x-pack/test/security_solution_cypress/cypress/tasks/fields_browser.ts index e970ed1eb3da4..c31196a96a550 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/fields_browser.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/fields_browser.ts @@ -51,7 +51,7 @@ export const clearFieldsBrowser = () => { }; export const closeFieldsBrowser = () => { - cy.get(FIELD_BROWSER_CLOSE_BTN).click({ force: true }); + cy.get(FIELD_BROWSER_CLOSE_BTN).click(); cy.get(FIELDS_BROWSER_FILTER_INPUT).should('not.exist'); }; @@ -85,7 +85,7 @@ export const removesMessageField = () => { }; export const removeField = (fieldName: string) => { - cy.get(GET_FIELD_CHECKBOX(fieldName)).uncheck({ force: true }); + cy.get(GET_FIELD_CHECKBOX(fieldName)).uncheck(); }; export const resetFields = () => { From d766ac85369e7c67cae8ac7b3597d3ef581eb57f Mon Sep 17 00:00:00 2001 From: Jan Monschke Date: Fri, 15 Dec 2023 00:38:26 +0100 Subject: [PATCH 078/123] [SecuritySolution] Fix flaky search or filter tests (#173367) --- .../timelines/search_or_filter.cy.ts | 28 +++--- .../cypress/screens/timeline.ts | 60 +----------- .../cypress/tasks/timeline.ts | 91 ++++--------------- 3 files changed, 29 insertions(+), 150 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts index a7b4191d8b470..ad72dfd2f6ca3 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts @@ -5,13 +5,7 @@ * 2.0. */ -import { - ADD_FILTER, - SERVER_SIDE_EVENT_COUNT, - TIMELINE_KQLMODE_FILTER, - TIMELINE_KQLMODE_SEARCH, - TIMELINE_SEARCH_OR_FILTER, -} from '../../../screens/timeline'; +import { ADD_FILTER, SERVER_SIDE_EVENT_COUNT } from '../../../screens/timeline'; import { LOADING_INDICATOR } from '../../../screens/security_header'; import { login } from '../../../tasks/login'; @@ -22,9 +16,11 @@ import { changeTimelineQueryLanguage, executeTimelineKQL, executeTimelineSearch, - showDataProviderQueryBuilder, + selectKqlFilterMode, + selectKqlSearchMode, } from '../../../tasks/timeline'; import { waitForTimelinesPanelToBeLoaded } from '../../../tasks/timelines'; +import { deleteTimelines } from '../../../tasks/api_calls/common'; import { hostsUrl, TIMELINES_URL } from '../../../urls/navigation'; @@ -32,10 +28,11 @@ describe('Timeline search and filters', { tags: ['@ess', '@serverless'] }, () => describe('timeline search or filter KQL bar', () => { beforeEach(() => { login(); + deleteTimelines(); visitWithTimeRange(hostsUrl('allHosts')); }); - it('executes a KQL query', () => { + it('should execute a KQL query', () => { const hostExistsQuery = 'host.name: *'; openTimelineUsingToggle(); executeTimelineKQL(hostExistsQuery); @@ -43,7 +40,7 @@ describe('Timeline search and filters', { tags: ['@ess', '@serverless'] }, () => cy.get(SERVER_SIDE_EVENT_COUNT).should(($count) => expect(+$count.text()).to.be.gt(0)); }); - it('executes a Lucene query', () => { + it('should execute a Lucene query', () => { const messageProcessQuery = 'message:Process\\ zsh*'; openTimelineUsingToggle(); changeTimelineQueryLanguage('lucene'); @@ -53,22 +50,19 @@ describe('Timeline search and filters', { tags: ['@ess', '@serverless'] }, () => }); }); - // FLAKY: https://github.com/elastic/kibana/issues/169882 - describe.skip('Update kqlMode for timeline', () => { + describe('Update kqlMode for timeline', () => { beforeEach(() => { login(); + deleteTimelines(); visit(TIMELINES_URL); waitForTimelinesPanelToBeLoaded(); openTimelineUsingToggle(); cy.intercept('PATCH', '/api/timeline').as('update'); cy.get(LOADING_INDICATOR).should('not.exist'); - showDataProviderQueryBuilder(); - cy.get(TIMELINE_SEARCH_OR_FILTER).click(); - cy.get(TIMELINE_SEARCH_OR_FILTER).should('exist'); }); it('should be able to update timeline kqlMode with filter', () => { - cy.get(TIMELINE_KQLMODE_FILTER).click(); + selectKqlFilterMode(); addNameToTimelineAndSave('Test'); cy.wait('@update').then(({ response }) => { cy.wrap(response?.statusCode).should('eql', 200); @@ -78,7 +72,7 @@ describe('Timeline search and filters', { tags: ['@ess', '@serverless'] }, () => }); it('should be able to update timeline kqlMode with search', () => { - cy.get(TIMELINE_KQLMODE_SEARCH).click(); + selectKqlSearchMode(); addNameToTimelineAndSave('Test'); cy.wait('@update').then(({ response }) => { cy.wrap(response?.statusCode).should('eql', 200); diff --git a/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts b/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts index 32cf43e3de2cf..85b3f32df8292 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/timeline.ts @@ -6,7 +6,7 @@ */ import type { TimelineFilter } from '../objects/timeline'; -import { getDataTestSubjectSelector, getDataTestSubjectSelectorStartWith } from '../helpers/common'; +import { getDataTestSubjectSelector } from '../helpers/common'; export const ADD_NOTE_BUTTON = '[data-test-subj="add-note"]'; @@ -24,9 +24,6 @@ export const SELECT_CASE = (id: string) => { return `[data-test-subj="cases-table-row-select-${id}"]`; }; -export const CORRELATION_EVENT_TABLE_CELL = - '[data-test-subj="eql-events-table"] [data-test-subj="statefulCell"]'; - export const CLOSE_TIMELINE_BTN = '[data-test-subj="close-timeline"]'; export const COMBO_BOX_INPUT = '[data-test-subj="comboBoxInput"]'; @@ -45,24 +42,8 @@ export const DATAGRID_HEADER = (header: string) => { return `[data-test-subj="dataGridHeaderCell-${header}"]`; }; -export const DATE_PICKER_END = '[data-test-subj="superDatePickerendDatePopoverButton"]'; - -export const DATE_PICKER_START = '[data-test-subj="superDatePickerstartDatePopoverButton"]'; - -export const DELETE_TIMELINE_BTN = '[data-test-subj="delete-timeline"]'; - -export const DELETION_CONFIRMATION = '[data-test-subj="confirmModalConfirmButton"]'; - -export const DESTINATION_IP_KPI = '[data-test-subj="siem-timeline-destination-ip-kpi"]'; - -export const FAVORITE_TIMELINE = '[data-test-subj="timeline-favorite-filled-star"]'; - export const FIELD_BROWSER = '[data-test-subj="show-field-browser"]'; -export const GRAPH_TAB_BUTTON = '[data-test-subj="timelineTabs-graph"]'; - -export const HOST_KPI = '[data-test-subj="siem-timeline-host-kpi"]'; - export const ID_HEADER_FIELD = '[data-test-subj="timeline"] [data-test-subj="header-text-_id"]'; export const ID_TOGGLE_FIELD = @@ -75,16 +56,10 @@ export const LOCKED_ICON = '[data-test-subj="timeline-date-picker-lock-button"]' export const UNLOCKED_ICON = '[data-test-subj="timeline-date-picker-unlock-button"]'; -export const NOTES = '[data-test-subj="note-card-body"]'; - export const NOTE_CARD_CONTENT = '[data-test-subj="notes"]'; -export const EVENT_NOTE = '[data-test-subj="timeline-notes-button-small"]'; - export const NOTE_DESCRIPTION = '[data-test-subj="note-preview-description"]'; -export const NOTE_PREVIEW = '[data-test-subj^="note-preview"]'; - export const NOTES_TEXT_AREA = '[data-test-subj="add-a-note"] textarea'; export const NOTES_TAB_BUTTON = '[data-test-subj="timelineTabs-notes"]'; @@ -106,18 +81,10 @@ export const OPEN_TIMELINE_ICON = '[data-test-subj="open-timeline-button"]'; export const OPEN_TIMELINE_MODAL = '[data-test-subj="open-timeline-modal"]'; -export const CLOSE_OPEN_TIMELINE_MODAL_BTN = `${OPEN_TIMELINE_MODAL} > button`; - export const PIN_EVENT = '[data-test-subj="pin"]'; -export const PINNED_TAB_BUTTON = '[data-test-subj="timelineTabs-pinned"]'; - -export const PROCESS_KPI = '[data-test-subj="siem-timeline-process-kpi"'; - export const PROVIDER_BADGE = '[data-test-subj="providerBadge"]'; -export const PROVIDER_BADGE_DELETE = '.delete-data-provider'; - export const RESET_FIELDS = '[data-test-subj="fields-browser-container"] [data-test-subj="reset-fields"]'; @@ -128,17 +95,12 @@ export const SEARCH_OR_FILTER_CONTAINER = export const INDICATOR_MATCH_ROW_RENDER = '[data-test-subj="threat-match-row"]'; -export const QUERY_EVENT_TABLE_CELL = - '[data-test-subj="query-events-table"] [data-test-subj="statefulCell"]'; - export const QUERY_TAB_BUTTON = '[data-test-subj="timelineTabs-query"]'; export const SERVER_SIDE_EVENT_COUNT = '[data-test-subj="server-side-event-count"]'; export const ALERTS_TABLE_COUNT = `[data-test-subj="toolbar-alerts-count"]`; -export const SOURCE_IP_KPI = '[data-test-subj="siem-timeline-source-ip-kpi"]'; - export const STAR_ICON = '[data-test-subj="timeline-favorite-empty-star"]'; export const TIMELINE_COLUMN_SPINNER = '[data-test-subj="timeline-loading-spinner"]'; @@ -168,8 +130,6 @@ export const TIMELINE_DATA_PROVIDER_VALUE = `[data-test-subj="value"]`; export const SAVE_DATA_PROVIDER_BTN = `[data-test-subj="save"]`; -export const TIMELINE_DESCRIPTION = '[data-test-subj="timeline-description"]'; - export const TIMELINE_DESCRIPTION_INPUT = '[data-test-subj="save-timeline-description"]'; export const TIMELINE_DROPPED_DATA_PROVIDERS = '[data-test-subj="providerContainer"]'; @@ -213,8 +173,6 @@ export const TIMELINE_FLYOUT = '[data-test-subj="timeline-flyout"]'; export const TIMELINE_FLYOUT_HEADER = '[data-test-subj="query-tab-flyout-header"]'; -export const TIMELINE_FLYOUT_BODY = '[data-test-subj="query-tab-flyout-body"]'; - export const TIMELINE_HEADER = '[data-test-subj="timeline-hide-show-container"]'; export const TIMELINE_INSPECT_BUTTON = `${TIMELINE_FLYOUT} [data-test-subj="inspect-empty-button"]`; @@ -250,8 +208,6 @@ export const TIMESTAMP_TOGGLE_FIELD = export const TOGGLE_TIMELINE_EXPAND_EVENT = '[data-test-subj="expand-event"]'; -export const TIMELINE_SAVE_MODAL_OPEN_BUTTON = '[data-test-subj="save-timeline-btn"]'; - export const TIMELINE_SAVE_MODAL = '[data-test-subj="save-timeline-modal"]'; export const TIMELINE_EDIT_MODAL_SAVE_BUTTON = '[data-test-subj="save-button"]'; @@ -294,17 +250,11 @@ export const TIMELINE_TAB_CONTENT_GRAPHS_NOTES = export const TIMESTAMP_HOVER_ACTION_OVERFLOW_BTN = '[data-test-subj="event-fields-table-row-@timestamp"] [data-test-subj="showExtraActionsButton"]'; -export const USER_KPI = '[data-test-subj="siem-timeline-user-kpi"]'; - export const TIMELINE_STATUS = '[data-test-subj="timeline-status"]'; -export const SAVE_TIMELINE_BTN_TOOLTIP = '[data-test-subj="save-timeline-btn-tooltip"]'; - export const ALERT_TABLE_SEVERITY_VALUES = '[data-test-subj="formatted-field-kibana.alert.severity"]'; -export const ALERT_TABLE_ACTIONS_HEADER = '[data-gridcell-column-id="expandColumn"]'; - export const ALERT_TABLE_FILE_NAME_HEADER = '[data-gridcell-column-id="file.name"]'; export const ALERT_TABLE_SEVERITY_HEADER = '[data-gridcell-column-id="kibana.alert.severity"]'; @@ -344,14 +294,6 @@ export const TIMELINE_DATE_PICKER_CONTAINER = getDataTestSubjectSelector( 'timeline-date-picker-container' ); -export const OPEN_TIMELINE_MODAL_SEARCH_BAR = `${OPEN_TIMELINE_MODAL} ${getDataTestSubjectSelector( - 'search-bar' -)}`; - -export const OPEN_TIMELINE_MODAL_TIMELINE_NAMES = `${OPEN_TIMELINE_MODAL} ${getDataTestSubjectSelectorStartWith( - 'timeline-title-' -)}`; - export const TIMELINE_FILTER_BADGE = `[data-test-subj^='timeline-filters-container'] [data-test-subj^="filter-badge"]`; export const NEW_TIMELINE_ACTION = getDataTestSubjectSelector('new-timeline-action'); diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts index d621fd2d832a2..c71eb590f1fea 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts @@ -9,7 +9,6 @@ import { recurse } from 'cypress-recurse'; import type { Timeline, TimelineFilter } from '../objects/timeline'; import { ALL_CASES_CREATE_NEW_CASE_TABLE_BTN } from '../screens/all_cases'; -import { BASIC_TABLE_LOADING } from '../screens/common'; import { FIELDS_BROWSER_CHECKBOX } from '../screens/fields_browser'; import { LOADING_INDICATOR } from '../screens/security_header'; import { EQL_QUERY_VALIDATION_SPINNER } from '../screens/create_new_rule'; @@ -23,8 +22,6 @@ import { CLOSE_TIMELINE_BTN, COMBO_BOX_INPUT, CREATE_NEW_TIMELINE, - DELETE_TIMELINE_BTN, - DELETION_CONFIRMATION, FIELD_BROWSER, ID_HEADER_FIELD, ID_TOGGLE_FIELD, @@ -56,13 +53,11 @@ import { TIMELINE_EDIT_MODAL_SAVE_AS_NEW_SWITCH, TIMELINE_PROGRESS_BAR, QUERY_TAB_BUTTON, - CLOSE_OPEN_TIMELINE_MODAL_BTN, TIMELINE_ADD_FIELD_BUTTON, TIMELINE_DATA_PROVIDER_FIELD, TIMELINE_DATA_PROVIDER_OPERATOR, TIMELINE_DATA_PROVIDER_VALUE, SAVE_DATA_PROVIDER_BTN, - EVENT_NOTE, TIMELINE_CORRELATION_INPUT, TIMELINE_CORRELATION_TAB, TIMELINE_CREATE_TIMELINE_FROM_TEMPLATE_BTN, @@ -81,16 +76,14 @@ import { TIMELINE_LUCENELANGUAGE_BUTTON, TIMELINE_KQLLANGUAGE_BUTTON, TIMELINE_QUERY, - PROVIDER_BADGE, - PROVIDER_BADGE_DELETE, ESQL_TAB, - OPEN_TIMELINE_MODAL_TIMELINE_NAMES, - OPEN_TIMELINE_MODAL_SEARCH_BAR, - OPEN_TIMELINE_MODAL, NEW_TIMELINE_ACTION, SAVE_TIMELINE_ACTION, TOGGLE_DATA_PROVIDER_BTN, SAVE_TIMELINE_ACTION_BTN, + TIMELINE_SEARCH_OR_FILTER, + TIMELINE_KQLMODE_FILTER, + TIMELINE_KQLMODE_SEARCH, } from '../screens/timeline'; import { REFRESH_BUTTON, TIMELINE, TIMELINES_TAB_TEMPLATE } from '../screens/timelines'; @@ -303,20 +296,11 @@ export const clickIdToggleField = () => { }); }; -export const closeOpenTimelineModal = () => { - cy.get(CLOSE_OPEN_TIMELINE_MODAL_BTN).click({ force: true }); -}; - export const closeTimeline = () => { cy.get(CLOSE_TIMELINE_BTN).filter(':visible').click(); cy.get(QUERY_TAB_BUTTON).should('not.be.visible'); }; -export const removeDataProvider = () => { - cy.get(PROVIDER_BADGE).click(); - cy.get(PROVIDER_BADGE_DELETE).click(); -}; - export const createNewTimeline = () => { cy.get(NEW_TIMELINE_ACTION).should('be.visible').trigger('click'); cy.get(CREATE_NEW_TIMELINE).eq(0).should('be.visible').click({ force: true }); @@ -326,18 +310,6 @@ export const openCreateTimelineOptionsPopover = () => { cy.get(NEW_TIMELINE_ACTION).filter(':visible').should('be.visible').click(); }; -export const createTimelineOptionsPopoverBottomBar = () => { - recurse( - () => { - cy.get(TIMELINE_SETTINGS_ICON).filter(':visible').should('be.visible').click(); - return cy.get(CREATE_NEW_TIMELINE).eq(0); - }, - (sub) => sub.is(':visible') - ); - - cy.get(CREATE_NEW_TIMELINE).eq(0).should('be.visible').click(); -}; - export const createTimelineTemplateOptionsPopoverBottomBar = () => { recurse( () => { @@ -350,10 +322,6 @@ export const createTimelineTemplateOptionsPopoverBottomBar = () => { cy.get(CREATE_NEW_TIMELINE_TEMPLATE).eq(0).should('be.visible').click(); }; -export const closeCreateTimelineOptionsPopover = () => { - cy.get(TIMELINE_SETTINGS_ICON).filter(':visible').should('be.visible').type('{esc}'); -}; - export const createNewTimelineTemplate = () => { openCreateTimelineOptionsPopover(); cy.get(CREATE_NEW_TIMELINE_TEMPLATE).click(); @@ -365,7 +333,7 @@ export const executeTimelineKQL = (query: string) => { }; export const executeTimelineSearch = (query: string) => { - cy.get(TIMELINE_QUERY).type(`${query} {enter}`, { force: true }); + cy.get(TIMELINE_QUERY).type(`${query} {enter}`); }; export const expandFirstTimelineEventDetails = () => { @@ -391,12 +359,6 @@ export const saveTimeline = () => { }); }; -export const deleteTimeline = () => { - cy.get(TIMELINE_COLLAPSED_ITEMS_BTN).click(); - cy.get(DELETE_TIMELINE_BTN).click(); - cy.get(DELETION_CONFIRMATION).click(); -}; - export const markAsFavorite = () => { cy.intercept('PATCH', 'api/timeline/_favorite').as('markedAsFavourite'); cy.get(STAR_ICON).click({ force: true }); @@ -444,13 +406,6 @@ export const pinFirstEvent = (): Cypress.Chainable> => { return cy.get(PIN_EVENT).first().click({ force: true }); }; -export const persistNoteToFirstEvent = (notes: string) => { - cy.get(EVENT_NOTE).first().click({ force: true }); - cy.get(NOTES_TEXT_AREA).type(notes); - cy.get(ADD_NOTE_BUTTON).click(); - cy.get(NOTES_TAB_BUTTON).find('.euiBadge'); -}; - export const populateTimeline = () => { executeTimelineKQL(hostExistsQuery); cy.get(SERVER_SIDE_EVENT_COUNT).should('not.have.text', '0'); @@ -525,32 +480,20 @@ export const expandEventAction = () => { cy.get(TIMELINE_COLLAPSED_ITEMS_BTN).first().click(); }; -export const setKibanaTimezoneToUTC = () => - cy - .request({ - method: 'POST', - url: 'internal/kibana/settings', - body: { changes: { 'dateFormat:tz': 'UTC' } }, - headers: { - 'kbn-xsrf': 'set-kibana-timezone-utc', - 'x-elastic-internal-origin': 'security-solution', - }, - }) - .then(() => { - cy.reload(); - }); +const showDataProviderQueryBuilder = () => { + cy.get(TOGGLE_DATA_PROVIDER_BTN).should('have.attr', 'aria-pressed', 'false'); + cy.get(TOGGLE_DATA_PROVIDER_BTN).click(); + cy.get(TOGGLE_DATA_PROVIDER_BTN).should('have.attr', 'aria-pressed', 'true'); +}; -export const openTimelineFromOpenTimelineModal = (timelineName: string) => { - cy.get(OPEN_TIMELINE_MODAL_TIMELINE_NAMES).should('have.lengthOf.gt', 0); - cy.get(BASIC_TABLE_LOADING).should('not.exist'); - cy.get(OPEN_TIMELINE_MODAL_SEARCH_BAR).type(`${timelineName}{enter}`); - cy.get(OPEN_TIMELINE_MODAL_TIMELINE_NAMES).should('have.lengthOf', 1); - cy.get(OPEN_TIMELINE_MODAL).should('contain.text', timelineName); - cy.get(OPEN_TIMELINE_MODAL_TIMELINE_NAMES).first().click(); +export const selectKqlFilterMode = () => { + showDataProviderQueryBuilder(); + cy.get(TIMELINE_SEARCH_OR_FILTER).click(); + cy.get(TIMELINE_KQLMODE_FILTER).click(); }; -export const showDataProviderQueryBuilder = () => { - cy.get(TOGGLE_DATA_PROVIDER_BTN).should('have.attr', 'aria-pressed', 'false'); - cy.get(TOGGLE_DATA_PROVIDER_BTN).trigger('click'); - cy.get(TOGGLE_DATA_PROVIDER_BTN).should('have.attr', 'aria-pressed', 'true'); +export const selectKqlSearchMode = () => { + showDataProviderQueryBuilder(); + cy.get(TIMELINE_SEARCH_OR_FILTER).click(); + cy.get(TIMELINE_KQLMODE_SEARCH).click(); }; From 05a26fc23f9e502e3da7d1b60eb433c58331411b Mon Sep 17 00:00:00 2001 From: Justin Kambic Date: Fri, 15 Dec 2023 01:07:41 -0500 Subject: [PATCH 079/123] [Synthetics] Remove notion of experimental synthetics service locations (#173317) ## Summary Resolves #173315. Removes the notion of experimental locations from Kibana server. This feature is unused at the moment in our deployment strategy, and adds some extra complexity when configuring Kibana to work with Synthetics in various environments. See linked issue for more detail. --- x-pack/plugins/synthetics/common/config.ts | 1 - x-pack/plugins/synthetics/e2e/config.ts | 2 - .../get_service_locations.test.ts | 171 ++++-------------- .../get_service_locations.ts | 7 +- x-pack/plugins/uptime/e2e/config.ts | 2 - 5 files changed, 40 insertions(+), 143 deletions(-) diff --git a/x-pack/plugins/synthetics/common/config.ts b/x-pack/plugins/synthetics/common/config.ts index 9da43f8bf9a08..63cea263d1648 100644 --- a/x-pack/plugins/synthetics/common/config.ts +++ b/x-pack/plugins/synthetics/common/config.ts @@ -17,7 +17,6 @@ const serviceConfig = schema.object({ syncInterval: schema.maybe(schema.string()), tls: schema.maybe(sslSchema), devUrl: schema.maybe(schema.string()), - showExperimentalLocations: schema.maybe(schema.boolean()), }); const uptimeConfig = schema.object({ diff --git a/x-pack/plugins/synthetics/e2e/config.ts b/x-pack/plugins/synthetics/e2e/config.ts index 4f8bc7281d770..f20afbc28d746 100644 --- a/x-pack/plugins/synthetics/e2e/config.ts +++ b/x-pack/plugins/synthetics/e2e/config.ts @@ -57,14 +57,12 @@ async function config({ readConfigFile }: FtrConfigProviderContext) { `--elasticsearch.password=changeme`, '--xpack.reporting.enabled=false', `--xpack.uptime.service.manifestUrl=${manifestUrl}`, - `--xpack.uptime.service.showExperimentalLocations=true`, `--xpack.uptime.service.username=${ process.env.SYNTHETICS_REMOTE_ENABLED ? serviceUsername : 'localKibanaIntegrationTestsUser' }`, `--xpack.uptime.service.password=${servicePassword}`, - `--xpack.uptime.service.showExperimentalLocations=${true}`, '--uiSettings.overrides.observability:enableLegacyUptimeApp=true', ], }, diff --git a/x-pack/plugins/synthetics/server/synthetics_service/get_service_locations.test.ts b/x-pack/plugins/synthetics/server/synthetics_service/get_service_locations.test.ts index 58faf6ba14877..6796c07a763cd 100644 --- a/x-pack/plugins/synthetics/server/synthetics_service/get_service_locations.test.ts +++ b/x-pack/plugins/synthetics/server/synthetics_service/get_service_locations.test.ts @@ -41,145 +41,52 @@ describe('getServiceLocations', function () { }, }); - describe('when out of production', () => { - it('should return all locations regardless of the `showExperimentalLocations` key', async () => { - const locations = await getServiceLocations({ - isDev: true, - config: { - service: { - manifestUrl: 'http://local.dev', - showExperimentalLocations: false, - }, - enabled: true, - }, - // @ts-ignore - logger: { - error: jest.fn(), - }, - }); - - expect(locations).toEqual({ - throttling: { - [BandwidthLimitKey.DOWNLOAD]: 100, - [BandwidthLimitKey.UPLOAD]: 50, + it('should return all locations', async () => { + const locations = await getServiceLocations({ + isDev: true, + config: { + service: { + manifestUrl: 'http://local.dev', }, - locations: [ - { - geo: { - lat: 41.25, - lon: -95.86, - }, - id: 'us_central', - isInvalid: false, - label: 'US Central', - url: 'https://local.dev', - isServiceManaged: true, - status: LocationStatus.GA, - }, - { - geo: { - lat: 41.25, - lon: -95.86, - }, - id: 'us_east', - isInvalid: false, - label: 'US East', - url: 'https://local.dev', - isServiceManaged: true, - status: LocationStatus.EXPERIMENTAL, - }, - ], - }); + enabled: true, + }, + // @ts-ignore + logger: { + error: jest.fn(), + }, }); - }); - describe('when in production', () => { - it('should return only GA locations and throttling when `showExperimentalLocations` is set to false', async () => { - const locations = await getServiceLocations({ - isDev: false, - config: { - service: { - manifestUrl: 'http://local.dev', - showExperimentalLocations: false, + expect(locations).toEqual({ + throttling: { + [BandwidthLimitKey.DOWNLOAD]: 100, + [BandwidthLimitKey.UPLOAD]: 50, + }, + locations: [ + { + geo: { + lat: 41.25, + lon: -95.86, }, - enabled: true, - }, - // @ts-ignore - logger: { - error: jest.fn(), - }, - }); - - expect(locations).toEqual({ - throttling: { - [BandwidthLimitKey.DOWNLOAD]: 100, - [BandwidthLimitKey.UPLOAD]: 50, + id: 'us_central', + isInvalid: false, + label: 'US Central', + url: 'https://local.dev', + isServiceManaged: true, + status: LocationStatus.GA, }, - locations: [ - { - geo: { - lat: 41.25, - lon: -95.86, - }, - id: 'us_central', - isInvalid: false, - label: 'US Central', - url: 'https://local.dev', - isServiceManaged: true, - status: LocationStatus.GA, - }, - ], - }); - }); - - it('should return all locations and throttling when `showExperimentalLocations` flag is set to true', async () => { - const locations = await getServiceLocations({ - isDev: false, - config: { - service: { - manifestUrl: 'http://local.dev', - showExperimentalLocations: true, + { + geo: { + lat: 41.25, + lon: -95.86, }, - enabled: true, - }, - // @ts-ignore - logger: { - error: jest.fn(), - }, - }); - - expect(locations).toEqual({ - throttling: { - [BandwidthLimitKey.DOWNLOAD]: 100, - [BandwidthLimitKey.UPLOAD]: 50, + id: 'us_east', + isInvalid: false, + label: 'US East', + url: 'https://local.dev', + isServiceManaged: true, + status: LocationStatus.EXPERIMENTAL, }, - locations: [ - { - geo: { - lat: 41.25, - lon: -95.86, - }, - id: 'us_central', - isInvalid: false, - label: 'US Central', - url: 'https://local.dev', - isServiceManaged: true, - status: LocationStatus.GA, - }, - { - geo: { - lat: 41.25, - lon: -95.86, - }, - id: 'us_east', - isInvalid: false, - label: 'US East', - url: 'https://local.dev', - isServiceManaged: true, - status: LocationStatus.EXPERIMENTAL, - }, - ], - }); + ], }); }); }); diff --git a/x-pack/plugins/synthetics/server/synthetics_service/get_service_locations.ts b/x-pack/plugins/synthetics/server/synthetics_service/get_service_locations.ts index 21a8278e8d165..3f8f02fcbf456 100644 --- a/x-pack/plugins/synthetics/server/synthetics_service/get_service_locations.ts +++ b/x-pack/plugins/synthetics/server/synthetics_service/get_service_locations.ts @@ -45,12 +45,7 @@ export async function getServiceLocations(server: SyntheticsServerSetup) { locations: Record; }>(server.config.service!.manifestUrl!); - const availableLocations = - server.isDev || server.config.service?.showExperimentalLocations - ? Object.entries(data.locations) - : Object.entries(data.locations).filter(([_, location]) => { - return location.status === LocationStatus.GA; - }); + const availableLocations = Object.entries(data.locations); availableLocations.forEach(([locationId, location]) => { locations.push({ diff --git a/x-pack/plugins/uptime/e2e/config.ts b/x-pack/plugins/uptime/e2e/config.ts index 3745680315dcf..37a11575b55c2 100644 --- a/x-pack/plugins/uptime/e2e/config.ts +++ b/x-pack/plugins/uptime/e2e/config.ts @@ -56,14 +56,12 @@ async function config({ readConfigFile }: FtrConfigProviderContext) { `--elasticsearch.password=changeme`, '--xpack.reporting.enabled=false', `--xpack.uptime.service.manifestUrl=${manifestUrl}`, - `--xpack.uptime.service.showExperimentalLocations=true`, `--xpack.uptime.service.username=${ process.env.SYNTHETICS_REMOTE_ENABLED ? serviceUsername : 'localKibanaIntegrationTestsUser' }`, `--xpack.uptime.service.password=${servicePassword}`, - `--xpack.uptime.service.showExperimentalLocations=${true}`, '--uiSettings.overrides.observability:enableLegacyUptimeApp=true', ], }, From 359ef61aae6443c27424f55c9196f954ac78ec63 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 15 Dec 2023 01:14:49 -0500 Subject: [PATCH 080/123] [api-docs] 2023-12-15 Daily api_docs build (#173448) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/552 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- .../ai_assistant_management_observability.mdx | 2 +- .../ai_assistant_management_selection.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_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/dataset_quality.devdocs.json | 8 +- api_docs/dataset_quality.mdx | 2 +- api_docs/deprecations_by_api.mdx | 10 +- api_docs/deprecations_by_plugin.mdx | 3 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.devdocs.json | 24 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.devdocs.json | 1780 ++++++++++++++++- api_docs/elastic_assistant.mdx | 7 +- 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_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.devdocs.json | 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_actions_types.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_alerting_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_collection_utils.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_bfetch_error.mdx | 2 +- api_docs/kbn_calculate_auto.mdx | 2 +- .../kbn_calculate_width_from_char_count.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...tent_management_table_list_view_common.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- 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 +- .../kbn_core_plugins_contracts_browser.mdx | 2 +- .../kbn_core_plugins_contracts_server.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- .../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 +- .../kbn_core_test_helpers_model_versions.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_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_icons.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_agent_utils.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_elastic_assistant_common.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_field_utils.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_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 +- .../kbn_management_settings_application.mdx | 2 +- ...ent_settings_components_field_category.mdx | 2 +- ...gement_settings_components_field_input.mdx | 2 +- ...nagement_settings_components_field_row.mdx | 2 +- ...bn_management_settings_components_form.mdx | 2 +- ...n_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- .../kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- api_docs/kbn_ml_chi2test.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_ui_actions.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 +- .../kbn_observability_alerting_test_data.mdx | 2 +- ...ility_get_padded_alert_time_range_util.mdx | 2 +- api_docs/kbn_openapi_bundler.mdx | 2 +- api_docs/kbn_openapi_generator.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_panel_loader.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_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_reporting_export_types_csv.mdx | 2 +- .../kbn_reporting_export_types_csv_common.mdx | 2 +- api_docs/kbn_reporting_export_types_pdf.mdx | 2 +- .../kbn_reporting_export_types_pdf_common.mdx | 2 +- api_docs/kbn_reporting_export_types_png.mdx | 2 +- .../kbn_reporting_export_types_png_common.mdx | 2 +- api_docs/kbn_reporting_mocks_server.mdx | 2 +- api_docs/kbn_reporting_public.mdx | 2 +- api_docs/kbn_reporting_server.mdx | 2 +- api_docs/kbn_resizable_layout.mdx | 2 +- 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_errors.mdx | 2 +- api_docs/kbn_search_index_documents.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_plugin_types_common.mdx | 2 +- api_docs/kbn_security_plugin_types_public.mdx | 2 +- api_docs/kbn_security_plugin_types_server.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_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 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_error_boundary.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_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_triggers_actions_ui_types.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_unsaved_changes_badge.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_visualization_utils.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kbn_zod_helpers.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.devdocs.json | 132 +- 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/links.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/mock_idp_plugin.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.devdocs.json | 34 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_log_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.devdocs.json | 104 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 6 +- 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.devdocs.json | 20 +- api_docs/visualizations.mdx | 2 +- 640 files changed, 2520 insertions(+), 866 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 28da9c8a3c304..60d307a4abe6c 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-12-14 +date: 2023-12-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 2f18f50aa17aa..75208ae1c21a2 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/ai_assistant_management_observability.mdx b/api_docs/ai_assistant_management_observability.mdx index 73e2d37c49fee..816148fbfd389 100644 --- a/api_docs/ai_assistant_management_observability.mdx +++ b/api_docs/ai_assistant_management_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementObservability title: "aiAssistantManagementObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementObservability plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementObservability'] --- import aiAssistantManagementObservabilityObj from './ai_assistant_management_observability.devdocs.json'; diff --git a/api_docs/ai_assistant_management_selection.mdx b/api_docs/ai_assistant_management_selection.mdx index 917e32cca9a3a..5a6e91d94d9e4 100644 --- a/api_docs/ai_assistant_management_selection.mdx +++ b/api_docs/ai_assistant_management_selection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementSelection title: "aiAssistantManagementSelection" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementSelection plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementSelection'] --- import aiAssistantManagementSelectionObj from './ai_assistant_management_selection.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index e6b3a7831e2ef..5a795cbc8bb3d 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-12-14 +date: 2023-12-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 3361567b2b708..1d2bb3d3038b6 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-12-14 +date: 2023-12-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 fcc9a5dfd6ba4..7e432d91b08d7 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-12-14 +date: 2023-12-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 334f864f92769..963ab0be4e347 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-12-14 +date: 2023-12-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 98b17d1995ee1..353482ca27f94 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-12-14 +date: 2023-12-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 5bbb70d05b303..619c36822b208 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-12-14 +date: 2023-12-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 56b46557cc806..cf783a174b446 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-12-14 +date: 2023-12-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 6ca7d96e9c4c0..4cec68d97434c 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-12-14 +date: 2023-12-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 69b5447179767..8822f0379b61c 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-12-14 +date: 2023-12-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 7129dfc37b54e..0d8731805057f 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-12-14 +date: 2023-12-15 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 4af93417f1415..8c96b3f73e725 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 16119e8c64fd1..07166578df224 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-12-14 +date: 2023-12-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 68cb96ef10f43..15add7bc2f3ab 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-12-14 +date: 2023-12-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 79baf5db79971..9ac23bf26bdec 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-12-14 +date: 2023-12-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 731f900e6193b..c32220b3248a1 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-12-14 +date: 2023-12-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 e8af78480f723..561af5828fc81 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-12-14 +date: 2023-12-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 47ee6fb3f8c29..33039bf6b0eee 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-12-14 +date: 2023-12-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 07f2368856d29..16fc81c8b048a 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-12-14 +date: 2023-12-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 058859fd9025b..46e3d797490a3 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-12-14 +date: 2023-12-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 f93b6a5fe092c..2d0d3c450432d 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-12-14 +date: 2023-12-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 f0edbfcc398dc..7fa15a6cf7b1b 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-12-14 +date: 2023-12-15 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 d7d7d0c091f9c..968b5b71df5d2 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-12-14 +date: 2023-12-15 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 dddcba67344c7..6d71eaa2e3e89 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-12-14 +date: 2023-12-15 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 a4c4381f18e44..d0b3b40612b9d 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-12-14 +date: 2023-12-15 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 731bc57e299b4..56b67f28fedb4 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-12-14 +date: 2023-12-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 a54462016fe5a..da41575b7eff8 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-12-14 +date: 2023-12-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 5d6da88b210da..7c98ea81273db 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-12-14 +date: 2023-12-15 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 bf3c64be1fd9d..b6aa650983202 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-12-14 +date: 2023-12-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 2ae4a44c78cea..0bffcdd62dbdb 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/dataset_quality.devdocs.json b/api_docs/dataset_quality.devdocs.json index 5aa8c615ce8b0..70ddd3bed1130 100644 --- a/api_docs/dataset_quality.devdocs.json +++ b/api_docs/dataset_quality.devdocs.json @@ -130,7 +130,7 @@ "StringC", "; }>]>; }> | undefined; handler: ({}: ", "DatasetQualityRouteHandlerResources", - " & { params: { query: { start: number; end: number; } & { type?: \"metrics\" | \"synthetics\" | \"profiling\" | \"traces\" | \"logs\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ degradedDocs: { dataset: string; percentage: number; }[]; }>; } & ", + " & { params: { query: { start: number; end: number; } & { type?: \"metrics\" | \"synthetics\" | \"traces\" | \"logs\" | \"profiling\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ degradedDocs: { dataset: string; percentage: number; }[]; }>; } & ", "DatasetQualityRouteCreateOptions", "; \"GET /internal/dataset_quality/data_streams/stats\": { endpoint: \"GET /internal/dataset_quality/data_streams/stats\"; params?: ", "TypeC", @@ -156,7 +156,7 @@ "StringC", "; }>]>; }> | undefined; handler: ({}: ", "DatasetQualityRouteHandlerResources", - " & { params: { query: { type?: \"metrics\" | \"synthetics\" | \"profiling\" | \"traces\" | \"logs\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ dataStreamsStats: ", + " & { params: { query: { type?: \"metrics\" | \"synthetics\" | \"traces\" | \"logs\" | \"profiling\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ dataStreamsStats: ", "DataStreamStat", "[]; integrations: ", "Integration", @@ -217,7 +217,7 @@ "StringC", "; }>]>; }> | undefined; handler: ({}: ", "DatasetQualityRouteHandlerResources", - " & { params: { query: { start: number; end: number; } & { type?: \"metrics\" | \"synthetics\" | \"profiling\" | \"traces\" | \"logs\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ degradedDocs: { dataset: string; percentage: number; }[]; }>; } & ", + " & { params: { query: { start: number; end: number; } & { type?: \"metrics\" | \"synthetics\" | \"traces\" | \"logs\" | \"profiling\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ degradedDocs: { dataset: string; percentage: number; }[]; }>; } & ", "DatasetQualityRouteCreateOptions", "; \"GET /internal/dataset_quality/data_streams/stats\": { endpoint: \"GET /internal/dataset_quality/data_streams/stats\"; params?: ", "TypeC", @@ -243,7 +243,7 @@ "StringC", "; }>]>; }> | undefined; handler: ({}: ", "DatasetQualityRouteHandlerResources", - " & { params: { query: { type?: \"metrics\" | \"synthetics\" | \"profiling\" | \"traces\" | \"logs\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ dataStreamsStats: ", + " & { params: { query: { type?: \"metrics\" | \"synthetics\" | \"traces\" | \"logs\" | \"profiling\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ dataStreamsStats: ", "DataStreamStat", "[]; integrations: ", "Integration", diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx index 75d0a3a13c9b4..164c1a49b6a6b 100644 --- a/api_docs/dataset_quality.mdx +++ b/api_docs/dataset_quality.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/datasetQuality title: "datasetQuality" image: https://source.unsplash.com/400x175/?github description: API docs for the datasetQuality plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'datasetQuality'] --- import datasetQualityObj from './dataset_quality.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 708ae5a501d29..73a00e6ab7bd6 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -18,7 +18,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | ---------------|-----------|-----------| | | ml, stackAlerts | - | | | ruleRegistry, observability, ml, infra, monitoring, securitySolution, stackAlerts, synthetics, transform, uptime | - | -| | share, uiActions, guidedOnboarding, home, serverless, management, spaces, savedObjects, indexManagement, visualizations, dashboard, savedObjectsTagging, expressionXY, lens, expressionMetricVis, expressionGauge, security, alerting, triggersActionsUi, cases, aiops, advancedSettings, exploratoryView, fleet, metricsDataAccess, licenseManagement, maps, dataVisualizer, ml, profiling, apm, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, crossClusterReplication, enterpriseSearch, globalSearchBar, graph, grokdebugger, indexLifecycleManagement, infra, 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 | - | +| | share, uiActions, guidedOnboarding, home, serverless, management, spaces, savedObjects, indexManagement, visualizations, dashboard, savedObjectsTagging, expressionXY, lens, expressionMetricVis, expressionGauge, security, alerting, triggersActionsUi, cases, aiops, advancedSettings, exploratoryView, fleet, metricsDataAccess, licenseManagement, maps, dataVisualizer, ml, osquery, profiling, apm, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, crossClusterReplication, globalSearchBar, graph, grokdebugger, indexLifecycleManagement, infra, ingestPipelines, logstash, monitoring, observabilityOnboarding, 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 | - | | | encryptedSavedObjects, actions, data, ml, logstash, securitySolution, cloudChat | - | | | actions, ml, savedObjectsTagging, enterpriseSearch | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjects, visualizations, aiops, ml, dataVisualizer, dashboardEnhanced, graph, lens, securitySolution, eventAnnotation, @kbn/core-saved-objects-browser-mocks | - | @@ -28,7 +28,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | dashboard, dataVisualizer, stackAlerts, expressionPartitionVis | - | | | stackAlerts, alerting, securitySolution, inputControlVis | - | | | triggersActionsUi | - | -| | inspector, data, savedObjects, runtimeFields, indexManagement, dataViewEditor, unifiedSearch, embeddable, visualizations, dashboard, licensing, savedObjectsTagging, dataViewFieldEditor, lens, security, triggersActionsUi, cases, observabilityShared, advancedSettings, exploratoryView, fleet, telemetry, maps, banners, reporting, timelines, cloudSecurityPosture, dashboardEnhanced, imageEmbeddable, graph, monitoring, securitySolution, synthetics, uptime, cloudLinks, console, dataViewManagement, eventAnnotationListing, filesManagement, uiActions, visTypeVislib | - | +| | inspector, data, savedObjects, runtimeFields, indexManagement, dataViewEditor, unifiedSearch, embeddable, visualizations, dashboard, licensing, savedObjectsTagging, dataViewFieldEditor, lens, security, triggersActionsUi, cases, observabilityShared, advancedSettings, exploratoryView, fleet, telemetry, maps, timelines, banners, reporting, cloudSecurityPosture, dashboardEnhanced, imageEmbeddable, graph, monitoring, securitySolution, synthetics, uptime, cloudLinks, console, dataViewManagement, eventAnnotationListing, filesManagement, uiActions, visTypeVislib | - | | | @kbn/core, visualizations, triggersActionsUi, advancedSettings | - | | | observability, @kbn/securitysolution-data-table, securitySolution | - | | | monitoring | - | @@ -57,7 +57,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | securitySolution | - | | | securitySolution | - | | | securitySolution | - | -| | exploratoryView, fleet, dataVisualizer, cloudSecurityPosture, discoverEnhanced, osquery, synthetics | - | +| | exploratoryView, fleet, dataVisualizer, osquery, cloudSecurityPosture, discoverEnhanced, synthetics | - | | | @kbn/core-plugins-browser-internal, @kbn/core-root-browser-internal, home, savedObjects, unifiedSearch, visualizations, fileUpload, dashboardEnhanced, transform, discover, dataVisualizer | - | | | @kbn/core-lifecycle-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, visualizations, exploratoryView, transform, @kbn/core-saved-objects-browser-mocks | - | | | actions, alerting | - | @@ -128,8 +128,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/reporting-export-types-pdf, reporting | - | | | @kbn/core-elasticsearch-server-internal, @kbn/core-plugins-server-internal, observabilityOnboarding, console | - | | | @kbn/content-management-table-list-view, filesManagement | - | -| | enterpriseSearch | - | | | @kbn/react-kibana-context-styled, kibanaReact | - | +| | enterpriseSearch | - | | | encryptedSavedObjects | - | | | @kbn/core | - | | | @kbn/core | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index b6c46f0b0dc67..41d2310a97724 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -651,7 +651,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/public/applications/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/public/applications/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/public/applications/index.tsx#:~:text=KibanaThemeProvider) | - | | | [account_settings.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/account_settings/account_settings.tsx#:~:text=uiApi), [account_settings.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/account_settings/account_settings.tsx#:~:text=uiApi), [account_settings.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/account_settings/account_settings.tsx#:~:text=uiApi), [account_settings.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/account_settings/account_settings.tsx#:~:text=uiApi) | - | | | [check_access.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/server/lib/check_access.ts#:~:text=authz), [check_access.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/server/lib/check_access.ts#:~:text=authz), [check_access.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/server/lib/check_access.ts#:~:text=authz) | - | | | [telemetry.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/server/collectors/lib/telemetry.ts#:~:text=SavedObjectAttributes), [telemetry.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/server/collectors/lib/telemetry.ts#:~:text=SavedObjectAttributes), [telemetry.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/server/collectors/lib/telemetry.ts#:~:text=SavedObjectAttributes), [telemetry.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/server/collectors/lib/telemetry.ts#:~:text=SavedObjectAttributes), [telemetry.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/server/collectors/lib/telemetry.ts#:~:text=SavedObjectAttributes), [telemetry.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/enterprise_search/server/collectors/lib/telemetry.ts#:~:text=SavedObjectAttributes) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index a2553f869d18b..8c62c37c84299 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 2b77c77ddd270..eb3791bf4a91f 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.devdocs.json b/api_docs/discover.devdocs.json index e1cc13f2bb13d..ee434fed57833 100644 --- a/api_docs/discover.devdocs.json +++ b/api_docs/discover.devdocs.json @@ -2458,18 +2458,6 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/actions_panel/actions_panel.tsx" }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/overview_tab.tsx" - }, - { - "plugin": "discoverEnhanced", - "path": "x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_context_menu_action.ts" - }, - { - "plugin": "discoverEnhanced", - "path": "x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_chart_action.ts" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" @@ -2482,6 +2470,18 @@ "plugin": "osquery", "path": "x-pack/plugins/osquery/public/common/hooks/use_discover_link.tsx" }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/overview_tab.tsx" + }, + { + "plugin": "discoverEnhanced", + "path": "x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_context_menu_action.ts" + }, + { + "plugin": "discoverEnhanced", + "path": "x-pack/plugins/discover_enhanced/public/actions/explore_data/explore_data_chart_action.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/common/components/stderr_logs.tsx" diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 2697a710c865f..f6fe12e90c14f 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-12-14 +date: 2023-12-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 39e7ea3a0b1d5..370ea9f171c63 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-12-14 +date: 2023-12-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 0306150a498d7..d843c6470cc44 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.devdocs.json b/api_docs/elastic_assistant.devdocs.json index 9a3dd4987b4a5..0f18338ae23fe 100644 --- a/api_docs/elastic_assistant.devdocs.json +++ b/api_docs/elastic_assistant.devdocs.json @@ -11,7 +11,1677 @@ "server": { "classes": [], "functions": [], - "interfaces": [], + "interfaces": [ + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantTool", + "type": "Interface", + "tags": [], + "label": "AssistantTool", + "description": [ + "\nInterfaces for registering tools to be used by the elastic assistant" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantTool.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantTool.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantTool.description", + "type": "string", + "tags": [], + "label": "description", + "description": [], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantTool.sourceRegister", + "type": "string", + "tags": [], + "label": "sourceRegister", + "description": [], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantTool.isSupported", + "type": "Function", + "tags": [], + "label": "isSupported", + "description": [], + "signature": [ + "(params: ", + { + "pluginId": "elasticAssistant", + "scope": "server", + "docId": "kibElasticAssistantPluginApi", + "section": "def-server.AssistantToolParams", + "text": "AssistantToolParams" + }, + ") => boolean" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantTool.isSupported.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "elasticAssistant", + "scope": "server", + "docId": "kibElasticAssistantPluginApi", + "section": "def-server.AssistantToolParams", + "text": "AssistantToolParams" + } + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantTool.getTool", + "type": "Function", + "tags": [], + "label": "getTool", + "description": [], + "signature": [ + "(params: ", + { + "pluginId": "elasticAssistant", + "scope": "server", + "docId": "kibElasticAssistantPluginApi", + "section": "def-server.AssistantToolParams", + "text": "AssistantToolParams" + }, + ") => ", + "Tool", + " | null" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantTool.getTool.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "elasticAssistant", + "scope": "server", + "docId": "kibElasticAssistantPluginApi", + "section": "def-server.AssistantToolParams", + "text": "AssistantToolParams" + } + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams", + "type": "Interface", + "tags": [], + "label": "AssistantToolParams", + "description": [], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.alertsIndexPattern", + "type": "string", + "tags": [], + "label": "alertsIndexPattern", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.allow", + "type": "Array", + "tags": [], + "label": "allow", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.allowReplacement", + "type": "Array", + "tags": [], + "label": "allowReplacement", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.assistantLangChain", + "type": "boolean", + "tags": [], + "label": "assistantLangChain", + "description": [], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.chain", + "type": "Object", + "tags": [], + "label": "chain", + "description": [], + "signature": [ + "RetrievalQAChain" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.esClient", + "type": "Object", + "tags": [], + "label": "esClient", + "description": [], + "signature": [ + "{ create: { (this: That, params: ", + "CreateRequest", + " | ", + "CreateRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "WriteResponseBase", + ">; (this: That, params: ", + "CreateRequest", + " | ", + "CreateRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "WriteResponseBase", + ", unknown>>; (this: That, params: ", + "CreateRequest", + " | ", + "CreateRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "WriteResponseBase", + ">; }; update: { (this: That, params: ", + "UpdateRequest", + " | ", + "UpdateRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "UpdateResponse", + ">; (this: That, params: ", + "UpdateRequest", + " | ", + "UpdateRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "UpdateResponse", + ", unknown>>; (this: That, params: ", + "UpdateRequest", + " | ", + "UpdateRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "UpdateResponse", + ">; }; get: { (this: That, params: ", + "GetRequest", + " | ", + "GetRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "GetResponse", + ">; (this: That, params: ", + "GetRequest", + " | ", + "GetRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "GetResponse", + ", unknown>>; (this: That, params: ", + "GetRequest", + " | ", + "GetRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "GetResponse", + ">; }; delete: { (this: That, params: ", + "DeleteRequest", + " | ", + "DeleteRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "WriteResponseBase", + ">; (this: That, params: ", + "DeleteRequest", + " | ", + "DeleteRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "WriteResponseBase", + ", unknown>>; (this: That, params: ", + "DeleteRequest", + " | ", + "DeleteRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "WriteResponseBase", + ">; }; search: { >(this: That, params?: ", + "SearchRequest", + " | ", + "SearchRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "SearchResponse", + ">; >(this: That, params?: ", + "SearchRequest", + " | ", + "SearchRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "SearchResponse", + ", unknown>>; >(this: That, params?: ", + "SearchRequest", + " | ", + "SearchRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "SearchResponse", + ">; }; helpers: ", + "default", + "; name: string | symbol; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kSynonyms]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + "default", + "; child: (opts: ", + "ClientOptions", + ") => ", + "default", + "; asyncSearch: ", + "default", + "; autoscaling: ", + "default", + "; bulk: { (this: That, params: ", + "BulkRequest", + " | ", + "BulkRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "BulkResponse", + ">; (this: That, params: ", + "BulkRequest", + " | ", + "BulkRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "BulkResponse", + ", unknown>>; (this: That, params: ", + "BulkRequest", + " | ", + "BulkRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "BulkResponse", + ">; }; cat: ", + "default", + "; ccr: ", + "default", + "; clearScroll: { (this: That, params?: ", + "ClearScrollRequest", + " | ", + "ClearScrollRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "ClearScrollResponse", + ">; (this: That, params?: ", + "ClearScrollRequest", + " | ", + "ClearScrollRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "ClearScrollResponse", + ", unknown>>; (this: That, params?: ", + "ClearScrollRequest", + " | ", + "ClearScrollRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "ClearScrollResponse", + ">; }; closePointInTime: { (this: That, params: ", + "ClosePointInTimeRequest", + " | ", + "ClosePointInTimeRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "ClosePointInTimeResponse", + ">; (this: That, params: ", + "ClosePointInTimeRequest", + " | ", + "ClosePointInTimeRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "ClosePointInTimeResponse", + ", unknown>>; (this: That, params: ", + "ClosePointInTimeRequest", + " | ", + "ClosePointInTimeRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "ClosePointInTimeResponse", + ">; }; cluster: ", + "default", + "; count: { (this: That, params?: ", + "CountRequest", + " | ", + "CountRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "CountResponse", + ">; (this: That, params?: ", + "CountRequest", + " | ", + "CountRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "CountResponse", + ", unknown>>; (this: That, params?: ", + "CountRequest", + " | ", + "CountRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "CountResponse", + ">; }; danglingIndices: ", + "default", + "; deleteByQuery: { (this: That, params: ", + "DeleteByQueryRequest", + " | ", + "DeleteByQueryRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "DeleteByQueryResponse", + ">; (this: That, params: ", + "DeleteByQueryRequest", + " | ", + "DeleteByQueryRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "DeleteByQueryResponse", + ", unknown>>; (this: That, params: ", + "DeleteByQueryRequest", + " | ", + "DeleteByQueryRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "DeleteByQueryResponse", + ">; }; deleteByQueryRethrottle: { (this: That, params: ", + "DeleteByQueryRethrottleRequest", + " | ", + "DeleteByQueryRethrottleRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "TasksTaskListResponseBase", + ">; (this: That, params: ", + "DeleteByQueryRethrottleRequest", + " | ", + "DeleteByQueryRethrottleRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "TasksTaskListResponseBase", + ", unknown>>; (this: That, params: ", + "DeleteByQueryRethrottleRequest", + " | ", + "DeleteByQueryRethrottleRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "TasksTaskListResponseBase", + ">; }; deleteScript: { (this: That, params: ", + "DeleteScriptRequest", + " | ", + "DeleteScriptRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "AcknowledgedResponseBase", + ">; (this: That, params: ", + "DeleteScriptRequest", + " | ", + "DeleteScriptRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "AcknowledgedResponseBase", + ", unknown>>; (this: That, params: ", + "DeleteScriptRequest", + " | ", + "DeleteScriptRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "AcknowledgedResponseBase", + ">; }; enrich: ", + "default", + "; eql: ", + "default", + "; exists: { (this: That, params: ", + "ExistsRequest", + " | ", + "ExistsRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise; (this: That, params: ", + "ExistsRequest", + " | ", + "ExistsRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + ">; (this: That, params: ", + "ExistsRequest", + " | ", + "ExistsRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise; }; existsSource: { (this: That, params: ", + "ExistsSourceRequest", + " | ", + "ExistsSourceRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise; (this: That, params: ", + "ExistsSourceRequest", + " | ", + "ExistsSourceRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + ">; (this: That, params: ", + "ExistsSourceRequest", + " | ", + "ExistsSourceRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise; }; explain: { (this: That, params: ", + "ExplainRequest", + " | ", + "ExplainRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "ExplainResponse", + ">; (this: That, params: ", + "ExplainRequest", + " | ", + "ExplainRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "ExplainResponse", + ", unknown>>; (this: That, params: ", + "ExplainRequest", + " | ", + "ExplainRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "ExplainResponse", + ">; }; features: ", + "default", + "; fieldCaps: { (this: That, params?: ", + "FieldCapsRequest", + " | ", + "FieldCapsRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "FieldCapsResponse", + ">; (this: That, params?: ", + "FieldCapsRequest", + " | ", + "FieldCapsRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "FieldCapsResponse", + ", unknown>>; (this: That, params?: ", + "FieldCapsRequest", + " | ", + "FieldCapsRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "FieldCapsResponse", + ">; }; fleet: ", + "default", + "; getScript: { (this: That, params: ", + "GetScriptRequest", + " | ", + "GetScriptRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "GetScriptResponse", + ">; (this: That, params: ", + "GetScriptRequest", + " | ", + "GetScriptRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "GetScriptResponse", + ", unknown>>; (this: That, params: ", + "GetScriptRequest", + " | ", + "GetScriptRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "GetScriptResponse", + ">; }; getScriptContext: { (this: That, params?: ", + "GetScriptContextRequest", + " | ", + "GetScriptContextRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "GetScriptContextResponse", + ">; (this: That, params?: ", + "GetScriptContextRequest", + " | ", + "GetScriptContextRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "GetScriptContextResponse", + ", unknown>>; (this: That, params?: ", + "GetScriptContextRequest", + " | ", + "GetScriptContextRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "GetScriptContextResponse", + ">; }; getScriptLanguages: { (this: That, params?: ", + "GetScriptLanguagesRequest", + " | ", + "GetScriptLanguagesRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "GetScriptLanguagesResponse", + ">; (this: That, params?: ", + "GetScriptLanguagesRequest", + " | ", + "GetScriptLanguagesRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "GetScriptLanguagesResponse", + ", unknown>>; (this: That, params?: ", + "GetScriptLanguagesRequest", + " | ", + "GetScriptLanguagesRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "GetScriptLanguagesResponse", + ">; }; getSource: { (this: That, params: ", + "GetSourceRequest", + " | ", + "GetSourceRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise; (this: That, params: ", + "GetSourceRequest", + " | ", + "GetSourceRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + ">; (this: That, params: ", + "GetSourceRequest", + " | ", + "GetSourceRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise; }; graph: ", + "default", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", + "default", + "; index: { (this: That, params: ", + "IndexRequest", + " | ", + "IndexRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "WriteResponseBase", + ">; (this: That, params: ", + "IndexRequest", + " | ", + "IndexRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "WriteResponseBase", + ", unknown>>; (this: That, params: ", + "IndexRequest", + " | ", + "IndexRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "WriteResponseBase", + ">; }; indices: ", + "default", + "; info: { (this: That, params?: ", + "InfoRequest", + " | ", + "InfoRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "InfoResponse", + ">; (this: That, params?: ", + "InfoRequest", + " | ", + "InfoRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "InfoResponse", + ", unknown>>; (this: That, params?: ", + "InfoRequest", + " | ", + "InfoRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "InfoResponse", + ">; }; ingest: ", + "default", + "; knnSearch: { (this: That, params: ", + "KnnSearchRequest", + " | ", + "KnnSearchRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "KnnSearchResponse", + ">; (this: That, params: ", + "KnnSearchRequest", + " | ", + "KnnSearchRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "KnnSearchResponse", + ", unknown>>; (this: That, params: ", + "KnnSearchRequest", + " | ", + "KnnSearchRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "KnnSearchResponse", + ">; }; license: ", + "default", + "; logstash: ", + "default", + "; mget: { (this: That, params?: ", + "MgetRequest", + " | ", + "MgetRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "MgetResponse", + ">; (this: That, params?: ", + "MgetRequest", + " | ", + "MgetRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "MgetResponse", + ", unknown>>; (this: That, params?: ", + "MgetRequest", + " | ", + "MgetRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "MgetResponse", + ">; }; migration: ", + "default", + "; ml: ", + "default", + "; monitoring: ", + "default", + "; msearch: { >(this: That, params: ", + "MsearchRequest", + " | ", + "MsearchRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "MsearchResponse", + ">; >(this: That, params: ", + "MsearchRequest", + " | ", + "MsearchRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "MsearchResponse", + ", unknown>>; >(this: That, params: ", + "MsearchRequest", + " | ", + "MsearchRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "MsearchResponse", + ">; }; msearchTemplate: { >(this: That, params: ", + "MsearchTemplateRequest", + " | ", + "MsearchTemplateRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "MsearchTemplateResponse", + ">; >(this: That, params: ", + "MsearchTemplateRequest", + " | ", + "MsearchTemplateRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "MsearchTemplateResponse", + ", unknown>>; >(this: That, params: ", + "MsearchTemplateRequest", + " | ", + "MsearchTemplateRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "MsearchTemplateResponse", + ">; }; mtermvectors: { (this: That, params?: ", + "MtermvectorsRequest", + " | ", + "MtermvectorsRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "MtermvectorsResponse", + ">; (this: That, params?: ", + "MtermvectorsRequest", + " | ", + "MtermvectorsRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "MtermvectorsResponse", + ", unknown>>; (this: That, params?: ", + "MtermvectorsRequest", + " | ", + "MtermvectorsRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "MtermvectorsResponse", + ">; }; nodes: ", + "default", + "; openPointInTime: { (this: That, params: ", + "OpenPointInTimeRequest", + " | ", + "OpenPointInTimeRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "OpenPointInTimeResponse", + ">; (this: That, params: ", + "OpenPointInTimeRequest", + " | ", + "OpenPointInTimeRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "OpenPointInTimeResponse", + ", unknown>>; (this: That, params: ", + "OpenPointInTimeRequest", + " | ", + "OpenPointInTimeRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "OpenPointInTimeResponse", + ">; }; ping: { (this: That, params?: ", + "PingRequest", + " | ", + "PingRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise; (this: That, params?: ", + "PingRequest", + " | ", + "PingRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + ">; (this: That, params?: ", + "PingRequest", + " | ", + "PingRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise; }; putScript: { (this: That, params: ", + "PutScriptRequest", + " | ", + "PutScriptRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "AcknowledgedResponseBase", + ">; (this: That, params: ", + "PutScriptRequest", + " | ", + "PutScriptRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "AcknowledgedResponseBase", + ", unknown>>; (this: That, params: ", + "PutScriptRequest", + " | ", + "PutScriptRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "AcknowledgedResponseBase", + ">; }; rankEval: { (this: That, params: ", + "RankEvalRequest", + " | ", + "RankEvalRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "RankEvalResponse", + ">; (this: That, params: ", + "RankEvalRequest", + " | ", + "RankEvalRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "RankEvalResponse", + ", unknown>>; (this: That, params: ", + "RankEvalRequest", + " | ", + "RankEvalRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "RankEvalResponse", + ">; }; reindex: { (this: That, params: ", + "ReindexRequest", + " | ", + "ReindexRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "ReindexResponse", + ">; (this: That, params: ", + "ReindexRequest", + " | ", + "ReindexRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "ReindexResponse", + ", unknown>>; (this: That, params: ", + "ReindexRequest", + " | ", + "ReindexRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "ReindexResponse", + ">; }; reindexRethrottle: { (this: That, params: ", + "ReindexRethrottleRequest", + " | ", + "ReindexRethrottleRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "ReindexRethrottleResponse", + ">; (this: That, params: ", + "ReindexRethrottleRequest", + " | ", + "ReindexRethrottleRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "ReindexRethrottleResponse", + ", unknown>>; (this: That, params: ", + "ReindexRethrottleRequest", + " | ", + "ReindexRethrottleRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "ReindexRethrottleResponse", + ">; }; renderSearchTemplate: { (this: That, params?: ", + "RenderSearchTemplateRequest", + " | ", + "RenderSearchTemplateRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "RenderSearchTemplateResponse", + ">; (this: That, params?: ", + "RenderSearchTemplateRequest", + " | ", + "RenderSearchTemplateRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "RenderSearchTemplateResponse", + ", unknown>>; (this: That, params?: ", + "RenderSearchTemplateRequest", + " | ", + "RenderSearchTemplateRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "RenderSearchTemplateResponse", + ">; }; rollup: ", + "default", + "; scriptsPainlessExecute: { (this: That, params?: ", + "ScriptsPainlessExecuteRequest", + " | ", + "ScriptsPainlessExecuteRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "ScriptsPainlessExecuteResponse", + ">; (this: That, params?: ", + "ScriptsPainlessExecuteRequest", + " | ", + "ScriptsPainlessExecuteRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "ScriptsPainlessExecuteResponse", + ", unknown>>; (this: That, params?: ", + "ScriptsPainlessExecuteRequest", + " | ", + "ScriptsPainlessExecuteRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "ScriptsPainlessExecuteResponse", + ">; }; scroll: { >(this: That, params: ", + "ScrollRequest", + " | ", + "ScrollRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "ScrollResponse", + ">; >(this: That, params: ", + "ScrollRequest", + " | ", + "ScrollRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "ScrollResponse", + ", unknown>>; >(this: That, params: ", + "ScrollRequest", + " | ", + "ScrollRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "ScrollResponse", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", + "SearchMvtRequest", + " | ", + "SearchMvtRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise; (this: That, params: ", + "SearchMvtRequest", + " | ", + "SearchMvtRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + ">; (this: That, params: ", + "SearchMvtRequest", + " | ", + "SearchMvtRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise; }; searchShards: { (this: That, params?: ", + "SearchShardsRequest", + " | ", + "SearchShardsRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "SearchShardsResponse", + ">; (this: That, params?: ", + "SearchShardsRequest", + " | ", + "SearchShardsRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "SearchShardsResponse", + ", unknown>>; (this: That, params?: ", + "SearchShardsRequest", + " | ", + "SearchShardsRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "SearchShardsResponse", + ">; }; searchTemplate: { (this: That, params?: ", + "SearchTemplateRequest", + " | ", + "SearchTemplateRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "SearchTemplateResponse", + ">; (this: That, params?: ", + "SearchTemplateRequest", + " | ", + "SearchTemplateRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "SearchTemplateResponse", + ", unknown>>; (this: That, params?: ", + "SearchTemplateRequest", + " | ", + "SearchTemplateRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "SearchTemplateResponse", + ">; }; searchableSnapshots: ", + "default", + "; security: ", + "default", + "; shutdown: ", + "default", + "; slm: ", + "default", + "; snapshot: ", + "default", + "; sql: ", + "default", + "; ssl: ", + "default", + "; synonyms: ", + "default", + "; tasks: ", + "default", + "; termsEnum: { (this: That, params: ", + "TermsEnumRequest", + " | ", + "TermsEnumRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "TermsEnumResponse", + ">; (this: That, params: ", + "TermsEnumRequest", + " | ", + "TermsEnumRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "TermsEnumResponse", + ", unknown>>; (this: That, params: ", + "TermsEnumRequest", + " | ", + "TermsEnumRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "TermsEnumResponse", + ">; }; termvectors: { (this: That, params: ", + "TermvectorsRequest", + " | ", + "TermvectorsRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "TermvectorsResponse", + ">; (this: That, params: ", + "TermvectorsRequest", + " | ", + "TermvectorsRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "TermvectorsResponse", + ", unknown>>; (this: That, params: ", + "TermvectorsRequest", + " | ", + "TermvectorsRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "TermvectorsResponse", + ">; }; textStructure: ", + "default", + "; transform: ", + "default", + "; updateByQuery: { (this: That, params: ", + "UpdateByQueryRequest", + " | ", + "UpdateByQueryRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "UpdateByQueryResponse", + ">; (this: That, params: ", + "UpdateByQueryRequest", + " | ", + "UpdateByQueryRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "UpdateByQueryResponse", + ", unknown>>; (this: That, params: ", + "UpdateByQueryRequest", + " | ", + "UpdateByQueryRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "UpdateByQueryResponse", + ">; }; updateByQueryRethrottle: { (this: That, params: ", + "UpdateByQueryRethrottleRequest", + " | ", + "UpdateByQueryRethrottleRequest", + ", options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "UpdateByQueryRethrottleResponse", + ">; (this: That, params: ", + "UpdateByQueryRethrottleRequest", + " | ", + "UpdateByQueryRethrottleRequest", + ", options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "UpdateByQueryRethrottleResponse", + ", unknown>>; (this: That, params: ", + "UpdateByQueryRethrottleRequest", + " | ", + "UpdateByQueryRethrottleRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "UpdateByQueryRethrottleResponse", + ">; }; watcher: ", + "default", + "; xpack: ", + "default", + "; }" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.modelExists", + "type": "boolean", + "tags": [], + "label": "modelExists", + "description": [], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.onNewReplacements", + "type": "Function", + "tags": [], + "label": "onNewReplacements", + "description": [], + "signature": [ + "((newReplacements: Record) => void) | undefined" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.onNewReplacements.$1", + "type": "Object", + "tags": [], + "label": "newReplacements", + "description": [], + "signature": [ + "Record" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.replacements", + "type": "Object", + "tags": [], + "label": "replacements", + "description": [], + "signature": [ + "Record | undefined" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.request", + "type": "Object", + "tags": [], + "label": "request", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + "" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.AssistantToolParams.size", + "type": "number", + "tags": [], + "label": "size", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.ElasticAssistantPluginSetupDependencies", + "type": "Interface", + "tags": [], + "label": "ElasticAssistantPluginSetupDependencies", + "description": [], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "elasticAssistant", + "id": "def-server.ElasticAssistantPluginSetupDependencies.actions", + "type": "Object", + "tags": [], + "label": "actions", + "description": [], + "signature": [ + { + "pluginId": "actions", + "scope": "server", + "docId": "kibActionsPluginApi", + "section": "def-server.PluginSetupContract", + "text": "PluginSetupContract" + } + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.ElasticAssistantPluginSetupDependencies.ml", + "type": "CompoundType", + "tags": [], + "label": "ml", + "description": [], + "signature": [ + "JobServiceProvider", + " & ", + "AnomalyDetectorsProvider", + " & ", + "MlSystemProvider", + " & ", + "ModulesProvider", + " & ", + "ResultsServiceProvider", + " & { alertingServiceProvider(savedObjectsClient: ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsClientContract", + "text": "SavedObjectsClientContract" + }, + ", request: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + "): { preview: (args_0: Readonly<{} & { timeRange: string; alertParams: Readonly<{} & { severity: number; jobSelection: Readonly<{} & { groupIds: string[]; jobIds: string[]; }>; resultType: \"bucket\" | \"record\" | \"influencer\"; includeInterim: boolean; lookbackInterval: string | null; topNBuckets: number | null; }>; sampleSize: number; }>) => Promise; execute: (params: Readonly<{} & { severity: number; jobSelection: Readonly<{} & { groupIds: string[]; jobIds: string[]; }>; resultType: \"bucket\" | \"record\" | \"influencer\"; includeInterim: boolean; lookbackInterval: string | null; topNBuckets: number | null; }>, spaceId: string) => Promise<{ payload: ", + "AnomalyDetectionAlertPayload", + "; context: ", + "AnomalyDetectionAlertContext", + "; name: string; isHealthy: boolean; } | undefined>; }; } & ", + "TrainedModelsProvider" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.ElasticAssistantPluginStartDependencies", + "type": "Interface", + "tags": [], + "label": "ElasticAssistantPluginStartDependencies", + "description": [], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "elasticAssistant", + "id": "def-server.ElasticAssistantPluginStartDependencies.actions", + "type": "Object", + "tags": [], + "label": "actions", + "description": [], + "signature": [ + { + "pluginId": "actions", + "scope": "server", + "docId": "kibActionsPluginApi", + "section": "def-server.PluginStartContract", + "text": "PluginStartContract" + } + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], "enums": [], "misc": [], "objects": [], @@ -84,6 +1754,114 @@ "path": "x-pack/plugins/elastic_assistant/server/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.ElasticAssistantPluginStart.registerTools", + "type": "Function", + "tags": [], + "label": "registerTools", + "description": [ + "\nRegister tools to be used by the elastic assistant" + ], + "signature": [ + "(pluginName: string, tools: ", + { + "pluginId": "elasticAssistant", + "scope": "server", + "docId": "kibElasticAssistantPluginApi", + "section": "def-server.AssistantTool", + "text": "AssistantTool" + }, + "[]) => void" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "elasticAssistant", + "id": "def-server.ElasticAssistantPluginStart.registerTools.$1", + "type": "string", + "tags": [], + "label": "pluginName", + "description": [ + "Name of the plugin the tool should be registered to" + ], + "signature": [ + "string" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.ElasticAssistantPluginStart.registerTools.$2", + "type": "Array", + "tags": [], + "label": "tools", + "description": [ + "AssistantTools to be registered with for the given plugin" + ], + "signature": [ + { + "pluginId": "elasticAssistant", + "scope": "server", + "docId": "kibElasticAssistantPluginApi", + "section": "def-server.AssistantTool", + "text": "AssistantTool" + }, + "[]" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "elasticAssistant", + "id": "def-server.ElasticAssistantPluginStart.getRegisteredTools", + "type": "Function", + "tags": [], + "label": "getRegisteredTools", + "description": [ + "\nGet the registered tools" + ], + "signature": [ + "(pluginName: string) => ", + { + "pluginId": "elasticAssistant", + "scope": "server", + "docId": "kibElasticAssistantPluginApi", + "section": "def-server.AssistantTool", + "text": "AssistantTool" + }, + "[]" + ], + "path": "x-pack/plugins/elastic_assistant/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "elasticAssistant", + "id": "def-server.ElasticAssistantPluginStart.getRegisteredTools.$1", + "type": "string", + "tags": [], + "label": "pluginName", + "description": [ + "Name of the plugin to get the tools for" + ], + "path": "x-pack/plugins/elastic_assistant/server/services/app_context.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ], "lifecycle": "start", diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index 484683f6a06da..bd6634dca4a2d 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './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 | |-------------------|-----------|------------------------|-----------------| -| 4 | 0 | 2 | 0 | +| 36 | 0 | 28 | 0 | ## Server @@ -31,3 +31,6 @@ Contact [@elastic/security-solution](https://github.com/orgs/elastic/teams/secur ### Start +### Interfaces + + diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index c945750e575a1..b37d20e9c3cad 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-12-14 +date: 2023-12-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 ddeeea3abf017..d8ce40e40d010 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-12-14 +date: 2023-12-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 a760f08bf9946..def3619424dad 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-12-14 +date: 2023-12-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 449528ef923a4..b53facb455d76 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-12-14 +date: 2023-12-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 4e1115174ccfd..7837fe87fd6b0 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-12-14 +date: 2023-12-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 e9f6877edb5cc..c524e69d6bbf6 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 5da1b9d444dd1..9e8777616fa08 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 5482e85b9bde2..dff4bae6780f2 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.devdocs.json b/api_docs/exploratory_view.devdocs.json index 0e55c27726762..9c86024cc4f65 100644 --- a/api_docs/exploratory_view.devdocs.json +++ b/api_docs/exploratory_view.devdocs.json @@ -1215,7 +1215,7 @@ "label": "observabilityShared", "description": [], "signature": [ - "{ navigation: { PageTemplate: (pageTemplateProps: ", + "{ locators: ObservabilitySharedLocators; navigation: { PageTemplate: (pageTemplateProps: ", "WrappedPageTemplateProps", ") => JSX.Element; registerSections: (sections$: ", "Observable", diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 4851c30e28759..9cb89b3fb656c 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-12-14 +date: 2023-12-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 4e400e8d84368..932649756ba57 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-12-14 +date: 2023-12-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 2f4e33d5cc7dd..3aab7952249d5 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-12-14 +date: 2023-12-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 67913ef02175a..9461156a24647 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-12-14 +date: 2023-12-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 40a4790fdb441..5cbed5050acec 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-12-14 +date: 2023-12-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 f8f979df2f956..7defe51a373f3 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-12-14 +date: 2023-12-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 3eb8c9479b0af..4f89abbf565ca 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-12-14 +date: 2023-12-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 8250c6a985fa0..b0dc5ce736b71 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-12-14 +date: 2023-12-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 14578f80d6e93..4c2cde9dfd4f8 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-12-14 +date: 2023-12-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 dc38526e91963..a558425c683a9 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-12-14 +date: 2023-12-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 785395ab04e60..e3b8c2ab25dae 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-12-14 +date: 2023-12-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 248887c94f8ca..d4e7c6f85af4a 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-12-14 +date: 2023-12-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 e3777a16bcc41..e10f318635bb2 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-12-14 +date: 2023-12-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 7057e54bbaa6e..00278ad3c9df4 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-12-14 +date: 2023-12-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 9d56e258fb8e1..5b6c50ee9f575 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-12-14 +date: 2023-12-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 f35d8cae8df36..7cbb24572d574 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-12-14 +date: 2023-12-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 f8c84b71a8639..6544e029349ff 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-12-14 +date: 2023-12-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 03a00cd1d835f..6395edf3d6624 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-12-14 +date: 2023-12-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 cb713dcbdbf5c..878de86ef16c3 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-12-14 +date: 2023-12-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 f750184f32a86..f81623dc5735d 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-12-14 +date: 2023-12-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 4cc50e0096b71..e0f125df27d95 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-12-14 +date: 2023-12-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 eb42bcab05e66..032a772b499d0 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-12-14 +date: 2023-12-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 91b134ba595e1..f06c03f3221bf 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-12-14 +date: 2023-12-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 df7de5aa4bbe0..2e784720fa806 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-12-14 +date: 2023-12-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 9f8b7ee349063..1abf51cd16626 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-12-14 +date: 2023-12-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 5f5b8829d228d..94b40b50510a7 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-12-14 +date: 2023-12-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 697fecd5d2606..7f41b58d2f802 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-12-14 +date: 2023-12-15 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 643457afcadea..6378adc17b6cf 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-12-14 +date: 2023-12-15 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 b463b8bad797a..33d78b5e6a8a8 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-12-14 +date: 2023-12-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 8850a64b128a6..9d42028155c93 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-12-14 +date: 2023-12-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 18909bea4b68a..72a032c1e88dc 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_actions_types.mdx b/api_docs/kbn_actions_types.mdx index d239675a85cd1..fca70f5a13b2b 100644 --- a/api_docs/kbn_actions_types.mdx +++ b/api_docs/kbn_actions_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-actions-types title: "@kbn/actions-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/actions-types plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/actions-types'] --- import kbnActionsTypesObj from './kbn_actions_types.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 29b85c2eecc2a..0343a3ababa7b 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-12-14 +date: 2023-12-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 e6b0d84dfd656..44e18b25c8234 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-12-14 +date: 2023-12-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 6d464e9768cb9..14eb87a6d0822 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-12-14 +date: 2023-12-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 e7fb86c0046fc..262497f69259a 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-12-14 +date: 2023-12-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_alerting_types.mdx b/api_docs/kbn_alerting_types.mdx index 9eeaa031358e9..634b2e01cf885 100644 --- a/api_docs/kbn_alerting_types.mdx +++ b/api_docs/kbn_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-types title: "@kbn/alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-types plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-types'] --- import kbnAlertingTypesObj from './kbn_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 7b41042ff5957..7fc7690ab06c5 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-12-14 +date: 2023-12-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 2d6a280972679..dd45aae6238e6 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-12-14 +date: 2023-12-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 c13a3036f6d69..8252ac43dbaf7 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-12-14 +date: 2023-12-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 896fa8f23061e..38513be772934 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_collection_utils.mdx b/api_docs/kbn_analytics_collection_utils.mdx index b33667c0dbf14..a008ab2803a1b 100644 --- a/api_docs/kbn_analytics_collection_utils.mdx +++ b/api_docs/kbn_analytics_collection_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-collection-utils title: "@kbn/analytics-collection-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-collection-utils plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-collection-utils'] --- import kbnAnalyticsCollectionUtilsObj from './kbn_analytics_collection_utils.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 62b25cb6b7f7c..2fa89281160a2 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-12-14 +date: 2023-12-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 2c33357142c66..e9567cdbeeae8 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-12-14 +date: 2023-12-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 fc9305d649c14..4d14fecab299f 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-12-14 +date: 2023-12-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 851b9f11221f8..8ea6f4c959067 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-12-14 +date: 2023-12-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 367aeff6bc32b..c352aacd3d2fb 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-12-14 +date: 2023-12-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 7d65937462d42..b1e68d96f668f 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-12-14 +date: 2023-12-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 06b47bc25db3d..2f562d51b052c 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-12-14 +date: 2023-12-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 0f1edea851693..d76195450bd02 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-12-14 +date: 2023-12-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 f69078260ee3b..2449af3c7b6ec 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-12-14 +date: 2023-12-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 c7df7da785f12..a3bc6a8cd7227 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_bfetch_error.mdx b/api_docs/kbn_bfetch_error.mdx index d0a4d62d27d76..9c3e4d24f1653 100644 --- a/api_docs/kbn_bfetch_error.mdx +++ b/api_docs/kbn_bfetch_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-bfetch-error title: "@kbn/bfetch-error" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/bfetch-error plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bfetch-error'] --- import kbnBfetchErrorObj from './kbn_bfetch_error.devdocs.json'; diff --git a/api_docs/kbn_calculate_auto.mdx b/api_docs/kbn_calculate_auto.mdx index d6d462d4695a4..8d3e853fe856c 100644 --- a/api_docs/kbn_calculate_auto.mdx +++ b/api_docs/kbn_calculate_auto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-auto title: "@kbn/calculate-auto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-auto plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-auto'] --- import kbnCalculateAutoObj from './kbn_calculate_auto.devdocs.json'; diff --git a/api_docs/kbn_calculate_width_from_char_count.mdx b/api_docs/kbn_calculate_width_from_char_count.mdx index 136d8481b704d..9f32b78b9d869 100644 --- a/api_docs/kbn_calculate_width_from_char_count.mdx +++ b/api_docs/kbn_calculate_width_from_char_count.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-width-from-char-count title: "@kbn/calculate-width-from-char-count" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-width-from-char-count plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-width-from-char-count'] --- import kbnCalculateWidthFromCharCountObj from './kbn_calculate_width_from_char_count.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 4d6da505013b3..760b38d273bca 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-12-14 +date: 2023-12-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 05f2afe1fb3be..44c28ae3dfece 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-12-14 +date: 2023-12-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 ea5737e278d4a..78c9f603aa92b 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-12-14 +date: 2023-12-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 0a919c96e9a24..96358cc85aed2 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-12-14 +date: 2023-12-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 0f7ae5298e0aa..4c17e94b2ac22 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-12-14 +date: 2023-12-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 92fc758e8a014..6ce7b44f5e1b3 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-12-14 +date: 2023-12-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 75469428ae919..ce26609d179b9 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-12-14 +date: 2023-12-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 bffd090417a15..c232974ba898b 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-12-14 +date: 2023-12-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 6133f34e25551..032da781e7496 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index a39f28984f4d0..145915341d88d 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-12-14 +date: 2023-12-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 4f689eb20ac93..2c97f88b7cb09 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-12-14 +date: 2023-12-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 6cf1c75e081da..5637324cfcd04 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-12-14 +date: 2023-12-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 8cdca94f24af3..96370af880b71 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-12-14 +date: 2023-12-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 3e4fdf2888f56..7b51507ca665e 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-12-14 +date: 2023-12-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 fcf90d1ba3f4a..b96aa4c7dea91 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-12-14 +date: 2023-12-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 ac16ed58f435b..864d936172361 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-12-14 +date: 2023-12-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_common.mdx b/api_docs/kbn_content_management_table_list_view_common.mdx index 47eeb49737735..9aabbed42e56b 100644 --- a/api_docs/kbn_content_management_table_list_view_common.mdx +++ b/api_docs/kbn_content_management_table_list_view_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-common title: "@kbn/content-management-table-list-view-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-common plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-common'] --- import kbnContentManagementTableListViewCommonObj from './kbn_content_management_table_list_view_common.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 508671cad021b..112611f7809bd 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-12-14 +date: 2023-12-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 a4cd5ec91ea2a..4871008239562 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-12-14 +date: 2023-12-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 e6518aeea1de9..2347d46ead7aa 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-12-14 +date: 2023-12-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 279f0ce081617..c4e596e2de3dc 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-12-14 +date: 2023-12-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 d4b0d11a84b31..a590bc8485b20 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-12-14 +date: 2023-12-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 619475acf83fa..c3d863d8ae25c 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-12-14 +date: 2023-12-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 a8db2d23d014f..6844bf7aaad30 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-12-14 +date: 2023-12-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 672da3fe8b1b1..e9344a006e88a 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-12-14 +date: 2023-12-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 dea0acf772857..820b59a9309c6 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-12-14 +date: 2023-12-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 a7ba9d7059bd8..58243c1c0cee6 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-12-14 +date: 2023-12-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 3cb058e36538c..63467b16fce25 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-12-14 +date: 2023-12-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 330c7226de960..4141f5653b9bd 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-12-14 +date: 2023-12-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 8f1538ea0e791..a55d260aba3e0 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-12-14 +date: 2023-12-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 6d37f358497e0..465322b4f89af 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-12-14 +date: 2023-12-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 fa63d8b484163..fd6d347cf02b3 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-12-14 +date: 2023-12-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 4d3987739aab3..8af782977d24d 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-12-14 +date: 2023-12-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 77e3ec06c92fe..db818341f1ccd 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-12-14 +date: 2023-12-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 88e5b83eb5b58..fc8cf8b8ca96d 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-12-14 +date: 2023-12-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 5b2c8dcaa4093..6f4b3af6d29d5 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-12-14 +date: 2023-12-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 2b9016942a9ec..67077c20287c3 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-12-14 +date: 2023-12-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 652338d1f8113..56b5e94e4ecea 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-12-14 +date: 2023-12-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 7bfe9328085ae..44b153a106aa8 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-12-14 +date: 2023-12-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 c2faf156e4784..907e5090e265d 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-12-14 +date: 2023-12-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 c18eda5cf0af6..51c96b04c0329 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-12-14 +date: 2023-12-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 b9ed7d4828bd0..6679406fcaccb 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-12-14 +date: 2023-12-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 1f7dec72ddea4..8f4eae14a74ae 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-12-14 +date: 2023-12-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 0ddf0c625b9a5..bdde8ec1c2525 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-12-14 +date: 2023-12-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 4a7161bf660a8..c5e330abd9bc2 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-12-14 +date: 2023-12-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 e3dcc5581563d..d5c344bedbb8b 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-12-14 +date: 2023-12-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 51c2bfac7b43c..713366ed6ea8d 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-12-14 +date: 2023-12-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 1c5a78a033a2e..a6bbe2f506eef 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-12-14 +date: 2023-12-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 2ad562418ddb3..567e5855eca30 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-12-14 +date: 2023-12-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 20d063039fd62..b51c1bceb0381 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-12-14 +date: 2023-12-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 1404aa12043e1..a2736297fd9c6 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-12-14 +date: 2023-12-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 83b53a0818514..62a4db4685083 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-12-14 +date: 2023-12-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 4a1a69a3b4686..42667a7fea1a3 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-12-14 +date: 2023-12-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 bc72fe17d362e..8cd617b82f96d 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-12-14 +date: 2023-12-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 cd8918f9d5614..32369875010c0 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-12-14 +date: 2023-12-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 6e695e40440b0..fa9993d778eeb 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-12-14 +date: 2023-12-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 b14bfc2f820f9..353305956fad7 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-12-14 +date: 2023-12-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 f8452705e2ff1..1bdd5654b47fc 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-12-14 +date: 2023-12-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 9314a2b1870c8..e6e2adb99286c 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-12-14 +date: 2023-12-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 f6b1295c9dbd0..25dee9db203f8 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-12-14 +date: 2023-12-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 3135b80da8e4b..32e333b07d441 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-12-14 +date: 2023-12-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 8aa72000c984f..8078b4073f554 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-12-14 +date: 2023-12-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 8f6c55f9f567c..7bd9a7750afea 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-12-14 +date: 2023-12-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 334474002787b..d878765a53206 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-12-14 +date: 2023-12-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 f7cba31bd077d..98ab12803e6a4 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-12-14 +date: 2023-12-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 7b2bc150c984d..a4681a3d00157 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-12-14 +date: 2023-12-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 9cd72f61c2ec6..e99d942f31b9a 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-12-14 +date: 2023-12-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 e13779874b2e4..e3cf0f01f6e8a 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-12-14 +date: 2023-12-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 89ed9e8ffc417..967507abb5681 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-12-14 +date: 2023-12-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 ec28730806ac3..4ab391c4b7df4 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-12-14 +date: 2023-12-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 a27ee3dcff2bc..0227461d75b35 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-12-14 +date: 2023-12-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 eda0bd2008617..605471bc1f445 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-12-14 +date: 2023-12-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 b82cc3101d1a1..ad51d05436086 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-12-14 +date: 2023-12-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 5ef048230a469..3641cbffdcb99 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-12-14 +date: 2023-12-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 832902f304659..018333a680e98 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-12-14 +date: 2023-12-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 29d5d4b24a0e8..e70b78a93a064 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-12-14 +date: 2023-12-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 a5080116e8cc8..0941c099ee4a1 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-12-14 +date: 2023-12-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 7ba5fa7cd62c9..ce5103de25c4e 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-12-14 +date: 2023-12-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 50f947b01cdd6..06dfaf8699ec0 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-12-14 +date: 2023-12-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 bad7635a9450d..295c24c703c46 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-12-14 +date: 2023-12-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 4537daa4b25b8..8da5ee2cb3949 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-12-14 +date: 2023-12-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 ada46ab0aa6ad..82f41574f47ab 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-12-14 +date: 2023-12-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 d7f6f2eb4b165..d0d460c21be35 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-12-14 +date: 2023-12-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 ba44f30bad2a0..02f081bcae763 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-12-14 +date: 2023-12-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 d128433d53334..fe5baaf0d23bb 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-12-14 +date: 2023-12-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 f47867d48c15c..3749ca9d8cefc 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-12-14 +date: 2023-12-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 adbb889a50da0..3d9a4bd213f79 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-12-14 +date: 2023-12-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 84837699bfc85..328cb861b3a6e 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-12-14 +date: 2023-12-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.mdx b/api_docs/kbn_core_http_server.mdx index 2b9d26c26c3c1..8e3ff0d5856bf 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-12-14 +date: 2023-12-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 095c394d3d2c6..aa846c6266e77 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-12-14 +date: 2023-12-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 32d008daebbfb..c1945db75254e 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-12-14 +date: 2023-12-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 61d18467c7efb..4e456c8f1348b 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-12-14 +date: 2023-12-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 76f7934dd0917..a6ae8657bb2e2 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-12-14 +date: 2023-12-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 65a0eb88a34c1..4bccd4f25b716 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-12-14 +date: 2023-12-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 6f2c5cf9ad6fd..0edc8c936dbba 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-12-14 +date: 2023-12-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 708f8d2fdbaa8..11ec74cb87349 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-12-14 +date: 2023-12-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 3199ddb802713..aa173cc584bcc 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-12-14 +date: 2023-12-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 dc20781b20cae..5cccc3f802226 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-12-14 +date: 2023-12-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 46af010601d5b..fe33634621baf 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-12-14 +date: 2023-12-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 8eca6b3fc6d29..9679f167c765e 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-12-14 +date: 2023-12-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 d21cbb5eec200..90379d734090d 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-12-14 +date: 2023-12-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 d7a74847f935c..50793229a77e4 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-12-14 +date: 2023-12-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 00fd8c7d383e2..de849e9ea836c 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-12-14 +date: 2023-12-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 ba99871e6b1b4..e9458bf265c2c 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-12-14 +date: 2023-12-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 b8511ce65b7e2..4963563b2afc2 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-12-14 +date: 2023-12-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 d39bda8dabd17..d071a2f5f6f52 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-12-14 +date: 2023-12-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 9cfc045fbb64e..f50bad3e6318e 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-12-14 +date: 2023-12-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 7e203b30a9e72..601630a9d3f53 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-12-14 +date: 2023-12-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 51cdf4fefda47..ca925aaf03bd4 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-12-14 +date: 2023-12-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 5125d94944f5d..1dd7c5773192a 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-12-14 +date: 2023-12-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 00b68d249f4f0..dd10dc41c833e 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-12-14 +date: 2023-12-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 f483d7259711e..87c41e9ee017c 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-12-14 +date: 2023-12-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 ce683b7179c57..4b7468a09fa11 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-12-14 +date: 2023-12-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 800b2976a4527..bb6dc3a0f89c8 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-12-14 +date: 2023-12-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 cbe4a33a09cbf..726bb92ac86dc 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-12-14 +date: 2023-12-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 3bca43872d961..af2d38450de73 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-12-14 +date: 2023-12-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 4818e481bed89..de3261c2335a4 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-12-14 +date: 2023-12-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 1ae3f125b0bff..7d0b4f3276254 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-12-14 +date: 2023-12-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 4b8634c3f26c9..5e41380591e06 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-12-14 +date: 2023-12-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 50867efbd14e3..98125d38416a7 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-12-14 +date: 2023-12-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 a276697656467..398b9f1d8391c 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-12-14 +date: 2023-12-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 68740102467f3..505bdfd482c4f 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-12-14 +date: 2023-12-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 2943921a0bea0..19f0f2f37fe9c 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-12-14 +date: 2023-12-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 24754a6c71e5c..b0f3f01361d5e 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-12-14 +date: 2023-12-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 9e1abb5b01025..9e004f21780c7 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-12-14 +date: 2023-12-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_contracts_browser.mdx b/api_docs/kbn_core_plugins_contracts_browser.mdx index cf7c6ecb50030..337955f29be67 100644 --- a/api_docs/kbn_core_plugins_contracts_browser.mdx +++ b/api_docs/kbn_core_plugins_contracts_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-browser title: "@kbn/core-plugins-contracts-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-browser plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-browser'] --- import kbnCorePluginsContractsBrowserObj from './kbn_core_plugins_contracts_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_contracts_server.mdx b/api_docs/kbn_core_plugins_contracts_server.mdx index bcbcf9d92854e..7561bdb6e5e2d 100644 --- a/api_docs/kbn_core_plugins_contracts_server.mdx +++ b/api_docs/kbn_core_plugins_contracts_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-server title: "@kbn/core-plugins-contracts-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-server plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-server'] --- import kbnCorePluginsContractsServerObj from './kbn_core_plugins_contracts_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 0b4d038f60e63..9d1b6a86cd1f5 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-12-14 +date: 2023-12-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 f7c1631238bc0..fa72b3fbcc971 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-12-14 +date: 2023-12-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 bcdc5b4c38131..a4eb7706e2e14 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-12-14 +date: 2023-12-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 20e73808a996d..17ecfb795b803 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-12-14 +date: 2023-12-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 05f415195ddd9..67e0c05b1f0e4 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-12-14 +date: 2023-12-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 dd32d83d7066b..c334be31b1be5 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-12-14 +date: 2023-12-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 1badbce26bc9c..eb143153e7dc8 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-12-14 +date: 2023-12-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 6a79303df0a65..cebd55834f188 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-12-14 +date: 2023-12-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 ee0fbc2c29d9f..1f7e1db3d86b1 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-12-14 +date: 2023-12-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 a90191b8317b6..6e421ba1c15cf 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-12-14 +date: 2023-12-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 056080f230f22..2642d33e4ba3a 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-12-14 +date: 2023-12-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 6cfdbfc94326a..cb3863554dded 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-12-14 +date: 2023-12-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 2142148cda10d..615e77cd94525 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-12-14 +date: 2023-12-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 e710bac75ebe2..31ed35f7cd39d 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-12-14 +date: 2023-12-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 0cab3e54d7987..9058d6f32f923 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-12-14 +date: 2023-12-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 7fda19cdff991..bf69a797e9a55 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-12-14 +date: 2023-12-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 1acd39dc05567..1470bc7d29b20 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-12-14 +date: 2023-12-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 69424892a3015..d0ea337fe37c6 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-12-14 +date: 2023-12-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 13b3072d53754..cdb672c978781 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-12-14 +date: 2023-12-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 360fe1f068706..0134cc39c6968 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-12-14 +date: 2023-12-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 66a5990678370..950a6d2b07172 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-12-14 +date: 2023-12-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.mdx b/api_docs/kbn_core_saved_objects_server.mdx index e85a534e05801..660156b23e70d 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-12-14 +date: 2023-12-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 935f22a0089f3..8aa01fbf7b3ec 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-12-14 +date: 2023-12-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 8fea1b617cb43..deab875e3a99e 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-12-14 +date: 2023-12-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 59a1fc0867e6f..abac25810209d 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-12-14 +date: 2023-12-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 92c1a8c7815b2..3d16c25239811 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-12-14 +date: 2023-12-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 4b46faa3e8caf..62deb10477221 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-12-14 +date: 2023-12-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 88fa1235135fe..f4a5a52ab9371 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-12-14 +date: 2023-12-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 af33db06ebcf6..9dbd9a810abfd 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-12-14 +date: 2023-12-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 7c942d6abc4dc..41ba27e0e6a90 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-12-14 +date: 2023-12-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 f36f1657910c2..7487f14612c03 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-12-14 +date: 2023-12-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 aa853926dea9d..cf69c8066ca0b 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-12-14 +date: 2023-12-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 0602984bbcc45..ad1d3519b8c5b 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-12-14 +date: 2023-12-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_model_versions.mdx b/api_docs/kbn_core_test_helpers_model_versions.mdx index 1bde992b6c875..5043b4d71646c 100644 --- a/api_docs/kbn_core_test_helpers_model_versions.mdx +++ b/api_docs/kbn_core_test_helpers_model_versions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions title: "@kbn/core-test-helpers-model-versions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-model-versions plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-model-versions'] --- import kbnCoreTestHelpersModelVersionsObj from './kbn_core_test_helpers_model_versions.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 3444bca4049f5..667cfc614a0fc 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-12-14 +date: 2023-12-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 f9172f5ec0283..7d24dfd9ecc16 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-12-14 +date: 2023-12-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 f48814a04b93a..fb071f9129ae8 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-12-14 +date: 2023-12-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 31aa54e348761..fc6ae4b368154 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-12-14 +date: 2023-12-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 75bf59a7a3f1b..e38916672607e 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-12-14 +date: 2023-12-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 77a3c0667abc6..0422693beedf7 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-12-14 +date: 2023-12-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 6275d55478890..9362934f1a7e6 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-12-14 +date: 2023-12-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 2abb404044411..6c00444a49fbe 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-12-14 +date: 2023-12-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 8981ed830e37b..7341c0c1b7178 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-12-14 +date: 2023-12-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 435b36bad8a01..b14213526cf99 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-12-14 +date: 2023-12-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 3fcc1642dea37..f29b5b2f27601 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-12-14 +date: 2023-12-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 765d46ce3960a..53b8acf7b3a00 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-12-14 +date: 2023-12-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 b59df80f38ee0..a58432cfa94c4 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-12-14 +date: 2023-12-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 67903a6a86210..2cd1b52709f2a 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-12-14 +date: 2023-12-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 855790a2d5d77..3b16c36141787 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-12-14 +date: 2023-12-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 ef0a007fe8a23..fcb2413dc72f5 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-12-14 +date: 2023-12-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 2a33cbb5b14ec..fc18131674fac 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-12-14 +date: 2023-12-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 f24ed68ab1982..966d15126541b 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-12-14 +date: 2023-12-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 1e3156890af6d..224812cab5d0d 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_icons.mdx b/api_docs/kbn_custom_icons.mdx index 70f6b024aba4d..9a878e25e4ae2 100644 --- a/api_docs/kbn_custom_icons.mdx +++ b/api_docs/kbn_custom_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-icons title: "@kbn/custom-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-icons plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-icons'] --- import kbnCustomIconsObj from './kbn_custom_icons.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index e76346a0fe2c6..c733d2bc326dd 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-12-14 +date: 2023-12-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 1aea800abc5c5..4e6a74b1cb89a 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-12-14 +date: 2023-12-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 7fd835f1811c4..4d3c3d3f843b5 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-12-14 +date: 2023-12-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 0752146711c78..8a31c2e1d68f0 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-12-14 +date: 2023-12-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 dbbac6f58fc45..0aaafb09fe7d1 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-12-14 +date: 2023-12-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 a26ac025e4492..ab283360a8415 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-12-14 +date: 2023-12-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 3cdb7479612ae..4b0745b6d0da8 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-12-14 +date: 2023-12-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 ffc706d589a4e..cc97b6ba522ba 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-12-14 +date: 2023-12-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 de11f9d86baa5..7835540b5e4fb 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-12-14 +date: 2023-12-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 d7e09675dc1ab..8e2889ac07353 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-12-14 +date: 2023-12-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 360f8e0027bc0..e3b43a361eb18 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-12-14 +date: 2023-12-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 06da371782278..bf93957b5fd48 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-12-14 +date: 2023-12-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 3158fb485a0f9..dba38830114a8 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-12-14 +date: 2023-12-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 a966ec98c67ec..05e14b1bb104a 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-12-14 +date: 2023-12-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 88e407cdeb453..f2e335a00eff8 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-12-14 +date: 2023-12-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 50bf98914745c..15f526a7c9792 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-12-14 +date: 2023-12-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 67adb7455878e..e64a116d178bd 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-12-14 +date: 2023-12-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 4d643efd64358..03fe948c678a4 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-12-14 +date: 2023-12-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 978674c71e75e..45e6ff03d44a3 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-12-14 +date: 2023-12-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 85a0eb87dda41..4b86382678603 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-12-14 +date: 2023-12-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 fbe695785f403..eb55a7285cbca 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-12-14 +date: 2023-12-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 6a1beea9bbc35..5dda781a00e1b 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-12-14 +date: 2023-12-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 6c266612e1dba..3a536c18e4ab3 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-12-14 +date: 2023-12-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 f0e1e2fdd5444..7db2be32abe5c 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-12-14 +date: 2023-12-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 9060324385429..1c0e2056d12da 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-12-14 +date: 2023-12-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_agent_utils.mdx b/api_docs/kbn_elastic_agent_utils.mdx index f8d7c14a27b23..03c4193cfb814 100644 --- a/api_docs/kbn_elastic_agent_utils.mdx +++ b/api_docs/kbn_elastic_agent_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-agent-utils title: "@kbn/elastic-agent-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-agent-utils plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-agent-utils'] --- import kbnElasticAgentUtilsObj from './kbn_elastic_agent_utils.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index e994958210a4e..d0e74cdf1ff5d 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant_common.mdx b/api_docs/kbn_elastic_assistant_common.mdx index 21d158710f5be..5b2ddef94a194 100644 --- a/api_docs/kbn_elastic_assistant_common.mdx +++ b/api_docs/kbn_elastic_assistant_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant-common title: "@kbn/elastic-assistant-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant-common plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant-common'] --- import kbnElasticAssistantCommonObj from './kbn_elastic_assistant_common.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 1a3eb5aeb297f..619f92e01ba01 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-12-14 +date: 2023-12-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 305aa87915360..06f5c6baf3748 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-12-14 +date: 2023-12-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 f3531439b2b03..5bdf648323f99 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-12-14 +date: 2023-12-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 38872b70470c7..86695d6f0e9f7 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-12-14 +date: 2023-12-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.mdx b/api_docs/kbn_es_types.mdx index 0c7817d853174..13413885c147f 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-12-14 +date: 2023-12-15 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 c919897550420..f79e53d22be46 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-12-14 +date: 2023-12-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 7b405707e061f..49f51f53b563c 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-12-14 +date: 2023-12-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 408258b75dbf6..efb32159647f6 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-12-14 +date: 2023-12-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 e9bb925fab64d..4aca29213eb40 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-12-14 +date: 2023-12-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 4f68b9e428686..532f4bf0769d1 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_field_utils.mdx b/api_docs/kbn_field_utils.mdx index 079d47c19bfe2..36109c39dfa67 100644 --- a/api_docs/kbn_field_utils.mdx +++ b/api_docs/kbn_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-utils title: "@kbn/field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-utils plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-utils'] --- import kbnFieldUtilsObj from './kbn_field_utils.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 64feb105afb74..68784fd0afac2 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-12-14 +date: 2023-12-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 9d54ba918b8a8..e8a04de391850 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-12-14 +date: 2023-12-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 89c68eba6e349..d28c078871e81 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-12-14 +date: 2023-12-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 b192f3bf1996b..851616fdb4354 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-12-14 +date: 2023-12-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 0cf92f5f0a7c0..f36ce90fa1de2 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 929e716c9bf7a..7fd1d4f20fb76 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-12-14 +date: 2023-12-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 a29e98f6b9ed1..e1849c4e3ab05 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-12-14 +date: 2023-12-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 8b6abee237b76..5c1779fcfe57e 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-12-14 +date: 2023-12-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 8ccef41edc22d..22333c105edc1 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-12-14 +date: 2023-12-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 f277cd28fdca9..df6197259d77c 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-12-14 +date: 2023-12-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 8fe49cc669c06..83cd8179ca794 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-12-14 +date: 2023-12-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 2e5fe4c464542..91a517173fdf2 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-12-14 +date: 2023-12-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 41b2afc4f333c..dbd0399298c2c 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-12-14 +date: 2023-12-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 a35d63ea8a7ab..f5573e31c4f5e 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-12-14 +date: 2023-12-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 bf8715eaa7622..2c52dce72c4dc 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-12-14 +date: 2023-12-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 d07075bd088e1..127bff0a24e43 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-12-14 +date: 2023-12-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 f7bf2d7e0821d..6b5bbace422bb 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-12-14 +date: 2023-12-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 da61e72922054..b50d16f0a6c42 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-12-14 +date: 2023-12-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 a4bb49aa496d2..f962e58f41009 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-12-14 +date: 2023-12-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 13f9098f7382d..7181bb87b0d30 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-12-14 +date: 2023-12-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 97fcd3dd6ac17..2725e0251cfbc 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-12-14 +date: 2023-12-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 936b4dc0d262e..5270c2f46211d 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-12-14 +date: 2023-12-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 81840d8eea5f9..004f512b8c3a7 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-12-14 +date: 2023-12-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 4dd03ba88a8f3..c4670f18682e7 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-12-14 +date: 2023-12-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 e51b9619d27ff..aad578c407de9 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-12-14 +date: 2023-12-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 f42e0024f2028..8a20cfa81b08a 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-12-14 +date: 2023-12-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 d76ade5f7d73d..45a66418e05a9 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-12-14 +date: 2023-12-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_application.mdx b/api_docs/kbn_management_settings_application.mdx index 669eb0159e556..fd3f0060c5c73 100644 --- a/api_docs/kbn_management_settings_application.mdx +++ b/api_docs/kbn_management_settings_application.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application title: "@kbn/management-settings-application" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-application plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-application'] --- import kbnManagementSettingsApplicationObj from './kbn_management_settings_application.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_category.mdx b/api_docs/kbn_management_settings_components_field_category.mdx index efe5ab36a4bf6..812f627cee924 100644 --- a/api_docs/kbn_management_settings_components_field_category.mdx +++ b/api_docs/kbn_management_settings_components_field_category.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category title: "@kbn/management-settings-components-field-category" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-category plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-category'] --- import kbnManagementSettingsComponentsFieldCategoryObj from './kbn_management_settings_components_field_category.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index 7d1662316fb08..25b2e99e10deb 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-12-14 +date: 2023-12-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 6229e7b74eecd..df0776b9b7a75 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-12-14 +date: 2023-12-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_components_form.mdx b/api_docs/kbn_management_settings_components_form.mdx index 66dd0edee14a6..5f338974bbccd 100644 --- a/api_docs/kbn_management_settings_components_form.mdx +++ b/api_docs/kbn_management_settings_components_form.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form title: "@kbn/management-settings-components-form" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-form plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-form'] --- import kbnManagementSettingsComponentsFormObj from './kbn_management_settings_components_form.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 7c1e17fa7a02c..e777071feef0b 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-12-14 +date: 2023-12-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 17d21f7ebd956..56bb1099edd9c 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-12-14 +date: 2023-12-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 672acc2753895..bc830bbba6062 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-12-14 +date: 2023-12-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 66cb6845859f3..883eb0f6d422e 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-12-14 +date: 2023-12-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 5d37144f8a1ae..002fac6db86e2 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-12-14 +date: 2023-12-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 3a91a5f391983..7c6cc4d2adcc1 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-12-14 +date: 2023-12-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 3984aab0b8485..a4ef2b1409761 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-12-14 +date: 2023-12-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 32a7973a36906..47a2847e4a63b 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-12-14 +date: 2023-12-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 6509c7d7e69e7..560b6c9fadb6a 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-12-14 +date: 2023-12-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 31e333449633a..41f5bad210ccc 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-12-14 +date: 2023-12-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 3b33c89786b67..8c845db710a37 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-12-14 +date: 2023-12-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_chi2test.mdx b/api_docs/kbn_ml_chi2test.mdx index c1d8dfc113126..d8ddf2b600372 100644 --- a/api_docs/kbn_ml_chi2test.mdx +++ b/api_docs/kbn_ml_chi2test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test title: "@kbn/ml-chi2test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-chi2test plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-chi2test'] --- import kbnMlChi2testObj from './kbn_ml_chi2test.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 3bd6bbf69383b..329576bb532fb 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-12-14 +date: 2023-12-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 ed2dc0134704e..e3a3ad558977c 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-12-14 +date: 2023-12-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 55618dbdb4a70..a9d29928c94cd 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-12-14 +date: 2023-12-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 63450f530f61f..d9f9b5a9aedf5 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-12-14 +date: 2023-12-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 b083afc9a4c7b..de2b170117029 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-12-14 +date: 2023-12-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 8732a6f9e2ef8..558bac4e4954a 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-12-14 +date: 2023-12-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 13bf77bc46563..6c5c0b44968c0 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-12-14 +date: 2023-12-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 e9d51c178d2ad..d480d5ecf391f 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-12-14 +date: 2023-12-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 0eb776b546d23..f5bf4f23b936a 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-12-14 +date: 2023-12-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 46b9ba372e62b..7a8b2e9513442 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-12-14 +date: 2023-12-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 3d7092ffd7709..4e15b9e73f26f 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-12-14 +date: 2023-12-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 8ec0b649d8459..a9abd4279c818 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-12-14 +date: 2023-12-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 0ed8862d0a4c4..db1357035ec34 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-12-14 +date: 2023-12-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 c1718f87931ff..da162f43a34ab 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-12-14 +date: 2023-12-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 c33c75618cec4..7577ecbe43ab8 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-12-14 +date: 2023-12-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 202dc046a8dac..b51357521b62d 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-12-14 +date: 2023-12-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 b8fd8e77a951d..c2d8e85683459 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-12-14 +date: 2023-12-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 9be85b872cee6..182b49e45b058 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-12-14 +date: 2023-12-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_ui_actions.mdx b/api_docs/kbn_ml_ui_actions.mdx index f74f323bfb35e..586e41c876b68 100644 --- a/api_docs/kbn_ml_ui_actions.mdx +++ b/api_docs/kbn_ml_ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-ui-actions title: "@kbn/ml-ui-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-ui-actions plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-ui-actions'] --- import kbnMlUiActionsObj from './kbn_ml_ui_actions.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index a3aae645f2499..793980b2d9c96 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-12-14 +date: 2023-12-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 742bcf72b1360..8d6e013b87b5d 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-12-14 +date: 2023-12-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 fd571623fce5a..cc66cec862bd1 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-12-14 +date: 2023-12-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 826846391da88..c0c680f5492fe 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-12-14 +date: 2023-12-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_observability_alerting_test_data.mdx b/api_docs/kbn_observability_alerting_test_data.mdx index 9d11827c0b9b0..761f1cb7fb1d0 100644 --- a/api_docs/kbn_observability_alerting_test_data.mdx +++ b/api_docs/kbn_observability_alerting_test_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-test-data title: "@kbn/observability-alerting-test-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alerting-test-data plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-test-data'] --- import kbnObservabilityAlertingTestDataObj from './kbn_observability_alerting_test_data.devdocs.json'; diff --git a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx index f87d8cfa8a26e..d8226b92eaea1 100644 --- a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx +++ b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-get-padded-alert-time-range-util title: "@kbn/observability-get-padded-alert-time-range-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-get-padded-alert-time-range-util plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-get-padded-alert-time-range-util'] --- import kbnObservabilityGetPaddedAlertTimeRangeUtilObj from './kbn_observability_get_padded_alert_time_range_util.devdocs.json'; diff --git a/api_docs/kbn_openapi_bundler.mdx b/api_docs/kbn_openapi_bundler.mdx index 519e53fa12335..b4bf7f421c8f7 100644 --- a/api_docs/kbn_openapi_bundler.mdx +++ b/api_docs/kbn_openapi_bundler.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-bundler title: "@kbn/openapi-bundler" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-bundler plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-bundler'] --- import kbnOpenapiBundlerObj from './kbn_openapi_bundler.devdocs.json'; diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx index 408ecc2638aa9..19165d0fe6a9b 100644 --- a/api_docs/kbn_openapi_generator.mdx +++ b/api_docs/kbn_openapi_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator title: "@kbn/openapi-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-generator plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-generator'] --- import kbnOpenapiGeneratorObj from './kbn_openapi_generator.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index e6712f7ee10f5..fb206af05dbc1 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-12-14 +date: 2023-12-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 07727bf4ee5e0..113831daaf2ed 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-12-14 +date: 2023-12-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 04658930962b8..62eb02562013f 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-12-14 +date: 2023-12-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_panel_loader.mdx b/api_docs/kbn_panel_loader.mdx index cc8a1a1ec05f1..2927661c16f6a 100644 --- a/api_docs/kbn_panel_loader.mdx +++ b/api_docs/kbn_panel_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-panel-loader title: "@kbn/panel-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/panel-loader plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/panel-loader'] --- import kbnPanelLoaderObj from './kbn_panel_loader.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index c3a18b9089e9e..80730fcf0e145 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-12-14 +date: 2023-12-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 fa4d93f13d8dd..539abced525f4 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-12-14 +date: 2023-12-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 f499c241f67d1..f8e4f3e80be05 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-12-14 +date: 2023-12-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 c1a12dfb753c8..a1d28ec8d6ae9 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-12-14 +date: 2023-12-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 456b986a657fe..87884d8185bf3 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-12-14 +date: 2023-12-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 20bf1c72e99b1..81febdccaf1b1 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-12-14 +date: 2023-12-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 a9dd48b905187..c558a151a84cb 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-12-14 +date: 2023-12-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 0edc72c889c3a..c0dd8dbe72fc6 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-12-14 +date: 2023-12-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 c0a5c630df6fd..200657013f249 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-12-14 +date: 2023-12-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 65161a126d97e..c49ea56f1e455 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-12-14 +date: 2023-12-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 9587aacbaa957..c9b8a6e14f53c 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-12-14 +date: 2023-12-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 6c24257119b95..ce320cd2f2af5 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-12-14 +date: 2023-12-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 5d34befcd11d7..ea5bf5a064d04 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-12-14 +date: 2023-12-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 129e80ff41e63..c683f9212d3ef 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-12-14 +date: 2023-12-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 7b6fa4b926bd3..d6698372d3985 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-12-14 +date: 2023-12-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 42acbab3cbdf9..4bd57c80ae3bd 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-12-14 +date: 2023-12-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 7e4e285cfca3e..f74a3c87fe112 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv.mdx b/api_docs/kbn_reporting_export_types_csv.mdx index a5027dd7dbfda..f81ec183602cd 100644 --- a/api_docs/kbn_reporting_export_types_csv.mdx +++ b/api_docs/kbn_reporting_export_types_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv title: "@kbn/reporting-export-types-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv'] --- import kbnReportingExportTypesCsvObj from './kbn_reporting_export_types_csv.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv_common.mdx b/api_docs/kbn_reporting_export_types_csv_common.mdx index f1f9f572e67c8..ebb83863d8dc9 100644 --- a/api_docs/kbn_reporting_export_types_csv_common.mdx +++ b/api_docs/kbn_reporting_export_types_csv_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv-common title: "@kbn/reporting-export-types-csv-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv-common plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv-common'] --- import kbnReportingExportTypesCsvCommonObj from './kbn_reporting_export_types_csv_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf.mdx b/api_docs/kbn_reporting_export_types_pdf.mdx index 895d12eb5c6cc..cd82ac8b2c444 100644 --- a/api_docs/kbn_reporting_export_types_pdf.mdx +++ b/api_docs/kbn_reporting_export_types_pdf.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf title: "@kbn/reporting-export-types-pdf" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf'] --- import kbnReportingExportTypesPdfObj from './kbn_reporting_export_types_pdf.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf_common.mdx b/api_docs/kbn_reporting_export_types_pdf_common.mdx index 49b38119c05b5..868ee37e2a6b5 100644 --- a/api_docs/kbn_reporting_export_types_pdf_common.mdx +++ b/api_docs/kbn_reporting_export_types_pdf_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf-common title: "@kbn/reporting-export-types-pdf-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf-common plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf-common'] --- import kbnReportingExportTypesPdfCommonObj from './kbn_reporting_export_types_pdf_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png.mdx b/api_docs/kbn_reporting_export_types_png.mdx index 6306d833f6850..01c537a2473b4 100644 --- a/api_docs/kbn_reporting_export_types_png.mdx +++ b/api_docs/kbn_reporting_export_types_png.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png title: "@kbn/reporting-export-types-png" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png'] --- import kbnReportingExportTypesPngObj from './kbn_reporting_export_types_png.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png_common.mdx b/api_docs/kbn_reporting_export_types_png_common.mdx index 66b576ef5f51a..10a228dcb74b9 100644 --- a/api_docs/kbn_reporting_export_types_png_common.mdx +++ b/api_docs/kbn_reporting_export_types_png_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png-common title: "@kbn/reporting-export-types-png-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png-common plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png-common'] --- import kbnReportingExportTypesPngCommonObj from './kbn_reporting_export_types_png_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_mocks_server.mdx b/api_docs/kbn_reporting_mocks_server.mdx index f879074cc9cfa..1afad3273e987 100644 --- a/api_docs/kbn_reporting_mocks_server.mdx +++ b/api_docs/kbn_reporting_mocks_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-mocks-server title: "@kbn/reporting-mocks-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-mocks-server plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-mocks-server'] --- import kbnReportingMocksServerObj from './kbn_reporting_mocks_server.devdocs.json'; diff --git a/api_docs/kbn_reporting_public.mdx b/api_docs/kbn_reporting_public.mdx index e228d35795d2f..edc752c24e571 100644 --- a/api_docs/kbn_reporting_public.mdx +++ b/api_docs/kbn_reporting_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-public title: "@kbn/reporting-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-public plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-public'] --- import kbnReportingPublicObj from './kbn_reporting_public.devdocs.json'; diff --git a/api_docs/kbn_reporting_server.mdx b/api_docs/kbn_reporting_server.mdx index b628ad0b0e009..02540150107ed 100644 --- a/api_docs/kbn_reporting_server.mdx +++ b/api_docs/kbn_reporting_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-server title: "@kbn/reporting-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-server plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-server'] --- import kbnReportingServerObj from './kbn_reporting_server.devdocs.json'; diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx index 53fbf7fd345ed..e0a09ada8f977 100644 --- a/api_docs/kbn_resizable_layout.mdx +++ b/api_docs/kbn_resizable_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout title: "@kbn/resizable-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/resizable-layout plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout'] --- import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index cc926eae23154..a5252ef52300d 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-12-14 +date: 2023-12-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 d471eb421103e..c867bdc84a911 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-12-14 +date: 2023-12-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 5cd8740ae10b4..56a35e3e3bbce 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-12-14 +date: 2023-12-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 47498a78d309f..853c41a624349 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-12-14 +date: 2023-12-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 5e3d153e78875..51fc3542c6d25 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-12-14 +date: 2023-12-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 b819b5ab07bbb..8d9ecfa0146a6 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_errors.mdx b/api_docs/kbn_search_errors.mdx index d25ee8f50d71b..465bb83f6a7dc 100644 --- a/api_docs/kbn_search_errors.mdx +++ b/api_docs/kbn_search_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-errors title: "@kbn/search-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-errors plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-errors'] --- import kbnSearchErrorsObj from './kbn_search_errors.devdocs.json'; diff --git a/api_docs/kbn_search_index_documents.mdx b/api_docs/kbn_search_index_documents.mdx index 31eb960a4bb48..a0e28a6368a5c 100644 --- a/api_docs/kbn_search_index_documents.mdx +++ b/api_docs/kbn_search_index_documents.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-index-documents title: "@kbn/search-index-documents" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-index-documents plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-index-documents'] --- import kbnSearchIndexDocumentsObj from './kbn_search_index_documents.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 8634aeb0a583e..04a0eb45f1e83 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-12-14 +date: 2023-12-15 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_plugin_types_common.mdx b/api_docs/kbn_security_plugin_types_common.mdx index e7b7ae5aa13c3..daf37e0a126a7 100644 --- a/api_docs/kbn_security_plugin_types_common.mdx +++ b/api_docs/kbn_security_plugin_types_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-common title: "@kbn/security-plugin-types-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-common plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-common'] --- import kbnSecurityPluginTypesCommonObj from './kbn_security_plugin_types_common.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_public.mdx b/api_docs/kbn_security_plugin_types_public.mdx index d6a32277a9cc3..4a7119a38eb23 100644 --- a/api_docs/kbn_security_plugin_types_public.mdx +++ b/api_docs/kbn_security_plugin_types_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-public title: "@kbn/security-plugin-types-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-public plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-public'] --- import kbnSecurityPluginTypesPublicObj from './kbn_security_plugin_types_public.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_server.mdx b/api_docs/kbn_security_plugin_types_server.mdx index 0e272df7134f4..1deeaaba3e97a 100644 --- a/api_docs/kbn_security_plugin_types_server.mdx +++ b/api_docs/kbn_security_plugin_types_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-server title: "@kbn/security-plugin-types-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-server plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-server'] --- import kbnSecurityPluginTypesServerObj from './kbn_security_plugin_types_server.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 245e1024c7b93..d09c3c6a7f55c 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-12-14 +date: 2023-12-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 a7511111c9102..3161c2943d9e4 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-12-14 +date: 2023-12-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 888dc5d13f759..ad357f6e4e5cd 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-12-14 +date: 2023-12-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 d5c0ecef59f02..ab303f6aa9fd9 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-12-14 +date: 2023-12-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 b5af3e0de4973..cb056f5dd4fc6 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-12-14 +date: 2023-12-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 6980f77ee7452..6bec033954b52 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-12-14 +date: 2023-12-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 8adc8a2aa93c7..648a9999e9b6d 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-12-14 +date: 2023-12-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 59e8e7a218b20..86450a28b566b 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-12-14 +date: 2023-12-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 55c3d512fb662..c7eefa6cc8db3 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-12-14 +date: 2023-12-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 aea8d029e4adc..e99935d86d128 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-12-14 +date: 2023-12-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 e835912ea65d3..22c74c070f828 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-12-14 +date: 2023-12-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 e7eb4daf2f2e0..e9838371c2fa9 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-12-14 +date: 2023-12-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 ddabdbd6c7f23..acb302a58ae87 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-12-14 +date: 2023-12-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 fd772232c6856..602eb0d15989f 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-12-14 +date: 2023-12-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 f22dbb52a7f09..ed38f77dd9167 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-12-14 +date: 2023-12-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 e1e1b7ff9ae59..73b6f67c69384 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-12-14 +date: 2023-12-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 7622631f52f41..66a85e5921626 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-12-14 +date: 2023-12-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 56969ea07c512..47aac1d783c72 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-12-14 +date: 2023-12-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 e1b6b07b37f98..d185292ea40b0 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-12-14 +date: 2023-12-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 6b1d512142a25..b8329483825f6 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-12-14 +date: 2023-12-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 4b7aa0ed27ebd..b297bf06f01fc 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-12-14 +date: 2023-12-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 9c00df92f8c05..04a82a35e7c33 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-12-14 +date: 2023-12-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 412bf321a7c3e..c430da9f682db 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-12-14 +date: 2023-12-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 0ad230a8d0c8d..25e710f6028eb 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-12-14 +date: 2023-12-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 f6f9893d46f28..08fe1ce62bd6a 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-12-14 +date: 2023-12-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 9506a7b563924..fffe340c93c6c 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-12-14 +date: 2023-12-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 e75cf6c1c600c..0b4cc7b1686f3 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-12-14 +date: 2023-12-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 15272b0b60dee..5503211a24009 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-12-14 +date: 2023-12-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 daf438adff757..43db013499040 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-12-14 +date: 2023-12-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 4075a758b6272..18946ee5a9c8b 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-12-14 +date: 2023-12-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 61af3db0f3f2f..aac4a62d52f62 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-12-14 +date: 2023-12-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 b4af417ef3191..01546ec219c07 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-12-14 +date: 2023-12-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_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 215a13bb4c88a..2dadd928d1770 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-12-14 +date: 2023-12-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_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 6eadb8927bd71..953f6b78f78e2 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-12-14 +date: 2023-12-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 f44ecd625c9f6..07851b0562eaf 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-12-14 +date: 2023-12-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 f0fc2d060055b..8c4ac930500eb 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-12-14 +date: 2023-12-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 eebe08710b1c1..3efa3ce10f93e 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-12-14 +date: 2023-12-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_error_boundary.mdx b/api_docs/kbn_shared_ux_error_boundary.mdx index 78e7ef220018f..f19432f27b23a 100644 --- a/api_docs/kbn_shared_ux_error_boundary.mdx +++ b/api_docs/kbn_shared_ux_error_boundary.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-error-boundary title: "@kbn/shared-ux-error-boundary" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-error-boundary plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-error-boundary'] --- import kbnSharedUxErrorBoundaryObj from './kbn_shared_ux_error_boundary.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 13ffb90ccdac2..41e680d29d270 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-12-14 +date: 2023-12-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 be9c8628011e8..3149d2ca580c9 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-12-14 +date: 2023-12-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 a5bb38cc8dfe8..70d9d3ff68170 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-12-14 +date: 2023-12-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 e7df266510f7e..967cd85f29c34 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-12-14 +date: 2023-12-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 67c35dca9008b..5f2e661edcd73 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-12-14 +date: 2023-12-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 23cc3b8f7fb08..b236d4c01b732 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-12-14 +date: 2023-12-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 252a4a1eb8e72..e962adc12698f 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-12-14 +date: 2023-12-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 65951bdfb6bec..e854fef59bf84 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-12-14 +date: 2023-12-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 45ce77ebd08d7..b896c55999346 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-12-14 +date: 2023-12-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 037b38c981c72..5a22792b71670 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-12-14 +date: 2023-12-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 c217c3fe1827f..4e796657177ce 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-12-14 +date: 2023-12-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 59ce0044c7b4e..5bc8c261d2d68 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-12-14 +date: 2023-12-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 939c2873624e3..4f62ef8b79ca0 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-12-14 +date: 2023-12-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 99b0636b9fce5..c38e072e36fda 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-12-14 +date: 2023-12-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 db0ab5534e6fc..8396fa4be3d80 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-12-14 +date: 2023-12-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 f726c8e292d29..b68317cf2b18d 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-12-14 +date: 2023-12-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 2bfb360e65287..f6691cd61a710 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-12-14 +date: 2023-12-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 f4ea43c6b0bdb..532a77758aec4 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-12-14 +date: 2023-12-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 67f0f57bedf41..254ca6aeaccee 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-12-14 +date: 2023-12-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 a8155fc5ff788..63c479a7ba918 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-12-14 +date: 2023-12-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 4b2fe4e8ad0b6..9a5b79b7d4757 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-12-14 +date: 2023-12-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 d2930ab26fdad..7a74fda43a38e 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-12-14 +date: 2023-12-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 d3c07bde0fde8..101061d8e10ee 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-12-14 +date: 2023-12-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 7bfa9688162f0..b677e195e5697 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-12-14 +date: 2023-12-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 7e69ee35237b2..af18e0009a4cc 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-12-14 +date: 2023-12-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 7400bd1bc3bba..43ef40088d1bf 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-12-14 +date: 2023-12-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 1eb713e5335cd..ee3761a793ad5 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-12-14 +date: 2023-12-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 ee71d00ce91e2..324f72e680de7 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-12-14 +date: 2023-12-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 3723fedeb1182..984d00728e6a3 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-12-14 +date: 2023-12-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 70ab1516ba4c4..8aa089ba66bd3 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-12-14 +date: 2023-12-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 c1cab11a2befd..c1fa6194d6206 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-12-14 +date: 2023-12-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 67c3b68cecd85..6eba57b582ec0 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-12-14 +date: 2023-12-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 37c588425b545..bb54774ced786 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-12-14 +date: 2023-12-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 6b3546bfdec9c..684affeb1bb7f 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-12-14 +date: 2023-12-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 06befbcc068c5..c4972ca8ea352 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-12-14 +date: 2023-12-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 7b11d4aeeb34e..6e511e5be2c8a 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-12-14 +date: 2023-12-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 ab703e5efab4e..cb6350659c58f 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-12-14 +date: 2023-12-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 11194c5a699c8..6d8d90865b876 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-12-14 +date: 2023-12-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 87a5a5f0292fa..5885210adadff 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-12-14 +date: 2023-12-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 007deda1f7b6c..e9ce016ec9e08 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-12-14 +date: 2023-12-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 b7cc50c5c9548..85bec572a45fd 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-12-14 +date: 2023-12-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 122c7f154b865..872456ce6af23 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_triggers_actions_ui_types.mdx b/api_docs/kbn_triggers_actions_ui_types.mdx index 1168c42809770..6bc36e7f798a7 100644 --- a/api_docs/kbn_triggers_actions_ui_types.mdx +++ b/api_docs/kbn_triggers_actions_ui_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-triggers-actions-ui-types title: "@kbn/triggers-actions-ui-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/triggers-actions-ui-types plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/triggers-actions-ui-types'] --- import kbnTriggersActionsUiTypesObj from './kbn_triggers_actions_ui_types.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index fa3e62460b266..fddb9fd2a5bea 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-12-14 +date: 2023-12-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 830c8c76a560b..60691fdde4ed8 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-12-14 +date: 2023-12-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 b9d4c787dc2ad..f5d53675347fa 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-12-14 +date: 2023-12-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 88eb5d41e185f..5203b17a6f6df 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-12-14 +date: 2023-12-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 2424fe8106ebb..9b1a3ce660743 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-12-14 +date: 2023-12-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 fda3438460b69..62eb0cfdd978f 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-12-14 +date: 2023-12-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 6865cada16b24..542587b4443bf 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-12-14 +date: 2023-12-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 cc7948aa4f06b..6e6dbc32a3905 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-12-14 +date: 2023-12-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_unsaved_changes_badge.mdx b/api_docs/kbn_unsaved_changes_badge.mdx index f7d5935f72c17..8acb995af2d90 100644 --- a/api_docs/kbn_unsaved_changes_badge.mdx +++ b/api_docs/kbn_unsaved_changes_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-badge title: "@kbn/unsaved-changes-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unsaved-changes-badge plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-badge'] --- import kbnUnsavedChangesBadgeObj from './kbn_unsaved_changes_badge.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index ffeaf1bccf450..d33906565b8a4 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-12-14 +date: 2023-12-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 ef65b4cf4681b..4538e136d8fad 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-12-14 +date: 2023-12-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 31cc5d30f12e6..fa17bc07d204a 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-12-14 +date: 2023-12-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 6daaa2fe1ee83..eb36bb2687f30 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-12-14 +date: 2023-12-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 752e8f315af1b..531d782b5d4f3 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-12-14 +date: 2023-12-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 74f4e38fa4962..bd7fe0e1995f7 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-12-14 +date: 2023-12-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 c884fab298c09..abf2b7e64cdd7 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-12-14 +date: 2023-12-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_visualization_utils.mdx b/api_docs/kbn_visualization_utils.mdx index 738be0bebfac0..6aba58fee51f0 100644 --- a/api_docs/kbn_visualization_utils.mdx +++ b/api_docs/kbn_visualization_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-utils title: "@kbn/visualization-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-utils plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-utils'] --- import kbnVisualizationUtilsObj from './kbn_visualization_utils.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 6838f5568eca9..b8ac4bdf74969 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-12-14 +date: 2023-12-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 a9b656198f9c6..956d6a333248d 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kbn_zod_helpers.mdx b/api_docs/kbn_zod_helpers.mdx index c5995b1f6db88..6285605293403 100644 --- a/api_docs/kbn_zod_helpers.mdx +++ b/api_docs/kbn_zod_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod-helpers title: "@kbn/zod-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/zod-helpers plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod-helpers'] --- import kbnZodHelpersObj from './kbn_zod_helpers.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 559c77164ad20..bfa51f44f05a3 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-12-14 +date: 2023-12-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 71ecfa55073da..e23a4fb2f5783 100644 --- a/api_docs/kibana_react.devdocs.json +++ b/api_docs/kibana_react.devdocs.json @@ -1347,6 +1347,58 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx" }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result_wrapper.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result_wrapper.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result_wrapper.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/shared_imports.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/shared_components/services_wrapper.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/shared_components/services_wrapper.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/shared_components/services_wrapper.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/application.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/application.tsx" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/public/application.tsx" + }, { "plugin": "profiling", "path": "x-pack/plugins/profiling/public/app.tsx" @@ -1483,18 +1535,6 @@ "plugin": "crossClusterReplication", "path": "x-pack/plugins/cross_cluster_replication/public/app/index.tsx" }, - { - "plugin": "enterpriseSearch", - "path": "x-pack/plugins/enterprise_search/public/applications/index.tsx" - }, - { - "plugin": "enterpriseSearch", - "path": "x-pack/plugins/enterprise_search/public/applications/index.tsx" - }, - { - "plugin": "enterpriseSearch", - "path": "x-pack/plugins/enterprise_search/public/applications/index.tsx" - }, { "plugin": "globalSearchBar", "path": "x-pack/plugins/global_search_bar/public/plugin.tsx" @@ -1603,58 +1643,6 @@ "plugin": "observabilityOnboarding", "path": "x-pack/plugins/observability_onboarding/public/application/app.tsx" }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result_wrapper.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result_wrapper.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result_wrapper.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/shared_imports.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/shared_components/services_wrapper.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/shared_components/services_wrapper.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/shared_components/services_wrapper.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/application.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/application.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/application.tsx" - }, { "plugin": "devTools", "path": "src/plugins/dev_tools/public/application.tsx" @@ -3012,6 +3000,14 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/render_app.tsx" }, + { + "plugin": "timelines", + "path": "x-pack/plugins/timelines/public/components/hover_actions/actions/add_to_timeline.tsx" + }, + { + "plugin": "timelines", + "path": "x-pack/plugins/timelines/public/components/hover_actions/actions/add_to_timeline.tsx" + }, { "plugin": "banners", "path": "x-pack/plugins/banners/public/plugin.tsx" @@ -3096,14 +3092,6 @@ "plugin": "reporting", "path": "x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content/reporting_panel_content.tsx" }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/public/components/hover_actions/actions/add_to_timeline.tsx" - }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/public/components/hover_actions/actions/add_to_timeline.tsx" - }, { "plugin": "cloudSecurityPosture", "path": "x-pack/plugins/cloud_security_posture/public/components/take_action.tsx" diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index ca3c114633bd5..152db568792b4 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-12-14 +date: 2023-12-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 0a622cbcb2bb9..8a68a6c1dccb8 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-12-14 +date: 2023-12-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 4f635d8ba1ab1..95e09362adf5c 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-12-14 +date: 2023-12-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 5dbdc17a7cade..9edfddb563dae 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-12-14 +date: 2023-12-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 f4bc9d6329a17..d54c894e31d44 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-12-14 +date: 2023-12-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 35c140c5225df..aa5870aafec11 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-12-14 +date: 2023-12-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 4afedcdbfc5d5..a25812a5769c5 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/links.mdx b/api_docs/links.mdx index 573cc532fbdb8..89f71495602a9 100644 --- a/api_docs/links.mdx +++ b/api_docs/links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/links title: "links" image: https://source.unsplash.com/400x175/?github description: API docs for the links plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'links'] --- import linksObj from './links.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 455cb8f5fe1a7..d4f80e9f422b4 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-12-14 +date: 2023-12-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 b4471c6b95037..471cbe44388a7 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-12-14 +date: 2023-12-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 d12f116c053c2..113acf8dd29dc 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-12-14 +date: 2023-12-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 3ad0c5cb06844..0422d3017c09e 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-12-14 +date: 2023-12-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 8070a0089ead7..aef2a0362a9d3 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-12-14 +date: 2023-12-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 98467fdbf5ce2..ad63cec95ade2 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-12-14 +date: 2023-12-15 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 1a8aaf8a413ea..cdc0d6bf08902 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-12-14 +date: 2023-12-15 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 7b340b8632ddd..2da35f7370ae3 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/mock_idp_plugin.mdx b/api_docs/mock_idp_plugin.mdx index 2ae0d51c8e567..a7fd82e0e90d7 100644 --- a/api_docs/mock_idp_plugin.mdx +++ b/api_docs/mock_idp_plugin.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mockIdpPlugin title: "mockIdpPlugin" image: https://source.unsplash.com/400x175/?github description: API docs for the mockIdpPlugin plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mockIdpPlugin'] --- import mockIdpPluginObj from './mock_idp_plugin.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 9a1e1efcbd9fc..2edd2a19b3921 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-12-14 +date: 2023-12-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 cbb6a4c0ec7d7..36d8c24495c6b 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-12-14 +date: 2023-12-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 f9c5bd1b533df..86a4fdd252ee1 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-12-14 +date: 2023-12-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 c25b18b4a2d0c..0cef6f7584b59 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-12-14 +date: 2023-12-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 8f5388f0bf126..9edc376e082b1 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-12-14 +date: 2023-12-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 5bef62f82d0e2..dc28465d1d551 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-12-14 +date: 2023-12-15 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 fb0e58d72a8ac..10fc931bda74a 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -2442,37 +2442,7 @@ "label": "observabilityShared", "description": [], "signature": [ - "{ locators: { profiling: { flamegraphLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "FlamegraphLocatorParams", - ">; topNFunctionsLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "TopNFunctionsLocatorParams", - ">; stacktracesLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "StacktracesLocatorParams", - ">; }; }; navigation: { registerSections: (sections$: ", + "{ locators: ObservabilitySharedLocators; navigation: { registerSections: (sections$: ", "Observable", "<", { @@ -3050,7 +3020,7 @@ "label": "observabilityShared", "description": [], "signature": [ - "{ navigation: { PageTemplate: (pageTemplateProps: ", + "{ locators: ObservabilitySharedLocators; navigation: { PageTemplate: (pageTemplateProps: ", "WrappedPageTemplateProps", ") => JSX.Element; registerSections: (sections$: ", "Observable", diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index bfbaa4d3ae651..56b62f3d3239f 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-12-14 +date: 2023-12-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 bcf80c1e23f90..d3041ae1da0b7 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index 952d450fc11f3..caf2763fd05e9 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 563659003a732..a1dc1551eda3e 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.devdocs.json b/api_docs/observability_shared.devdocs.json index a5cc5ef4eb230..5c0c77dba50b7 100644 --- a/api_docs/observability_shared.devdocs.json +++ b/api_docs/observability_shared.devdocs.json @@ -65,37 +65,7 @@ }, ", pluginsSetup: ", "ObservabilitySharedSetup", - ") => { locators: { profiling: { flamegraphLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "FlamegraphLocatorParams", - ">; topNFunctionsLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "TopNFunctionsLocatorParams", - ">; stacktracesLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "StacktracesLocatorParams", - ">; }; }; navigation: { registerSections: (sections$: ", + ") => { locators: ObservabilitySharedLocators; navigation: { registerSections: (sections$: ", "Observable", "<", { @@ -169,7 +139,7 @@ }, ", plugins: ", "ObservabilitySharedStart", - ") => { navigation: { PageTemplate: (pageTemplateProps: ", + ") => { locators: ObservabilitySharedLocators; navigation: { PageTemplate: (pageTemplateProps: ", "WrappedPageTemplateProps", ") => JSX.Element; registerSections: (sections$: ", "Observable", @@ -2946,37 +2916,7 @@ "label": "ObservabilitySharedPluginSetup", "description": [], "signature": [ - "{ locators: { profiling: { flamegraphLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "FlamegraphLocatorParams", - ">; topNFunctionsLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "TopNFunctionsLocatorParams", - ">; stacktracesLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "StacktracesLocatorParams", - ">; }; }; navigation: { registerSections: (sections$: ", + "{ locators: ObservabilitySharedLocators; navigation: { registerSections: (sections$: ", "Observable", "<", { @@ -3001,7 +2941,7 @@ "label": "ObservabilitySharedPluginStart", "description": [], "signature": [ - "{ navigation: { PageTemplate: (pageTemplateProps: ", + "{ locators: ObservabilitySharedLocators; navigation: { PageTemplate: (pageTemplateProps: ", "WrappedPageTemplateProps", ") => JSX.Element; registerSections: (sections$: ", "Observable", @@ -3062,36 +3002,12 @@ "description": [], "signature": [ "{ flamegraphLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "FlamegraphLocatorParams", - ">; topNFunctionsLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "TopNFunctionsLocatorParams", - ">; stacktracesLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "StacktracesLocatorParams", - ">; }" + "FlamegraphLocator", + "; topNFunctionsLocator: ", + "TopNFunctionsLocator", + "; stacktracesLocator: ", + "StacktracesLocator", + "; }" ], "path": "x-pack/plugins/observability_shared/public/plugin.ts", "deprecated": false, diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 804f41b692c14..7d62c03b1d6d3 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-12-14 +date: 2023-12-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 dcba49d6259ba..fc33ab80e6d3d 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-12-14 +date: 2023-12-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 0322fcf675c84..6ad6cff0a8753 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-12-14 +date: 2023-12-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 86ff3a3822245..201bd8e7479fc 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -21,7 +21,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 77896 | 235 | 66624 | 1632 | +| 77928 | 235 | 66650 | 1632 | ## Plugin Directory @@ -69,7 +69,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 141 | 0 | 96 | 21 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 37 | 0 | 35 | 2 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | APIs used to assess the quality of data in Elasticsearch indexes | 2 | 0 | 0 | 0 | -| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | Server APIs for the Elastic AI Assistant | 4 | 0 | 2 | 0 | +| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | Server APIs for the Elastic AI Assistant | 36 | 0 | 28 | 0 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds embeddables service to Kibana | 547 | 1 | 446 | 8 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Extends embeddable plugin with more functionality | 14 | 0 | 14 | 0 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides encryption and decryption utilities for saved objects containing sensitive information. | 53 | 0 | 46 | 1 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index aa4e75de71586..39b2407604229 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-12-14 +date: 2023-12-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 9b036ab61acfa..67eac0d59dbbb 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-12-14 +date: 2023-12-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 ecfaae6f481ab..3e2bc5f260da6 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-12-14 +date: 2023-12-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 17536c51e619e..7748a01776f3b 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-12-14 +date: 2023-12-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 b55bbb55fda63..7ff7abdafab98 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-12-14 +date: 2023-12-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 896a83f3ce68f..7f8e2f8184b73 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-12-14 +date: 2023-12-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 827f10b1e5da1..dcf56d561674c 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-12-14 +date: 2023-12-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 6bd4b18bd49e8..90cb052f4e979 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-12-14 +date: 2023-12-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 32a611234926e..6aa36b278ee09 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-12-14 +date: 2023-12-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 1f59185e49ead..69a55e9a0206f 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-12-14 +date: 2023-12-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 e0a9585dcbc87..369f3122236f4 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-12-14 +date: 2023-12-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 88e17a747d06c..21697d6922945 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-12-14 +date: 2023-12-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 23d79f8a0eaf7..d012b358911f5 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-12-14 +date: 2023-12-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 a9e2834dc90b8..947aebdc67192 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-12-14 +date: 2023-12-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 f69dc41d8e218..820320b12f461 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-12-14 +date: 2023-12-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 193d7e3670ec6..382aebb1a7209 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-12-14 +date: 2023-12-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 70f9d0fbb9d3b..0deca1b99bb16 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-12-14 +date: 2023-12-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 38d183bdd07e0..ff53463c3aacd 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-12-14 +date: 2023-12-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 a3726ca10b322..0badba1c14b7b 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-12-14 +date: 2023-12-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 c2e998c15606a..95deb67eac426 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-12-14 +date: 2023-12-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 d8b640f7b117b..7e74aa1b063b6 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-12-14 +date: 2023-12-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 ace71134c7063..af3cc10e001a4 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-12-14 +date: 2023-12-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 11f087f29b699..ebcb1601c0b4e 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-12-14 +date: 2023-12-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 96ce3b79ad7c8..a9142bf2b82ab 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-12-14 +date: 2023-12-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 95efb34784eae..5f50c166158b2 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-12-14 +date: 2023-12-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 7cd9cfc7faf3e..1ee2b851f45e4 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-12-14 +date: 2023-12-15 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 db92f657d75c1..41be6afc9bf61 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-12-14 +date: 2023-12-15 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 c8bd9e5c98e38..0da8105be967c 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-12-14 +date: 2023-12-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 2b8e70660e472..ea478969f0b6f 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-12-14 +date: 2023-12-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 44e50e04aeb2f..caed5514cec11 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-12-14 +date: 2023-12-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 05d7f92a740bd..041b3c9fbf1ee 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-12-14 +date: 2023-12-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 00de782cb3c58..61c8da6e78947 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-12-14 +date: 2023-12-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 9a5ed978510fe..89f802b9a974e 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-12-14 +date: 2023-12-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 679c9e539ec7c..33eb9ec2ea1d7 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-12-14 +date: 2023-12-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 31e0e53aa15b6..3aa2cb1f9168a 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-12-14 +date: 2023-12-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 cee144ffa5e8e..b7000f15e8240 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-12-14 +date: 2023-12-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 dcf4bba8aa176..585e167c9c012 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-12-14 +date: 2023-12-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 e21bd7b84147b..ab33143fc3389 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-12-14 +date: 2023-12-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 1da42b5b2b4f0..1f81d62e2a942 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-12-14 +date: 2023-12-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 b71efb927fa0f..b704eba06ddd5 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-12-14 +date: 2023-12-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 ba917446b6564..01cb5dfdd92e4 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-12-14 +date: 2023-12-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 2fa20a7cde211..c0c84db29f184 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-12-14 +date: 2023-12-15 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 20c6a3b28a4dc..e0a7abd5a1130 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-12-14 +date: 2023-12-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 46b9f71bfcf04..846038303130f 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-12-14 +date: 2023-12-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 dcb342dda5c5f..b2b867c555c96 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-12-14 +date: 2023-12-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 e6c4fb3a83263..c520021021704 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-12-14 +date: 2023-12-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 3159bd437c3de..9f341559d7f48 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-12-14 +date: 2023-12-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 524e8efd0c655..84b7e1cb9742e 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-12-14 +date: 2023-12-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 1a07ea443efee..133296ee2c761 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-12-14 +date: 2023-12-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 965d7e352497e..bb371bb61ee3e 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-12-14 +date: 2023-12-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 b65f58bb58f50..aa0885aa0131a 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-12-14 +date: 2023-12-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 d93a92601ff00..e6baa1f61b1b0 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-12-14 +date: 2023-12-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 c872fa9785fc1..e76301f168343 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-12-14 +date: 2023-12-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 134760579368e..4d73ed4e43668 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-12-14 +date: 2023-12-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 ce54c730f82b0..6f37f7609e400 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-12-14 +date: 2023-12-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 11a0abdfbb105..86bb790edaefe 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-12-14 +date: 2023-12-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 541c6dc3a9374..05bad8e28c147 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-12-14 +date: 2023-12-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 3b11cde180296..69f70a662b9d0 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-12-14 +date: 2023-12-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 b7ed4b72b5aa0..39f1ee203968e 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-12-14 +date: 2023-12-15 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 a3d45a2b139d9..e94e1d35c22d9 100644 --- a/api_docs/visualizations.devdocs.json +++ b/api_docs/visualizations.devdocs.json @@ -6710,7 +6710,15 @@ "section": "def-common.AggregateQuery", "text": "AggregateQuery" }, - " | undefined>; openInspector: () => ", + " | undefined>; getFilters: () => Promise<", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]>; openInspector: () => ", { "pluginId": "@kbn/core-mount-utils-browser", "scope": "common", @@ -6876,15 +6884,7 @@ }, " | undefined; updateOutput: (outputChanges: Partial<", "VisualizeOutput", - ">) => void; supportedTriggers: () => string[]; getFilters: () => Promise<", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Filter", - "text": "Filter" - }, - "[]>; getVis: () => ", + ">) => void; supportedTriggers: () => string[]; getVis: () => ", { "pluginId": "visualizations", "scope": "public", diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 3552f4f823598..fd75c7e0aeb2f 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-12-14 +date: 2023-12-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 13ad0ef510ec23a380335935b4557efc01f01f2d Mon Sep 17 00:00:00 2001 From: Coen Warmer Date: Fri, 15 Dec 2023 10:21:20 +0100 Subject: [PATCH 081/123] Adds EBT event for User Prompts, refactor existing EBT event tracking to be typesafe (#173175) Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../public/analytics/index.ts | 49 +++++++ .../public/analytics/schema.ts | 95 -------------- .../public/analytics/schemas/chat_feedback.ts | 122 ++++++++++++++++++ .../public/analytics/schemas/common.ts | 77 +++++++++++ .../analytics/schemas/insight_feedback.ts | 33 +++++ .../analytics/schemas/user_sent_prompt.ts | 16 +++ .../public/components/chat/chat_body.tsx | 24 +++- .../chat/chat_consolidated_items.tsx | 15 ++- .../public/components/chat/chat_item.tsx | 22 ++-- ...chat_item_content_inline_prompt_editor.tsx | 12 +- .../components/chat/chat_item_controls.tsx | 4 +- .../components/chat/chat_prompt_editor.tsx | 28 ++-- .../components/chat/chat_timeline.stories.tsx | 3 +- .../public/components/chat/chat_timeline.tsx | 10 +- .../public/components/feedback_buttons.tsx | 25 +++- .../public/components/insight/insight.tsx | 21 +-- .../public/plugin.tsx | 4 +- .../observability_ai_assistant/tsconfig.json | 3 +- 18 files changed, 416 insertions(+), 147 deletions(-) create mode 100644 x-pack/plugins/observability_ai_assistant/public/analytics/index.ts delete mode 100644 x-pack/plugins/observability_ai_assistant/public/analytics/schema.ts create mode 100644 x-pack/plugins/observability_ai_assistant/public/analytics/schemas/chat_feedback.ts create mode 100644 x-pack/plugins/observability_ai_assistant/public/analytics/schemas/common.ts create mode 100644 x-pack/plugins/observability_ai_assistant/public/analytics/schemas/insight_feedback.ts create mode 100644 x-pack/plugins/observability_ai_assistant/public/analytics/schemas/user_sent_prompt.ts diff --git a/x-pack/plugins/observability_ai_assistant/public/analytics/index.ts b/x-pack/plugins/observability_ai_assistant/public/analytics/index.ts new file mode 100644 index 0000000000000..c6b382f84db22 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/public/analytics/index.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 type { AnalyticsServiceSetup, AnalyticsServiceStart } from '@kbn/core-analytics-browser'; +import type { Message } from '../../common'; +import { + eventType as chatFeedbackEventType, + chatFeedbackEventSchema, + ChatFeedback, +} from './schemas/chat_feedback'; +import { + eventType as insightFeedbackEventType, + insightFeedbackEventSchema, + InsightFeedback, +} from './schemas/insight_feedback'; +import { + eventType as userSentPromptEventType, + userSentPromptEventSchema, +} from './schemas/user_sent_prompt'; + +const schemas = [chatFeedbackEventSchema, insightFeedbackEventSchema, userSentPromptEventSchema]; + +export const TELEMETRY = { + [chatFeedbackEventType]: chatFeedbackEventType, + [insightFeedbackEventType]: insightFeedbackEventType, + [userSentPromptEventType]: userSentPromptEventType, +} as const; + +export type TelemetryEventTypeWithPayload = + | { type: typeof chatFeedbackEventType; payload: ChatFeedback } + | { type: typeof insightFeedbackEventType; payload: InsightFeedback } + | { type: typeof userSentPromptEventType; payload: Message }; + +export const registerTelemetryEventTypes = (analytics: AnalyticsServiceSetup) => { + schemas.forEach((schema) => { + analytics.registerEventType<{}>(schema); + }); +}; + +export function sendEvent( + analytics: AnalyticsServiceStart, + eventType: TelemetryEventTypeWithPayload +): void { + analytics.reportEvent(eventType.type, eventType.payload); +} diff --git a/x-pack/plugins/observability_ai_assistant/public/analytics/schema.ts b/x-pack/plugins/observability_ai_assistant/public/analytics/schema.ts deleted file mode 100644 index 400225b22baef..0000000000000 --- a/x-pack/plugins/observability_ai_assistant/public/analytics/schema.ts +++ /dev/null @@ -1,95 +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 { RootSchema } from '@kbn/analytics-client'; -import { Message } from '../../common'; -import type { Feedback } from '../components/feedback_buttons'; - -export const MESSAGE_FEEDBACK = 'observability_ai_assistant_chat_message_feedback' as const; -export const INSIGHT_FEEDBACK = 'observability_ai_assistant_chat_insight_feedback' as const; - -export interface MessageFeedback extends Message { - feedback: Feedback; -} - -export interface TelemetryEvent { - eventType: typeof MESSAGE_FEEDBACK | typeof INSIGHT_FEEDBACK; - schema: RootSchema; -} - -export const MESSAGE_FEEDBACK_SCHEMA: TelemetryEvent = { - eventType: MESSAGE_FEEDBACK, - schema: { - '@timestamp': { - type: 'text', - _meta: { - description: 'The timestamp of the message.', - }, - }, - feedback: { - type: 'text', - _meta: { - description: 'Whether the user has deemed this response useful or not', - }, - }, - message: { - properties: { - content: { - type: 'text', - _meta: { - description: 'The response generated by the LLM.', - optional: true, - }, - }, - name: { - type: 'text', - _meta: { - description: 'The name of the function that was executed.', - optional: true, - }, - }, - role: { - type: 'text', - _meta: { - description: 'The actor that generated the response.', - }, - }, - data: { - type: 'text', - _meta: { - description: '', - optional: true, - }, - }, - function_call: { - properties: { - name: { - type: 'text', - _meta: { - description: 'The name of the function that was executed.', - optional: false, - }, - }, - arguments: { - type: 'text', - _meta: { - description: 'The arguments that were used when executing the function.', - optional: true, - }, - }, - trigger: { - type: 'text', - _meta: { - description: 'The actor which triggered the execution of this function.', - }, - }, - }, - }, - }, - }, - }, -}; diff --git a/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/chat_feedback.ts b/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/chat_feedback.ts new file mode 100644 index 0000000000000..cd302ef68e755 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/chat_feedback.ts @@ -0,0 +1,122 @@ +/* + * 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 { EventTypeOpts } from '@kbn/analytics-client'; +import type { Message, Conversation } from '../../../common'; +import type { Feedback } from '../../components/feedback_buttons'; +import { messageSchema } from './common'; + +export interface ChatFeedback { + messageWithFeedback: { + message: Message; + feedback: Feedback; + }; + conversation: Conversation; +} + +export const eventType = 'observability_ai_assistant_chat_feedback'; + +export const chatFeedbackEventSchema: EventTypeOpts = { + eventType, + schema: { + messageWithFeedback: { + properties: { + message: { + properties: messageSchema, + }, + feedback: { + type: 'text', + _meta: { + description: 'Whether the user has deemed this response useful or not', + }, + }, + }, + }, + conversation: { + properties: { + '@timestamp': { + type: 'text', + _meta: { + description: 'The timestamp of the conversation.', + }, + }, + user: { + properties: { + id: { + type: 'text', + _meta: { + description: 'The id of the user.', + optional: true, + }, + }, + name: { + type: 'text', + _meta: { + description: 'The name of the user.', + }, + }, + }, + }, + conversation: { + properties: { + id: { + type: 'text', + _meta: { + description: 'The id of the conversation.', + }, + }, + title: { + type: 'text', + _meta: { + description: 'The title of the conversation.', + }, + }, + last_updated: { + type: 'text', + _meta: { + description: 'The timestamp of the last message in the conversation.', + }, + }, + }, + }, + messages: { + type: 'array', + items: { + properties: messageSchema, + }, + _meta: { + description: 'The messages in the conversation.', + }, + }, + labels: { + type: 'pass_through', + _meta: { + description: 'The labels of the conversation.', + }, + }, + numeric_labels: { + type: 'pass_through', + _meta: { + description: 'The numeric labels of the conversation.', + }, + }, + namespace: { + type: 'text', + _meta: { + description: 'The namespace of the conversation.', + }, + }, + public: { + type: 'boolean', + _meta: { + description: 'Whether the conversation is public or not.', + }, + }, + }, + }, + }, +}; diff --git a/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/common.ts b/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/common.ts new file mode 100644 index 0000000000000..3c4d4ee0c75e0 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/common.ts @@ -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 type { RootSchema } from '@kbn/analytics-client'; +import type { Message } from '../../../common'; + +export const messageSchema: RootSchema = { + '@timestamp': { + type: 'text', + _meta: { + description: 'The timestamp of the message.', + }, + }, + message: { + properties: { + content: { + type: 'text', + _meta: { + description: 'The response generated by the LLM.', + optional: true, + }, + }, + name: { + type: 'text', + _meta: { + description: 'The name of the function that was executed.', + optional: true, + }, + }, + role: { + type: 'text', + _meta: { + description: 'The actor that generated the response.', + }, + }, + data: { + type: 'text', + _meta: { + description: '', + optional: true, + }, + }, + function_call: { + _meta: { + description: 'The function call that was executed.', + optional: true, + }, + properties: { + name: { + type: 'text', + _meta: { + description: 'The name of the function that was executed.', + optional: false, + }, + }, + arguments: { + type: 'text', + _meta: { + description: 'The arguments that were used when executing the function.', + optional: true, + }, + }, + trigger: { + type: 'text', + _meta: { + description: 'The actor which triggered the execution of this function.', + }, + }, + }, + }, + }, + }, +}; diff --git a/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/insight_feedback.ts b/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/insight_feedback.ts new file mode 100644 index 0000000000000..5142beaa216a2 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/insight_feedback.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 { EventTypeOpts } from '@kbn/analytics-client'; +import type { Message } from '../../../common'; +import type { Feedback } from '../../components/feedback_buttons'; +import { messageSchema } from './common'; + +export interface InsightFeedback { + feedback: Feedback; + message: Message; +} + +export const eventType = 'observability_ai_assistant_insight_feedback'; + +export const insightFeedbackEventSchema: EventTypeOpts = { + eventType, + schema: { + feedback: { + type: 'text', + _meta: { + description: 'Whether the user has deemed this response useful or not', + }, + }, + message: { + properties: messageSchema, + }, + }, +}; diff --git a/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/user_sent_prompt.ts b/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/user_sent_prompt.ts new file mode 100644 index 0000000000000..4d24dd146573d --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/public/analytics/schemas/user_sent_prompt.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 { EventTypeOpts } from '@kbn/analytics-client'; +import type { Message } from '../../../common'; +import { messageSchema } from './common'; + +export const eventType = 'observability_ai_assistant_user_sent_prompt_in_chat'; +export const userSentPromptEventSchema: EventTypeOpts = { + eventType, + schema: messageSchema, +}; diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx index 4a8081e5fb2eb..6f0ce177cde5e 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx @@ -32,9 +32,9 @@ import { Feedback } from '../feedback_buttons'; import { IncorrectLicensePanel } from './incorrect_license_panel'; import { WelcomeMessage } from './welcome_message'; import { EMPTY_CONVERSATION_TITLE } from '../../i18n'; -import { MESSAGE_FEEDBACK } from '../../analytics/schema'; import { ChatActionClickType } from './types'; import type { StartedFrom } from '../../utils/get_timeline_items_from_conversation'; +import { TELEMETRY, sendEvent } from '../../analytics'; const fullHeightClassName = css` height: 100%; @@ -140,8 +140,15 @@ export function ChatBody({ parent.scrollTop + parent.clientHeight >= parent.scrollHeight; const handleFeedback = (message: Message, feedback: Feedback) => { - const feedbackEvent = { ...message, feedback }; - chatService.analytics.reportEvent(MESSAGE_FEEDBACK, feedbackEvent); + if (conversation.value?.conversation && 'user' in conversation.value.conversation) { + sendEvent(chatService.analytics, { + type: TELEMETRY.observability_ai_assistant_chat_feedback, + payload: { + messageWithFeedback: { message, feedback }, + conversation: conversation.value.conversation, + }, + }); + } }; useEffect(() => { @@ -196,6 +203,9 @@ export function ChatBody({ onSubmit={(message) => { next(messages.concat(message)); }} + onSendTelemetry={(eventWithPayload) => + sendEvent(chatService.analytics, eventWithPayload) + } /> @@ -236,6 +246,9 @@ export function ChatBody({ const indexOf = messages.indexOf(message); next(messages.slice(0, indexOf)); }} + onSendTelemetry={(eventWithPayload) => + sendEvent(chatService.analytics, eventWithPayload) + } onStopGenerating={() => { stop(); }} @@ -283,8 +296,11 @@ export function ChatBody({ className={promptEditorContainerClassName} > + sendEvent(chatService.analytics, eventWithPayload) + } onSubmit={(message) => { setStickToBottom(true); return next(messages.concat(message)); diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_consolidated_items.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_consolidated_items.tsx index 7668c5d0df7ad..82480fe867f2d 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_consolidated_items.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_consolidated_items.tsx @@ -49,18 +49,20 @@ const noPanelStyle = css` export function ChatConsolidatedItems({ consolidatedItem, + onActionClick, + onEditSubmit, onFeedback, onRegenerate, - onEditSubmit, + onSendTelemetry, onStopGenerating, - onActionClick, }: { consolidatedItem: ChatTimelineItem[]; + onActionClick: ChatTimelineProps['onActionClick']; + onEditSubmit: ChatTimelineProps['onEdit']; onFeedback: ChatTimelineProps['onFeedback']; onRegenerate: ChatTimelineProps['onRegenerate']; - onEditSubmit: ChatTimelineProps['onEdit']; + onSendTelemetry: ChatTimelineProps['onSendTelemetry']; onStopGenerating: ChatTimelineProps['onStopGenerating']; - onActionClick: ChatTimelineProps['onActionClick']; }) { const [expanded, setExpanded] = useState(false); @@ -122,15 +124,16 @@ export function ChatConsolidatedItems({ // use index, not id to prevent unmounting of component when message is persisted key={index} {...item} + onActionClick={onActionClick} + onEditSubmit={(message) => onEditSubmit(item.message, message)} onFeedbackClick={(feedback) => { onFeedback(item.message, feedback); }} onRegenerateClick={() => { onRegenerate(item.message); }} - onEditSubmit={(message) => onEditSubmit(item.message, message)} + onSendTelemetry={onSendTelemetry} onStopGeneratingClick={onStopGenerating} - onActionClick={onActionClick} /> )) : null} 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 e421537edc781..55e8d8610ee53 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 @@ -21,17 +21,19 @@ import { ChatItemContentInlinePromptEditor } from './chat_item_content_inline_pr import { ChatItemControls } from './chat_item_controls'; import { ChatTimelineItem } from './chat_timeline'; import { getRoleTranslation } from '../../utils/get_role_translation'; -import type { Feedback } from '../feedback_buttons'; -import { Message } from '../../../common'; import { FailedToLoadResponse } from '../message_panel/failed_to_load_response'; -import { ChatActionClickHandler } from './types'; +import type { Message } from '../../../common'; +import type { Feedback } from '../feedback_buttons'; +import type { ChatActionClickHandler } from './types'; +import type { TelemetryEventTypeWithPayload } from '../../analytics'; export interface ChatItemProps extends ChatTimelineItem { + onActionClick: ChatActionClickHandler; onEditSubmit: (message: Message) => void; onFeedbackClick: (feedback: Feedback) => void; onRegenerateClick: () => void; + onSendTelemetry: (eventWithPayload: TelemetryEventTypeWithPayload) => void; onStopGeneratingClick: () => void; - onActionClick: ChatActionClickHandler; } const normalMessageClassName = css` @@ -66,21 +68,22 @@ const noPanelMessageClassName = css` export function ChatItem({ actions: { canCopy, canEdit, canGiveFeedback, canRegenerate }, - display: { collapsed }, - message: { - message: { function_call: functionCall, role }, - }, content, currentUser, + display: { collapsed }, element, error, loading, + message: { + message: { function_call: functionCall, role }, + }, title, + onActionClick, onEditSubmit, onFeedbackClick, onRegenerateClick, + onSendTelemetry, onStopGeneratingClick, - onActionClick, }: ChatItemProps) { const accordionId = useGeneratedHtmlId({ prefix: 'chat' }); @@ -130,6 +133,7 @@ export function ChatItem({ loading={loading} onSubmit={handleInlineEditSubmit} onActionClick={onActionClick} + onSendTelemetry={onSendTelemetry} /> ) : null; diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_content_inline_prompt_editor.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_content_inline_prompt_editor.tsx index 4f702eed2e16d..cd2693f26a803 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_content_inline_prompt_editor.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_content_inline_prompt_editor.tsx @@ -8,8 +8,9 @@ import React from 'react'; import { MessageText } from '../message_panel/message_text'; import { ChatPromptEditor } from './chat_prompt_editor'; -import { MessageRole, type Message } from '../../../common'; -import { ChatActionClickHandler } from './types'; +import { type Message, MessageRole } from '../../../common'; +import type { ChatActionClickHandler } from './types'; +import type { TelemetryEventTypeWithPayload } from '../../analytics'; interface Props { content: string | undefined; @@ -22,16 +23,18 @@ interface Props { | undefined; loading: boolean; editing: boolean; - onSubmit: (message: Message) => void; onActionClick: ChatActionClickHandler; + onSendTelemetry: (eventWithPayload: TelemetryEventTypeWithPayload) => void; + onSubmit: (message: Message) => void; } export function ChatItemContentInlinePromptEditor({ content, functionCall, editing, loading, - onSubmit, onActionClick, + onSendTelemetry, + onSubmit, }: Props) { return !editing ? ( @@ -44,6 +47,7 @@ export function ChatItemContentInlinePromptEditor({ initialSelectedFunctionName={functionCall?.name} trigger={functionCall?.trigger} onSubmit={onSubmit} + onSendTelemetry={onSendTelemetry} /> ); } diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_controls.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_controls.tsx index 74eeb184cb5c7..d828b0330d69c 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_controls.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_controls.tsx @@ -46,14 +46,14 @@ export function ChatItemControls({ controls = ; } else if (displayFeedback || displayRegenerate) { controls = ( - + {displayFeedback ? ( ) : null} {displayRegenerate ? ( - + ) : null} diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor.tsx index f34288d5755e6..fc4db6e20378e 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor.tsx @@ -5,6 +5,8 @@ * 2.0. */ +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import { i18n } from '@kbn/i18n'; import { EuiButtonEmpty, EuiButtonIcon, @@ -16,12 +18,11 @@ import { EuiTextArea, keys, } from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; import { CodeEditor } from '@kbn/kibana-react-plugin/public'; -import React, { useCallback, useEffect, useRef, useState } from 'react'; import { MessageRole, type Message } from '../../../common'; -import { useJsonEditorModel } from '../../hooks/use_json_editor_model'; import { FunctionListPopover } from './function_list_popover'; +import { useJsonEditorModel } from '../../hooks/use_json_editor_model'; +import { TelemetryEventTypeWithPayload, TELEMETRY } from '../../analytics'; export interface ChatPromptEditorProps { disabled: boolean; @@ -31,6 +32,7 @@ export interface ChatPromptEditorProps { initialFunctionPayload?: string; trigger?: MessageRole; onSubmit: (message: Message) => void; + onSendTelemetry: (eventWithPayload: TelemetryEventTypeWithPayload) => void; } export function ChatPromptEditor({ @@ -40,6 +42,7 @@ export function ChatPromptEditor({ initialSelectedFunctionName, initialFunctionPayload, onSubmit, + onSendTelemetry, }: ChatPromptEditorProps) { const isFocusTrapEnabled = Boolean(initialPrompt); @@ -112,9 +115,11 @@ export function ChatPromptEditor({ setFunctionPayload(undefined); handleResetTextArea(); + let message: Message; + try { if (selectedFunctionName) { - await onSubmit({ + message = { '@timestamp': new Date().toISOString(), message: { role: MessageRole.Assistant, @@ -125,20 +130,27 @@ export function ChatPromptEditor({ arguments: currentPayload, }, }, - }); + }; + onSubmit(message); setFunctionPayload(undefined); setSelectedFunctionName(undefined); } else { - await onSubmit({ + message = { '@timestamp': new Date().toISOString(), message: { role: MessageRole.User, content: currentPrompt }, - }); + }; + onSubmit(message); } + + onSendTelemetry({ + type: TELEMETRY.observability_ai_assistant_user_sent_prompt_in_chat, + payload: message, + }); } catch (_) { setPrompt(currentPrompt); } - }, [functionPayload, loading, onSubmit, prompt, selectedFunctionName]); + }, [functionPayload, loading, onSendTelemetry, onSubmit, prompt, selectedFunctionName]); useEffect(() => { setFunctionPayload(initialJsonString); diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.stories.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.stories.tsx index 58b787fb15511..cb7e9366ea923 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.stories.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.stories.tsx @@ -119,11 +119,12 @@ const defaultProps: ComponentProps = { }, }), ], + onActionClick: async () => {}, onEdit: async () => {}, onFeedback: () => {}, onRegenerate: () => {}, + onSendTelemetry: () => {}, onStopGenerating: () => {}, - onActionClick: async () => {}, }; export const ChatTimeline = Template.bind({}); diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx index c956f6d9cf9cc..8b1067064e20c 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx @@ -14,6 +14,7 @@ import type { Message } from '../../../common'; import type { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base'; import type { ChatActionClickHandler } from './types'; import type { ObservabilityAIAssistantChatService } from '../../types'; +import type { TelemetryEventTypeWithPayload } from '../../analytics'; import { ChatItem } from './chat_item'; import { ChatConsolidatedItems } from './chat_consolidated_items'; import { ChatState } from '../../hooks/use_chat'; @@ -54,13 +55,13 @@ export interface ChatTimelineProps { onEdit: (message: Message, messageAfterEdit: Message) => void; onFeedback: (message: Message, feedback: Feedback) => void; onRegenerate: (message: Message) => void; + onSendTelemetry: (eventWithPayload: TelemetryEventTypeWithPayload) => void; onStopGenerating: () => void; onActionClick: ChatActionClickHandler; } export function ChatTimeline({ messages, - knowledgeBase, chatService, hasConnector, currentUser, @@ -68,6 +69,7 @@ export function ChatTimeline({ onEdit, onFeedback, onRegenerate, + onSendTelemetry, onStopGenerating, onActionClick, chatState, @@ -115,17 +117,19 @@ export function ChatTimeline({ ) : ( { onFeedback(item.message, feedback); }} @@ -135,8 +139,8 @@ export function ChatTimeline({ onEditSubmit={(message) => { onEdit(item.message, message); }} + onSendTelemetry={onSendTelemetry} onStopGeneratingClick={onStopGenerating} - onActionClick={onActionClick} /> ); })} diff --git a/x-pack/plugins/observability_ai_assistant/public/components/feedback_buttons.tsx b/x-pack/plugins/observability_ai_assistant/public/components/feedback_buttons.tsx index 2b55e3d8cac35..2187817e7228e 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/feedback_buttons.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/feedback_buttons.tsx @@ -5,9 +5,10 @@ * 2.0. */ -import React from 'react'; +import React, { useState } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiText } from '@elastic/eui'; +import { useKibana } from '../hooks/use_kibana'; export type Feedback = 'positive' | 'negative'; @@ -16,6 +17,22 @@ interface FeedbackButtonsProps { } export function FeedbackButtons({ onClickFeedback }: FeedbackButtonsProps) { + const { notifications } = useKibana().services; + + const [hasBeenClicked, setHasBeenClicked] = useState(false); + + const handleClickPositive = () => { + onClickFeedback('positive'); + setHasBeenClicked(true); + notifications.toasts.addSuccess('Thanks for your feedback!'); + }; + + const handleClickNegative = () => { + onClickFeedback('negative'); + setHasBeenClicked(true); + notifications.toasts.addSuccess('Thanks for your feedback!'); + }; + return ( @@ -34,9 +51,10 @@ export function FeedbackButtons({ onClickFeedback }: FeedbackButtonsProps) { onClickFeedback('positive')} + onClick={handleClickPositive} > {i18n.translate('xpack.observabilityAiAssistant.insight.feedbackButtons.positive', { defaultMessage: 'Yes', @@ -48,9 +66,10 @@ export function FeedbackButtons({ onClickFeedback }: FeedbackButtonsProps) { onClickFeedback('negative')} + onClick={handleClickNegative} > {i18n.translate('xpack.observabilityAiAssistant.insight.feedbackButtons.negative', { defaultMessage: 'No', diff --git a/x-pack/plugins/observability_ai_assistant/public/components/insight/insight.tsx b/x-pack/plugins/observability_ai_assistant/public/components/insight/insight.tsx index ad26d8a51cd3e..4ae3c685a4c97 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/insight/insight.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/insight/insight.tsx @@ -5,10 +5,10 @@ * 2.0. */ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import { last, noop } from 'lodash'; +import { last } from 'lodash'; import React, { useEffect, useRef, useState } from 'react'; import { MessageRole, type Message } from '../../../common/types'; -import { INSIGHT_FEEDBACK } from '../../analytics/schema'; +import { sendEvent, TELEMETRY } from '../../analytics'; import { ObservabilityAIAssistantChatServiceProvider } from '../../context/observability_ai_assistant_chat_service_provider'; import { useAbortableAsync } from '../../hooks/use_abortable_async'; import { ChatState, useChat } from '../../hooks/use_chat'; @@ -79,14 +79,17 @@ function ChatContent({ ) : ( - lastAssistantResponse - ? chatService.analytics.reportEvent(INSIGHT_FEEDBACK, { + onClickFeedback={(feedback) => { + if (lastAssistantResponse) { + sendEvent(chatService.analytics, { + type: TELEMETRY.observability_ai_assistant_insight_feedback, + payload: { feedback, - ...lastAssistantResponse, - }) - : noop - } + message: lastAssistantResponse, + }, + }); + } + }} /> (MESSAGE_FEEDBACK_SCHEMA); + registerTelemetryEventTypes(coreSetup.analytics); return {}; } diff --git a/x-pack/plugins/observability_ai_assistant/tsconfig.json b/x-pack/plugins/observability_ai_assistant/tsconfig.json index d1facbb985cb5..fdac7a82d4df2 100644 --- a/x-pack/plugins/observability_ai_assistant/tsconfig.json +++ b/x-pack/plugins/observability_ai_assistant/tsconfig.json @@ -52,7 +52,8 @@ "@kbn/analytics-client", "@kbn/tooling-log", "@kbn/babel-register", - "@kbn/dev-cli-runner" + "@kbn/dev-cli-runner", + "@kbn/core-analytics-browser" ], "exclude": ["target/**/*"] } From 1edd6fbc97034fc24082eda34af6480e4ef70391 Mon Sep 17 00:00:00 2001 From: Coen Warmer Date: Fri, 15 Dec 2023 16:43:34 +0100 Subject: [PATCH 082/123] Double check conditional to send EBT event on Feedback (#173454) --- .../public/components/chat/chat_body.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx index 6f0ce177cde5e..60aa56c15dda8 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx @@ -140,12 +140,12 @@ export function ChatBody({ parent.scrollTop + parent.clientHeight >= parent.scrollHeight; const handleFeedback = (message: Message, feedback: Feedback) => { - if (conversation.value?.conversation && 'user' in conversation.value.conversation) { + if (conversation.value?.conversation && 'user' in conversation.value) { sendEvent(chatService.analytics, { type: TELEMETRY.observability_ai_assistant_chat_feedback, payload: { messageWithFeedback: { message, feedback }, - conversation: conversation.value.conversation, + conversation: conversation.value, }, }); } From 7bdc220c100d0b2bb6385a64554dc65ba27cf802 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 16:55:21 +0000 Subject: [PATCH 083/123] skip flaky suite (#169187) --- .../public/management/cypress/e2e/policy/policy_details.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/policy/policy_details.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/policy/policy_details.cy.ts index f927db6b0842d..05d7f190a67c3 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/policy/policy_details.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/policy/policy_details.cy.ts @@ -44,7 +44,8 @@ describe( const testNote = 'test note'; const updatedTestNote = 'updated test note'; - describe('Renders and saves protection updates', () => { + // FLAKY: https://github.com/elastic/kibana/issues/169187 + describe.skip('Renders and saves protection updates', () => { let indexedPolicy: IndexedFleetEndpointPolicyResponse; let policy: PolicyData; const defaultDate = moment.utc().subtract(1, 'days'); From 422fb6a26edf42284dcfbb21e14f334a9ac039b5 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 16:56:35 +0000 Subject: [PATCH 084/123] skip flaky suite (#169188) --- .../public/management/cypress/e2e/policy/policy_details.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/policy/policy_details.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/policy/policy_details.cy.ts index 05d7f190a67c3..78239fbca02d1 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/policy/policy_details.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/policy/policy_details.cy.ts @@ -45,6 +45,7 @@ describe( const updatedTestNote = 'updated test note'; // FLAKY: https://github.com/elastic/kibana/issues/169187 + // FLAKY: https://github.com/elastic/kibana/issues/169188 describe.skip('Renders and saves protection updates', () => { let indexedPolicy: IndexedFleetEndpointPolicyResponse; let policy: PolicyData; From 564b36d6e5804bf6594b65c63944e13738711c19 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 16:58:06 +0000 Subject: [PATCH 085/123] skip flaky suite (#172231) --- .../e2e/investigations/alerts/alerts_cell_actions.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts index 911b870d08347..2b85411cbdc8c 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts @@ -93,7 +93,8 @@ describe('Alerts cell actions', { tags: ['@ess', '@serverless'] }, () => { }); }); - describe('Add to timeline', () => { + // FLAKY: https://github.com/elastic/kibana/issues/172231 + describe.skip('Add to timeline', () => { beforeEach(() => { login(); visit(ALERTS_URL); From a8b6243ca4c52705c25f58e87d95ee0b2bb89a39 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 16:58:38 +0000 Subject: [PATCH 086/123] skip flaky suite (#172232) --- .../e2e/investigations/alerts/alerts_cell_actions.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts index 2b85411cbdc8c..dcdcd9840bdf0 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts @@ -127,7 +127,8 @@ describe('Alerts cell actions', { tags: ['@ess', '@serverless'] }, () => { }); }); - describe('Show Top N', () => { + // FLAKY: https://github.com/elastic/kibana/issues/172232 + describe.skip('Show Top N', () => { beforeEach(() => { login(); visit(ALERTS_URL); From 1ec887ecf4c2afdd4cfe12e8f8b0d0b976d819b1 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 16:59:09 +0000 Subject: [PATCH 087/123] skip flaky suite (#172233) --- .../e2e/investigations/alerts/alerts_cell_actions.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts index dcdcd9840bdf0..ed97b97fff977 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts @@ -147,7 +147,8 @@ describe('Alerts cell actions', { tags: ['@ess', '@serverless'] }, () => { }); }); - describe('Copy to clipboard', () => { + // FLAKY: https://github.com/elastic/kibana/issues/172233 + describe.skip('Copy to clipboard', () => { beforeEach(() => { login(); visit(ALERTS_URL); From 74b60a2bb823ab44c950c509601ccc89c9425fc6 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 20:57:55 +0000 Subject: [PATCH 088/123] skip flaky suite (#173464) --- .../e2e/response_actions/response_console/isolate.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts index 44fdf9d63fb68..ecfe850c17ed2 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts @@ -61,7 +61,8 @@ describe('Response console', { tags: ['@ess', '@serverless'] }, () => { } }); - describe('Host Isolation:', () => { + // FLAKY: https://github.com/elastic/kibana/issues/173464 + describe.skip('Host Isolation:', () => { beforeEach(() => { login(); }); From 1253ce4855e35e9a347e3a657af4a3e7595aecf2 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 20:58:30 +0000 Subject: [PATCH 089/123] skip flaky suite (#173465) --- .../cypress/e2e/response_actions/response_console/isolate.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts index ecfe850c17ed2..805ebe19b4167 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts @@ -62,6 +62,7 @@ describe('Response console', { tags: ['@ess', '@serverless'] }, () => { }); // FLAKY: https://github.com/elastic/kibana/issues/173464 + // FLAKY: https://github.com/elastic/kibana/issues/173465 describe.skip('Host Isolation:', () => { beforeEach(() => { login(); From 2d14703b478890c72cee0b815a25694e72d8c1e3 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 20:59:08 +0000 Subject: [PATCH 090/123] skip flaky suite (#173467) --- ...ent_from_host_changing_policy_from_enabled_to_enabled.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_enabled.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_enabled.cy.ts index d8630a50a83b9..379afba46b7fd 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_enabled.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_enabled.cy.ts @@ -23,7 +23,8 @@ import { login } from '../../../tasks/login'; import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; -describe( +// FLAKY: https://github.com/elastic/kibana/issues/173467 +describe.skip( 'Uninstall agent from host changing agent policy when agent tamper protection is enabled but then is switched to a policy with it also enabled', { tags: ['@ess'] }, () => { From fee39a715380b45c9da8d778350e75bf4538c2e1 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 20:59:50 +0000 Subject: [PATCH 091/123] skip flaky suite (#173466) --- .../tamper_protection/disabled/uninstall_agent_from_host.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/uninstall_agent_from_host.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/uninstall_agent_from_host.cy.ts index ed47855ac894a..d5b018e9b03a4 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/uninstall_agent_from_host.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/uninstall_agent_from_host.cy.ts @@ -21,7 +21,8 @@ import { enableAllPolicyProtections } from '../../../tasks/endpoint_policy'; import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; -describe( +// FLAKY: https://github.com/elastic/kibana/issues/173466 +describe.skip( 'Uninstall agent from host when agent tamper protection is disabled', { tags: ['@ess'] }, () => { From 7157f3adb94f362ad9bb374566eb931147dc7d5a Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 21:03:56 +0000 Subject: [PATCH 092/123] skip flaky suite (#170373) --- .../e2e/response_actions/response_console/execute.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/execute.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/execute.cy.ts index dad573bb09c2b..4243ead7ed3a1 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/execute.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/execute.cy.ts @@ -26,7 +26,8 @@ describe('Response console', { tags: ['@ess', '@serverless'] }, () => { login(); }); - describe('Execute operations:', () => { + // FLAKY: https://github.com/elastic/kibana/issues/170373 + describe.skip('Execute operations:', () => { const homeFilePath = process.env.CI || true ? '/home/vagrant' : `/home/ubuntu`; let indexedPolicy: IndexedFleetEndpointPolicyResponse; From 59a6cb13cbe1056e7fda08e8eb68f3a883433359 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 21:04:50 +0000 Subject: [PATCH 093/123] skip flaky suite (#171444) --- .../cypress/e2e/response_actions/response_console/execute.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/execute.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/execute.cy.ts index 4243ead7ed3a1..8be29e75ddd9c 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/execute.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/execute.cy.ts @@ -27,6 +27,7 @@ describe('Response console', { tags: ['@ess', '@serverless'] }, () => { }); // FLAKY: https://github.com/elastic/kibana/issues/170373 + // FLAKY: https://github.com/elastic/kibana/issues/171444 describe.skip('Execute operations:', () => { const homeFilePath = process.env.CI || true ? '/home/vagrant' : `/home/ubuntu`; From 01db524dacfcee40563ebb5d9bae527e28dca6c0 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 21:06:17 +0000 Subject: [PATCH 094/123] skip flaky suite (#170424) --- .../response_actions/response_console/file_operations.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts index e76a0beb82dca..4bce71dfc3b00 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts @@ -26,7 +26,8 @@ describe('Response console', { tags: ['@ess', '@serverless'] }, () => { login(); }); - describe('File operations:', () => { + // FLAKY: https://github.com/elastic/kibana/issues/170424 + describe.skip('File operations:', () => { const homeFilePath = Cypress.env('IS_CI') ? '/home/vagrant' : '/home/ubuntu'; const fileContent = 'This is a test file for the get-file command.'; From a781367521d47f91411d81a5dbaea7493d85fcc8 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 21:08:03 +0000 Subject: [PATCH 095/123] skip flaky suite (#173456) --- .../e2e/response_actions/response_console/file_operations.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts index 4bce71dfc3b00..a470098b4f55f 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/file_operations.cy.ts @@ -27,6 +27,7 @@ describe('Response console', { tags: ['@ess', '@serverless'] }, () => { }); // FLAKY: https://github.com/elastic/kibana/issues/170424 + // FLAKY: https://github.com/elastic/kibana/issues/173456 describe.skip('File operations:', () => { const homeFilePath = Cypress.env('IS_CI') ? '/home/vagrant' : '/home/ubuntu'; From c01a93a17fc58420dff6e9c5bcf2d040657d0ca1 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 21:09:28 +0000 Subject: [PATCH 096/123] skip flaky suite (#173463) --- .../tamper_protection/disabled/unenroll_agent_from_fleet.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/unenroll_agent_from_fleet.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/unenroll_agent_from_fleet.cy.ts index e0b26bc2f77dd..3fec4c1d73df7 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/unenroll_agent_from_fleet.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/unenroll_agent_from_fleet.cy.ts @@ -20,7 +20,8 @@ import { enableAllPolicyProtections } from '../../../tasks/endpoint_policy'; import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; -describe( +// FLAKY: https://github.com/elastic/kibana/issues/173463 +describe.skip( 'Unenroll agent from fleet with agent tamper protection is disabled', { tags: ['@ess'] }, () => { From 861f57008dbc2c60f5d509c231ff61a9ca28125c Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 21:14:03 +0000 Subject: [PATCH 097/123] skip flaky suite (#170814) --- .../tamper_protection/disabled/unenroll_agent_from_fleet.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/unenroll_agent_from_fleet.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/unenroll_agent_from_fleet.cy.ts index 3fec4c1d73df7..046a185babda3 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/unenroll_agent_from_fleet.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/disabled/unenroll_agent_from_fleet.cy.ts @@ -21,6 +21,7 @@ import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; // FLAKY: https://github.com/elastic/kibana/issues/173463 +// FLAKY: https://github.com/elastic/kibana/issues/170814 describe.skip( 'Unenroll agent from fleet with agent tamper protection is disabled', { tags: ['@ess'] }, From 52b593c99fecc7f29c4df990ea7b49665e286c11 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 21:16:54 +0000 Subject: [PATCH 098/123] skip flaky suite (#170816) --- ...nt_from_fleet_changing_policy_from_enabled_to_enabled.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/unenroll_agent_from_fleet_changing_policy_from_enabled_to_enabled.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/unenroll_agent_from_fleet_changing_policy_from_enabled_to_enabled.cy.ts index a5654734c15e4..bacea254e34c3 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/unenroll_agent_from_fleet_changing_policy_from_enabled_to_enabled.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/unenroll_agent_from_fleet_changing_policy_from_enabled_to_enabled.cy.ts @@ -21,7 +21,8 @@ import { login } from '../../../tasks/login'; import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; -describe( +// FLAKY: https://github.com/elastic/kibana/issues/170816 +describe.skip( 'Unenroll agent from fleet changing agent policy when agent tamper protection is enabled but then is switched to a policy with it also enabled', { tags: ['@ess'] }, () => { From 49ae1173e475e9262fad00b8a0d39986622428dc Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 21:17:55 +0000 Subject: [PATCH 099/123] skip flaky suite (#173458) --- ...gent_from_fleet_changing_policy_from_enabled_to_enabled.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/unenroll_agent_from_fleet_changing_policy_from_enabled_to_enabled.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/unenroll_agent_from_fleet_changing_policy_from_enabled_to_enabled.cy.ts index bacea254e34c3..55058897c4f95 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/unenroll_agent_from_fleet_changing_policy_from_enabled_to_enabled.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/unenroll_agent_from_fleet_changing_policy_from_enabled_to_enabled.cy.ts @@ -22,6 +22,7 @@ import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; // FLAKY: https://github.com/elastic/kibana/issues/170816 +// FLAKY: https://github.com/elastic/kibana/issues/173458 describe.skip( 'Unenroll agent from fleet changing agent policy when agent tamper protection is enabled but then is switched to a policy with it also enabled', { tags: ['@ess'] }, From 0656b56608c7a5da6710b09615709f93592a8dad Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 21:20:15 +0000 Subject: [PATCH 100/123] skip flaky suite (#173457) --- ...nt_from_host_changing_policy_from_enabled_to_disabled.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_disabled.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_disabled.cy.ts index 0768c4a49ca39..f4827b08e985b 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_disabled.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_disabled.cy.ts @@ -23,7 +23,8 @@ import { enableAllPolicyProtections } from '../../../tasks/endpoint_policy'; import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; -describe( +// FLAKY: https://github.com/elastic/kibana/issues/173457 +describe.skip( 'Uninstall agent from host changing agent policy when agent tamper protection is enabled but then is switched to a policy with it disabled', { tags: ['@ess'] }, () => { From f3bec6dae84bd7c47528c185a6cafa753136c458 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 15 Dec 2023 21:20:49 +0000 Subject: [PATCH 101/123] skip flaky suite (#170604) --- ...gent_from_host_changing_policy_from_enabled_to_disabled.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_disabled.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_disabled.cy.ts index f4827b08e985b..d01b5cbfdd086 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_disabled.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/switching_policies/uninstall_agent_from_host_changing_policy_from_enabled_to_disabled.cy.ts @@ -24,6 +24,7 @@ import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; // FLAKY: https://github.com/elastic/kibana/issues/173457 +// FLAKY: https://github.com/elastic/kibana/issues/170604 describe.skip( 'Uninstall agent from host changing agent policy when agent tamper protection is enabled but then is switched to a policy with it disabled', { tags: ['@ess'] }, From 0fa31550627ad4dda5a68d6869efaecf344ff45e Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:07:57 +0000 Subject: [PATCH 102/123] skip flaky suite (#173439) --- .../tests/alerts/transaction_error_rate.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/apm_api_integration/tests/alerts/transaction_error_rate.spec.ts b/x-pack/test/apm_api_integration/tests/alerts/transaction_error_rate.spec.ts index 5115b1051b8c9..f1b3537e46f2a 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/transaction_error_rate.spec.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/transaction_error_rate.spec.ts @@ -258,7 +258,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); }); - it('shows alert count=0 in opbeans-java service', async () => { + // FLAKY: https://github.com/elastic/kibana/issues/173439 + it.skip('shows alert count=0 in opbeans-java service', async () => { const serviceTabAlertCount = await fetchServiceTabAlertCount({ apmApiClient, serviceName: 'opbeans-java', From 2ed340888af7d4b9a6d4bfe5e7f5ea14721e6884 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:09:47 +0000 Subject: [PATCH 103/123] skip flaky suite (#168340) --- .../automated_response_actions.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/automated_response_actions/automated_response_actions.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/automated_response_actions/automated_response_actions.cy.ts index 1948434b39c9f..50bcefc65ab95 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/automated_response_actions/automated_response_actions.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/automated_response_actions/automated_response_actions.cy.ts @@ -20,7 +20,8 @@ import { createEndpointHost } from '../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../tasks/delete_all_endpoint_data'; import { enableAllPolicyProtections } from '../../tasks/endpoint_policy'; -describe( +// FLAKY: https://github.com/elastic/kibana/issues/168340 +describe.skip( 'Automated Response Actions', { tags: [ From fcd4869b86fc1d653312f99b53326aa5fa8d0494 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:10:56 +0000 Subject: [PATCH 104/123] skip flaky suite (#168427) --- .../automated_response_actions/automated_response_actions.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/automated_response_actions/automated_response_actions.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/automated_response_actions/automated_response_actions.cy.ts index 50bcefc65ab95..305ce11d165ef 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/automated_response_actions/automated_response_actions.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/automated_response_actions/automated_response_actions.cy.ts @@ -21,6 +21,7 @@ import { deleteAllLoadedEndpointData } from '../../tasks/delete_all_endpoint_dat import { enableAllPolicyProtections } from '../../tasks/endpoint_policy'; // FLAKY: https://github.com/elastic/kibana/issues/168340 +// FLAKY: https://github.com/elastic/kibana/issues/168427 describe.skip( 'Automated Response Actions', { From d86fdb5cfd2755dafd6777c5a07446f5a30982e5 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:11:54 +0000 Subject: [PATCH 105/123] skip flaky suite (#169821) --- .../e2e/response_actions/endpoints_list_response_console.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/endpoints_list_response_console.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/endpoints_list_response_console.cy.ts index 75074b0d3f94a..3d02bc14251dd 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/endpoints_list_response_console.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/endpoints_list_response_console.cy.ts @@ -20,7 +20,8 @@ import { enableAllPolicyProtections } from '../../tasks/endpoint_policy'; import { createEndpointHost } from '../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../tasks/delete_all_endpoint_data'; -describe('Response console', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { +// FLAKY: https://github.com/elastic/kibana/issues/169821 +describe.skip('Response console', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { beforeEach(() => { login(); }); From 060a9f2e94ec2a79e4e778f3760e10f8f149489f Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:12:42 +0000 Subject: [PATCH 106/123] skip flaky suite (#169822) --- .../e2e/response_actions/endpoints_list_response_console.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/endpoints_list_response_console.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/endpoints_list_response_console.cy.ts index 3d02bc14251dd..e932250dada6b 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/endpoints_list_response_console.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/endpoints_list_response_console.cy.ts @@ -21,6 +21,7 @@ import { createEndpointHost } from '../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../tasks/delete_all_endpoint_data'; // FLAKY: https://github.com/elastic/kibana/issues/169821 +// FLAKY: https://github.com/elastic/kibana/issues/169822 describe.skip('Response console', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { beforeEach(() => { login(); From 7177f1beb17d3663a4e55a608eb9a71fb9ce02be Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:14:01 +0000 Subject: [PATCH 107/123] skip flaky suite (#173471) --- .../tamper_protection/enabled/uninstall_agent_from_host.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/uninstall_agent_from_host.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/uninstall_agent_from_host.cy.ts index 527566bed608b..9e2676a15786f 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/uninstall_agent_from_host.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/uninstall_agent_from_host.cy.ts @@ -22,7 +22,8 @@ import { login } from '../../../tasks/login'; import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; -describe( +// FLAKY: https://github.com/elastic/kibana/issues/173471 +describe.skip( 'Uninstall agent from host when agent tamper protection is enabled', { tags: ['@ess'] }, () => { From fc67b29841aa08d22c5ee15f5f3aa1e817a42efe Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:15:52 +0000 Subject: [PATCH 108/123] skip flaky suite (#173464) --- .../e2e/response_actions/response_console/isolate.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts index 805ebe19b4167..3e23c2e4f220e 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts @@ -26,7 +26,8 @@ import { enableAllPolicyProtections } from '../../../tasks/endpoint_policy'; import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; -describe('Response console', { tags: ['@ess', '@serverless'] }, () => { +// FLAKY: https://github.com/elastic/kibana/issues/173464 +describe.skip('Response console', { tags: ['@ess', '@serverless'] }, () => { let indexedPolicy: IndexedFleetEndpointPolicyResponse; let policy: PolicyData; let createdHost: CreateAndEnrollEndpointHostResponse; From fdecd2fa72601c90e80ce6866f9066399811bcee Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:16:17 +0000 Subject: [PATCH 109/123] skip flaky suite (#173464) --- .../cypress/e2e/response_actions/response_console/isolate.cy.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts index 3e23c2e4f220e..628ab1854cb7a 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts @@ -62,7 +62,6 @@ describe.skip('Response console', { tags: ['@ess', '@serverless'] }, () => { } }); - // FLAKY: https://github.com/elastic/kibana/issues/173464 // FLAKY: https://github.com/elastic/kibana/issues/173465 describe.skip('Host Isolation:', () => { beforeEach(() => { From 50f522581b554b85e729d45365a6db1a3567d0e6 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:17:08 +0000 Subject: [PATCH 110/123] skip flaky suite (#173465) --- .../cypress/e2e/response_actions/response_console/isolate.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts index 628ab1854cb7a..140b3b955e835 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts @@ -27,6 +27,7 @@ import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; // FLAKY: https://github.com/elastic/kibana/issues/173464 +// FLAKY: https://github.com/elastic/kibana/issues/173465 describe.skip('Response console', { tags: ['@ess', '@serverless'] }, () => { let indexedPolicy: IndexedFleetEndpointPolicyResponse; let policy: PolicyData; From 15260331be4cff3faa923e44df3c5810860a2154 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:18:04 +0000 Subject: [PATCH 111/123] skip flaky suite (#173465) --- .../e2e/response_actions/response_console/isolate.cy.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts index 140b3b955e835..fb5fcd0476c14 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/isolate.cy.ts @@ -63,8 +63,7 @@ describe.skip('Response console', { tags: ['@ess', '@serverless'] }, () => { } }); - // FLAKY: https://github.com/elastic/kibana/issues/173465 - describe.skip('Host Isolation:', () => { + describe('Host Isolation:', () => { beforeEach(() => { login(); }); From 95d7b4e4a8a9784aaf053ed7007dcf445b20e542 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:18:58 +0000 Subject: [PATCH 112/123] skip flaky suite (#170601) --- .../tamper_protection/enabled/uninstall_agent_from_host.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/uninstall_agent_from_host.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/uninstall_agent_from_host.cy.ts index 9e2676a15786f..a7220e3bd7f1d 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/uninstall_agent_from_host.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/uninstall_agent_from_host.cy.ts @@ -23,6 +23,7 @@ import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; // FLAKY: https://github.com/elastic/kibana/issues/173471 +// FLAKY: https://github.com/elastic/kibana/issues/170601 describe.skip( 'Uninstall agent from host when agent tamper protection is enabled', { tags: ['@ess'] }, From b80bb94d08746e5f9a7d5098cbfd7e2a0ddc2128 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:20:18 +0000 Subject: [PATCH 113/123] skip flaky suite (#173459) --- .../response_actions/response_console/process_operations.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/process_operations.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/process_operations.cy.ts index c7120ded692b9..08597692d1346 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/process_operations.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/process_operations.cy.ts @@ -24,7 +24,8 @@ import { enableAllPolicyProtections } from '../../../tasks/endpoint_policy'; import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; -describe('Response console', { tags: ['@ess', '@serverless'] }, () => { +// FLAKY: https://github.com/elastic/kibana/issues/173459 +describe.skip('Response console', { tags: ['@ess', '@serverless'] }, () => { beforeEach(() => { login(); }); From 67d4bbe872960167653c61770c96dfbf186c526c Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 03:21:22 +0000 Subject: [PATCH 114/123] skip flaky suite (#170563) --- .../response_actions/response_console/process_operations.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/process_operations.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/process_operations.cy.ts index 08597692d1346..ba2ebf1c1a88a 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/process_operations.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/response_console/process_operations.cy.ts @@ -25,6 +25,7 @@ import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; // FLAKY: https://github.com/elastic/kibana/issues/173459 +// FLAKY: https://github.com/elastic/kibana/issues/170563 describe.skip('Response console', { tags: ['@ess', '@serverless'] }, () => { beforeEach(() => { login(); From 4e4ae248fdddcd85e9bd36e9391350be2760b5b1 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 04:27:54 +0000 Subject: [PATCH 115/123] skip flaky suite (#170674) --- .../cypress/e2e/response_actions/document_signing.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/document_signing.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/document_signing.cy.ts index b806323726018..4093581366321 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/document_signing.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/response_actions/document_signing.cy.ts @@ -22,7 +22,8 @@ import { enableAllPolicyProtections } from '../../tasks/endpoint_policy'; import { createEndpointHost } from '../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../tasks/delete_all_endpoint_data'; -describe('Document signing:', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { +// FLAKY: https://github.com/elastic/kibana/issues/170674 +describe.skip('Document signing:', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, () => { let indexedPolicy: IndexedFleetEndpointPolicyResponse; let policy: PolicyData; let createdHost: CreateAndEnrollEndpointHostResponse; From 5873f20df9dd76c078fc1e1c447bf4f9a8d0fab4 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 04:30:47 +0000 Subject: [PATCH 116/123] skip flaky suite (#173460) --- .../tamper_protection/enabled/unenroll_agent_from_fleet.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/unenroll_agent_from_fleet.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/unenroll_agent_from_fleet.cy.ts index 17cb52c2cb042..82e2441c65bbf 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/unenroll_agent_from_fleet.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/unenroll_agent_from_fleet.cy.ts @@ -20,7 +20,8 @@ import { login } from '../../../tasks/login'; import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; -describe( +// FLAKY: https://github.com/elastic/kibana/issues/173460 +describe.skip( 'Unenroll agent from fleet when agent tamper protection is enabled', { tags: ['@ess'] }, () => { From 67615a8259ac2056fb3d6d19726fa84a535251bc Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sat, 16 Dec 2023 04:31:40 +0000 Subject: [PATCH 117/123] skip flaky suite (#170706) --- .../tamper_protection/enabled/unenroll_agent_from_fleet.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/unenroll_agent_from_fleet.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/unenroll_agent_from_fleet.cy.ts index 82e2441c65bbf..cf37edfb0274b 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/unenroll_agent_from_fleet.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/tamper_protection/enabled/unenroll_agent_from_fleet.cy.ts @@ -21,6 +21,7 @@ import { createEndpointHost } from '../../../tasks/create_endpoint_host'; import { deleteAllLoadedEndpointData } from '../../../tasks/delete_all_endpoint_data'; // FLAKY: https://github.com/elastic/kibana/issues/173460 +// FLAKY: https://github.com/elastic/kibana/issues/170706 describe.skip( 'Unenroll agent from fleet when agent tamper protection is enabled', { tags: ['@ess'] }, From b138fa996d211ff7893b758b3d216e796a3073d5 Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Fri, 15 Dec 2023 23:28:29 -0600 Subject: [PATCH 118/123] [Security Solution] - skipping failing Cypress test (#173446) --- .../cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts index ed97b97fff977..f05b5cc9ab020 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alerts_cell_actions.cy.ts @@ -36,7 +36,7 @@ import { openActiveTimeline } from '../../../tasks/timeline'; import { ALERTS_URL } from '../../../urls/navigation'; -describe('Alerts cell actions', { tags: ['@ess', '@serverless'] }, () => { +describe.skip('Alerts cell actions', { tags: ['@ess', '@serverless'] }, () => { before(() => { createRule(getNewRule()); }); From 329b4d71facf3c156a727f27a67cd7c671414904 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Sat, 16 Dec 2023 01:22:38 -0500 Subject: [PATCH 119/123] [api-docs] 2023-12-16 Daily api_docs build (#173476) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/553 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/ai_assistant_management_observability.mdx | 2 +- api_docs/ai_assistant_management_selection.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_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/dataset_quality.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_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.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_actions_types.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_alerting_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.devdocs.json | 6 +----- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_collection_utils.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_bfetch_error.mdx | 2 +- api_docs/kbn_calculate_auto.mdx | 2 +- api_docs/kbn_calculate_width_from_char_count.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.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_common.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_contracts_browser.mdx | 2 +- api_docs/kbn_core_plugins_contracts_server.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- 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 +- .../kbn_core_saved_objects_import_export_server_mocks.mdx | 2 +- .../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_model_versions.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_icons.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_agent_utils.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_elastic_assistant_common.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_field_utils.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_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_application.mdx | 2 +- .../kbn_management_settings_components_field_category.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_components_form.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_chi2test.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_ui_actions.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_observability_alerting_test_data.mdx | 2 +- .../kbn_observability_get_padded_alert_time_range_util.mdx | 2 +- api_docs/kbn_openapi_bundler.mdx | 2 +- api_docs/kbn_openapi_generator.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_panel_loader.mdx | 2 +- 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_reporting_export_types_csv.mdx | 2 +- api_docs/kbn_reporting_export_types_csv_common.mdx | 2 +- api_docs/kbn_reporting_export_types_pdf.mdx | 2 +- api_docs/kbn_reporting_export_types_pdf_common.mdx | 2 +- api_docs/kbn_reporting_export_types_png.mdx | 2 +- api_docs/kbn_reporting_export_types_png_common.mdx | 2 +- api_docs/kbn_reporting_mocks_server.mdx | 2 +- api_docs/kbn_reporting_public.mdx | 2 +- api_docs/kbn_reporting_server.mdx | 2 +- api_docs/kbn_resizable_layout.mdx | 2 +- 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_errors.mdx | 2 +- api_docs/kbn_search_index_documents.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_plugin_types_common.mdx | 2 +- api_docs/kbn_security_plugin_types_public.mdx | 2 +- api_docs/kbn_security_plugin_types_server.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- 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_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_error_boundary.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- 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_triggers_actions_ui_types.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_unsaved_changes_badge.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_visualization_utils.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kbn_zod_helpers.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.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/links.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/mock_idp_plugin.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_log_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 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 +- 633 files changed, 633 insertions(+), 637 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 60d307a4abe6c..068dff5a86920 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-12-15 +date: 2023-12-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 75208ae1c21a2..a95ddcab9735c 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/ai_assistant_management_observability.mdx b/api_docs/ai_assistant_management_observability.mdx index 816148fbfd389..81f49610cc12e 100644 --- a/api_docs/ai_assistant_management_observability.mdx +++ b/api_docs/ai_assistant_management_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementObservability title: "aiAssistantManagementObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementObservability plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementObservability'] --- import aiAssistantManagementObservabilityObj from './ai_assistant_management_observability.devdocs.json'; diff --git a/api_docs/ai_assistant_management_selection.mdx b/api_docs/ai_assistant_management_selection.mdx index 5a6e91d94d9e4..2feae37561945 100644 --- a/api_docs/ai_assistant_management_selection.mdx +++ b/api_docs/ai_assistant_management_selection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementSelection title: "aiAssistantManagementSelection" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementSelection plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementSelection'] --- import aiAssistantManagementSelectionObj from './ai_assistant_management_selection.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 5a795cbc8bb3d..cd60a54cd1b3a 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-12-15 +date: 2023-12-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 1d2bb3d3038b6..6438edd82949e 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-12-15 +date: 2023-12-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 7e432d91b08d7..9f46860c954fa 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-12-15 +date: 2023-12-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 963ab0be4e347..346128a61ea36 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-12-15 +date: 2023-12-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 353482ca27f94..5cf5d6b33ef0e 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-12-15 +date: 2023-12-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 619c36822b208..b5c2ab08dec18 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-12-15 +date: 2023-12-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 cf783a174b446..efdf4016bdb44 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-12-15 +date: 2023-12-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 4cec68d97434c..4852b519ff7f8 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-12-15 +date: 2023-12-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 8822f0379b61c..e592717760482 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-12-15 +date: 2023-12-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 0d8731805057f..d37d6f2a61aa2 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-12-15 +date: 2023-12-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 8c96b3f73e725..99a2c661024ad 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 07166578df224..36d9439262233 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-12-15 +date: 2023-12-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 15add7bc2f3ab..a80e2caff9438 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-12-15 +date: 2023-12-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 9ac23bf26bdec..0d8991edfab39 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-12-15 +date: 2023-12-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 c32220b3248a1..1cf7a8fb11d1b 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-12-15 +date: 2023-12-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 561af5828fc81..aaf57e7f0a7b8 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-12-15 +date: 2023-12-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 33039bf6b0eee..79e698e2dcee2 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-12-15 +date: 2023-12-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 16fc81c8b048a..84a002a66820a 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-12-15 +date: 2023-12-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 46e3d797490a3..3a34b99b9a895 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-12-15 +date: 2023-12-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 2d0d3c450432d..0e160667838b1 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-12-15 +date: 2023-12-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 7fa15a6cf7b1b..d9b97a208a280 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-12-15 +date: 2023-12-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 968b5b71df5d2..f1ae7231c92e3 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-12-15 +date: 2023-12-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 6d71eaa2e3e89..7f67013522e5b 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-12-15 +date: 2023-12-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 d0b3b40612b9d..8b5c3afee32a2 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-12-15 +date: 2023-12-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 56b67f28fedb4..063e09ac3e92d 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-12-15 +date: 2023-12-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 da41575b7eff8..9633621146b86 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-12-15 +date: 2023-12-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 7c98ea81273db..5c81094bc5ac4 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-12-15 +date: 2023-12-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 b6aa650983202..4bf9d5f07e184 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-12-15 +date: 2023-12-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 0bffcdd62dbdb..364227f72a5cb 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx index 164c1a49b6a6b..6dd60b2fe304a 100644 --- a/api_docs/dataset_quality.mdx +++ b/api_docs/dataset_quality.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/datasetQuality title: "datasetQuality" image: https://source.unsplash.com/400x175/?github description: API docs for the datasetQuality plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'datasetQuality'] --- import datasetQualityObj from './dataset_quality.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 73a00e6ab7bd6..333e47b186888 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 41d2310a97724..b1402d5ef96e1 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 8c62c37c84299..a713d594a11a4 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index eb3791bf4a91f..93c50e06b947a 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-12-15 +date: 2023-12-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 f6fe12e90c14f..e1008c19c36d2 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-12-15 +date: 2023-12-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 370ea9f171c63..4b8385bf87632 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-12-15 +date: 2023-12-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 d843c6470cc44..60f10b27beac9 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-12-15 +date: 2023-12-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 bd6634dca4a2d..9c0917f38cfa2 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-12-15 +date: 2023-12-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 b37d20e9c3cad..ef953fd850507 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-12-15 +date: 2023-12-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 d8ce40e40d010..5175fa585c641 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-12-15 +date: 2023-12-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 def3619424dad..25ca5463a91e9 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-12-15 +date: 2023-12-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 b53facb455d76..762bbc900a692 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-12-15 +date: 2023-12-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 7837fe87fd6b0..ae6d2dce0c800 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-12-15 +date: 2023-12-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 c524e69d6bbf6..d12c61781fbf5 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 9e8777616fa08..1333015b83535 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index dff4bae6780f2..c2b632daf06ee 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-12-15 +date: 2023-12-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 9cb89b3fb656c..e73578b884c0b 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-12-15 +date: 2023-12-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 932649756ba57..579216f419778 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-12-15 +date: 2023-12-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 3aab7952249d5..36609c3c2ae14 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-12-15 +date: 2023-12-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 9461156a24647..43d64eecb0aea 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-12-15 +date: 2023-12-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 5cbed5050acec..d3bb0d4a68e85 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-12-15 +date: 2023-12-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 7defe51a373f3..655a0ea2df52b 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-12-15 +date: 2023-12-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 4f89abbf565ca..6c91d34b720b2 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-12-15 +date: 2023-12-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 b0dc5ce736b71..6c2546ea1461a 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-12-15 +date: 2023-12-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 4c2cde9dfd4f8..216e5a15e92c0 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-12-15 +date: 2023-12-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 a558425c683a9..0e69bf160f776 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-12-15 +date: 2023-12-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 e3b8c2ab25dae..d1def53c5ffdb 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-12-15 +date: 2023-12-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 d4e7c6f85af4a..43dfd2fe7785a 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-12-15 +date: 2023-12-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 e10f318635bb2..967e5913d1243 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-12-15 +date: 2023-12-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 00278ad3c9df4..36458985820c5 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-12-15 +date: 2023-12-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 5b6c50ee9f575..b69ed2b934133 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-12-15 +date: 2023-12-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 7cbb24572d574..d4f005a4be420 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-12-15 +date: 2023-12-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 6544e029349ff..75e3eefe12939 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-12-15 +date: 2023-12-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 6395edf3d6624..ccb120162aef5 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-12-15 +date: 2023-12-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 878de86ef16c3..7791b4f81fc63 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-12-15 +date: 2023-12-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 f81623dc5735d..3d10ed7ebdfd9 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-12-15 +date: 2023-12-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 e0f125df27d95..4af286303d34a 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-12-15 +date: 2023-12-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 032a772b499d0..8731f19a15f00 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-12-15 +date: 2023-12-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 f06c03f3221bf..7532b6b3b0eba 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-12-15 +date: 2023-12-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 2e784720fa806..1c911de3379f0 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-12-15 +date: 2023-12-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 1abf51cd16626..f47d256c75504 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-12-15 +date: 2023-12-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 94b40b50510a7..495e7f737aad6 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-12-15 +date: 2023-12-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 7f41b58d2f802..32ea77f16809f 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-12-15 +date: 2023-12-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 6378adc17b6cf..e772a183fcb05 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-12-15 +date: 2023-12-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 33d78b5e6a8a8..ea10b65816f0d 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-12-15 +date: 2023-12-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 9d42028155c93..c600bb5918597 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-12-15 +date: 2023-12-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 72a032c1e88dc..2c5e370c9e986 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_actions_types.mdx b/api_docs/kbn_actions_types.mdx index fca70f5a13b2b..0def306f4fffd 100644 --- a/api_docs/kbn_actions_types.mdx +++ b/api_docs/kbn_actions_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-actions-types title: "@kbn/actions-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/actions-types plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/actions-types'] --- import kbnActionsTypesObj from './kbn_actions_types.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 0343a3ababa7b..588f370ff9fb3 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-12-15 +date: 2023-12-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 44e18b25c8234..e4ff8ba31b45e 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-12-15 +date: 2023-12-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 14eb87a6d0822..de04030cf3175 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-12-15 +date: 2023-12-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 262497f69259a..e08561aa11b01 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-12-15 +date: 2023-12-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_alerting_types.mdx b/api_docs/kbn_alerting_types.mdx index 634b2e01cf885..9dea2bd909728 100644 --- a/api_docs/kbn_alerting_types.mdx +++ b/api_docs/kbn_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-types title: "@kbn/alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-types plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-types'] --- import kbnAlertingTypesObj from './kbn_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 7fc7690ab06c5..1a1447d046a7f 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-12-15 +date: 2023-12-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 dd45aae6238e6..2b2993f20fa1f 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-12-15 +date: 2023-12-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 8252ac43dbaf7..0cfc1484a4cf1 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-12-15 +date: 2023-12-16 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 ff3773ba777b1..2ae989f1fbf2b 100644 --- a/api_docs/kbn_analytics_client.devdocs.json +++ b/api_docs/kbn_analytics_client.devdocs.json @@ -732,16 +732,12 @@ }, { "plugin": "observabilityAIAssistant", - "path": "x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx" + "path": "x-pack/plugins/observability_ai_assistant/public/analytics/index.ts" }, { "plugin": "observabilityAIAssistant", "path": "x-pack/plugins/observability_ai_assistant/public/utils/storybook_decorator.tsx" }, - { - "plugin": "observabilityAIAssistant", - "path": "x-pack/plugins/observability_ai_assistant/public/components/insight/insight.tsx" - }, { "plugin": "apm", "path": "x-pack/plugins/apm/public/services/telemetry/telemetry_client.ts" diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index 38513be772934..4eea333a1e6e6 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_collection_utils.mdx b/api_docs/kbn_analytics_collection_utils.mdx index a008ab2803a1b..ad375fa0a916c 100644 --- a/api_docs/kbn_analytics_collection_utils.mdx +++ b/api_docs/kbn_analytics_collection_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-collection-utils title: "@kbn/analytics-collection-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-collection-utils plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-collection-utils'] --- import kbnAnalyticsCollectionUtilsObj from './kbn_analytics_collection_utils.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 2fa89281160a2..3a64fd43f34e1 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-12-15 +date: 2023-12-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 e9567cdbeeae8..69a7264e2f677 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-12-15 +date: 2023-12-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 4d14fecab299f..f1aa127693c60 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-12-15 +date: 2023-12-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 8ea6f4c959067..cecb7f9cd2473 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-12-15 +date: 2023-12-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 c352aacd3d2fb..dd305013d2e27 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-12-15 +date: 2023-12-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 b1e68d96f668f..4d23284a67add 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-12-15 +date: 2023-12-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 2f562d51b052c..091d7412f7442 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-12-15 +date: 2023-12-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 d76195450bd02..8121decabd225 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-12-15 +date: 2023-12-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 2449af3c7b6ec..fd91bcafac829 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-12-15 +date: 2023-12-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 a3bc6a8cd7227..95fb6eea19d12 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_bfetch_error.mdx b/api_docs/kbn_bfetch_error.mdx index 9c3e4d24f1653..a6887d9c51f7a 100644 --- a/api_docs/kbn_bfetch_error.mdx +++ b/api_docs/kbn_bfetch_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-bfetch-error title: "@kbn/bfetch-error" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/bfetch-error plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bfetch-error'] --- import kbnBfetchErrorObj from './kbn_bfetch_error.devdocs.json'; diff --git a/api_docs/kbn_calculate_auto.mdx b/api_docs/kbn_calculate_auto.mdx index 8d3e853fe856c..16b902ef51245 100644 --- a/api_docs/kbn_calculate_auto.mdx +++ b/api_docs/kbn_calculate_auto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-auto title: "@kbn/calculate-auto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-auto plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-auto'] --- import kbnCalculateAutoObj from './kbn_calculate_auto.devdocs.json'; diff --git a/api_docs/kbn_calculate_width_from_char_count.mdx b/api_docs/kbn_calculate_width_from_char_count.mdx index 9f32b78b9d869..b0386b76aa8da 100644 --- a/api_docs/kbn_calculate_width_from_char_count.mdx +++ b/api_docs/kbn_calculate_width_from_char_count.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-width-from-char-count title: "@kbn/calculate-width-from-char-count" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-width-from-char-count plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-width-from-char-count'] --- import kbnCalculateWidthFromCharCountObj from './kbn_calculate_width_from_char_count.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 760b38d273bca..c2832c3dcc6f0 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-12-15 +date: 2023-12-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 44c28ae3dfece..1b4e570647579 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-12-15 +date: 2023-12-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 78c9f603aa92b..66a1aa6894e27 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-12-15 +date: 2023-12-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 96358cc85aed2..235a78cfaec50 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-12-15 +date: 2023-12-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 4c17e94b2ac22..17fed26016827 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-12-15 +date: 2023-12-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 6ce7b44f5e1b3..532248ffb8dfc 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-12-15 +date: 2023-12-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 ce26609d179b9..7059cc4dd740d 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-12-15 +date: 2023-12-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 c232974ba898b..f40000afcb95c 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-12-15 +date: 2023-12-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 032da781e7496..7c170bab919e8 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 145915341d88d..699ae029eaeaf 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-12-15 +date: 2023-12-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 2c97f88b7cb09..8c1c4601fc5a7 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-12-15 +date: 2023-12-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 5637324cfcd04..86296c8aecf92 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-12-15 +date: 2023-12-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 96370af880b71..3508c5fdc14d8 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-12-15 +date: 2023-12-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 7b51507ca665e..f948959de2e75 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-12-15 +date: 2023-12-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 b96aa4c7dea91..19b19674103e3 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-12-15 +date: 2023-12-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 864d936172361..8f3617fe37906 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-12-15 +date: 2023-12-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_common.mdx b/api_docs/kbn_content_management_table_list_view_common.mdx index 9aabbed42e56b..ebf3a1bd6d20c 100644 --- a/api_docs/kbn_content_management_table_list_view_common.mdx +++ b/api_docs/kbn_content_management_table_list_view_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-common title: "@kbn/content-management-table-list-view-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-common plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-common'] --- import kbnContentManagementTableListViewCommonObj from './kbn_content_management_table_list_view_common.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 112611f7809bd..7e9c2f9bc6665 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-12-15 +date: 2023-12-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 4871008239562..2d340ed4a268d 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-12-15 +date: 2023-12-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 2347d46ead7aa..b54600656988e 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-12-15 +date: 2023-12-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 c4e596e2de3dc..037e3d018bc03 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-12-15 +date: 2023-12-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 a590bc8485b20..c15681b82a473 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-12-15 +date: 2023-12-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 c3d863d8ae25c..a9df50964f198 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-12-15 +date: 2023-12-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 6844bf7aaad30..1edfa476a5091 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-12-15 +date: 2023-12-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 e9344a006e88a..878251f92a6ab 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-12-15 +date: 2023-12-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 820b59a9309c6..a4bb5385c3280 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-12-15 +date: 2023-12-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 58243c1c0cee6..92034f8339cbc 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-12-15 +date: 2023-12-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 63467b16fce25..6892df8eb18d5 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-12-15 +date: 2023-12-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 4141f5653b9bd..3fa629a34e512 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-12-15 +date: 2023-12-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 a55d260aba3e0..b94241c918516 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-12-15 +date: 2023-12-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 465322b4f89af..040e6abcfdd20 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-12-15 +date: 2023-12-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 fd6d347cf02b3..bcc5ff243e4f9 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-12-15 +date: 2023-12-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 8af782977d24d..9af80df499989 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-12-15 +date: 2023-12-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 db818341f1ccd..2db6e06a9c731 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-12-15 +date: 2023-12-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 fc8cf8b8ca96d..7545eb26836a9 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-12-15 +date: 2023-12-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 6f4b3af6d29d5..34fcb54ba6d60 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-12-15 +date: 2023-12-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 67077c20287c3..3220e3da7b0a8 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-12-15 +date: 2023-12-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 56b5e94e4ecea..cc4292ad56685 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-12-15 +date: 2023-12-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 44b153a106aa8..d74de479eb2ea 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-12-15 +date: 2023-12-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 907e5090e265d..82217abcbf82f 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-12-15 +date: 2023-12-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 51c96b04c0329..ae6407be9f664 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-12-15 +date: 2023-12-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 6679406fcaccb..1f9f735800566 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-12-15 +date: 2023-12-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 8f4eae14a74ae..9c21a886bc222 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-12-15 +date: 2023-12-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 bdde8ec1c2525..fb7b012ea3c4f 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-12-15 +date: 2023-12-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 c5e330abd9bc2..a3f2dfe3e28cf 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-12-15 +date: 2023-12-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 d5c344bedbb8b..165b9b645fd11 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-12-15 +date: 2023-12-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 713366ed6ea8d..5e58074291737 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-12-15 +date: 2023-12-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 a6bbe2f506eef..e6e2305871774 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-12-15 +date: 2023-12-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 567e5855eca30..b8927bce4b015 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-12-15 +date: 2023-12-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 b51c1bceb0381..dbab96752fbeb 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-12-15 +date: 2023-12-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 a2736297fd9c6..75e4afa9f4da6 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-12-15 +date: 2023-12-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 62a4db4685083..6525ecc8357cc 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-12-15 +date: 2023-12-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 42667a7fea1a3..0616e50ecac63 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-12-15 +date: 2023-12-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 8cd617b82f96d..3de2cbfb971ed 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-12-15 +date: 2023-12-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 32369875010c0..4754ffc6bb121 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-12-15 +date: 2023-12-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 fa9993d778eeb..c6656f518ea59 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-12-15 +date: 2023-12-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 353305956fad7..56c7cadf9a479 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-12-15 +date: 2023-12-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 1bdd5654b47fc..c5262c8420541 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-12-15 +date: 2023-12-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 e6e2adb99286c..8b2e4e4374e92 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-12-15 +date: 2023-12-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 25dee9db203f8..ca88b1c4e11f0 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-12-15 +date: 2023-12-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 32e333b07d441..7579afa6b33d9 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-12-15 +date: 2023-12-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 8078b4073f554..c73d60c8d6966 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-12-15 +date: 2023-12-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 7bd9a7750afea..4c63695aadef7 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-12-15 +date: 2023-12-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 d878765a53206..cb66b5727dcf2 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-12-15 +date: 2023-12-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 98ab12803e6a4..67d5d54ef7c11 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-12-15 +date: 2023-12-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 a4681a3d00157..d6e5bf4f39abc 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-12-15 +date: 2023-12-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 e99d942f31b9a..98dff26a78980 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-12-15 +date: 2023-12-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 e3cf0f01f6e8a..7b6e10381e368 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-12-15 +date: 2023-12-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 967507abb5681..97fb051b67bfe 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-12-15 +date: 2023-12-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 4ab391c4b7df4..464a328ad080b 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-12-15 +date: 2023-12-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 0227461d75b35..9aa059f24e3fe 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-12-15 +date: 2023-12-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 605471bc1f445..b8221867f92af 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-12-15 +date: 2023-12-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 ad51d05436086..da15a9aba0b42 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-12-15 +date: 2023-12-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 3641cbffdcb99..17404ff3a217b 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-12-15 +date: 2023-12-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 018333a680e98..bf6d360e688e1 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-12-15 +date: 2023-12-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 e70b78a93a064..71c4598d2796d 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-12-15 +date: 2023-12-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 0941c099ee4a1..119ae9722118b 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-12-15 +date: 2023-12-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 ce5103de25c4e..aaa5caa1ebcbc 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-12-15 +date: 2023-12-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 06dfaf8699ec0..76e6b1cdf0377 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-12-15 +date: 2023-12-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 295c24c703c46..b4e68c495953d 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-12-15 +date: 2023-12-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 8da5ee2cb3949..8d6c5eb164dcb 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-12-15 +date: 2023-12-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 82f41574f47ab..57720bf9ed455 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-12-15 +date: 2023-12-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 d0d460c21be35..040f1c591720b 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-12-15 +date: 2023-12-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 02f081bcae763..4e2c55c18b6ee 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-12-15 +date: 2023-12-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 fe5baaf0d23bb..7c5e6b2f5492a 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-12-15 +date: 2023-12-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 3749ca9d8cefc..b3ee7e0d3d2de 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-12-15 +date: 2023-12-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 3d9a4bd213f79..817535e489f5b 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-12-15 +date: 2023-12-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 328cb861b3a6e..64ab22407bbe2 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-12-15 +date: 2023-12-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 8e3ff0d5856bf..6d2b82415e0bf 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-12-15 +date: 2023-12-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 aa846c6266e77..6efcf7dab848d 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-12-15 +date: 2023-12-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 c1945db75254e..e2876e8c784a8 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-12-15 +date: 2023-12-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 4e456c8f1348b..3c021c28a020a 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-12-15 +date: 2023-12-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 a6ae8657bb2e2..92e63cefcbc1a 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-12-15 +date: 2023-12-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 4bccd4f25b716..bd725713569ed 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-12-15 +date: 2023-12-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 0edc8c936dbba..e456eba684122 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-12-15 +date: 2023-12-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 11ec74cb87349..38fbf26cf8cfe 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-12-15 +date: 2023-12-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 aa173cc584bcc..a1e35777a4c0e 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-12-15 +date: 2023-12-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 5cccc3f802226..4da17c82c6014 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-12-15 +date: 2023-12-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 fe33634621baf..cd5bf00195510 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-12-15 +date: 2023-12-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 9679f167c765e..d4ba7d721bf75 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-12-15 +date: 2023-12-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 90379d734090d..6d1726fcfe3dc 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-12-15 +date: 2023-12-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 50793229a77e4..13ec7062d87a4 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-12-15 +date: 2023-12-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 de849e9ea836c..dd8bf5f273e0c 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-12-15 +date: 2023-12-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 e9458bf265c2c..ca3834d3f004e 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-12-15 +date: 2023-12-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 4963563b2afc2..13beca25273ed 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-12-15 +date: 2023-12-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 d071a2f5f6f52..4844a5fe45e73 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-12-15 +date: 2023-12-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 f50bad3e6318e..22987063a24ef 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-12-15 +date: 2023-12-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 601630a9d3f53..bc75d68715f6a 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-12-15 +date: 2023-12-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 ca925aaf03bd4..02bbf91eb1964 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-12-15 +date: 2023-12-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 1dd7c5773192a..1284391ee7c89 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-12-15 +date: 2023-12-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 dd10dc41c833e..b84bebb710f01 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-12-15 +date: 2023-12-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 87c41e9ee017c..2eb456ca3758b 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-12-15 +date: 2023-12-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 4b7468a09fa11..6c81cf81b7ca4 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-12-15 +date: 2023-12-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 bb6dc3a0f89c8..193a7557c9fa6 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-12-15 +date: 2023-12-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 726bb92ac86dc..27808fb41e9a9 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-12-15 +date: 2023-12-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 af2d38450de73..5127f5fa6d6c9 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-12-15 +date: 2023-12-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 de3261c2335a4..b62ac2148a181 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-12-15 +date: 2023-12-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 7d0b4f3276254..a6aa0daeba719 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-12-15 +date: 2023-12-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 5e41380591e06..c20bb65cf8300 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-12-15 +date: 2023-12-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 98125d38416a7..48230cd66c4d5 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-12-15 +date: 2023-12-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 398b9f1d8391c..89ace1125b261 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-12-15 +date: 2023-12-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 505bdfd482c4f..20ef053eaca19 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-12-15 +date: 2023-12-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 19f0f2f37fe9c..e4945e2f471b8 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-12-15 +date: 2023-12-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 b0f3f01361d5e..e5cfe7fe9fec4 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-12-15 +date: 2023-12-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 9e004f21780c7..f788185e26b82 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-12-15 +date: 2023-12-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_contracts_browser.mdx b/api_docs/kbn_core_plugins_contracts_browser.mdx index 337955f29be67..15edbfcca90c9 100644 --- a/api_docs/kbn_core_plugins_contracts_browser.mdx +++ b/api_docs/kbn_core_plugins_contracts_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-browser title: "@kbn/core-plugins-contracts-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-browser plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-browser'] --- import kbnCorePluginsContractsBrowserObj from './kbn_core_plugins_contracts_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_contracts_server.mdx b/api_docs/kbn_core_plugins_contracts_server.mdx index 7561bdb6e5e2d..cd72ab2b85773 100644 --- a/api_docs/kbn_core_plugins_contracts_server.mdx +++ b/api_docs/kbn_core_plugins_contracts_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-server title: "@kbn/core-plugins-contracts-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-server plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-server'] --- import kbnCorePluginsContractsServerObj from './kbn_core_plugins_contracts_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 9d1b6a86cd1f5..6d54f1aa73a3f 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-12-15 +date: 2023-12-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 fa72b3fbcc971..997a9b38b01c0 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-12-15 +date: 2023-12-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 a4eb7706e2e14..4a46723d1a565 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-12-15 +date: 2023-12-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 17ecfb795b803..c8a26cf19e4f1 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-12-15 +date: 2023-12-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 67e0c05b1f0e4..4d993134695af 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-12-15 +date: 2023-12-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 c334be31b1be5..7f970d49c94c5 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-12-15 +date: 2023-12-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 eb143153e7dc8..6fce590b12eef 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-12-15 +date: 2023-12-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 cebd55834f188..264f2db2c2bcb 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-12-15 +date: 2023-12-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 1f7e1db3d86b1..dbf245800b351 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-12-15 +date: 2023-12-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 6e421ba1c15cf..15d49fe039697 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-12-15 +date: 2023-12-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 2642d33e4ba3a..d390db2ae1def 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-12-15 +date: 2023-12-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 cb3863554dded..9cc925a739658 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-12-15 +date: 2023-12-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 615e77cd94525..6613beecd7b7f 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-12-15 +date: 2023-12-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 31ed35f7cd39d..0b9bdcd9a14c7 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-12-15 +date: 2023-12-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 9058d6f32f923..400e282b9980e 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-12-15 +date: 2023-12-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 bf69a797e9a55..bbe1e5c145fb3 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-12-15 +date: 2023-12-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 1470bc7d29b20..a8d8e25c83013 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-12-15 +date: 2023-12-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 d0ea337fe37c6..d2bbff04f15eb 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-12-15 +date: 2023-12-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 cdb672c978781..9ab61d1742a48 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-12-15 +date: 2023-12-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 0134cc39c6968..a653d22cb3282 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-12-15 +date: 2023-12-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 950a6d2b07172..6527dd1f15e5a 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-12-15 +date: 2023-12-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 660156b23e70d..6d612a4f6e5c9 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-12-15 +date: 2023-12-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 8aa01fbf7b3ec..2d8458da7a3a6 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-12-15 +date: 2023-12-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 deab875e3a99e..490cdf3d6e0f8 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-12-15 +date: 2023-12-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 abac25810209d..95348defac210 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-12-15 +date: 2023-12-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 3d16c25239811..b89118190ebdd 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-12-15 +date: 2023-12-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 62deb10477221..73635317bf213 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-12-15 +date: 2023-12-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 f4a5a52ab9371..979c4acc94fa2 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-12-15 +date: 2023-12-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 9dbd9a810abfd..8bc1592132eb1 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-12-15 +date: 2023-12-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 41ba27e0e6a90..b43a00cde2968 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-12-15 +date: 2023-12-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 7487f14612c03..ae8af585e1162 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-12-15 +date: 2023-12-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 cf69c8066ca0b..381766ad8136b 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-12-15 +date: 2023-12-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 ad1d3519b8c5b..bff8f3ef4aaba 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-12-15 +date: 2023-12-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_model_versions.mdx b/api_docs/kbn_core_test_helpers_model_versions.mdx index 5043b4d71646c..a1a98f020ad07 100644 --- a/api_docs/kbn_core_test_helpers_model_versions.mdx +++ b/api_docs/kbn_core_test_helpers_model_versions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions title: "@kbn/core-test-helpers-model-versions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-model-versions plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-model-versions'] --- import kbnCoreTestHelpersModelVersionsObj from './kbn_core_test_helpers_model_versions.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 667cfc614a0fc..0aa0bf25f5c82 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-12-15 +date: 2023-12-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 7d24dfd9ecc16..de84a0bcfc8d1 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-12-15 +date: 2023-12-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 fb071f9129ae8..9963abcb1ba87 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-12-15 +date: 2023-12-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 fc6ae4b368154..0f06c9275102f 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-12-15 +date: 2023-12-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 e38916672607e..bb4f87f7bf15a 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-12-15 +date: 2023-12-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 0422693beedf7..23bea09f62c7e 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-12-15 +date: 2023-12-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 9362934f1a7e6..73d0c2982f052 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-12-15 +date: 2023-12-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 6c00444a49fbe..30c0caf9273a7 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-12-15 +date: 2023-12-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 7341c0c1b7178..a388f81671ba4 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-12-15 +date: 2023-12-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 b14213526cf99..d65fd076a5de9 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-12-15 +date: 2023-12-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 f29b5b2f27601..fd7ab254d83ac 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-12-15 +date: 2023-12-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 53b8acf7b3a00..e7c8c5df9e071 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-12-15 +date: 2023-12-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 a58432cfa94c4..976dc847b4cfb 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-12-15 +date: 2023-12-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 2cd1b52709f2a..958d081fd8568 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-12-15 +date: 2023-12-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 3b16c36141787..b591ac47dc78b 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-12-15 +date: 2023-12-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 fcb2413dc72f5..6229cb92b6ecc 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-12-15 +date: 2023-12-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 fc18131674fac..8d770a225d3b7 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-12-15 +date: 2023-12-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 966d15126541b..196600023a90f 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-12-15 +date: 2023-12-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 224812cab5d0d..62f936b77fe87 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_icons.mdx b/api_docs/kbn_custom_icons.mdx index 9a878e25e4ae2..384cb138a31f7 100644 --- a/api_docs/kbn_custom_icons.mdx +++ b/api_docs/kbn_custom_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-icons title: "@kbn/custom-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-icons plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-icons'] --- import kbnCustomIconsObj from './kbn_custom_icons.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index c733d2bc326dd..3c5a7c141bae4 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-12-15 +date: 2023-12-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 4e6a74b1cb89a..9ecfa6d39eec9 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-12-15 +date: 2023-12-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 4d3c3d3f843b5..eed73da374abc 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-12-15 +date: 2023-12-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 8a31c2e1d68f0..3439ded6b5bd6 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-12-15 +date: 2023-12-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 0aaafb09fe7d1..06ff21c9183ce 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-12-15 +date: 2023-12-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 ab283360a8415..71894bf5c263c 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-12-15 +date: 2023-12-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 4b0745b6d0da8..1273b0131a424 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-12-15 +date: 2023-12-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 cc97b6ba522ba..a634b53f584eb 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-12-15 +date: 2023-12-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 7835540b5e4fb..c497590c8e460 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-12-15 +date: 2023-12-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 8e2889ac07353..d822a74f45948 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-12-15 +date: 2023-12-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 e3b43a361eb18..9da7aa7ae6f3f 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-12-15 +date: 2023-12-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 bf93957b5fd48..f5ff05288cd73 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-12-15 +date: 2023-12-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 dba38830114a8..a985390a0d984 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-12-15 +date: 2023-12-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 05e14b1bb104a..4c46f7cb13ae3 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-12-15 +date: 2023-12-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 f2e335a00eff8..ec722aae393e0 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-12-15 +date: 2023-12-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 15f526a7c9792..19b594f3aceab 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-12-15 +date: 2023-12-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 e64a116d178bd..0de2d74060e88 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-12-15 +date: 2023-12-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 03fe948c678a4..2052e5686acf4 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-12-15 +date: 2023-12-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 45e6ff03d44a3..2c3332fdfa1bd 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-12-15 +date: 2023-12-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 4b86382678603..4dcf14ad1bb01 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-12-15 +date: 2023-12-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 eb55a7285cbca..e8002fcf1bfba 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-12-15 +date: 2023-12-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 5dda781a00e1b..1afc074128754 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-12-15 +date: 2023-12-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 3a536c18e4ab3..be52d2dcbe8f5 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-12-15 +date: 2023-12-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 7db2be32abe5c..c3a2afb52030c 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-12-15 +date: 2023-12-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 1c0e2056d12da..9d162ea804da7 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-12-15 +date: 2023-12-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_agent_utils.mdx b/api_docs/kbn_elastic_agent_utils.mdx index 03c4193cfb814..abb032a0caeb1 100644 --- a/api_docs/kbn_elastic_agent_utils.mdx +++ b/api_docs/kbn_elastic_agent_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-agent-utils title: "@kbn/elastic-agent-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-agent-utils plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-agent-utils'] --- import kbnElasticAgentUtilsObj from './kbn_elastic_agent_utils.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index d0e74cdf1ff5d..28cebf9e73d9e 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant_common.mdx b/api_docs/kbn_elastic_assistant_common.mdx index 5b2ddef94a194..ca9aa5f47ba38 100644 --- a/api_docs/kbn_elastic_assistant_common.mdx +++ b/api_docs/kbn_elastic_assistant_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant-common title: "@kbn/elastic-assistant-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant-common plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant-common'] --- import kbnElasticAssistantCommonObj from './kbn_elastic_assistant_common.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 619f92e01ba01..42f6aa09608dd 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-12-15 +date: 2023-12-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 06f5c6baf3748..527c2460f87e5 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-12-15 +date: 2023-12-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 5bdf648323f99..e918e09f33042 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-12-15 +date: 2023-12-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 86695d6f0e9f7..4b184799aa600 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-12-15 +date: 2023-12-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 13413885c147f..1218fa0bd5732 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-12-15 +date: 2023-12-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 f79e53d22be46..7c0997f4f53e0 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-12-15 +date: 2023-12-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 49f51f53b563c..24cdd4fe7e80a 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-12-15 +date: 2023-12-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 efb32159647f6..d9f630cce441c 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-12-15 +date: 2023-12-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 4aca29213eb40..8c090ce7c7496 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-12-15 +date: 2023-12-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 532f4bf0769d1..09ce514557dec 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_field_utils.mdx b/api_docs/kbn_field_utils.mdx index 36109c39dfa67..0509bff4c87a7 100644 --- a/api_docs/kbn_field_utils.mdx +++ b/api_docs/kbn_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-utils title: "@kbn/field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-utils plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-utils'] --- import kbnFieldUtilsObj from './kbn_field_utils.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 68784fd0afac2..15ac6e6589f38 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-12-15 +date: 2023-12-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 e8a04de391850..2408013649610 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-12-15 +date: 2023-12-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 d28c078871e81..935ae44eaee5c 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-12-15 +date: 2023-12-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 851616fdb4354..df48f99e35b23 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-12-15 +date: 2023-12-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 f36ce90fa1de2..35a5314c12d7a 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 7fd1d4f20fb76..11418c832fcf6 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-12-15 +date: 2023-12-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 e1849c4e3ab05..e5131fec3d701 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-12-15 +date: 2023-12-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 5c1779fcfe57e..760665a1c53b0 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-12-15 +date: 2023-12-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 22333c105edc1..6036209ef460c 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-12-15 +date: 2023-12-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 df6197259d77c..b7c263f8569b7 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-12-15 +date: 2023-12-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 83cd8179ca794..1a175b205bc6f 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-12-15 +date: 2023-12-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 91a517173fdf2..fcf6672e418aa 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-12-15 +date: 2023-12-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 dbd0399298c2c..090c0c7a582f0 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-12-15 +date: 2023-12-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 f5573e31c4f5e..a9e23cc4ae9db 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-12-15 +date: 2023-12-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 2c52dce72c4dc..f74ac00f4abed 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-12-15 +date: 2023-12-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 127bff0a24e43..e3e520ca48f19 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-12-15 +date: 2023-12-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 6b5bbace422bb..4fddd07481e27 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-12-15 +date: 2023-12-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 b50d16f0a6c42..5f3976d8b197e 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-12-15 +date: 2023-12-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 f962e58f41009..b51f346029d94 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-12-15 +date: 2023-12-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 7181bb87b0d30..fb1a6ad74bb0a 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-12-15 +date: 2023-12-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 2725e0251cfbc..9ac2900a2bfa0 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-12-15 +date: 2023-12-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 5270c2f46211d..766cfe5963a06 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-12-15 +date: 2023-12-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 004f512b8c3a7..e618da38b7648 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-12-15 +date: 2023-12-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 c4670f18682e7..3167aa5cadf14 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-12-15 +date: 2023-12-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 aad578c407de9..e4954aca39f71 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-12-15 +date: 2023-12-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 8a20cfa81b08a..f995d8dbd992f 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-12-15 +date: 2023-12-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 45a66418e05a9..58badfe692a2c 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-12-15 +date: 2023-12-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_application.mdx b/api_docs/kbn_management_settings_application.mdx index fd3f0060c5c73..e751a04be9de4 100644 --- a/api_docs/kbn_management_settings_application.mdx +++ b/api_docs/kbn_management_settings_application.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application title: "@kbn/management-settings-application" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-application plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-application'] --- import kbnManagementSettingsApplicationObj from './kbn_management_settings_application.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_category.mdx b/api_docs/kbn_management_settings_components_field_category.mdx index 812f627cee924..729d86b2cdc51 100644 --- a/api_docs/kbn_management_settings_components_field_category.mdx +++ b/api_docs/kbn_management_settings_components_field_category.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category title: "@kbn/management-settings-components-field-category" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-category plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-category'] --- import kbnManagementSettingsComponentsFieldCategoryObj from './kbn_management_settings_components_field_category.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index 25b2e99e10deb..a79507ffc7370 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-12-15 +date: 2023-12-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 df0776b9b7a75..76cff2e6a076d 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-12-15 +date: 2023-12-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_components_form.mdx b/api_docs/kbn_management_settings_components_form.mdx index 5f338974bbccd..12fdc83a9915d 100644 --- a/api_docs/kbn_management_settings_components_form.mdx +++ b/api_docs/kbn_management_settings_components_form.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form title: "@kbn/management-settings-components-form" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-form plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-form'] --- import kbnManagementSettingsComponentsFormObj from './kbn_management_settings_components_form.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index e777071feef0b..5e81a4c592155 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-12-15 +date: 2023-12-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 56bb1099edd9c..64a74d5255dcf 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-12-15 +date: 2023-12-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 bc830bbba6062..dbbce8139afb0 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-12-15 +date: 2023-12-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 883eb0f6d422e..7b7cd8fec2d79 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-12-15 +date: 2023-12-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 002fac6db86e2..14f1fb946033d 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-12-15 +date: 2023-12-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 7c6cc4d2adcc1..6172edd455231 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-12-15 +date: 2023-12-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 a4ef2b1409761..5defbc894c18d 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-12-15 +date: 2023-12-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 47a2847e4a63b..badc48a525c7c 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-12-15 +date: 2023-12-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 560b6c9fadb6a..2c94003d383b3 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-12-15 +date: 2023-12-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 41f5bad210ccc..483c59ef29b93 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-12-15 +date: 2023-12-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 8c845db710a37..d1bf218ec915a 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-12-15 +date: 2023-12-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_chi2test.mdx b/api_docs/kbn_ml_chi2test.mdx index d8ddf2b600372..193d178199d03 100644 --- a/api_docs/kbn_ml_chi2test.mdx +++ b/api_docs/kbn_ml_chi2test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test title: "@kbn/ml-chi2test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-chi2test plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-chi2test'] --- import kbnMlChi2testObj from './kbn_ml_chi2test.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 329576bb532fb..3b1ee8ae22827 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-12-15 +date: 2023-12-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 e3a3ad558977c..973527f1b02c0 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-12-15 +date: 2023-12-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 a9d29928c94cd..b291a86e162cd 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-12-15 +date: 2023-12-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 d9f9b5a9aedf5..3aa65f5c6661e 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-12-15 +date: 2023-12-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 de2b170117029..3ac39191d3cee 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-12-15 +date: 2023-12-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 558bac4e4954a..730a2dc4933b8 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-12-15 +date: 2023-12-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 6c5c0b44968c0..8e78ac4dbee36 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-12-15 +date: 2023-12-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 d480d5ecf391f..81bb12cfa0ca7 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-12-15 +date: 2023-12-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 f5bf4f23b936a..c87927df4ff7e 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-12-15 +date: 2023-12-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 7a8b2e9513442..52870d1692b77 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-12-15 +date: 2023-12-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 4e15b9e73f26f..4272e0f8d0673 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-12-15 +date: 2023-12-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 a9abd4279c818..8cd0991ec8464 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-12-15 +date: 2023-12-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 db1357035ec34..3884467228735 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-12-15 +date: 2023-12-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 da162f43a34ab..3fff61bd135d5 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-12-15 +date: 2023-12-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 7577ecbe43ab8..e0eca3f761caa 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-12-15 +date: 2023-12-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 b51357521b62d..351877f0ce365 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-12-15 +date: 2023-12-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 c2d8e85683459..8dd2a559d5f55 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-12-15 +date: 2023-12-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 182b49e45b058..a6589cfdd8c13 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-12-15 +date: 2023-12-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_ui_actions.mdx b/api_docs/kbn_ml_ui_actions.mdx index 586e41c876b68..1b529a292adce 100644 --- a/api_docs/kbn_ml_ui_actions.mdx +++ b/api_docs/kbn_ml_ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-ui-actions title: "@kbn/ml-ui-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-ui-actions plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-ui-actions'] --- import kbnMlUiActionsObj from './kbn_ml_ui_actions.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 793980b2d9c96..c68e1c92cefd6 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-12-15 +date: 2023-12-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 8d6e013b87b5d..f014088c7c48f 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-12-15 +date: 2023-12-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 cc66cec862bd1..215afc408fb6c 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-12-15 +date: 2023-12-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 c0c680f5492fe..85c75533d8f1f 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-12-15 +date: 2023-12-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_observability_alerting_test_data.mdx b/api_docs/kbn_observability_alerting_test_data.mdx index 761f1cb7fb1d0..4cedcba755c64 100644 --- a/api_docs/kbn_observability_alerting_test_data.mdx +++ b/api_docs/kbn_observability_alerting_test_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-test-data title: "@kbn/observability-alerting-test-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alerting-test-data plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-test-data'] --- import kbnObservabilityAlertingTestDataObj from './kbn_observability_alerting_test_data.devdocs.json'; diff --git a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx index d8226b92eaea1..19c5b319dd200 100644 --- a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx +++ b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-get-padded-alert-time-range-util title: "@kbn/observability-get-padded-alert-time-range-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-get-padded-alert-time-range-util plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-get-padded-alert-time-range-util'] --- import kbnObservabilityGetPaddedAlertTimeRangeUtilObj from './kbn_observability_get_padded_alert_time_range_util.devdocs.json'; diff --git a/api_docs/kbn_openapi_bundler.mdx b/api_docs/kbn_openapi_bundler.mdx index b4bf7f421c8f7..cce06ebb1c2fb 100644 --- a/api_docs/kbn_openapi_bundler.mdx +++ b/api_docs/kbn_openapi_bundler.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-bundler title: "@kbn/openapi-bundler" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-bundler plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-bundler'] --- import kbnOpenapiBundlerObj from './kbn_openapi_bundler.devdocs.json'; diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx index 19165d0fe6a9b..06ab4de0c7795 100644 --- a/api_docs/kbn_openapi_generator.mdx +++ b/api_docs/kbn_openapi_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator title: "@kbn/openapi-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-generator plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-generator'] --- import kbnOpenapiGeneratorObj from './kbn_openapi_generator.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index fb206af05dbc1..0c24b99161a19 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-12-15 +date: 2023-12-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 113831daaf2ed..da582312bf075 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-12-15 +date: 2023-12-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 62eb02562013f..c1941eaf8befb 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-12-15 +date: 2023-12-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_panel_loader.mdx b/api_docs/kbn_panel_loader.mdx index 2927661c16f6a..d0df5e3b53602 100644 --- a/api_docs/kbn_panel_loader.mdx +++ b/api_docs/kbn_panel_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-panel-loader title: "@kbn/panel-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/panel-loader plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/panel-loader'] --- import kbnPanelLoaderObj from './kbn_panel_loader.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 80730fcf0e145..5588bfdc19b55 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-12-15 +date: 2023-12-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 539abced525f4..5fd68110d4fb4 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-12-15 +date: 2023-12-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 f8e4f3e80be05..5cd3d75799d81 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-12-15 +date: 2023-12-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 a1d28ec8d6ae9..2927e6f832b70 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-12-15 +date: 2023-12-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 87884d8185bf3..0ba5781a49e24 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-12-15 +date: 2023-12-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 81febdccaf1b1..aa6ea9647ea5c 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-12-15 +date: 2023-12-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 c558a151a84cb..1509e6ded13fa 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-12-15 +date: 2023-12-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 c0dd8dbe72fc6..89c04f24dc5f9 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-12-15 +date: 2023-12-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 200657013f249..c163fe8b1d8b5 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-12-15 +date: 2023-12-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 c49ea56f1e455..a5e0f6cc02fd8 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-12-15 +date: 2023-12-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 c9b8a6e14f53c..fa61c8b99b1be 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-12-15 +date: 2023-12-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 ce320cd2f2af5..5bfea61c60b04 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-12-15 +date: 2023-12-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 ea5bf5a064d04..5cad75dd1a92f 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-12-15 +date: 2023-12-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 c683f9212d3ef..a7c93fd034eb1 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-12-15 +date: 2023-12-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 d6698372d3985..b1ed2f455418a 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-12-15 +date: 2023-12-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 4bd57c80ae3bd..ac515dce002ce 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-12-15 +date: 2023-12-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 f74a3c87fe112..ac51a4782a6c0 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv.mdx b/api_docs/kbn_reporting_export_types_csv.mdx index f81ec183602cd..c4858a3851898 100644 --- a/api_docs/kbn_reporting_export_types_csv.mdx +++ b/api_docs/kbn_reporting_export_types_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv title: "@kbn/reporting-export-types-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv'] --- import kbnReportingExportTypesCsvObj from './kbn_reporting_export_types_csv.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv_common.mdx b/api_docs/kbn_reporting_export_types_csv_common.mdx index ebb83863d8dc9..4c63d911354a1 100644 --- a/api_docs/kbn_reporting_export_types_csv_common.mdx +++ b/api_docs/kbn_reporting_export_types_csv_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv-common title: "@kbn/reporting-export-types-csv-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv-common plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv-common'] --- import kbnReportingExportTypesCsvCommonObj from './kbn_reporting_export_types_csv_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf.mdx b/api_docs/kbn_reporting_export_types_pdf.mdx index cd82ac8b2c444..b886e256b8eaf 100644 --- a/api_docs/kbn_reporting_export_types_pdf.mdx +++ b/api_docs/kbn_reporting_export_types_pdf.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf title: "@kbn/reporting-export-types-pdf" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf'] --- import kbnReportingExportTypesPdfObj from './kbn_reporting_export_types_pdf.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf_common.mdx b/api_docs/kbn_reporting_export_types_pdf_common.mdx index 868ee37e2a6b5..0ca7a30f977a1 100644 --- a/api_docs/kbn_reporting_export_types_pdf_common.mdx +++ b/api_docs/kbn_reporting_export_types_pdf_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf-common title: "@kbn/reporting-export-types-pdf-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf-common plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf-common'] --- import kbnReportingExportTypesPdfCommonObj from './kbn_reporting_export_types_pdf_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png.mdx b/api_docs/kbn_reporting_export_types_png.mdx index 01c537a2473b4..0b83b41ffb02e 100644 --- a/api_docs/kbn_reporting_export_types_png.mdx +++ b/api_docs/kbn_reporting_export_types_png.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png title: "@kbn/reporting-export-types-png" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png'] --- import kbnReportingExportTypesPngObj from './kbn_reporting_export_types_png.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png_common.mdx b/api_docs/kbn_reporting_export_types_png_common.mdx index 10a228dcb74b9..b9658765fb23c 100644 --- a/api_docs/kbn_reporting_export_types_png_common.mdx +++ b/api_docs/kbn_reporting_export_types_png_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png-common title: "@kbn/reporting-export-types-png-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png-common plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png-common'] --- import kbnReportingExportTypesPngCommonObj from './kbn_reporting_export_types_png_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_mocks_server.mdx b/api_docs/kbn_reporting_mocks_server.mdx index 1afad3273e987..7d03e890868e9 100644 --- a/api_docs/kbn_reporting_mocks_server.mdx +++ b/api_docs/kbn_reporting_mocks_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-mocks-server title: "@kbn/reporting-mocks-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-mocks-server plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-mocks-server'] --- import kbnReportingMocksServerObj from './kbn_reporting_mocks_server.devdocs.json'; diff --git a/api_docs/kbn_reporting_public.mdx b/api_docs/kbn_reporting_public.mdx index edc752c24e571..f891cc4afe8e1 100644 --- a/api_docs/kbn_reporting_public.mdx +++ b/api_docs/kbn_reporting_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-public title: "@kbn/reporting-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-public plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-public'] --- import kbnReportingPublicObj from './kbn_reporting_public.devdocs.json'; diff --git a/api_docs/kbn_reporting_server.mdx b/api_docs/kbn_reporting_server.mdx index 02540150107ed..a5c5391c471d4 100644 --- a/api_docs/kbn_reporting_server.mdx +++ b/api_docs/kbn_reporting_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-server title: "@kbn/reporting-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-server plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-server'] --- import kbnReportingServerObj from './kbn_reporting_server.devdocs.json'; diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx index e0a09ada8f977..cecf9a0977a78 100644 --- a/api_docs/kbn_resizable_layout.mdx +++ b/api_docs/kbn_resizable_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout title: "@kbn/resizable-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/resizable-layout plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout'] --- import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index a5252ef52300d..070e7ce6e5b74 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-12-15 +date: 2023-12-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 c867bdc84a911..d3d171757f751 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-12-15 +date: 2023-12-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 56a35e3e3bbce..abc5fa5487f14 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-12-15 +date: 2023-12-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 853c41a624349..c4b4d66d160ea 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-12-15 +date: 2023-12-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 51fc3542c6d25..c8547643ec74f 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-12-15 +date: 2023-12-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 8d9ecfa0146a6..c33735cc06240 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_errors.mdx b/api_docs/kbn_search_errors.mdx index 465bb83f6a7dc..288ede3e3393b 100644 --- a/api_docs/kbn_search_errors.mdx +++ b/api_docs/kbn_search_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-errors title: "@kbn/search-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-errors plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-errors'] --- import kbnSearchErrorsObj from './kbn_search_errors.devdocs.json'; diff --git a/api_docs/kbn_search_index_documents.mdx b/api_docs/kbn_search_index_documents.mdx index a0e28a6368a5c..efc53540477fc 100644 --- a/api_docs/kbn_search_index_documents.mdx +++ b/api_docs/kbn_search_index_documents.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-index-documents title: "@kbn/search-index-documents" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-index-documents plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-index-documents'] --- import kbnSearchIndexDocumentsObj from './kbn_search_index_documents.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 04a0eb45f1e83..986bf2556b4b9 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-12-15 +date: 2023-12-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_plugin_types_common.mdx b/api_docs/kbn_security_plugin_types_common.mdx index daf37e0a126a7..4d774aa0ba320 100644 --- a/api_docs/kbn_security_plugin_types_common.mdx +++ b/api_docs/kbn_security_plugin_types_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-common title: "@kbn/security-plugin-types-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-common plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-common'] --- import kbnSecurityPluginTypesCommonObj from './kbn_security_plugin_types_common.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_public.mdx b/api_docs/kbn_security_plugin_types_public.mdx index 4a7119a38eb23..a593d14af7939 100644 --- a/api_docs/kbn_security_plugin_types_public.mdx +++ b/api_docs/kbn_security_plugin_types_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-public title: "@kbn/security-plugin-types-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-public plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-public'] --- import kbnSecurityPluginTypesPublicObj from './kbn_security_plugin_types_public.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_server.mdx b/api_docs/kbn_security_plugin_types_server.mdx index 1deeaaba3e97a..0b824efc3f2d1 100644 --- a/api_docs/kbn_security_plugin_types_server.mdx +++ b/api_docs/kbn_security_plugin_types_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-server title: "@kbn/security-plugin-types-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-server plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-server'] --- import kbnSecurityPluginTypesServerObj from './kbn_security_plugin_types_server.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index d09c3c6a7f55c..478429818d217 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-12-15 +date: 2023-12-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 3161c2943d9e4..b3fa3f450d806 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-12-15 +date: 2023-12-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 ad357f6e4e5cd..808da6daf7811 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-12-15 +date: 2023-12-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 ab303f6aa9fd9..5ea236ffac09e 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-12-15 +date: 2023-12-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 cb056f5dd4fc6..b9f9c0ddde885 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-12-15 +date: 2023-12-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 6bec033954b52..378a2d8a2561a 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-12-15 +date: 2023-12-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 648a9999e9b6d..510f1291eb3d1 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-12-15 +date: 2023-12-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 86450a28b566b..a9b6cfadc1a2d 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-12-15 +date: 2023-12-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 c7eefa6cc8db3..a2fefb20d1720 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-12-15 +date: 2023-12-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 e99935d86d128..65aaa890c5edf 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-12-15 +date: 2023-12-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 22c74c070f828..1debe36f97b54 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-12-15 +date: 2023-12-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 e9838371c2fa9..21d896428ae74 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-12-15 +date: 2023-12-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 acb302a58ae87..8e50b793211c4 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-12-15 +date: 2023-12-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 602eb0d15989f..cb6dc98c22e43 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-12-15 +date: 2023-12-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 ed38f77dd9167..4766a164c130e 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-12-15 +date: 2023-12-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 73b6f67c69384..0e6b4987b2bc1 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-12-15 +date: 2023-12-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 66a85e5921626..a9d6d1344aaf8 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-12-15 +date: 2023-12-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 47aac1d783c72..95d2300c9a43a 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-12-15 +date: 2023-12-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 d185292ea40b0..666419c1393e6 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-12-15 +date: 2023-12-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 b8329483825f6..44c77807cc714 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-12-15 +date: 2023-12-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 b297bf06f01fc..fd0f01ae4cbfe 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-12-15 +date: 2023-12-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 04a82a35e7c33..0e21dca78d396 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-12-15 +date: 2023-12-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 c430da9f682db..3f27f784d3e76 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-12-15 +date: 2023-12-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 25e710f6028eb..39925a6247314 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-12-15 +date: 2023-12-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 08fe1ce62bd6a..8d08aeb42e650 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-12-15 +date: 2023-12-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 fffe340c93c6c..869ae0f5cbc32 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-12-15 +date: 2023-12-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 0b4cc7b1686f3..506647204b726 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-12-15 +date: 2023-12-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 5503211a24009..819dc20d4d2a7 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-12-15 +date: 2023-12-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 43db013499040..288d724a27b36 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-12-15 +date: 2023-12-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 18946ee5a9c8b..5eb857413b7b2 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-12-15 +date: 2023-12-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 aac4a62d52f62..bb62d7a98c4bb 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-12-15 +date: 2023-12-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 01546ec219c07..32173ebfcb42e 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-12-15 +date: 2023-12-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_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 2dadd928d1770..4742eba6c9046 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-12-15 +date: 2023-12-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_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 953f6b78f78e2..58a4bbf79f0d5 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-12-15 +date: 2023-12-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 07851b0562eaf..413c1886a7c53 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-12-15 +date: 2023-12-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 8c4ac930500eb..1f3641233d026 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-12-15 +date: 2023-12-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 3efa3ce10f93e..510ed6eb2b960 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-12-15 +date: 2023-12-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_error_boundary.mdx b/api_docs/kbn_shared_ux_error_boundary.mdx index f19432f27b23a..4626ff5acb29c 100644 --- a/api_docs/kbn_shared_ux_error_boundary.mdx +++ b/api_docs/kbn_shared_ux_error_boundary.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-error-boundary title: "@kbn/shared-ux-error-boundary" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-error-boundary plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-error-boundary'] --- import kbnSharedUxErrorBoundaryObj from './kbn_shared_ux_error_boundary.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 41e680d29d270..d74d8e8e3eb6f 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-12-15 +date: 2023-12-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 3149d2ca580c9..5a1b190a8f068 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-12-15 +date: 2023-12-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 70d9d3ff68170..1263b7b9ea7ee 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-12-15 +date: 2023-12-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 967cd85f29c34..00637bac344aa 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-12-15 +date: 2023-12-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 5f2e661edcd73..956e9bcf65ee6 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-12-15 +date: 2023-12-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 b236d4c01b732..d6a5dcdd80fee 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-12-15 +date: 2023-12-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 e962adc12698f..daf15e32c4816 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-12-15 +date: 2023-12-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 e854fef59bf84..e31cc51de261c 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-12-15 +date: 2023-12-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 b896c55999346..154c6685e7b05 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-12-15 +date: 2023-12-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 5a22792b71670..365721705ab7b 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-12-15 +date: 2023-12-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 4e796657177ce..8cb32ce0b17cf 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-12-15 +date: 2023-12-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 5bc8c261d2d68..cc804e6fd4e75 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-12-15 +date: 2023-12-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 4f62ef8b79ca0..55f0275250084 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-12-15 +date: 2023-12-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 c38e072e36fda..b9079d1ce7484 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-12-15 +date: 2023-12-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 8396fa4be3d80..f60da4e525704 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-12-15 +date: 2023-12-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 b68317cf2b18d..52eed780b79f7 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-12-15 +date: 2023-12-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 f6691cd61a710..55ba053f803df 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-12-15 +date: 2023-12-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 532a77758aec4..80745bfe9a109 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-12-15 +date: 2023-12-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 254ca6aeaccee..baeb446bb475c 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-12-15 +date: 2023-12-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 63c479a7ba918..58d22e6c4250a 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-12-15 +date: 2023-12-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 9a5b79b7d4757..14b04f2218ee5 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-12-15 +date: 2023-12-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 7a74fda43a38e..9b79aa43cb5e4 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-12-15 +date: 2023-12-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 101061d8e10ee..4bb82df7e3be6 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-12-15 +date: 2023-12-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 b677e195e5697..d40d3fd46c2fa 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-12-15 +date: 2023-12-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 af18e0009a4cc..54a7f2d5fb369 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-12-15 +date: 2023-12-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 43ef40088d1bf..e77af9b558c0a 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-12-15 +date: 2023-12-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 ee3761a793ad5..78a384846656a 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-12-15 +date: 2023-12-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 324f72e680de7..b2fb14ea818c8 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-12-15 +date: 2023-12-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 984d00728e6a3..d7c6d4a0914b9 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-12-15 +date: 2023-12-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 8aa089ba66bd3..0f23d8e99dbc6 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-12-15 +date: 2023-12-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 c1fa6194d6206..20bd533752ede 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-12-15 +date: 2023-12-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 6eba57b582ec0..56182f7adb4b3 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-12-15 +date: 2023-12-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 bb54774ced786..63de1760c6120 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-12-15 +date: 2023-12-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 684affeb1bb7f..d10fc1821114b 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-12-15 +date: 2023-12-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 c4972ca8ea352..c0211e5346da4 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-12-15 +date: 2023-12-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 6e511e5be2c8a..fac168efa9b79 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-12-15 +date: 2023-12-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 cb6350659c58f..08711118c674b 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-12-15 +date: 2023-12-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 6d8d90865b876..e57dcced5f397 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-12-15 +date: 2023-12-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 5885210adadff..b3562917eeee9 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-12-15 +date: 2023-12-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 e9ce016ec9e08..5243fd75488fc 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-12-15 +date: 2023-12-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 85bec572a45fd..54f3e61bfa008 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-12-15 +date: 2023-12-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 872456ce6af23..6084983b79a1a 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_triggers_actions_ui_types.mdx b/api_docs/kbn_triggers_actions_ui_types.mdx index 6bc36e7f798a7..2bd569cd45154 100644 --- a/api_docs/kbn_triggers_actions_ui_types.mdx +++ b/api_docs/kbn_triggers_actions_ui_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-triggers-actions-ui-types title: "@kbn/triggers-actions-ui-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/triggers-actions-ui-types plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/triggers-actions-ui-types'] --- import kbnTriggersActionsUiTypesObj from './kbn_triggers_actions_ui_types.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index fddb9fd2a5bea..6c5547d3fc578 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-12-15 +date: 2023-12-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 60691fdde4ed8..7ab9079159d42 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-12-15 +date: 2023-12-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 f5d53675347fa..8fede0476f813 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-12-15 +date: 2023-12-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 5203b17a6f6df..b28ec02707f89 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-12-15 +date: 2023-12-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 9b1a3ce660743..14e3a79f38185 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-12-15 +date: 2023-12-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 62eb0cfdd978f..aca8b88a306ac 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-12-15 +date: 2023-12-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 542587b4443bf..65308063f917d 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-12-15 +date: 2023-12-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 6e6dbc32a3905..0e39eec117aba 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-12-15 +date: 2023-12-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_unsaved_changes_badge.mdx b/api_docs/kbn_unsaved_changes_badge.mdx index 8acb995af2d90..861ceb0a96e2d 100644 --- a/api_docs/kbn_unsaved_changes_badge.mdx +++ b/api_docs/kbn_unsaved_changes_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-badge title: "@kbn/unsaved-changes-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unsaved-changes-badge plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-badge'] --- import kbnUnsavedChangesBadgeObj from './kbn_unsaved_changes_badge.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index d33906565b8a4..fff022ef2c793 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-12-15 +date: 2023-12-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 4538e136d8fad..3d62399e27ef1 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-12-15 +date: 2023-12-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 fa17bc07d204a..eab60be45f21f 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-12-15 +date: 2023-12-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 eb36bb2687f30..6c93cb1b0d5f9 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-12-15 +date: 2023-12-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 531d782b5d4f3..d9ba4503b4844 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-12-15 +date: 2023-12-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 bd7fe0e1995f7..9dccaaedfd23c 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-12-15 +date: 2023-12-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 abf2b7e64cdd7..2f5050a0685d2 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-12-15 +date: 2023-12-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_visualization_utils.mdx b/api_docs/kbn_visualization_utils.mdx index 6aba58fee51f0..feed07620708f 100644 --- a/api_docs/kbn_visualization_utils.mdx +++ b/api_docs/kbn_visualization_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-utils title: "@kbn/visualization-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-utils plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-utils'] --- import kbnVisualizationUtilsObj from './kbn_visualization_utils.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index b8ac4bdf74969..c1877335ae3b8 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-12-15 +date: 2023-12-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 956d6a333248d..b6fb30141b007 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kbn_zod_helpers.mdx b/api_docs/kbn_zod_helpers.mdx index 6285605293403..d8230623d751c 100644 --- a/api_docs/kbn_zod_helpers.mdx +++ b/api_docs/kbn_zod_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod-helpers title: "@kbn/zod-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/zod-helpers plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod-helpers'] --- import kbnZodHelpersObj from './kbn_zod_helpers.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index bfa51f44f05a3..a96da3446a426 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-12-15 +date: 2023-12-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 152db568792b4..ce4446f644a09 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-12-15 +date: 2023-12-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 8a68a6c1dccb8..8eaf59b8d36a1 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-12-15 +date: 2023-12-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 95e09362adf5c..b7291782f00dd 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-12-15 +date: 2023-12-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 9edfddb563dae..88ce5aee2a4d2 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-12-15 +date: 2023-12-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 d54c894e31d44..749e49200f10a 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-12-15 +date: 2023-12-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 aa5870aafec11..1858743a46f35 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-12-15 +date: 2023-12-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 a25812a5769c5..200474be19b44 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/links.mdx b/api_docs/links.mdx index 89f71495602a9..8de9f60a4c4e0 100644 --- a/api_docs/links.mdx +++ b/api_docs/links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/links title: "links" image: https://source.unsplash.com/400x175/?github description: API docs for the links plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'links'] --- import linksObj from './links.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index d4f80e9f422b4..0f5e87b5ba6d6 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-12-15 +date: 2023-12-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 471cbe44388a7..0deeeb46d7dbe 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-12-15 +date: 2023-12-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 113acf8dd29dc..36fce33fe04de 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-12-15 +date: 2023-12-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 0422d3017c09e..e75d347d1d825 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-12-15 +date: 2023-12-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 aef2a0362a9d3..19b743548e940 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-12-15 +date: 2023-12-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 ad63cec95ade2..6845d9f3aaa13 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-12-15 +date: 2023-12-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 cdc0d6bf08902..2a9b459e6c310 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-12-15 +date: 2023-12-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 2da35f7370ae3..a18b26e7f2b8f 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/mock_idp_plugin.mdx b/api_docs/mock_idp_plugin.mdx index a7fd82e0e90d7..39096499d937d 100644 --- a/api_docs/mock_idp_plugin.mdx +++ b/api_docs/mock_idp_plugin.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mockIdpPlugin title: "mockIdpPlugin" image: https://source.unsplash.com/400x175/?github description: API docs for the mockIdpPlugin plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mockIdpPlugin'] --- import mockIdpPluginObj from './mock_idp_plugin.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 2edd2a19b3921..1a5a4d41067e7 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-12-15 +date: 2023-12-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 36d8c24495c6b..e311908247b6a 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-12-15 +date: 2023-12-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 86a4fdd252ee1..b18afeca1a7c6 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-12-15 +date: 2023-12-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 0cef6f7584b59..b44d56fae75fc 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-12-15 +date: 2023-12-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 9edc376e082b1..8dec5ed4823f3 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-12-15 +date: 2023-12-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 dc28465d1d551..395adb5b439f7 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-12-15 +date: 2023-12-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 56b62f3d3239f..1f09ec980ffd9 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-12-15 +date: 2023-12-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 d3041ae1da0b7..c5dc0785b12ce 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index caf2763fd05e9..df14babea87e7 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index a1dc1551eda3e..3b9dce1aecc89 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-12-15 +date: 2023-12-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 7d62c03b1d6d3..77e6c1e437bd4 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-12-15 +date: 2023-12-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 fc33ab80e6d3d..154866400377b 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-12-15 +date: 2023-12-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 6ad6cff0a8753..ff8e544777727 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-12-15 +date: 2023-12-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 201bd8e7479fc..139c96605e3a1 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 39b2407604229..68c6543507711 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-12-15 +date: 2023-12-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 67eac0d59dbbb..ce1376101a066 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-12-15 +date: 2023-12-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 3e2bc5f260da6..5b7c274b96d38 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-12-15 +date: 2023-12-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 7748a01776f3b..db0768e48530e 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-12-15 +date: 2023-12-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 7ff7abdafab98..64a08ab3bd03a 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-12-15 +date: 2023-12-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 7f8e2f8184b73..dd8ce0f83e189 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-12-15 +date: 2023-12-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 dcf56d561674c..1579d63107aa6 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-12-15 +date: 2023-12-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 90cb052f4e979..cfc170ae9c71e 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-12-15 +date: 2023-12-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 6aa36b278ee09..ff2bee118d1e2 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-12-15 +date: 2023-12-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 69a55e9a0206f..9d5642b200242 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-12-15 +date: 2023-12-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 369f3122236f4..2e8d2efcef85e 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-12-15 +date: 2023-12-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 21697d6922945..6586405b69f4a 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-12-15 +date: 2023-12-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 d012b358911f5..0af2a18d2e0ad 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-12-15 +date: 2023-12-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 947aebdc67192..79ae6f8cae052 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-12-15 +date: 2023-12-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 820320b12f461..f851714220ba8 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-12-15 +date: 2023-12-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 382aebb1a7209..1523346f549c2 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-12-15 +date: 2023-12-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 0deca1b99bb16..0e0a94014129b 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-12-15 +date: 2023-12-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 ff53463c3aacd..943fbeae49ae8 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-12-15 +date: 2023-12-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 0badba1c14b7b..847ed791b55c0 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-12-15 +date: 2023-12-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 95deb67eac426..fd8dbf6aeb2a0 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-12-15 +date: 2023-12-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 7e74aa1b063b6..93c84a0c1cd0d 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-12-15 +date: 2023-12-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 af3cc10e001a4..eccfc55cc463e 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-12-15 +date: 2023-12-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 ebcb1601c0b4e..d0b426325a91f 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-12-15 +date: 2023-12-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 a9142bf2b82ab..e6a532c3aceb9 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-12-15 +date: 2023-12-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 5f50c166158b2..71628a7577961 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-12-15 +date: 2023-12-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 1ee2b851f45e4..da99423a29595 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-12-15 +date: 2023-12-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 41be6afc9bf61..c150613207f02 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-12-15 +date: 2023-12-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 0da8105be967c..25956eb185d25 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-12-15 +date: 2023-12-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 ea478969f0b6f..12362ac8ecbc6 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-12-15 +date: 2023-12-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 caed5514cec11..7c70dc55a3ffe 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-12-15 +date: 2023-12-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 041b3c9fbf1ee..f386d602e4941 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-12-15 +date: 2023-12-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 61c8da6e78947..f7101884c6188 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-12-15 +date: 2023-12-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 89f802b9a974e..1d5bda56672a5 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-12-15 +date: 2023-12-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 33eb9ec2ea1d7..0d2ac06f94428 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-12-15 +date: 2023-12-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 3aa2cb1f9168a..6b4b01a1c5874 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-12-15 +date: 2023-12-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 b7000f15e8240..8e481f972b4f5 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-12-15 +date: 2023-12-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 585e167c9c012..bbd28276aea69 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-12-15 +date: 2023-12-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 ab33143fc3389..eb79c0e42a1cd 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-12-15 +date: 2023-12-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 1f81d62e2a942..60251844225e5 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-12-15 +date: 2023-12-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 b704eba06ddd5..c5cf1e22cb475 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-12-15 +date: 2023-12-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 01cb5dfdd92e4..0eb09af493ef0 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-12-15 +date: 2023-12-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 c0c84db29f184..d4e66258921cf 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-12-15 +date: 2023-12-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 e0a7abd5a1130..5fa972638fd00 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-12-15 +date: 2023-12-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 846038303130f..17fc8a3182059 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-12-15 +date: 2023-12-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 b2b867c555c96..cbc3fcc3e311c 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-12-15 +date: 2023-12-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 c520021021704..646b51d038446 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-12-15 +date: 2023-12-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 9f341559d7f48..398989460345b 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-12-15 +date: 2023-12-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 84b7e1cb9742e..387e0ec82c857 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-12-15 +date: 2023-12-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 133296ee2c761..a640a13e6c0fc 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-12-15 +date: 2023-12-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 bb371bb61ee3e..126433029b549 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-12-15 +date: 2023-12-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 aa0885aa0131a..06c8490d462ef 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-12-15 +date: 2023-12-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 e6baa1f61b1b0..04c5c4999f003 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-12-15 +date: 2023-12-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 e76301f168343..4c133c5cacb34 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-12-15 +date: 2023-12-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 4d73ed4e43668..5b8c7d751d111 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-12-15 +date: 2023-12-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 6f37f7609e400..7a7d21989899c 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-12-15 +date: 2023-12-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 86bb790edaefe..dbc1ad54e72e9 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-12-15 +date: 2023-12-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 05bad8e28c147..0b437d218e284 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-12-15 +date: 2023-12-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 69f70a662b9d0..35b002de3d6ef 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-12-15 +date: 2023-12-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 39f1ee203968e..594d9489debb6 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-12-15 +date: 2023-12-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 fd75c7e0aeb2f..0824bf97194e9 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-12-15 +date: 2023-12-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 44da32b99668976bda070c5f91653d9c0c6be636 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Sun, 17 Dec 2023 01:01:39 -0500 Subject: [PATCH 120/123] [api-docs] 2023-12-17 Daily api_docs build (#173482) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/554 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/ai_assistant_management_observability.mdx | 2 +- api_docs/ai_assistant_management_selection.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_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/dataset_quality.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_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.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_actions_types.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_alerting_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_collection_utils.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_bfetch_error.mdx | 2 +- api_docs/kbn_calculate_auto.mdx | 2 +- api_docs/kbn_calculate_width_from_char_count.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.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_common.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_contracts_browser.mdx | 2 +- api_docs/kbn_core_plugins_contracts_server.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- 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_model_versions.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_icons.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_agent_utils.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_elastic_assistant_common.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_field_utils.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_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_application.mdx | 2 +- api_docs/kbn_management_settings_components_field_category.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_components_form.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_chi2test.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_ui_actions.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_observability_alerting_test_data.mdx | 2 +- api_docs/kbn_observability_get_padded_alert_time_range_util.mdx | 2 +- api_docs/kbn_openapi_bundler.mdx | 2 +- api_docs/kbn_openapi_generator.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_panel_loader.mdx | 2 +- 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_reporting_export_types_csv.mdx | 2 +- api_docs/kbn_reporting_export_types_csv_common.mdx | 2 +- api_docs/kbn_reporting_export_types_pdf.mdx | 2 +- api_docs/kbn_reporting_export_types_pdf_common.mdx | 2 +- api_docs/kbn_reporting_export_types_png.mdx | 2 +- api_docs/kbn_reporting_export_types_png_common.mdx | 2 +- api_docs/kbn_reporting_mocks_server.mdx | 2 +- api_docs/kbn_reporting_public.mdx | 2 +- api_docs/kbn_reporting_server.mdx | 2 +- api_docs/kbn_resizable_layout.mdx | 2 +- 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_errors.mdx | 2 +- api_docs/kbn_search_index_documents.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_plugin_types_common.mdx | 2 +- api_docs/kbn_security_plugin_types_public.mdx | 2 +- api_docs/kbn_security_plugin_types_server.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- 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_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_error_boundary.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- 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_triggers_actions_ui_types.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_unsaved_changes_badge.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_visualization_utils.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kbn_zod_helpers.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.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/links.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/mock_idp_plugin.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_log_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 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 +- 632 files changed, 632 insertions(+), 632 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 068dff5a86920..651be840000ca 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-12-16 +date: 2023-12-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 a95ddcab9735c..f3f581eb79f34 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/ai_assistant_management_observability.mdx b/api_docs/ai_assistant_management_observability.mdx index 81f49610cc12e..1fef2544b59ee 100644 --- a/api_docs/ai_assistant_management_observability.mdx +++ b/api_docs/ai_assistant_management_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementObservability title: "aiAssistantManagementObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementObservability plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementObservability'] --- import aiAssistantManagementObservabilityObj from './ai_assistant_management_observability.devdocs.json'; diff --git a/api_docs/ai_assistant_management_selection.mdx b/api_docs/ai_assistant_management_selection.mdx index 2feae37561945..be6c8b7fe929d 100644 --- a/api_docs/ai_assistant_management_selection.mdx +++ b/api_docs/ai_assistant_management_selection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementSelection title: "aiAssistantManagementSelection" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementSelection plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementSelection'] --- import aiAssistantManagementSelectionObj from './ai_assistant_management_selection.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index cd60a54cd1b3a..fd14dcd90351d 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-12-16 +date: 2023-12-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 6438edd82949e..7ffea5c587d0d 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-12-16 +date: 2023-12-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 9f46860c954fa..c76fc46768904 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-12-16 +date: 2023-12-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 346128a61ea36..a3801af42f88a 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-12-16 +date: 2023-12-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 5cf5d6b33ef0e..3c30d0f90504c 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-12-16 +date: 2023-12-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 b5c2ab08dec18..caab3de80fe30 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-12-16 +date: 2023-12-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 efdf4016bdb44..8cccf0a555a8d 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-12-16 +date: 2023-12-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 4852b519ff7f8..b9d7ea2c715a3 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-12-16 +date: 2023-12-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 e592717760482..43b6de9050525 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-12-16 +date: 2023-12-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 d37d6f2a61aa2..51286e071f629 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-12-16 +date: 2023-12-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 99a2c661024ad..76f8cdc0f4c0a 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 36d9439262233..6fb8f26aa4444 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-12-16 +date: 2023-12-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 a80e2caff9438..de6f8612aa3c7 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-12-16 +date: 2023-12-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 0d8991edfab39..c21524af6c33f 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-12-16 +date: 2023-12-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 1cf7a8fb11d1b..e45dd062df8ec 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-12-16 +date: 2023-12-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 aaf57e7f0a7b8..727b22f16f3f5 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-12-16 +date: 2023-12-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 79e698e2dcee2..64ce1cd597d34 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-12-16 +date: 2023-12-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 84a002a66820a..48bf1b00d563a 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-12-16 +date: 2023-12-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 3a34b99b9a895..3f8932e8c19c3 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-12-16 +date: 2023-12-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 0e160667838b1..8e920f1e8407a 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-12-16 +date: 2023-12-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 d9b97a208a280..99c2450d5ad60 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-12-16 +date: 2023-12-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 f1ae7231c92e3..44c7d7e97ca23 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-12-16 +date: 2023-12-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 7f67013522e5b..e7eeb291a6655 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-12-16 +date: 2023-12-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 8b5c3afee32a2..1c555e1cc7950 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-12-16 +date: 2023-12-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 063e09ac3e92d..328ac28e6d838 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-12-16 +date: 2023-12-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 9633621146b86..029ec6043ea81 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-12-16 +date: 2023-12-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 5c81094bc5ac4..54e166721994f 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-12-16 +date: 2023-12-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 4bf9d5f07e184..599df52907dbe 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-12-16 +date: 2023-12-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 364227f72a5cb..17f2c23676785 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx index 6dd60b2fe304a..68b40090d6f6d 100644 --- a/api_docs/dataset_quality.mdx +++ b/api_docs/dataset_quality.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/datasetQuality title: "datasetQuality" image: https://source.unsplash.com/400x175/?github description: API docs for the datasetQuality plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'datasetQuality'] --- import datasetQualityObj from './dataset_quality.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 333e47b186888..691e7b92fe699 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index b1402d5ef96e1..3376e9d28fbb7 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index a713d594a11a4..4e1048cb980db 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 93c50e06b947a..54ab34e65ef63 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-12-16 +date: 2023-12-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 e1008c19c36d2..65b045c767a0a 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-12-16 +date: 2023-12-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 4b8385bf87632..628210804a531 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-12-16 +date: 2023-12-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 60f10b27beac9..6c4ab5aec0cd8 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-12-16 +date: 2023-12-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 9c0917f38cfa2..a7cdfb52161ca 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-12-16 +date: 2023-12-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 ef953fd850507..250fbd2a65fb2 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-12-16 +date: 2023-12-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 5175fa585c641..766009f92a693 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-12-16 +date: 2023-12-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 25ca5463a91e9..7f55e11f99d23 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-12-16 +date: 2023-12-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 762bbc900a692..3aef12dc0f204 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-12-16 +date: 2023-12-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 ae6d2dce0c800..d9fe39a266e57 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-12-16 +date: 2023-12-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 d12c61781fbf5..c5d76a472cbf4 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 1333015b83535..ed50e4146085b 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index c2b632daf06ee..e3cf0707fa272 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-12-16 +date: 2023-12-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 e73578b884c0b..244ac436fa267 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-12-16 +date: 2023-12-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 579216f419778..3a8f751f7b7b0 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-12-16 +date: 2023-12-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 36609c3c2ae14..9defed4892702 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-12-16 +date: 2023-12-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 43d64eecb0aea..2e4dd253e6e57 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-12-16 +date: 2023-12-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 d3bb0d4a68e85..41b3c49b3f4ae 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-12-16 +date: 2023-12-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 655a0ea2df52b..75e94fd863b21 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-12-16 +date: 2023-12-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 6c91d34b720b2..cecae793d7431 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-12-16 +date: 2023-12-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 6c2546ea1461a..f122b0f8b0134 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-12-16 +date: 2023-12-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 216e5a15e92c0..ca5ee9130fbbb 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-12-16 +date: 2023-12-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 0e69bf160f776..46d13f475c9b2 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-12-16 +date: 2023-12-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 d1def53c5ffdb..994e794f2354b 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-12-16 +date: 2023-12-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 43dfd2fe7785a..2b9ddeb8eda5f 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-12-16 +date: 2023-12-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 967e5913d1243..f1e34a67089c1 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-12-16 +date: 2023-12-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 36458985820c5..d39a0bac125aa 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-12-16 +date: 2023-12-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 b69ed2b934133..2e9cd724eb2b3 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-12-16 +date: 2023-12-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 d4f005a4be420..abab056015e13 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-12-16 +date: 2023-12-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 75e3eefe12939..e2dfb13d4fe31 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-12-16 +date: 2023-12-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 ccb120162aef5..226f6c92ff834 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-12-16 +date: 2023-12-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 7791b4f81fc63..83a4b548db3bd 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-12-16 +date: 2023-12-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 3d10ed7ebdfd9..d30000eb6281f 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-12-16 +date: 2023-12-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 4af286303d34a..de3d299dca4f1 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-12-16 +date: 2023-12-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 8731f19a15f00..52dbfc33ae715 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-12-16 +date: 2023-12-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 7532b6b3b0eba..a5520dd80e0bf 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-12-16 +date: 2023-12-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 1c911de3379f0..6824748e07ef9 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-12-16 +date: 2023-12-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 f47d256c75504..787dbffd6ba26 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-12-16 +date: 2023-12-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 495e7f737aad6..234b1bff02fa9 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-12-16 +date: 2023-12-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 32ea77f16809f..2cd2225fedac6 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-12-16 +date: 2023-12-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 e772a183fcb05..efae158649867 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-12-16 +date: 2023-12-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 ea10b65816f0d..50e5b49f86f88 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-12-16 +date: 2023-12-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 c600bb5918597..a247266fee3de 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-12-16 +date: 2023-12-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 2c5e370c9e986..1b7b65a964f85 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_actions_types.mdx b/api_docs/kbn_actions_types.mdx index 0def306f4fffd..fc46879f03b3d 100644 --- a/api_docs/kbn_actions_types.mdx +++ b/api_docs/kbn_actions_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-actions-types title: "@kbn/actions-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/actions-types plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/actions-types'] --- import kbnActionsTypesObj from './kbn_actions_types.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 588f370ff9fb3..276ff756eb4a0 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-12-16 +date: 2023-12-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 e4ff8ba31b45e..83276cf1d284d 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-12-16 +date: 2023-12-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 de04030cf3175..55b1f44de960d 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-12-16 +date: 2023-12-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 e08561aa11b01..75658df585a11 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-12-16 +date: 2023-12-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_alerting_types.mdx b/api_docs/kbn_alerting_types.mdx index 9dea2bd909728..1ceaecb3922d5 100644 --- a/api_docs/kbn_alerting_types.mdx +++ b/api_docs/kbn_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-types title: "@kbn/alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-types plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-types'] --- import kbnAlertingTypesObj from './kbn_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 1a1447d046a7f..bb607dee18a19 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-12-16 +date: 2023-12-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 2b2993f20fa1f..10fe5b36d4969 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-12-16 +date: 2023-12-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 0cfc1484a4cf1..3beda5280e051 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-12-16 +date: 2023-12-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 4eea333a1e6e6..1a4cfbfa4f1bd 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_collection_utils.mdx b/api_docs/kbn_analytics_collection_utils.mdx index ad375fa0a916c..2dc91bd21842e 100644 --- a/api_docs/kbn_analytics_collection_utils.mdx +++ b/api_docs/kbn_analytics_collection_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-collection-utils title: "@kbn/analytics-collection-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-collection-utils plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-collection-utils'] --- import kbnAnalyticsCollectionUtilsObj from './kbn_analytics_collection_utils.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 3a64fd43f34e1..5632ee6992951 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-12-16 +date: 2023-12-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 69a7264e2f677..e2afe0c8e935a 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-12-16 +date: 2023-12-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 f1aa127693c60..03e0e780d28a5 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-12-16 +date: 2023-12-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 cecb7f9cd2473..8cdb2c8da2879 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-12-16 +date: 2023-12-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 dd305013d2e27..645ec25117e9a 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-12-16 +date: 2023-12-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 4d23284a67add..6b758b3161c0e 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-12-16 +date: 2023-12-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 091d7412f7442..198e454f60a98 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-12-16 +date: 2023-12-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 8121decabd225..d4fc7a705b8a1 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-12-16 +date: 2023-12-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 fd91bcafac829..a4e1f44342d29 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-12-16 +date: 2023-12-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 95fb6eea19d12..acdea2383a301 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_bfetch_error.mdx b/api_docs/kbn_bfetch_error.mdx index a6887d9c51f7a..6a198879a0141 100644 --- a/api_docs/kbn_bfetch_error.mdx +++ b/api_docs/kbn_bfetch_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-bfetch-error title: "@kbn/bfetch-error" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/bfetch-error plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bfetch-error'] --- import kbnBfetchErrorObj from './kbn_bfetch_error.devdocs.json'; diff --git a/api_docs/kbn_calculate_auto.mdx b/api_docs/kbn_calculate_auto.mdx index 16b902ef51245..bb96acd42ab07 100644 --- a/api_docs/kbn_calculate_auto.mdx +++ b/api_docs/kbn_calculate_auto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-auto title: "@kbn/calculate-auto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-auto plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-auto'] --- import kbnCalculateAutoObj from './kbn_calculate_auto.devdocs.json'; diff --git a/api_docs/kbn_calculate_width_from_char_count.mdx b/api_docs/kbn_calculate_width_from_char_count.mdx index b0386b76aa8da..6bdeab67ff7e3 100644 --- a/api_docs/kbn_calculate_width_from_char_count.mdx +++ b/api_docs/kbn_calculate_width_from_char_count.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-width-from-char-count title: "@kbn/calculate-width-from-char-count" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-width-from-char-count plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-width-from-char-count'] --- import kbnCalculateWidthFromCharCountObj from './kbn_calculate_width_from_char_count.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index c2832c3dcc6f0..5de1ff58b8fe3 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-12-16 +date: 2023-12-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 1b4e570647579..4e02bcca01043 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-12-16 +date: 2023-12-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 66a1aa6894e27..90e65e1851673 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-12-16 +date: 2023-12-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 235a78cfaec50..86d18c59579d1 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-12-16 +date: 2023-12-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 17fed26016827..0e8a5c092d67f 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-12-16 +date: 2023-12-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 532248ffb8dfc..c0459c9d39fde 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-12-16 +date: 2023-12-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 7059cc4dd740d..e54c06be6e410 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-12-16 +date: 2023-12-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 f40000afcb95c..c2ae72d799d31 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-12-16 +date: 2023-12-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 7c170bab919e8..d396f598113a8 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 699ae029eaeaf..c1b28f6cfb3b7 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-12-16 +date: 2023-12-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 8c1c4601fc5a7..c72ff6e442ea7 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-12-16 +date: 2023-12-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 86296c8aecf92..e9501ecb92e01 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-12-16 +date: 2023-12-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 3508c5fdc14d8..dc10a12250079 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-12-16 +date: 2023-12-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 f948959de2e75..9fa2751633696 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-12-16 +date: 2023-12-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 19b19674103e3..d9a9ab58fe05d 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-12-16 +date: 2023-12-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 8f3617fe37906..e63874676eb7c 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-12-16 +date: 2023-12-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_common.mdx b/api_docs/kbn_content_management_table_list_view_common.mdx index ebf3a1bd6d20c..2c71227b1d830 100644 --- a/api_docs/kbn_content_management_table_list_view_common.mdx +++ b/api_docs/kbn_content_management_table_list_view_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-common title: "@kbn/content-management-table-list-view-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-common plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-common'] --- import kbnContentManagementTableListViewCommonObj from './kbn_content_management_table_list_view_common.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 7e9c2f9bc6665..8e6b32e077de3 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-12-16 +date: 2023-12-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 2d340ed4a268d..37bb7893c4af8 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-12-16 +date: 2023-12-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 b54600656988e..85dfaecf7247e 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-12-16 +date: 2023-12-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 037e3d018bc03..b1e54e9ef3128 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-12-16 +date: 2023-12-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 c15681b82a473..34b8e6a45746f 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-12-16 +date: 2023-12-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 a9df50964f198..e0fe0774fdcb8 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-12-16 +date: 2023-12-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 1edfa476a5091..46c9f28601ec0 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-12-16 +date: 2023-12-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 878251f92a6ab..2f2d465b33de7 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-12-16 +date: 2023-12-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 a4bb5385c3280..d54288c624b0c 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-12-16 +date: 2023-12-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 92034f8339cbc..44cd0978b17b0 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-12-16 +date: 2023-12-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 6892df8eb18d5..afb33a3e315ea 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-12-16 +date: 2023-12-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 3fa629a34e512..51bd562946ff1 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-12-16 +date: 2023-12-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 b94241c918516..992f54ba9c305 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-12-16 +date: 2023-12-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 040e6abcfdd20..f746eccc2f0fd 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-12-16 +date: 2023-12-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 bcc5ff243e4f9..121fa13e1d071 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-12-16 +date: 2023-12-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 9af80df499989..ed2c2ddc62de9 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-12-16 +date: 2023-12-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 2db6e06a9c731..724a84937643b 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-12-16 +date: 2023-12-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 7545eb26836a9..878b268991aad 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-12-16 +date: 2023-12-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 34fcb54ba6d60..1fd3e6ed1de12 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-12-16 +date: 2023-12-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 3220e3da7b0a8..5b405b7bc99ce 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-12-16 +date: 2023-12-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 cc4292ad56685..6a44f31242459 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-12-16 +date: 2023-12-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 d74de479eb2ea..1df8b8a4be71e 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-12-16 +date: 2023-12-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 82217abcbf82f..04ad44e8ed7fd 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-12-16 +date: 2023-12-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 ae6407be9f664..55ecf67350234 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-12-16 +date: 2023-12-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 1f9f735800566..b0d2e13c0de39 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-12-16 +date: 2023-12-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 9c21a886bc222..ace01cfb49d94 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-12-16 +date: 2023-12-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 fb7b012ea3c4f..8fda247fddef2 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-12-16 +date: 2023-12-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 a3f2dfe3e28cf..9da981c2aea40 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-12-16 +date: 2023-12-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 165b9b645fd11..b9ddef46d3b7a 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-12-16 +date: 2023-12-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 5e58074291737..cc95fceb2d7ce 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-12-16 +date: 2023-12-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 e6e2305871774..47b9b97c00890 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-12-16 +date: 2023-12-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 b8927bce4b015..fdc7149541740 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-12-16 +date: 2023-12-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 dbab96752fbeb..3a78c35f84463 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-12-16 +date: 2023-12-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 75e4afa9f4da6..757f7f6189d6f 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-12-16 +date: 2023-12-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 6525ecc8357cc..9470280d8f816 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-12-16 +date: 2023-12-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 0616e50ecac63..034b25b1046a2 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-12-16 +date: 2023-12-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 3de2cbfb971ed..1c17fe4b77b57 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-12-16 +date: 2023-12-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 4754ffc6bb121..69bfd92f62fe6 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-12-16 +date: 2023-12-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 c6656f518ea59..a45b6da201ba3 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-12-16 +date: 2023-12-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 56c7cadf9a479..e0fe7825fab21 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-12-16 +date: 2023-12-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 c5262c8420541..5c0ab4f6cbd1a 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-12-16 +date: 2023-12-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 8b2e4e4374e92..4a14b879c484e 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-12-16 +date: 2023-12-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 ca88b1c4e11f0..677a58da1de55 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-12-16 +date: 2023-12-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 7579afa6b33d9..653036f300c69 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-12-16 +date: 2023-12-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 c73d60c8d6966..62d207e9a9c38 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-12-16 +date: 2023-12-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 4c63695aadef7..0232127285164 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-12-16 +date: 2023-12-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 cb66b5727dcf2..1afe735b775e7 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-12-16 +date: 2023-12-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 67d5d54ef7c11..d9f9de79a9d43 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-12-16 +date: 2023-12-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 d6e5bf4f39abc..2080d3f2dcd00 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-12-16 +date: 2023-12-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 98dff26a78980..4e1c672d4abff 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-12-16 +date: 2023-12-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 7b6e10381e368..d562cbf11a1b5 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-12-16 +date: 2023-12-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 97fb051b67bfe..7b26e1f55ff79 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-12-16 +date: 2023-12-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 464a328ad080b..78fc78cd199ed 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-12-16 +date: 2023-12-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 9aa059f24e3fe..47aa91d83ab13 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-12-16 +date: 2023-12-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 b8221867f92af..3767ab29cf1cd 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-12-16 +date: 2023-12-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 da15a9aba0b42..4c462a2a26b2f 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-12-16 +date: 2023-12-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 17404ff3a217b..21f49231869de 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-12-16 +date: 2023-12-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 bf6d360e688e1..b8fe31eec3260 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-12-16 +date: 2023-12-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 71c4598d2796d..509e5a29dc1fa 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-12-16 +date: 2023-12-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 119ae9722118b..939f0436be921 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-12-16 +date: 2023-12-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 aaa5caa1ebcbc..8e7d54c83e4b3 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-12-16 +date: 2023-12-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 76e6b1cdf0377..8197d7a06dc7a 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-12-16 +date: 2023-12-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 b4e68c495953d..b80b185e38d82 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-12-16 +date: 2023-12-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 8d6c5eb164dcb..0c8e38a743c7b 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-12-16 +date: 2023-12-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 57720bf9ed455..6bdbfbb4a1825 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-12-16 +date: 2023-12-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 040f1c591720b..948f269619a7a 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-12-16 +date: 2023-12-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 4e2c55c18b6ee..96811b1395126 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-12-16 +date: 2023-12-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 7c5e6b2f5492a..20bdf165b6ecf 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-12-16 +date: 2023-12-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 b3ee7e0d3d2de..3f845e8093de8 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-12-16 +date: 2023-12-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 817535e489f5b..f6212345ac630 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-12-16 +date: 2023-12-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 64ab22407bbe2..3003fa0118808 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-12-16 +date: 2023-12-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 6d2b82415e0bf..dd9ad13f13c0b 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-12-16 +date: 2023-12-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 6efcf7dab848d..516fcd0f1afcb 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-12-16 +date: 2023-12-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 e2876e8c784a8..99a430020d21d 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-12-16 +date: 2023-12-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 3c021c28a020a..3472d04ec7712 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-12-16 +date: 2023-12-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 92e63cefcbc1a..1af571fe4804a 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-12-16 +date: 2023-12-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 bd725713569ed..8d978bb981cbd 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-12-16 +date: 2023-12-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 e456eba684122..29bc65469a558 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-12-16 +date: 2023-12-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 38fbf26cf8cfe..fc7a4a5a18a11 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-12-16 +date: 2023-12-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 a1e35777a4c0e..6be5ea76b7874 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-12-16 +date: 2023-12-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 4da17c82c6014..da9c308080dbe 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-12-16 +date: 2023-12-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 cd5bf00195510..e3eca665ba00d 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-12-16 +date: 2023-12-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 d4ba7d721bf75..1ed1fbaf6b727 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-12-16 +date: 2023-12-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 6d1726fcfe3dc..c8a6d207e070c 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-12-16 +date: 2023-12-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 13ec7062d87a4..90acb585dbf9e 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-12-16 +date: 2023-12-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 dd8bf5f273e0c..a2e25c9127826 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-12-16 +date: 2023-12-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 ca3834d3f004e..8a5dc600eb640 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-12-16 +date: 2023-12-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 13beca25273ed..54e973c1dd43c 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-12-16 +date: 2023-12-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 4844a5fe45e73..c22c8ca9922ca 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-12-16 +date: 2023-12-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 22987063a24ef..4113c8acb4729 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-12-16 +date: 2023-12-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 bc75d68715f6a..3b93e020da580 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-12-16 +date: 2023-12-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 02bbf91eb1964..0a540bccc6853 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-12-16 +date: 2023-12-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 1284391ee7c89..96ce8735bf1a3 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-12-16 +date: 2023-12-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 b84bebb710f01..4b34a25c6990a 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-12-16 +date: 2023-12-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 2eb456ca3758b..37f7ce94c4571 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-12-16 +date: 2023-12-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 6c81cf81b7ca4..7f8ca0a231073 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-12-16 +date: 2023-12-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 193a7557c9fa6..6b67f7a6f2be9 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-12-16 +date: 2023-12-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 27808fb41e9a9..d94c74e438748 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-12-16 +date: 2023-12-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 5127f5fa6d6c9..d8fc6b10bc071 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-12-16 +date: 2023-12-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 b62ac2148a181..21d3c10662b0a 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-12-16 +date: 2023-12-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 a6aa0daeba719..bef37d8885af1 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-12-16 +date: 2023-12-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 c20bb65cf8300..8caad746e7c7b 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-12-16 +date: 2023-12-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 48230cd66c4d5..074c29b652d93 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-12-16 +date: 2023-12-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 89ace1125b261..04130f44194e3 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-12-16 +date: 2023-12-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 20ef053eaca19..453e66d2f919a 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-12-16 +date: 2023-12-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 e4945e2f471b8..ea003435cdd89 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-12-16 +date: 2023-12-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 e5cfe7fe9fec4..53ad436789cd3 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-12-16 +date: 2023-12-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 f788185e26b82..82e33e972d2ac 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-12-16 +date: 2023-12-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_contracts_browser.mdx b/api_docs/kbn_core_plugins_contracts_browser.mdx index 15edbfcca90c9..1762d1e0086e0 100644 --- a/api_docs/kbn_core_plugins_contracts_browser.mdx +++ b/api_docs/kbn_core_plugins_contracts_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-browser title: "@kbn/core-plugins-contracts-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-browser plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-browser'] --- import kbnCorePluginsContractsBrowserObj from './kbn_core_plugins_contracts_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_contracts_server.mdx b/api_docs/kbn_core_plugins_contracts_server.mdx index cd72ab2b85773..afdb9796d425b 100644 --- a/api_docs/kbn_core_plugins_contracts_server.mdx +++ b/api_docs/kbn_core_plugins_contracts_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-server title: "@kbn/core-plugins-contracts-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-server plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-server'] --- import kbnCorePluginsContractsServerObj from './kbn_core_plugins_contracts_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 6d54f1aa73a3f..7c2fe3aba80c3 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-12-16 +date: 2023-12-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 997a9b38b01c0..bd1453213eb8f 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-12-16 +date: 2023-12-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 4a46723d1a565..5b5ce535cc4af 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-12-16 +date: 2023-12-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 c8a26cf19e4f1..ee542f6f670e1 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-12-16 +date: 2023-12-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 4d993134695af..491b66da76b3f 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-12-16 +date: 2023-12-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 7f970d49c94c5..26b4f46dd6cb8 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-12-16 +date: 2023-12-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 6fce590b12eef..292e3212d4f5c 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-12-16 +date: 2023-12-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 264f2db2c2bcb..e39032e753887 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-12-16 +date: 2023-12-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 dbf245800b351..47ae2ab327038 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-12-16 +date: 2023-12-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 15d49fe039697..f5ff025b6ac6e 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-12-16 +date: 2023-12-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 d390db2ae1def..0091bc3ff89aa 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-12-16 +date: 2023-12-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 9cc925a739658..9c12905196a49 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-12-16 +date: 2023-12-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 6613beecd7b7f..d30d7f22bf8e7 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-12-16 +date: 2023-12-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 0b9bdcd9a14c7..ef8a00f6937d0 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-12-16 +date: 2023-12-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 400e282b9980e..8db599e0110fc 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-12-16 +date: 2023-12-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 bbe1e5c145fb3..96c8fa1baf1d6 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-12-16 +date: 2023-12-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 a8d8e25c83013..becf722673969 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-12-16 +date: 2023-12-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 d2bbff04f15eb..9f0788a04fab8 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-12-16 +date: 2023-12-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 9ab61d1742a48..d290f73ce96ec 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-12-16 +date: 2023-12-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 a653d22cb3282..5e0ca18679c44 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-12-16 +date: 2023-12-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 6527dd1f15e5a..09db20e2f81ff 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-12-16 +date: 2023-12-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 6d612a4f6e5c9..b49596468a38d 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-12-16 +date: 2023-12-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 2d8458da7a3a6..af2081467155e 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-12-16 +date: 2023-12-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 490cdf3d6e0f8..aa091d96a7afd 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-12-16 +date: 2023-12-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 95348defac210..beda7c17809e6 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-12-16 +date: 2023-12-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 b89118190ebdd..623ed16e8d035 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-12-16 +date: 2023-12-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 73635317bf213..5c6af07e475f4 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-12-16 +date: 2023-12-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 979c4acc94fa2..b8d1c0e415424 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-12-16 +date: 2023-12-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 8bc1592132eb1..93a4618000d79 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-12-16 +date: 2023-12-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 b43a00cde2968..a265edba3a675 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-12-16 +date: 2023-12-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 ae8af585e1162..a261095bf2688 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-12-16 +date: 2023-12-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 381766ad8136b..003cc22401ecf 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-12-16 +date: 2023-12-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 bff8f3ef4aaba..33abf6a2efa66 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-12-16 +date: 2023-12-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_model_versions.mdx b/api_docs/kbn_core_test_helpers_model_versions.mdx index a1a98f020ad07..6ee1a0b20571d 100644 --- a/api_docs/kbn_core_test_helpers_model_versions.mdx +++ b/api_docs/kbn_core_test_helpers_model_versions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions title: "@kbn/core-test-helpers-model-versions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-model-versions plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-model-versions'] --- import kbnCoreTestHelpersModelVersionsObj from './kbn_core_test_helpers_model_versions.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 0aa0bf25f5c82..409efe42a3d10 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-12-16 +date: 2023-12-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 de84a0bcfc8d1..44578665bd5db 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-12-16 +date: 2023-12-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 9963abcb1ba87..d9578ced70b8a 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-12-16 +date: 2023-12-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 0f06c9275102f..de26c3ebdc3cd 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-12-16 +date: 2023-12-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 bb4f87f7bf15a..ea7bab26eedcf 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-12-16 +date: 2023-12-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 23bea09f62c7e..2111cf4c33377 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-12-16 +date: 2023-12-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 73d0c2982f052..d0744b8caec96 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-12-16 +date: 2023-12-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 30c0caf9273a7..84f63063e4620 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-12-16 +date: 2023-12-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 a388f81671ba4..5b10a03fd9ab0 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-12-16 +date: 2023-12-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 d65fd076a5de9..f182438c9558a 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-12-16 +date: 2023-12-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 fd7ab254d83ac..260fd6e597adf 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-12-16 +date: 2023-12-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 e7c8c5df9e071..dbc51bee6e81a 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-12-16 +date: 2023-12-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 976dc847b4cfb..b01aa02a28b34 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-12-16 +date: 2023-12-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 958d081fd8568..d6663533fb080 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-12-16 +date: 2023-12-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 b591ac47dc78b..6d9f62552fa23 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-12-16 +date: 2023-12-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 6229cb92b6ecc..8448741a73366 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-12-16 +date: 2023-12-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 8d770a225d3b7..463fce5b51dfb 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-12-16 +date: 2023-12-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 196600023a90f..65e373f8f8a8d 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-12-16 +date: 2023-12-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 62f936b77fe87..f8e2f8da52b92 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_icons.mdx b/api_docs/kbn_custom_icons.mdx index 384cb138a31f7..8b41a60c7b6a3 100644 --- a/api_docs/kbn_custom_icons.mdx +++ b/api_docs/kbn_custom_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-icons title: "@kbn/custom-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-icons plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-icons'] --- import kbnCustomIconsObj from './kbn_custom_icons.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index 3c5a7c141bae4..aae9e60af7dc6 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-12-16 +date: 2023-12-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 9ecfa6d39eec9..3ccc973cc6df5 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-12-16 +date: 2023-12-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 eed73da374abc..a0bf4bff2f6f8 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-12-16 +date: 2023-12-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 3439ded6b5bd6..61ed2ae64bc8b 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-12-16 +date: 2023-12-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 06ff21c9183ce..a4836affece76 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-12-16 +date: 2023-12-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 71894bf5c263c..e73efffbf18fa 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-12-16 +date: 2023-12-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 1273b0131a424..af75d66a1ba47 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-12-16 +date: 2023-12-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 a634b53f584eb..bcdb978dd07eb 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-12-16 +date: 2023-12-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 c497590c8e460..5871efadef398 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-12-16 +date: 2023-12-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 d822a74f45948..b7edc53566375 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-12-16 +date: 2023-12-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 9da7aa7ae6f3f..87554527e0e56 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-12-16 +date: 2023-12-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 f5ff05288cd73..79e24a4a3c17d 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-12-16 +date: 2023-12-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 a985390a0d984..fbbc98805d9c9 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-12-16 +date: 2023-12-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 4c46f7cb13ae3..39bbd7db442cf 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-12-16 +date: 2023-12-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 ec722aae393e0..e6e0c9d76aed1 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-12-16 +date: 2023-12-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 19b594f3aceab..c1d10babb92dd 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-12-16 +date: 2023-12-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 0de2d74060e88..a2cefc4b44527 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-12-16 +date: 2023-12-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 2052e5686acf4..ecd8deb5d15d9 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-12-16 +date: 2023-12-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 2c3332fdfa1bd..c0d50c24ab4ed 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-12-16 +date: 2023-12-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 4dcf14ad1bb01..58e9f69b330a4 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-12-16 +date: 2023-12-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 e8002fcf1bfba..576404da7c858 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-12-16 +date: 2023-12-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 1afc074128754..fb8c906fe7fe9 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-12-16 +date: 2023-12-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 be52d2dcbe8f5..7cac7b2a9ebcb 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-12-16 +date: 2023-12-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 c3a2afb52030c..39203838e56de 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-12-16 +date: 2023-12-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 9d162ea804da7..7505fbd3e8557 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-12-16 +date: 2023-12-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_agent_utils.mdx b/api_docs/kbn_elastic_agent_utils.mdx index abb032a0caeb1..ec742338e257d 100644 --- a/api_docs/kbn_elastic_agent_utils.mdx +++ b/api_docs/kbn_elastic_agent_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-agent-utils title: "@kbn/elastic-agent-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-agent-utils plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-agent-utils'] --- import kbnElasticAgentUtilsObj from './kbn_elastic_agent_utils.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 28cebf9e73d9e..e3ac08065b842 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant_common.mdx b/api_docs/kbn_elastic_assistant_common.mdx index ca9aa5f47ba38..adece70e2f5cf 100644 --- a/api_docs/kbn_elastic_assistant_common.mdx +++ b/api_docs/kbn_elastic_assistant_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant-common title: "@kbn/elastic-assistant-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant-common plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant-common'] --- import kbnElasticAssistantCommonObj from './kbn_elastic_assistant_common.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 42f6aa09608dd..854581a65d478 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-12-16 +date: 2023-12-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 527c2460f87e5..5e144c8c8e01f 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-12-16 +date: 2023-12-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 e918e09f33042..05a7e5b875a9d 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-12-16 +date: 2023-12-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 4b184799aa600..a4b0b76c9c696 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-12-16 +date: 2023-12-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 1218fa0bd5732..8e0fb880aab62 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-12-16 +date: 2023-12-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 7c0997f4f53e0..2edf3bcd6c550 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-12-16 +date: 2023-12-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 24cdd4fe7e80a..e93cbeff494f6 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-12-16 +date: 2023-12-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 d9f630cce441c..9d81a357966cc 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-12-16 +date: 2023-12-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 8c090ce7c7496..e13b92202c302 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-12-16 +date: 2023-12-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 09ce514557dec..084ac02a13c0d 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_field_utils.mdx b/api_docs/kbn_field_utils.mdx index 0509bff4c87a7..339022592f2f5 100644 --- a/api_docs/kbn_field_utils.mdx +++ b/api_docs/kbn_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-utils title: "@kbn/field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-utils plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-utils'] --- import kbnFieldUtilsObj from './kbn_field_utils.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 15ac6e6589f38..4439aa5c62f9c 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-12-16 +date: 2023-12-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 2408013649610..ef06395557a0f 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-12-16 +date: 2023-12-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 935ae44eaee5c..15d1185de831e 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-12-16 +date: 2023-12-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 df48f99e35b23..6a9c1ee798fc2 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-12-16 +date: 2023-12-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 35a5314c12d7a..bbb3b2116afca 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 11418c832fcf6..7722b35e3e8d5 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-12-16 +date: 2023-12-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 e5131fec3d701..5ccbc32aa69f4 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-12-16 +date: 2023-12-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 760665a1c53b0..e22774d88ffec 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-12-16 +date: 2023-12-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 6036209ef460c..7a7e61b8baba0 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-12-16 +date: 2023-12-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 b7c263f8569b7..d064ab341a435 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-12-16 +date: 2023-12-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 1a175b205bc6f..60edaf72cb344 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-12-16 +date: 2023-12-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 fcf6672e418aa..48fc09e682af7 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-12-16 +date: 2023-12-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 090c0c7a582f0..79af2a53d114a 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-12-16 +date: 2023-12-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 a9e23cc4ae9db..7a54c4246eeb9 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-12-16 +date: 2023-12-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 f74ac00f4abed..51282cb740e74 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-12-16 +date: 2023-12-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 e3e520ca48f19..c58ad469a23ed 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-12-16 +date: 2023-12-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 4fddd07481e27..83e30368593ac 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-12-16 +date: 2023-12-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 5f3976d8b197e..edd4e3d644969 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-12-16 +date: 2023-12-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 b51f346029d94..d552724330013 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-12-16 +date: 2023-12-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 fb1a6ad74bb0a..1de948a37f532 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-12-16 +date: 2023-12-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 9ac2900a2bfa0..5f87ad9e222dc 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-12-16 +date: 2023-12-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 766cfe5963a06..d4e52d330770c 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-12-16 +date: 2023-12-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 e618da38b7648..dee6c17f733c4 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-12-16 +date: 2023-12-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 3167aa5cadf14..9b739cba36133 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-12-16 +date: 2023-12-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 e4954aca39f71..c87317b6ccfc3 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-12-16 +date: 2023-12-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 f995d8dbd992f..889ca441da260 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-12-16 +date: 2023-12-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 58badfe692a2c..61eb35ba75ce1 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-12-16 +date: 2023-12-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_application.mdx b/api_docs/kbn_management_settings_application.mdx index e751a04be9de4..b8b3abe793e40 100644 --- a/api_docs/kbn_management_settings_application.mdx +++ b/api_docs/kbn_management_settings_application.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application title: "@kbn/management-settings-application" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-application plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-application'] --- import kbnManagementSettingsApplicationObj from './kbn_management_settings_application.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_category.mdx b/api_docs/kbn_management_settings_components_field_category.mdx index 729d86b2cdc51..876affbd431f8 100644 --- a/api_docs/kbn_management_settings_components_field_category.mdx +++ b/api_docs/kbn_management_settings_components_field_category.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category title: "@kbn/management-settings-components-field-category" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-category plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-category'] --- import kbnManagementSettingsComponentsFieldCategoryObj from './kbn_management_settings_components_field_category.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index a79507ffc7370..8a8ade092fab3 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-12-16 +date: 2023-12-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 76cff2e6a076d..8e59ca31454ae 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-12-16 +date: 2023-12-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_components_form.mdx b/api_docs/kbn_management_settings_components_form.mdx index 12fdc83a9915d..b2150711ef8ca 100644 --- a/api_docs/kbn_management_settings_components_form.mdx +++ b/api_docs/kbn_management_settings_components_form.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form title: "@kbn/management-settings-components-form" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-form plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-form'] --- import kbnManagementSettingsComponentsFormObj from './kbn_management_settings_components_form.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 5e81a4c592155..99ce27d0370fb 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-12-16 +date: 2023-12-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 64a74d5255dcf..f1c81384b2318 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-12-16 +date: 2023-12-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 dbbce8139afb0..376961e04b495 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-12-16 +date: 2023-12-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 7b7cd8fec2d79..a3cad295f062c 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-12-16 +date: 2023-12-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 14f1fb946033d..b239cf87c2eeb 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-12-16 +date: 2023-12-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 6172edd455231..558e2c5e45053 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-12-16 +date: 2023-12-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 5defbc894c18d..4f2bdd154deb6 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-12-16 +date: 2023-12-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 badc48a525c7c..b7750ac2d6d82 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-12-16 +date: 2023-12-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 2c94003d383b3..a289ff5c8ff91 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-12-16 +date: 2023-12-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 483c59ef29b93..3d233079c43c0 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-12-16 +date: 2023-12-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 d1bf218ec915a..d9df95cc05378 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-12-16 +date: 2023-12-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_chi2test.mdx b/api_docs/kbn_ml_chi2test.mdx index 193d178199d03..e5ebe4eba4a44 100644 --- a/api_docs/kbn_ml_chi2test.mdx +++ b/api_docs/kbn_ml_chi2test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test title: "@kbn/ml-chi2test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-chi2test plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-chi2test'] --- import kbnMlChi2testObj from './kbn_ml_chi2test.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 3b1ee8ae22827..e6a3abdbc126b 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-12-16 +date: 2023-12-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 973527f1b02c0..be24a77ad2e22 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-12-16 +date: 2023-12-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 b291a86e162cd..6652bf9b93c92 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-12-16 +date: 2023-12-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 3aa65f5c6661e..d030bd53deff7 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-12-16 +date: 2023-12-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 3ac39191d3cee..ff853c4d62694 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-12-16 +date: 2023-12-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 730a2dc4933b8..e7a3880875fa3 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-12-16 +date: 2023-12-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 8e78ac4dbee36..95326e3d95608 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-12-16 +date: 2023-12-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 81bb12cfa0ca7..283326fde9b38 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-12-16 +date: 2023-12-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 c87927df4ff7e..384ee82254ed7 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-12-16 +date: 2023-12-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 52870d1692b77..4e901d05cca9e 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-12-16 +date: 2023-12-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 4272e0f8d0673..88a69aaadb721 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-12-16 +date: 2023-12-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 8cd0991ec8464..637992bf97e13 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-12-16 +date: 2023-12-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 3884467228735..ec9c0558812d0 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-12-16 +date: 2023-12-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 3fff61bd135d5..c7e30355fa4f7 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-12-16 +date: 2023-12-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 e0eca3f761caa..d94c09771c483 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-12-16 +date: 2023-12-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 351877f0ce365..71f2974a6d034 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-12-16 +date: 2023-12-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 8dd2a559d5f55..302e3df40fb3d 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-12-16 +date: 2023-12-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 a6589cfdd8c13..fce0d944b8a92 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-12-16 +date: 2023-12-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_ui_actions.mdx b/api_docs/kbn_ml_ui_actions.mdx index 1b529a292adce..fbd8262cd7eb5 100644 --- a/api_docs/kbn_ml_ui_actions.mdx +++ b/api_docs/kbn_ml_ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-ui-actions title: "@kbn/ml-ui-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-ui-actions plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-ui-actions'] --- import kbnMlUiActionsObj from './kbn_ml_ui_actions.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index c68e1c92cefd6..3f42adc2d0c76 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-12-16 +date: 2023-12-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 f014088c7c48f..89efc2e9bbe8a 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-12-16 +date: 2023-12-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 215afc408fb6c..cd7f17ea9167d 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-12-16 +date: 2023-12-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 85c75533d8f1f..8e3bac08be5e1 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-12-16 +date: 2023-12-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_observability_alerting_test_data.mdx b/api_docs/kbn_observability_alerting_test_data.mdx index 4cedcba755c64..32d3722d08085 100644 --- a/api_docs/kbn_observability_alerting_test_data.mdx +++ b/api_docs/kbn_observability_alerting_test_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-test-data title: "@kbn/observability-alerting-test-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alerting-test-data plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-test-data'] --- import kbnObservabilityAlertingTestDataObj from './kbn_observability_alerting_test_data.devdocs.json'; diff --git a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx index 19c5b319dd200..cf7efb8578c86 100644 --- a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx +++ b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-get-padded-alert-time-range-util title: "@kbn/observability-get-padded-alert-time-range-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-get-padded-alert-time-range-util plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-get-padded-alert-time-range-util'] --- import kbnObservabilityGetPaddedAlertTimeRangeUtilObj from './kbn_observability_get_padded_alert_time_range_util.devdocs.json'; diff --git a/api_docs/kbn_openapi_bundler.mdx b/api_docs/kbn_openapi_bundler.mdx index cce06ebb1c2fb..b5c8af6dfc3e0 100644 --- a/api_docs/kbn_openapi_bundler.mdx +++ b/api_docs/kbn_openapi_bundler.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-bundler title: "@kbn/openapi-bundler" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-bundler plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-bundler'] --- import kbnOpenapiBundlerObj from './kbn_openapi_bundler.devdocs.json'; diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx index 06ab4de0c7795..1d543cec98966 100644 --- a/api_docs/kbn_openapi_generator.mdx +++ b/api_docs/kbn_openapi_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator title: "@kbn/openapi-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-generator plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-generator'] --- import kbnOpenapiGeneratorObj from './kbn_openapi_generator.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 0c24b99161a19..c5539baaa4059 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-12-16 +date: 2023-12-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 da582312bf075..db41b4e14a9eb 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-12-16 +date: 2023-12-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 c1941eaf8befb..ff5e600ac8464 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-12-16 +date: 2023-12-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_panel_loader.mdx b/api_docs/kbn_panel_loader.mdx index d0df5e3b53602..af5c491c3d9b0 100644 --- a/api_docs/kbn_panel_loader.mdx +++ b/api_docs/kbn_panel_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-panel-loader title: "@kbn/panel-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/panel-loader plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/panel-loader'] --- import kbnPanelLoaderObj from './kbn_panel_loader.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 5588bfdc19b55..23f58ff1e2afd 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-12-16 +date: 2023-12-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 5fd68110d4fb4..90cdb6b625d95 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-12-16 +date: 2023-12-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 5cd3d75799d81..992d7ec8eaeea 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-12-16 +date: 2023-12-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 2927e6f832b70..8971243988a34 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-12-16 +date: 2023-12-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 0ba5781a49e24..3c6f2cef5f71d 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-12-16 +date: 2023-12-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 aa6ea9647ea5c..265018bb051c2 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-12-16 +date: 2023-12-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 1509e6ded13fa..9e692f31404ff 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-12-16 +date: 2023-12-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 89c04f24dc5f9..4dde9397e00e0 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-12-16 +date: 2023-12-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 c163fe8b1d8b5..16bf377e69550 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-12-16 +date: 2023-12-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 a5e0f6cc02fd8..f612cde6287f1 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-12-16 +date: 2023-12-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 fa61c8b99b1be..e40ac5acafc66 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-12-16 +date: 2023-12-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 5bfea61c60b04..fb2d2df5b4ee7 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-12-16 +date: 2023-12-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 5cad75dd1a92f..465b4ac3ba1ec 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-12-16 +date: 2023-12-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 a7c93fd034eb1..e98f98b96d23f 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-12-16 +date: 2023-12-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 b1ed2f455418a..cfc4f1f85e0bd 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-12-16 +date: 2023-12-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 ac515dce002ce..b0a89fa035d1a 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-12-16 +date: 2023-12-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 ac51a4782a6c0..58c9b5259035c 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv.mdx b/api_docs/kbn_reporting_export_types_csv.mdx index c4858a3851898..7e1168b312b47 100644 --- a/api_docs/kbn_reporting_export_types_csv.mdx +++ b/api_docs/kbn_reporting_export_types_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv title: "@kbn/reporting-export-types-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv'] --- import kbnReportingExportTypesCsvObj from './kbn_reporting_export_types_csv.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv_common.mdx b/api_docs/kbn_reporting_export_types_csv_common.mdx index 4c63d911354a1..7911230ed95a8 100644 --- a/api_docs/kbn_reporting_export_types_csv_common.mdx +++ b/api_docs/kbn_reporting_export_types_csv_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv-common title: "@kbn/reporting-export-types-csv-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv-common plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv-common'] --- import kbnReportingExportTypesCsvCommonObj from './kbn_reporting_export_types_csv_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf.mdx b/api_docs/kbn_reporting_export_types_pdf.mdx index b886e256b8eaf..efd3e91993a44 100644 --- a/api_docs/kbn_reporting_export_types_pdf.mdx +++ b/api_docs/kbn_reporting_export_types_pdf.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf title: "@kbn/reporting-export-types-pdf" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf'] --- import kbnReportingExportTypesPdfObj from './kbn_reporting_export_types_pdf.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf_common.mdx b/api_docs/kbn_reporting_export_types_pdf_common.mdx index 0ca7a30f977a1..6f4e8463ac461 100644 --- a/api_docs/kbn_reporting_export_types_pdf_common.mdx +++ b/api_docs/kbn_reporting_export_types_pdf_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf-common title: "@kbn/reporting-export-types-pdf-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf-common plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf-common'] --- import kbnReportingExportTypesPdfCommonObj from './kbn_reporting_export_types_pdf_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png.mdx b/api_docs/kbn_reporting_export_types_png.mdx index 0b83b41ffb02e..2aa5120f7ed44 100644 --- a/api_docs/kbn_reporting_export_types_png.mdx +++ b/api_docs/kbn_reporting_export_types_png.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png title: "@kbn/reporting-export-types-png" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png'] --- import kbnReportingExportTypesPngObj from './kbn_reporting_export_types_png.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png_common.mdx b/api_docs/kbn_reporting_export_types_png_common.mdx index b9658765fb23c..8f844e612930f 100644 --- a/api_docs/kbn_reporting_export_types_png_common.mdx +++ b/api_docs/kbn_reporting_export_types_png_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png-common title: "@kbn/reporting-export-types-png-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png-common plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png-common'] --- import kbnReportingExportTypesPngCommonObj from './kbn_reporting_export_types_png_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_mocks_server.mdx b/api_docs/kbn_reporting_mocks_server.mdx index 7d03e890868e9..1d79d3da8c175 100644 --- a/api_docs/kbn_reporting_mocks_server.mdx +++ b/api_docs/kbn_reporting_mocks_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-mocks-server title: "@kbn/reporting-mocks-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-mocks-server plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-mocks-server'] --- import kbnReportingMocksServerObj from './kbn_reporting_mocks_server.devdocs.json'; diff --git a/api_docs/kbn_reporting_public.mdx b/api_docs/kbn_reporting_public.mdx index f891cc4afe8e1..0d1abe7b970aa 100644 --- a/api_docs/kbn_reporting_public.mdx +++ b/api_docs/kbn_reporting_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-public title: "@kbn/reporting-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-public plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-public'] --- import kbnReportingPublicObj from './kbn_reporting_public.devdocs.json'; diff --git a/api_docs/kbn_reporting_server.mdx b/api_docs/kbn_reporting_server.mdx index a5c5391c471d4..627c230575cb6 100644 --- a/api_docs/kbn_reporting_server.mdx +++ b/api_docs/kbn_reporting_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-server title: "@kbn/reporting-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-server plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-server'] --- import kbnReportingServerObj from './kbn_reporting_server.devdocs.json'; diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx index cecf9a0977a78..60670a10ace17 100644 --- a/api_docs/kbn_resizable_layout.mdx +++ b/api_docs/kbn_resizable_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout title: "@kbn/resizable-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/resizable-layout plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout'] --- import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 070e7ce6e5b74..830a91bf988f7 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-12-16 +date: 2023-12-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 d3d171757f751..41f45bfc07448 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-12-16 +date: 2023-12-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 abc5fa5487f14..6e48391018d7d 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-12-16 +date: 2023-12-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 c4b4d66d160ea..f6156ab482049 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-12-16 +date: 2023-12-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 c8547643ec74f..f42728f0fdfab 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-12-16 +date: 2023-12-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 c33735cc06240..bdcdcbec839ba 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_errors.mdx b/api_docs/kbn_search_errors.mdx index 288ede3e3393b..0a3e91d1c54be 100644 --- a/api_docs/kbn_search_errors.mdx +++ b/api_docs/kbn_search_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-errors title: "@kbn/search-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-errors plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-errors'] --- import kbnSearchErrorsObj from './kbn_search_errors.devdocs.json'; diff --git a/api_docs/kbn_search_index_documents.mdx b/api_docs/kbn_search_index_documents.mdx index efc53540477fc..93725d2c28fd6 100644 --- a/api_docs/kbn_search_index_documents.mdx +++ b/api_docs/kbn_search_index_documents.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-index-documents title: "@kbn/search-index-documents" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-index-documents plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-index-documents'] --- import kbnSearchIndexDocumentsObj from './kbn_search_index_documents.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 986bf2556b4b9..acf2aa4fa9770 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-12-16 +date: 2023-12-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_plugin_types_common.mdx b/api_docs/kbn_security_plugin_types_common.mdx index 4d774aa0ba320..220a8933a54b9 100644 --- a/api_docs/kbn_security_plugin_types_common.mdx +++ b/api_docs/kbn_security_plugin_types_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-common title: "@kbn/security-plugin-types-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-common plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-common'] --- import kbnSecurityPluginTypesCommonObj from './kbn_security_plugin_types_common.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_public.mdx b/api_docs/kbn_security_plugin_types_public.mdx index a593d14af7939..f00458b1e17a1 100644 --- a/api_docs/kbn_security_plugin_types_public.mdx +++ b/api_docs/kbn_security_plugin_types_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-public title: "@kbn/security-plugin-types-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-public plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-public'] --- import kbnSecurityPluginTypesPublicObj from './kbn_security_plugin_types_public.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_server.mdx b/api_docs/kbn_security_plugin_types_server.mdx index 0b824efc3f2d1..cb16fe684857d 100644 --- a/api_docs/kbn_security_plugin_types_server.mdx +++ b/api_docs/kbn_security_plugin_types_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-server title: "@kbn/security-plugin-types-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-server plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-server'] --- import kbnSecurityPluginTypesServerObj from './kbn_security_plugin_types_server.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 478429818d217..12b96e016d6c2 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-12-16 +date: 2023-12-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 b3fa3f450d806..d08bb0c41994d 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-12-16 +date: 2023-12-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 808da6daf7811..e910a27b63038 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-12-16 +date: 2023-12-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 5ea236ffac09e..8706a8e81e2c1 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-12-16 +date: 2023-12-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 b9f9c0ddde885..8b5250f26e0e0 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-12-16 +date: 2023-12-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 378a2d8a2561a..1dee393137a49 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-12-16 +date: 2023-12-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 510f1291eb3d1..78ac49bf7b427 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-12-16 +date: 2023-12-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 a9b6cfadc1a2d..83bac44bcb44c 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-12-16 +date: 2023-12-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 a2fefb20d1720..e91159c2ff311 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-12-16 +date: 2023-12-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 65aaa890c5edf..b8a710d4fdaf1 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-12-16 +date: 2023-12-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 1debe36f97b54..9f552a313466c 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-12-16 +date: 2023-12-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 21d896428ae74..150ee1b113c8e 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-12-16 +date: 2023-12-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 8e50b793211c4..21b76b5e1d97d 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-12-16 +date: 2023-12-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 cb6dc98c22e43..a6b3db4e01925 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-12-16 +date: 2023-12-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 4766a164c130e..b2d65fa485525 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-12-16 +date: 2023-12-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 0e6b4987b2bc1..e1647bd3ad908 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-12-16 +date: 2023-12-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 a9d6d1344aaf8..9695186416e61 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-12-16 +date: 2023-12-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 95d2300c9a43a..8283516783b33 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-12-16 +date: 2023-12-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 666419c1393e6..76968b0d7ec0b 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-12-16 +date: 2023-12-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 44c77807cc714..217fd78089899 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-12-16 +date: 2023-12-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 fd0f01ae4cbfe..3f186c0a85749 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-12-16 +date: 2023-12-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 0e21dca78d396..0fe794046e973 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-12-16 +date: 2023-12-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 3f27f784d3e76..bab6e99366c63 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-12-16 +date: 2023-12-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 39925a6247314..6a3622a477237 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-12-16 +date: 2023-12-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 8d08aeb42e650..4208896c8e634 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-12-16 +date: 2023-12-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 869ae0f5cbc32..68b1c74b1f346 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-12-16 +date: 2023-12-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 506647204b726..5061a9a11f633 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-12-16 +date: 2023-12-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 819dc20d4d2a7..4998a768143cd 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-12-16 +date: 2023-12-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 288d724a27b36..c2713ef6c3df5 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-12-16 +date: 2023-12-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 5eb857413b7b2..1084c8eae2c6c 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-12-16 +date: 2023-12-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 bb62d7a98c4bb..05706a7d108a2 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-12-16 +date: 2023-12-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 32173ebfcb42e..caecb3f5a0c84 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-12-16 +date: 2023-12-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_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 4742eba6c9046..333441ac203ab 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-12-16 +date: 2023-12-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_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 58a4bbf79f0d5..22d8e1129304b 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-12-16 +date: 2023-12-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 413c1886a7c53..8c865d29767ec 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-12-16 +date: 2023-12-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 1f3641233d026..4d1631f84b4bb 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-12-16 +date: 2023-12-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 510ed6eb2b960..a7d44e51f774d 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-12-16 +date: 2023-12-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_error_boundary.mdx b/api_docs/kbn_shared_ux_error_boundary.mdx index 4626ff5acb29c..ce6fed3b7f1b8 100644 --- a/api_docs/kbn_shared_ux_error_boundary.mdx +++ b/api_docs/kbn_shared_ux_error_boundary.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-error-boundary title: "@kbn/shared-ux-error-boundary" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-error-boundary plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-error-boundary'] --- import kbnSharedUxErrorBoundaryObj from './kbn_shared_ux_error_boundary.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index d74d8e8e3eb6f..de4dc223e1071 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-12-16 +date: 2023-12-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 5a1b190a8f068..49d1a68785c51 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-12-16 +date: 2023-12-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 1263b7b9ea7ee..2b6a8b9b117d6 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-12-16 +date: 2023-12-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 00637bac344aa..28a43388539bb 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-12-16 +date: 2023-12-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 956e9bcf65ee6..38b104d10aaf0 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-12-16 +date: 2023-12-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 d6a5dcdd80fee..23f90f7e075d0 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-12-16 +date: 2023-12-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 daf15e32c4816..f984d86d62e23 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-12-16 +date: 2023-12-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 e31cc51de261c..8eeae158e0f69 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-12-16 +date: 2023-12-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 154c6685e7b05..9be49a436c013 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-12-16 +date: 2023-12-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 365721705ab7b..259c7bf8df945 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-12-16 +date: 2023-12-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 8cb32ce0b17cf..134005c152166 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-12-16 +date: 2023-12-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 cc804e6fd4e75..530bc05cceff8 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-12-16 +date: 2023-12-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 55f0275250084..dbc23c6dbb7cd 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-12-16 +date: 2023-12-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 b9079d1ce7484..cbb5343e30030 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-12-16 +date: 2023-12-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 f60da4e525704..081bd9197618a 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-12-16 +date: 2023-12-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 52eed780b79f7..87dc0b2c39890 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-12-16 +date: 2023-12-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 55ba053f803df..9a03592da562f 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-12-16 +date: 2023-12-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 80745bfe9a109..6812e51bbcee8 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-12-16 +date: 2023-12-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 baeb446bb475c..c1ac7ec46c803 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-12-16 +date: 2023-12-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 58d22e6c4250a..f73e2fb8546b9 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-12-16 +date: 2023-12-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 14b04f2218ee5..bd58becf0a395 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-12-16 +date: 2023-12-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 9b79aa43cb5e4..bfa17574f295e 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-12-16 +date: 2023-12-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 4bb82df7e3be6..80919ccf34f05 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-12-16 +date: 2023-12-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 d40d3fd46c2fa..94a2ef4d30417 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-12-16 +date: 2023-12-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 54a7f2d5fb369..dedccde747a8d 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-12-16 +date: 2023-12-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 e77af9b558c0a..de95b91e82a00 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-12-16 +date: 2023-12-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 78a384846656a..6356e07bc8a5a 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-12-16 +date: 2023-12-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 b2fb14ea818c8..d61fbe3135ce8 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-12-16 +date: 2023-12-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 d7c6d4a0914b9..924fe296c0b33 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-12-16 +date: 2023-12-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 0f23d8e99dbc6..7ab47c2007f90 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-12-16 +date: 2023-12-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 20bd533752ede..23aeb86b0acfa 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-12-16 +date: 2023-12-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 56182f7adb4b3..d510f7be185a3 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-12-16 +date: 2023-12-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 63de1760c6120..d809e943d7a52 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-12-16 +date: 2023-12-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 d10fc1821114b..07b466c0edb0a 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-12-16 +date: 2023-12-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 c0211e5346da4..dfade7a54c5a9 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-12-16 +date: 2023-12-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 fac168efa9b79..d3cd5b3c17307 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-12-16 +date: 2023-12-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 08711118c674b..44c28e20721e7 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-12-16 +date: 2023-12-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 e57dcced5f397..36c679d9eb049 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-12-16 +date: 2023-12-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 b3562917eeee9..ba189b31d7b38 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-12-16 +date: 2023-12-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 5243fd75488fc..482e97f031c76 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-12-16 +date: 2023-12-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 54f3e61bfa008..a6a65f4098ddf 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-12-16 +date: 2023-12-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 6084983b79a1a..1082b1709fb41 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_triggers_actions_ui_types.mdx b/api_docs/kbn_triggers_actions_ui_types.mdx index 2bd569cd45154..c2f619c70bf4c 100644 --- a/api_docs/kbn_triggers_actions_ui_types.mdx +++ b/api_docs/kbn_triggers_actions_ui_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-triggers-actions-ui-types title: "@kbn/triggers-actions-ui-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/triggers-actions-ui-types plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/triggers-actions-ui-types'] --- import kbnTriggersActionsUiTypesObj from './kbn_triggers_actions_ui_types.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 6c5547d3fc578..5afaafd072310 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-12-16 +date: 2023-12-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 7ab9079159d42..53b32c07863dd 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-12-16 +date: 2023-12-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 8fede0476f813..3ae51cb56dea2 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-12-16 +date: 2023-12-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 b28ec02707f89..c217b41d9132a 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-12-16 +date: 2023-12-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 14e3a79f38185..34c610b833a17 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-12-16 +date: 2023-12-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 aca8b88a306ac..2a2b669656cd4 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-12-16 +date: 2023-12-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 65308063f917d..b044e312bbc8e 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-12-16 +date: 2023-12-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 0e39eec117aba..35d547bbbd4db 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-12-16 +date: 2023-12-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_unsaved_changes_badge.mdx b/api_docs/kbn_unsaved_changes_badge.mdx index 861ceb0a96e2d..67a392b5c0c12 100644 --- a/api_docs/kbn_unsaved_changes_badge.mdx +++ b/api_docs/kbn_unsaved_changes_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-badge title: "@kbn/unsaved-changes-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unsaved-changes-badge plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-badge'] --- import kbnUnsavedChangesBadgeObj from './kbn_unsaved_changes_badge.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index fff022ef2c793..58dbcc4baa8a8 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-12-16 +date: 2023-12-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 3d62399e27ef1..246710a985167 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-12-16 +date: 2023-12-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 eab60be45f21f..c744ee2f6c692 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-12-16 +date: 2023-12-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 6c93cb1b0d5f9..36a54b14c7adc 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-12-16 +date: 2023-12-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 d9ba4503b4844..355be443dc4b2 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-12-16 +date: 2023-12-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 9dccaaedfd23c..57058710351ac 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-12-16 +date: 2023-12-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 2f5050a0685d2..c6e0f60a42d70 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-12-16 +date: 2023-12-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_visualization_utils.mdx b/api_docs/kbn_visualization_utils.mdx index feed07620708f..192c699bc667e 100644 --- a/api_docs/kbn_visualization_utils.mdx +++ b/api_docs/kbn_visualization_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-utils title: "@kbn/visualization-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-utils plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-utils'] --- import kbnVisualizationUtilsObj from './kbn_visualization_utils.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index c1877335ae3b8..4ecaf5f8171f8 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-12-16 +date: 2023-12-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 b6fb30141b007..15518825b67ed 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kbn_zod_helpers.mdx b/api_docs/kbn_zod_helpers.mdx index d8230623d751c..8453aa4093e06 100644 --- a/api_docs/kbn_zod_helpers.mdx +++ b/api_docs/kbn_zod_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod-helpers title: "@kbn/zod-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/zod-helpers plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod-helpers'] --- import kbnZodHelpersObj from './kbn_zod_helpers.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index a96da3446a426..43c76e2a13c00 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-12-16 +date: 2023-12-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 ce4446f644a09..e07899776a1d3 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-12-16 +date: 2023-12-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 8eaf59b8d36a1..ee21afa7f32b0 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-12-16 +date: 2023-12-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 b7291782f00dd..4e484312ce93d 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-12-16 +date: 2023-12-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 88ce5aee2a4d2..9c49c0de639b9 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-12-16 +date: 2023-12-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 749e49200f10a..02eb229b1ad14 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-12-16 +date: 2023-12-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 1858743a46f35..f4e6c3ac075db 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-12-16 +date: 2023-12-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 200474be19b44..39e94b92ecc84 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/links.mdx b/api_docs/links.mdx index 8de9f60a4c4e0..ce5d55d58b17c 100644 --- a/api_docs/links.mdx +++ b/api_docs/links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/links title: "links" image: https://source.unsplash.com/400x175/?github description: API docs for the links plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'links'] --- import linksObj from './links.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 0f5e87b5ba6d6..a7e73bafa8b3d 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-12-16 +date: 2023-12-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 0deeeb46d7dbe..b210458cb2dc5 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-12-16 +date: 2023-12-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 36fce33fe04de..252d9c4e42374 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-12-16 +date: 2023-12-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 e75d347d1d825..e6dec6be146c2 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-12-16 +date: 2023-12-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 19b743548e940..9ac2072756a54 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-12-16 +date: 2023-12-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 6845d9f3aaa13..61d340ed54e96 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-12-16 +date: 2023-12-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 2a9b459e6c310..590f06d9e10e3 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-12-16 +date: 2023-12-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 a18b26e7f2b8f..8b012155b8f0f 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/mock_idp_plugin.mdx b/api_docs/mock_idp_plugin.mdx index 39096499d937d..82149713dc72c 100644 --- a/api_docs/mock_idp_plugin.mdx +++ b/api_docs/mock_idp_plugin.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mockIdpPlugin title: "mockIdpPlugin" image: https://source.unsplash.com/400x175/?github description: API docs for the mockIdpPlugin plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mockIdpPlugin'] --- import mockIdpPluginObj from './mock_idp_plugin.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 1a5a4d41067e7..47a01d87b99fb 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-12-16 +date: 2023-12-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 e311908247b6a..3cce4e47e32f8 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-12-16 +date: 2023-12-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 b18afeca1a7c6..49b0e917ca3a0 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-12-16 +date: 2023-12-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 b44d56fae75fc..49288ef1c78c3 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-12-16 +date: 2023-12-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 8dec5ed4823f3..1f4cbeae19352 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-12-16 +date: 2023-12-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 395adb5b439f7..e748ede06790b 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-12-16 +date: 2023-12-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 1f09ec980ffd9..6a27511a137bf 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-12-16 +date: 2023-12-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 c5dc0785b12ce..e8a12493d94ba 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index df14babea87e7..c4be17a0a7d02 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 3b9dce1aecc89..d52d4fcb37470 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-12-16 +date: 2023-12-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 77e6c1e437bd4..b85c065daac5e 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-12-16 +date: 2023-12-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 154866400377b..396c1681b30a6 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-12-16 +date: 2023-12-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 ff8e544777727..e722d2c6e073e 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-12-16 +date: 2023-12-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 139c96605e3a1..6a26318780d75 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 68c6543507711..73fbd4d40f657 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-12-16 +date: 2023-12-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 ce1376101a066..b7d277abf475b 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-12-16 +date: 2023-12-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 5b7c274b96d38..88de1e99849b5 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-12-16 +date: 2023-12-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 db0768e48530e..5dfd16525352c 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-12-16 +date: 2023-12-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 64a08ab3bd03a..6fb6e407f13a1 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-12-16 +date: 2023-12-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 dd8ce0f83e189..0bae1536457fd 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-12-16 +date: 2023-12-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 1579d63107aa6..ac42433e69e6e 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-12-16 +date: 2023-12-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 cfc170ae9c71e..4a5a8957c16d9 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-12-16 +date: 2023-12-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 ff2bee118d1e2..d4abcaad124d3 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-12-16 +date: 2023-12-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 9d5642b200242..60aa0907be9a5 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-12-16 +date: 2023-12-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 2e8d2efcef85e..c0832d2da4137 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-12-16 +date: 2023-12-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 6586405b69f4a..20ac0385e9847 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-12-16 +date: 2023-12-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 0af2a18d2e0ad..0c69781310121 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-12-16 +date: 2023-12-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 79ae6f8cae052..4e88769a19f83 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-12-16 +date: 2023-12-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 f851714220ba8..cc231fb65bdd6 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-12-16 +date: 2023-12-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 1523346f549c2..19763b63fa070 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-12-16 +date: 2023-12-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 0e0a94014129b..9b171157d2055 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-12-16 +date: 2023-12-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 943fbeae49ae8..33f09579cc2d7 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-12-16 +date: 2023-12-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 847ed791b55c0..4cdd814a74c4d 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-12-16 +date: 2023-12-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 fd8dbf6aeb2a0..4dde9480c73fa 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-12-16 +date: 2023-12-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 93c84a0c1cd0d..f21e319a265d8 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-12-16 +date: 2023-12-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 eccfc55cc463e..1b70899fddf6a 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-12-16 +date: 2023-12-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 d0b426325a91f..b6f503adf3a5b 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-12-16 +date: 2023-12-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 e6a532c3aceb9..f0815683e7725 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-12-16 +date: 2023-12-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 71628a7577961..df33ad133794e 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-12-16 +date: 2023-12-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 da99423a29595..40ddf6cd29ea5 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-12-16 +date: 2023-12-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 c150613207f02..aa4b1bfb81ce5 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-12-16 +date: 2023-12-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 25956eb185d25..96170a784b776 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-12-16 +date: 2023-12-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 12362ac8ecbc6..a8df02a511ecf 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-12-16 +date: 2023-12-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 7c70dc55a3ffe..61afc15f7ca45 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-12-16 +date: 2023-12-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 f386d602e4941..3122cad52e003 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-12-16 +date: 2023-12-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 f7101884c6188..8eee03a9f105b 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-12-16 +date: 2023-12-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 1d5bda56672a5..35216c806b453 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-12-16 +date: 2023-12-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 0d2ac06f94428..8c08910878c4a 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-12-16 +date: 2023-12-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 6b4b01a1c5874..42f900b044d98 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-12-16 +date: 2023-12-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 8e481f972b4f5..30ff3682059df 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-12-16 +date: 2023-12-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 bbd28276aea69..d0d64028ddb71 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-12-16 +date: 2023-12-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 eb79c0e42a1cd..1e5d8923f1f34 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-12-16 +date: 2023-12-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 60251844225e5..2803712df83e8 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-12-16 +date: 2023-12-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 c5cf1e22cb475..b85b5c14976a2 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-12-16 +date: 2023-12-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 0eb09af493ef0..d6dda37596631 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-12-16 +date: 2023-12-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 d4e66258921cf..5f868658cc3fd 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-12-16 +date: 2023-12-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 5fa972638fd00..453282b3e8630 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-12-16 +date: 2023-12-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 17fc8a3182059..4a706a00334ec 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-12-16 +date: 2023-12-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 cbc3fcc3e311c..d9c9c410de9ce 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-12-16 +date: 2023-12-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 646b51d038446..1c369ff4c281a 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-12-16 +date: 2023-12-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 398989460345b..5104ce731563c 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-12-16 +date: 2023-12-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 387e0ec82c857..b56a35a3bb22d 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-12-16 +date: 2023-12-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 a640a13e6c0fc..2e0cec22ae812 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-12-16 +date: 2023-12-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 126433029b549..b57851bc4183e 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-12-16 +date: 2023-12-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 06c8490d462ef..c702ae32b4fd7 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-12-16 +date: 2023-12-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 04c5c4999f003..e270b7844e332 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-12-16 +date: 2023-12-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 4c133c5cacb34..a5571add93e65 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-12-16 +date: 2023-12-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 5b8c7d751d111..de4905d7ffe7e 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-12-16 +date: 2023-12-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 7a7d21989899c..4cea3954d6ece 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-12-16 +date: 2023-12-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 dbc1ad54e72e9..b39ce1f1ef5df 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-12-16 +date: 2023-12-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 0b437d218e284..3cf6be58ae567 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-12-16 +date: 2023-12-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 35b002de3d6ef..161338aef9003 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-12-16 +date: 2023-12-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 594d9489debb6..189efe3be9eae 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-12-16 +date: 2023-12-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 0824bf97194e9..a9f8a176419a0 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-12-16 +date: 2023-12-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 111fb26640a3ad90f649c766617eccaa4b0e0f92 Mon Sep 17 00:00:00 2001 From: Jon Date: Sun, 17 Dec 2023 06:24:02 -0600 Subject: [PATCH 121/123] [ci/defend workflows] Run cypress tests on change (#173468) These tests are globally timing out. We can revert after the issue is resolved. See https://buildkite.com/elastic/kibana-on-merge/builds/39409 --- .buildkite/pipelines/on_merge.yml | 24 ------------------- .../pipelines/on_merge_unsupported_ftrs.yml | 24 +++++++++++++++++++ .buildkite/pipelines/pull_request/base.yml | 24 ------------------- .../pull_request/defend_workflows.yml | 24 +++++++++++++++++++ .../pipelines/pull_request/pipeline.ts | 13 ++++++++++ 5 files changed, 61 insertions(+), 48 deletions(-) create mode 100644 .buildkite/pipelines/pull_request/defend_workflows.yml diff --git a/.buildkite/pipelines/on_merge.yml b/.buildkite/pipelines/on_merge.yml index aa7a96bc8b4a8..27b48e0d18d4b 100644 --- a/.buildkite/pipelines/on_merge.yml +++ b/.buildkite/pipelines/on_merge.yml @@ -271,30 +271,6 @@ steps: - exit_status: '*' limit: 1 - - command: .buildkite/scripts/steps/functional/defend_workflows.sh - label: 'Defend Workflows Cypress Tests' - agents: - queue: n2-4-virt - depends_on: build - timeout_in_minutes: 60 - parallelism: 10 - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/defend_workflows_serverless.sh - label: 'Defend Workflows Cypress Tests on Serverless' - agents: - queue: n2-4-virt - depends_on: build - timeout_in_minutes: 60 - parallelism: 6 - retry: - automatic: - - exit_status: '*' - limit: 1 - - command: .buildkite/scripts/steps/functional/threat_intelligence.sh label: 'Threat Intelligence Cypress Tests' agents: diff --git a/.buildkite/pipelines/on_merge_unsupported_ftrs.yml b/.buildkite/pipelines/on_merge_unsupported_ftrs.yml index 8221e27ea7502..bf606f2e5abd5 100644 --- a/.buildkite/pipelines/on_merge_unsupported_ftrs.yml +++ b/.buildkite/pipelines/on_merge_unsupported_ftrs.yml @@ -61,3 +61,27 @@ steps: limit: 3 - exit_status: '*' limit: 1 + + - command: .buildkite/scripts/steps/functional/defend_workflows.sh + label: 'Defend Workflows Cypress Tests' + agents: + queue: n2-4-virt + depends_on: build + timeout_in_minutes: 60 + parallelism: 10 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/defend_workflows_serverless.sh + label: 'Defend Workflows Cypress Tests on Serverless' + agents: + queue: n2-4-virt + depends_on: build + timeout_in_minutes: 60 + parallelism: 6 + retry: + automatic: + - exit_status: '*' + limit: 1 diff --git a/.buildkite/pipelines/pull_request/base.yml b/.buildkite/pipelines/pull_request/base.yml index 223acd9220046..6011d1d78a696 100644 --- a/.buildkite/pipelines/pull_request/base.yml +++ b/.buildkite/pipelines/pull_request/base.yml @@ -249,30 +249,6 @@ steps: - exit_status: '*' limit: 1 - - command: .buildkite/scripts/steps/functional/defend_workflows.sh - label: 'Defend Workflows Cypress Tests' - agents: - queue: n2-4-virt - depends_on: build - timeout_in_minutes: 60 - parallelism: 16 - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/defend_workflows_serverless.sh - label: 'Defend Workflows Cypress Tests on Serverless' - agents: - queue: n2-4-virt - depends_on: build - timeout_in_minutes: 60 - parallelism: 6 - retry: - automatic: - - exit_status: '*' - limit: 1 - - command: .buildkite/scripts/steps/functional/threat_intelligence.sh label: 'Threat Intelligence Cypress Tests' agents: diff --git a/.buildkite/pipelines/pull_request/defend_workflows.yml b/.buildkite/pipelines/pull_request/defend_workflows.yml new file mode 100644 index 0000000000000..29d90461b04d5 --- /dev/null +++ b/.buildkite/pipelines/pull_request/defend_workflows.yml @@ -0,0 +1,24 @@ +steps: + - command: .buildkite/scripts/steps/functional/defend_workflows.sh + label: 'Defend Workflows Cypress Tests' + agents: + queue: n2-4-virt + depends_on: build + timeout_in_minutes: 60 + parallelism: 16 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/defend_workflows_serverless.sh + label: 'Defend Workflows Cypress Tests on Serverless' + agents: + queue: n2-4-virt + depends_on: build + timeout_in_minutes: 60 + parallelism: 6 + retry: + automatic: + - exit_status: '*' + limit: 1 diff --git a/.buildkite/scripts/pipelines/pull_request/pipeline.ts b/.buildkite/scripts/pipelines/pull_request/pipeline.ts index 9c7b02eb98604..0a305f49a811f 100644 --- a/.buildkite/scripts/pipelines/pull_request/pipeline.ts +++ b/.buildkite/scripts/pipelines/pull_request/pipeline.ts @@ -179,6 +179,19 @@ const uploadPipeline = (pipelineContent: string | object) => { pipeline.push(getPipeline('.buildkite/pipelines/pull_request/cypress_burn.yml')); } + if ( + (await doAnyChangesMatch([ + /^packages\/kbn-securitysolution-.*/, + /^x-pack\/plugins\/security_solution/, + /^x-pack\/test\/defend_workflows_cypress/, + /^x-pack\/test\/security_solution_cypress/, + /^fleet_packages\.json/, + ])) || + GITHUB_PR_LABELS.includes('ci:all-cypress-suites') + ) { + pipeline.push(getPipeline('.buildkite/pipelines/pull_request/defend_workflows.yml')); + } + pipeline.push(getPipeline('.buildkite/pipelines/pull_request/post_build.yml')); // remove duplicated steps From d54109d8f8243cae00f6871c73d3bdc19f4f9905 Mon Sep 17 00:00:00 2001 From: Dario Gieselaar Date: Sun, 17 Dec 2023 22:23:50 +0100 Subject: [PATCH 122/123] [Obs AI Assistant] ES|QL improvements (#173303) Use a combination of system prompt + recall for ES|QL to allow for: - faster responses - wider support of functions (e.g. any documented function is now supported, in theory) Performance for the current ES|QL scenarios is similar. Some things I've noticed: - ~for whatever reason it is much harder to get the LLM to not make certain mistakes. I've tried mentioning some mistakes close to the end of the conversation, but will explore other options.~ I am again opting for repeating common mistakes at the start of the message, but this time I'm allowing the LLM to pick them. - if we can prevent it from making "known" mistakes, we can figure out a way to have the LLM store known mistakes. This is also useful for other functions - another thing I want to figure out is if more examples improves for commands and custom documentation improves performance. but later. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- package.json | 4 +- .../public/application.tsx | 1 + .../load_esql_docs/extract_sections.ts | 41 ++ .../scripts/load_esql_docs/index.js | 10 + .../scripts/load_esql_docs/load_esql_docs.ts | 233 ++++++++ .../server/functions/esql.ts | 562 ------------------ .../server/functions/esql/docs/esql-abs.txt | 8 + .../server/functions/esql/docs/esql-acos.txt | 11 + .../server/functions/esql/docs/esql-asin.txt | 7 + .../server/functions/esql/docs/esql-atan.txt | 7 + .../server/functions/esql/docs/esql-atan2.txt | 8 + .../functions/esql/docs/esql-auto_bucket.txt | 27 + .../server/functions/esql/docs/esql-avg.txt | 6 + .../server/functions/esql/docs/esql-case.txt | 22 + .../server/functions/esql/docs/esql-ceil.txt | 10 + .../functions/esql/docs/esql-coalesce.txt | 5 + .../functions/esql/docs/esql-concat.txt | 6 + .../server/functions/esql/docs/esql-cos.txt | 7 + .../server/functions/esql/docs/esql-cosh.txt | 7 + .../server/functions/esql/docs/esql-count.txt | 10 + .../esql/docs/esql-count_distinct.txt | 28 + .../functions/esql/docs/esql-date_extract.txt | 6 + .../functions/esql/docs/esql-date_format.txt | 7 + .../functions/esql/docs/esql-date_parse.txt | 16 + .../functions/esql/docs/esql-date_trunc.txt | 8 + .../functions/esql/docs/esql-dissect.txt | 25 + .../server/functions/esql/docs/esql-drop.txt | 14 + .../server/functions/esql/docs/esql-e.txt | 5 + .../functions/esql/docs/esql-enrich.txt | 47 ++ .../server/functions/esql/docs/esql-eval.txt | 23 + .../server/functions/esql/docs/esql-floor.txt | 10 + .../server/functions/esql/docs/esql-from.txt | 29 + .../functions/esql/docs/esql-greatest.txt | 11 + .../server/functions/esql/docs/esql-grok.txt | 28 + .../server/functions/esql/docs/esql-keep.txt | 19 + .../server/functions/esql/docs/esql-least.txt | 11 + .../server/functions/esql/docs/esql-left.txt | 10 + .../functions/esql/docs/esql-length.txt | 6 + .../server/functions/esql/docs/esql-limit.txt | 24 + .../functions/esql/docs/esql-limitations.txt | 149 +++++ .../server/functions/esql/docs/esql-log10.txt | 8 + .../server/functions/esql/docs/esql-ltrim.txt | 10 + .../server/functions/esql/docs/esql-max.txt | 5 + .../functions/esql/docs/esql-median.txt | 9 + .../docs/esql-median_absolute_deviation.txt | 14 + .../server/functions/esql/docs/esql-min.txt | 5 + .../functions/esql/docs/esql-mv_avg.txt | 7 + .../functions/esql/docs/esql-mv_concat.txt | 11 + .../functions/esql/docs/esql-mv_count.txt | 8 + .../functions/esql/docs/esql-mv_dedupe.txt | 8 + .../functions/esql/docs/esql-mv_expand.txt | 11 + .../functions/esql/docs/esql-mv_max.txt | 11 + .../functions/esql/docs/esql-mv_median.txt | 10 + .../functions/esql/docs/esql-mv_min.txt | 11 + .../functions/esql/docs/esql-mv_sum.txt | 7 + .../server/functions/esql/docs/esql-now.txt | 4 + .../esql/docs/esql-numeric-fields.txt | 12 + .../functions/esql/docs/esql-operators.txt | 181 ++++++ .../functions/esql/docs/esql-overview.txt | 45 ++ .../functions/esql/docs/esql-percentile.txt | 32 + .../server/functions/esql/docs/esql-pi.txt | 5 + .../server/functions/esql/docs/esql-pow.txt | 13 + .../esql/docs/esql-processing-commands.txt | 17 + .../functions/esql/docs/esql-rename.txt | 18 + .../functions/esql/docs/esql-replace.txt | 7 + .../server/functions/esql/docs/esql-right.txt | 10 + .../server/functions/esql/docs/esql-round.txt | 8 + .../server/functions/esql/docs/esql-row.txt | 17 + .../server/functions/esql/docs/esql-rtrim.txt | 10 + .../server/functions/esql/docs/esql-show.txt | 15 + .../server/functions/esql/docs/esql-sin.txt | 7 + .../server/functions/esql/docs/esql-sinh.txt | 7 + .../server/functions/esql/docs/esql-sort.txt | 29 + .../esql/docs/esql-source-commands.txt | 7 + .../server/functions/esql/docs/esql-split.txt | 7 + .../server/functions/esql/docs/esql-sqrt.txt | 8 + .../server/functions/esql/docs/esql-stats.txt | 50 ++ .../functions/esql/docs/esql-substring.txt | 17 + .../server/functions/esql/docs/esql-sum.txt | 5 + .../functions/esql/docs/esql-syntax.txt | 94 +++ .../server/functions/esql/docs/esql-tan.txt | 7 + .../server/functions/esql/docs/esql-tanh.txt | 7 + .../server/functions/esql/docs/esql-tau.txt | 5 + .../functions/esql/docs/esql-to_boolean.txt | 10 + .../esql/docs/esql-to_cartesianpoint.txt | 8 + .../functions/esql/docs/esql-to_datetime.txt | 17 + .../functions/esql/docs/esql-to_degrees.txt | 7 + .../functions/esql/docs/esql-to_double.txt | 12 + .../functions/esql/docs/esql-to_geopoint.txt | 7 + .../functions/esql/docs/esql-to_integer.txt | 12 + .../server/functions/esql/docs/esql-to_ip.txt | 10 + .../functions/esql/docs/esql-to_long.txt | 12 + .../functions/esql/docs/esql-to_radians.txt | 7 + .../functions/esql/docs/esql-to_string.txt | 10 + .../esql/docs/esql-to_unsigned_long.txt | 12 + .../functions/esql/docs/esql-to_version.txt | 6 + .../server/functions/esql/docs/esql-trim.txt | 8 + .../server/functions/esql/docs/esql-where.txt | 51 ++ .../server/functions/esql/index.ts | 305 ++++++++++ .../server/functions/esql/system_message.txt | 220 +++++++ .../server/functions/get_dataset_info.ts | 12 +- .../server/functions/index.ts | 12 +- yarn.lock | 22 +- 103 files changed, 2432 insertions(+), 575 deletions(-) create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/load_esql_docs/extract_sections.ts create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/load_esql_docs/index.js create mode 100644 x-pack/plugins/observability_ai_assistant/scripts/load_esql_docs/load_esql_docs.ts delete mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql.ts create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-abs.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-acos.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-asin.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-atan.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-atan2.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-auto_bucket.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-avg.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-case.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-ceil.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-coalesce.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-concat.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-cos.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-cosh.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-count.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-count_distinct.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_extract.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_format.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_parse.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_trunc.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-dissect.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-drop.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-e.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-enrich.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-eval.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-floor.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-from.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-greatest.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-grok.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-keep.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-least.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-left.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-length.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-limit.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-limitations.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-log10.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-ltrim.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-max.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-median.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-median_absolute_deviation.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-min.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_avg.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_concat.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_count.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_dedupe.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_expand.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_max.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_median.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_min.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_sum.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-now.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-numeric-fields.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-operators.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-overview.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-percentile.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-pi.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-pow.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-processing-commands.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-rename.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-replace.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-right.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-round.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-row.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-rtrim.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-show.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sin.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sinh.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sort.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-source-commands.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-split.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sqrt.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-stats.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-substring.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sum.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-syntax.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tan.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tanh.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tau.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_boolean.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_cartesianpoint.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_datetime.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_degrees.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_double.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_geopoint.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_integer.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_ip.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_long.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_radians.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_string.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_unsigned_long.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_version.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-trim.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-where.txt create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/index.ts create mode 100644 x-pack/plugins/observability_ai_assistant/server/functions/esql/system_message.txt diff --git a/package.json b/package.json index 524e1e02cf6a2..d85136a35d99b 100644 --- a/package.json +++ b/package.json @@ -897,7 +897,7 @@ "canvg": "^3.0.9", "cbor-x": "^1.3.3", "chalk": "^4.1.0", - "cheerio": "^1.0.0-rc.10", + "cheerio": "^1.0.0-rc.12", "chroma-js": "^2.1.0", "classnames": "2.2.6", "color": "^4.2.3", @@ -1338,6 +1338,7 @@ "@types/chroma-js": "^2.1.0", "@types/chromedriver": "^81.0.5", "@types/classnames": "^2.2.9", + "@types/cli-progress": "^3.11.5", "@types/color": "^3.0.3", "@types/cytoscape": "^3.14.0", "@types/d3": "^3.5.43", @@ -1500,6 +1501,7 @@ "chance": "1.0.18", "chromedriver": "^119.0.1", "clean-webpack-plugin": "^3.0.0", + "cli-progress": "^3.12.0", "cli-table3": "^0.6.1", "copy-webpack-plugin": "^6.0.2", "cpy": "^8.1.1", diff --git a/x-pack/plugins/observability_ai_assistant/public/application.tsx b/x-pack/plugins/observability_ai_assistant/public/application.tsx index 9ae03a3d72f6a..15ed0243bd921 100644 --- a/x-pack/plugins/observability_ai_assistant/public/application.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/application.tsx @@ -42,6 +42,7 @@ export function Application({ ) { + const sections: Array<{ + title: string; + content: string; + }> = []; + cheerio.find('.section h3').each((index, element) => { + let untilNextHeader = $(element).nextUntil('h3'); + + if (untilNextHeader.length === 0) { + untilNextHeader = $(element).parents('.titlepage').nextUntil('h3'); + } + + if (untilNextHeader.length === 0) { + untilNextHeader = $(element).parents('.titlepage').nextAll(); + } + + const title = $(element).text().trim().replace('edit', ''); + + untilNextHeader.find('table').remove(); + untilNextHeader.find('svg').remove(); + + const text = untilNextHeader.text(); + + const content = text.replaceAll(/([\n]\s*){2,}/g, '\n'); + + sections.push({ + title: title === 'STATS ... BY' ? 'STATS' : title, + content: `${title}\n\n${content}`, + }); + }); + + return sections; +} diff --git a/x-pack/plugins/observability_ai_assistant/scripts/load_esql_docs/index.js b/x-pack/plugins/observability_ai_assistant/scripts/load_esql_docs/index.js new file mode 100644 index 0000000000000..b9f96574c6e61 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/load_esql_docs/index.js @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +require('@kbn/babel-register').install(); + +require('./load_esql_docs'); diff --git a/x-pack/plugins/observability_ai_assistant/scripts/load_esql_docs/load_esql_docs.ts b/x-pack/plugins/observability_ai_assistant/scripts/load_esql_docs/load_esql_docs.ts new file mode 100644 index 0000000000000..20bb43cd49d11 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/scripts/load_esql_docs/load_esql_docs.ts @@ -0,0 +1,233 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { run } from '@kbn/dev-cli-runner'; +import $, { load } from 'cheerio'; +import { SingleBar } from 'cli-progress'; +import FastGlob from 'fast-glob'; +import Fs from 'fs/promises'; +import { once, partition } from 'lodash'; +import pLimit from 'p-limit'; +import Path from 'path'; +import git, { SimpleGitProgressEvent } from 'simple-git'; +import yargs, { Argv } from 'yargs'; +import { extractSections } from './extract_sections'; + +yargs(process.argv.slice(2)) + .command( + '*', + 'Extract ES|QL documentation for the Observability AI Assistant', + (y: Argv) => + y.option('logLevel', { + describe: 'Log level', + string: true, + default: process.env.LOG_LEVEL || 'info', + choices: ['info', 'debug', 'silent', 'verbose'], + }), + (argv) => { + run( + async ({ log }) => { + const builtDocsDir = Path.join(__dirname, '../../../../../../built-docs'); + + log.debug(`Looking in ${builtDocsDir} for built-docs repository`); + + const dirExists = await Fs.stat(builtDocsDir); + + const getProgressHandler = () => { + let stage: string = ''; + let method: string = ''; + const loader: SingleBar = new SingleBar({ + barsize: 25, + format: `{phase} {bar} {percentage}%`, + }); + + const start = once(() => { + loader.start(100, 0, { phase: 'initializing' }); + }); + + return { + progress: (event: SimpleGitProgressEvent) => { + start(); + if (event.stage !== stage || event.method !== method) { + stage = event.stage; + method = event.method; + } + loader.update(event.progress, { phase: event.method + '/' + event.stage }); + }, + stop: () => loader.stop(), + }; + }; + + if (!dirExists) { + log.info('Cloning built-docs repo. This will take a while.'); + + const { progress, stop } = getProgressHandler(); + await git(Path.join(builtDocsDir, '..'), { + progress, + }).clone(`https://github.com/elastic/built-docs`, builtDocsDir, ['--depth', '1']); + + stop(); + } + + const { progress, stop } = getProgressHandler(); + + const builtDocsGit = git(builtDocsDir, { progress }); + + log.debug('Initializing simple-git'); + await builtDocsGit.init(); + + log.info('Making sure built-docs is up to date'); + await builtDocsGit.pull(); + + const files = FastGlob.sync( + `${builtDocsDir}/html/en/elasticsearch/reference/master/esql*.html` + ); + + if (!files) { + throw new Error('No files found'); + } + + const limiter = pLimit(10); + + stop(); + + log.info(`Processing ${files.length} files`); + + const documents: Array> = await Promise.all( + files.map((file) => + limiter(async () => { + const fileContents = await Fs.readFile(file); + const $element = load(fileContents.toString())('*'); + + function getSimpleText() { + $element.remove('.navfooter'); + $element.remove('#sticky_content'); + $element.find('code').each(function () { + $(this).replaceWith('`' + $(this).text() + '`'); + }); + return $element + .find('.section,section,.part') + .last() + .text() + .replaceAll(/([\n]\s*){2,}/g, '\n'); + } + + switch (Path.basename(file)) { + case 'esql-commands.html': + return extractSections($element); + + case 'esql-limitations.html': + return [ + { + title: 'Limitations', + content: getSimpleText(), + }, + ]; + + case 'esql-syntax.html': + return [ + { + title: 'Syntax', + content: getSimpleText(), + }, + ]; + case 'esql.html': + return [ + { + title: 'Overview', + content: getSimpleText().replace( + /The ES\|QL documentation is organized in these sections(.*)$/, + '' + ), + }, + ]; + + case 'esql-functions-operators.html': + const sections = extractSections($element); + + const searches = [ + 'Binary operators', + 'Equality', + 'Inequality', + 'Less than', + 'Greater than', + 'Add +', + 'Subtract -', + 'Multiply *', + 'Divide /', + 'Modulus %', + 'Unary operators', + 'Logical operators', + 'IS NULL', + ]; + + const matches = [ + 'CIDR_MATCH', + 'ENDS_WITH', + 'IN', + 'IS_FINITE', + 'IS_INFINITE', + 'IS_NAN', + 'LIKE', + 'RLIKE', + 'STARTS_WITH', + ]; + + const [operatorSections, allOtherSections] = partition(sections, (section) => { + return ( + matches.includes(section.title) || + searches.some((search) => + section.title.toLowerCase().startsWith(search.toLowerCase()) + ) + ); + }); + + return allOtherSections.concat({ + title: 'Operators', + content: operatorSections + .map(({ title, content }) => `${title}\n${content}`) + .join('\n'), + }); + + default: + break; + } + return []; + }) + ) + ); + + const flattened = documents.flat().filter((doc) => { + return !doc.title.startsWith('ES|QL'); + }); + + const outDir = Path.join(__dirname, '../../server/functions/esql/docs'); + + log.info(`Writing ${flattened.length} documents to disk to ${outDir}`); + + log.debug(`Clearing ${outDir}`); + + await Fs.rm(outDir, { recursive: true }); + + await Fs.mkdir(outDir); + + await Promise.all( + flattened.map((doc) => + limiter(async () => { + const fileName = Path.join( + outDir, + `esql-${doc.title.replaceAll(' ', '-').toLowerCase()}.txt` + ); + await Fs.writeFile(fileName, doc.content); + }) + ) + ); + }, + { log: { defaultLevel: argv.logLevel as any }, flags: { allowUnexpected: true } } + ); + } + ) + .parse(); diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql.ts b/x-pack/plugins/observability_ai_assistant/server/functions/esql.ts deleted file mode 100644 index 88997452c0ad8..0000000000000 --- a/x-pack/plugins/observability_ai_assistant/server/functions/esql.ts +++ /dev/null @@ -1,562 +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 dedent from 'dedent'; -import { Observable } from 'rxjs'; -import type { FunctionRegistrationParameters } from '.'; -import { - type CreateChatCompletionResponseChunk, - FunctionVisibility, - MessageRole, -} from '../../common/types'; -import { processOpenAiStream } from '../../common/utils/process_openai_stream'; -import { streamIntoObservable } from '../service/util/stream_into_observable'; - -export function registerEsqlFunction({ - client, - registerFunction, - resources, -}: FunctionRegistrationParameters) { - registerFunction( - { - name: 'execute_query', - contexts: ['core'], - visibility: FunctionVisibility.User, - description: 'Execute an ES|QL query', - parameters: { - type: 'object', - additionalProperties: false, - properties: { - query: { - type: 'string', - }, - }, - required: ['query'], - } as const, - }, - async ({ arguments: { query } }) => { - const response = await ( - await resources.context.core - ).elasticsearch.client.asCurrentUser.transport.request({ - method: 'POST', - path: '_query', - body: { - query, - }, - }); - - return { content: response }; - } - ); - - registerFunction( - { - name: 'esql', - contexts: ['core'], - description: `This function answers ES|QL related questions including query generation and syntax/command questions.`, - visibility: FunctionVisibility.System, - parameters: { - type: 'object', - additionalProperties: false, - properties: { - switch: { - type: 'boolean', - }, - }, - } as const, - }, - async ({ messages, connectorId }, signal) => { - const systemMessage = dedent(`You are a helpful assistant for Elastic ES|QL. - Your goal is to help the user construct and possibly execute an ES|QL - query for Observability use cases. - - ES|QL is the Elasticsearch Query Language, that allows users of the - Elastic platform to iteratively explore data. An ES|QL query consists - of a series of commands, separated by pipes. Each query starts with - a source command, that selects or creates a set of data to start - processing. This source command is then followed by one or more - processing commands, which can transform the data returned by the - previous command. - - ES|QL is not Elasticsearch SQL, nor is it anything like SQL. SQL - commands are not available in ES|QL. Its close equivalent is SPL - (Search Processing Language). Make sure you reply using only - the context of this conversation. - - # Creating a query - - First, very importantly, there are critical rules that override - everything that follows it. Always repeat these rules, verbatim. - - 1. ES|QL is not Elasticsearch SQL. Do not apply Elasticsearch SQL - commands, functions and concepts. Only use information available - in the context of this conversation. - 2. Use a WHERE clause as early and often as possible, because - it limits the number of documents that need to be evaluated. - 3. Use EVAL to create new columns that require mathemetical - operations or non-aggregation functions like CASE, ROUND or - DATE_EXTRACT. YOU MUST DO THIS before using these operations - in a STATS command. - 4. DO NOT UNDER ANY CIRCUMSTANCES: - - wrap a data source in single or double quotes when using FROM - - use COUNT(*) or COUNT(). A single argument (field name) is - required, like COUNT(my.field.name). - - use the AS keyword. Create a new column by using the = operator. - this is wrong: STATS SUM(field) AS sum_field. - - When constructing a query, break it down into the following steps. - Ask these questions out loud so the user can see your reasoning. - Remember, these rules are for you, not for the user. - - - What are the critical rules I need to think of? - - What data source is the user requesting? What command should I - select for this data source? Don't use any quotes to wrap the - source. - - Does the data set need to be filtered? Use the WHERE clause for - this, as it improves performance. - - Do I need to add columns that use math or other non-aggregation - functions like CASE using the EVAL command before I run the STATS - BY command with aggregation functions? - - If I run a STATS command, what columns are available after the - command? - - What are the steps needed to get the result that the user needs? - Break each operation down into its own step. Reason about what data - is the outcome of each command or function. - - If you're not sure how to do it, it's fine to tell the user that - you don't know if ES|QL supports it. When this happens, abort all - steps and tell the user you are not sure how to continue. - - Format ALL of your responses as follows, including the dashes. - ALWAYS start your message with two dashes and then the rules: - - \`\`\` - -- - Sure, let's remember the critical rules: - - -- - Let's break down the query step-by-step: - - - \`\`\`esql - - \`\`\` - \`\`\` - - Always format a complete query as follows: - \`\`\`esql - ... - \`\`\` - - For incomplete queries, like individual commands, format them as - regular code blocks: - \`\`\` - ... - \`\`\` - - # Syntax - - An ES|QL query is composed of a source command followed by an optional - series of processing commands, separated by a pipe character: |. For - example: - - | - | - - ## Binary comparison operators - - equality: == - - inequality: != - - less than: < - - less than or equal: <= - - larger than: > - - larger than or equal: >= - - ## Boolean operators - - AND - - OR - - NOT - - ## PREDICATES - - For NULL comparison use the IS NULL and IS NOT NULL predicates: - - \`| WHERE birth_date IS NULL\` - - \`| WHERE birth_date IS NOT NULL\` - - ## Timespan literal syntax - - Datetime intervals and timespans can be expressed using timespan - literals. Timespan literals are a combination of a number and a - qualifier. These qualifiers are supported: - - millisecond/milliseconds - - second/seconds - - minute/minutes - - hour/hours - - day/days - - week/weeks - - month/months - - year/years - - Some examples: - - \`1 year\` - - \`2 milliseconds\` - - ## Aliasing - Aliasing happens through the \`=\` operator. Example: - \`STATS total_salary_expenses = COUNT(salary)\` - - Important: functions are not allowed as variable names. - - # Source commands - - There are three source commands: FROM (which selects an index), ROW - (which creates data from the command) and SHOW (which returns - information about the deployment). You do not support SHOW for now. - - ### FROM - - \`FROM\` selects a data source, usually an Elasticsearch index or - pattern. You can also specify multiple indices. DO NOT UNDER ANY - CIRCUMSTANCES wrap an index or pattern in single or double quotes - as such: \`FROM "my_index.pattern-*"\`. - Some examples: - - - \`FROM employees\` - - \`FROM employees.annual_salaries-*\` - - \`FROM employees*,my-alias,my-index.with-a-dot*\` - - # Processing commands - - Note that the following processing commands are available in ES|QL, - but not supported in this context: - - ENRICH,GROK,MV_EXPAND,RENAME - - ### DISSECT - - \`DISSECT\` enables you to extract structured data out of a string. - It matches the string against a delimiter-based pattern, and extracts - the specified keys as columns. It uses the same syntax as the - Elasticsearch Dissect Processor. DO NOT UNDER ANY CIRCUMSTANCES use - single quotes instead of double quotes. Some examples: - - - \`ROW a = "foo bar" | DISSECT a "%{b} %{c}";\` - - \`ROW a = "foo bar baz" | DISSECT a "%{b} %{?c} %{d}";\` - - ### DROP - - \`DROP\` removes columns. Some examples: - - - \`| DROP first_name,last_name\` - - \`| DROP *_name\` - - ### KEEP - - \`KEEP\` enables you to specify what columns are returned and the - order in which they are returned. Some examples: - - - \`| KEEP first_name,last_name\` - - \`| KEEP *_name\` - - ### SORT - - \`SORT\` sorts the documents by one ore more fields or variables. - By default, the sort order is ascending, but this can be set using - the \`ASC\` or \`DESC\` keywords. Some examples: - - - \`| SORT my_field\` - - \`| SORT height DESC\` - - DO NOT UNDER ANY CIRCUMSTANCES use functions or math as part of the - sort statement. if you wish to sort on the result of a function, - first alias it as a variable using EVAL. - This is wrong: \`| SORT AVG(cpu)\`. - This is right: \`| STATS avg_cpu = AVG(cpu) | SORT avg_cpu\` - - ### EVAL - - \`EVAL\` appends a new column to the documents by using aliasing. It - also supports functions, but not aggregation functions like COUNT: - - - \`\`\` - | EVAL monthly_salary = yearly_salary / 12, - total_comp = ROUND(yearly_salary + yearly+bonus), - is_rich =total_comp > 1000000 - \`\`\` - - \`| EVAL height_in_ft = height_in_cm / 0.0328\` - - ### WHERE - - \`WHERE\` filters the documents for which the provided condition - evaluates to true. Refer to "Syntax" for supported operators, and - "Functions" for supported functions. When using WHERE, make sure - that the columns in your statement are still available. Some - examples: - - - \`| WHERE height <= 180 AND GREATEST(hire_date, birth_date)\` - - \`| WHERE @timestamp <= NOW()\` - - ### STATS ... BY - - \`STATS ... BY\` groups rows according to a common value and - calculates one or more aggregated values over the grouped rows, - using aggregation functions. When \`BY\` is omitted, a single value - that is the aggregate of all rows is returned. Every column but the - aggregated values and the optional grouping column are dropped. - Mention the retained columns when explaining the STATS command. - - DO NOT UNDER ANY CIRCUMSTANCES use non-aggregation functions (like - CASE or DATE_EXTRACT) or mathemetical operators in the STATS - command. YOU MUST USE an EVAL command before the STATS command - to append the new calculated column. - - Some examples: - - - \`| STATS count = COUNT(emp_no) BY languages\` - - \`| STATS salary = AVG(salary)\` - - \`| EVAL monthly_salary = salary / 12 | STATS avg_monthly_salary = AVG(monthly_salary) BY emp_country\` - - ### LIMIT - - Limits the rows returned. Only supports a number as input. Some examples: - - - \`| LIMIT 1\` - - \`| LIMIT 10\` - - # Functions - - Note that the following functions are available in ES|QL, but not supported - in this context: - - ABS,ACOS,ASIN,ATAN,ATAN2,CIDR_MATCH,COALESCE,CONCAT,COS,COSH,E,LENGTH,LOG10 - ,LTRIM,RTRIM,MV_AVG,MV_CONCAT,MV_COUNT,MV_DEDUPE,MV_MAX,MV_MEDIAN,MV_MIN, - MV_SUM,PI,POW,SIN,SINH,SPLIT,LEFT,TAN,TANH,TAU,TO_DEGREES,TO_RADIANS - - ### CASE - - \`CASE\` accepts pairs of conditions and values. The function returns - the value that belongs to the first condition that evaluates to true. If - the number of arguments is odd, the last argument is the default value which - is returned when no condition matches. Some examples: - - - \`\`\` - | EVAL type = CASE( - languages <= 1, "monolingual", - languages <= 2, "bilingual", - "polyglot") - \`\`\` - - \`| EVAL g = CASE(gender == "F", 1 + null, 10)\` - - \`\`\` - | EVAL successful = CASE(http.response.status_code == 200, 1, 0), failed = CASE(http.response.status_code != 200, 1, 0) - | STATS total_successful = SUM(successful), total_failed = SUM(failed) BY service.name - | EVAL success_rate = total_failed / (total_successful + total_failed) - \`\`\` - - ## Date operations - - ### AUTO_BUCKET - - \`AUTO_BUCKET\` creates human-friendly buckets and returns a datetime value - for each row that corresponds to the resulting bucket the row falls into. - Combine AUTO_BUCKET with STATS ... BY to create a date histogram. - You provide a target number of buckets, a start date, and an end date, - and it picks an appropriate bucket size to generate the target number of - buckets or fewer. If you don't have a start and end date, provide placeholder - values. Some examples: - - - \`| EVAL bucket=AUTO_BUCKET(@timestamp), 20, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z")\` - - \`| EVAL bucket=AUTO_BUCKET(my_date_field), 100, , )\` - - \`| EVAL bucket=AUTO_BUCKET(@timestamp), 100, NOW() - 15 minutes, NOW())\` - - ### DATE_EXTRACT - - \`DATE_EXTRACT\` parts of a date, like year, month, day, hour. The supported - field types are those provided by java.time.temporal.ChronoField. - Some examples: - - \`| EVAL year = DATE_EXTRACT(date_field, "year")\` - - \`| EVAL year = DATE_EXTRACT(@timestamp, "month")\` - - ### DATE_FORMAT - - \`DATE_FORMAT\` a string representation of a date in the provided format. - Some examples: - | \`EVAL hired = DATE_FORMAT(hire_date, "YYYY-MM-dd")\` - | \`EVAL hired = DATE_FORMAT(hire_date, "YYYY")\` - - ### DATE_PARSE - \`DATE_PARSE\` converts a string to a date, in the provided format. - - \`| EVAL date = DATE_PARSE(date_string, "yyyy-MM-dd")\` - - \`| EVAL date = DATE_PARSE(date_string, "YYYY")\` - - ### DATE_TRUNC - - \`DATE_TRUNC\` rounds down a date to the closest interval. Intervals - can be expressed using the timespan literal syntax. Use this together - with STATS ... BY to group data into time buckets with a fixed interval. - Some examples: - - - \`| EVAL year_hired = DATE_TRUNC(1 year, hire_date)\` - - \`| EVAL month_logged = DATE_TRUNC(1 month, @timestamp)\` - - \`| EVAL bucket = DATE_TRUNC(1 minute, @timestamp) | STATS avg_salary = AVG(salary) BY bucket\` - - \`| EVAL bucket = DATE_TRUNC(4 hours, @timestamp) | STATS max_salary MAX(salary) BY bucket\` - - ### NOW - - \`NOW\` returns current date and time. Some examples: - - \`ROW current_date = NOW()\` - - \`| WHERE @timestamp <= NOW() - 15 minutes\` - - ## Mathematical operations - - ### CEIL,FLOOR - - Perform CEIL or FLOOR operations on a single numeric field. - Some examples: - - \`| EVAL ceiled = CEIL(my.number)\` - - \`| EVAL floored = FLOOR(my.other.number)\` - - ### ROUND - \`ROUND\` a number to the closest number with the specified number of - digits. Defaults to 0 digits if no number of digits is provided. If the - specified number of digits is negative, rounds to the number of digits - left of the decimal point. Some examples: - - - \`| EVAL height_ft = ROUND(height * 3.281, 1)\` - - \`| EVAL percent = ROUND(0.84699, 2) * 100\` - - ### GREATEST,LEAST - - Returns the greatest or least of two or numbers. Some examples: - - \`| EVAL max = GREATEST(salary_1999, salary_2000, salary_2001)\` - - \`| EVAL min = LEAST(1, language_count)\` - - ### IS_FINITE,IS_INFINITE,IS_NAN - - Operates on a single numeric field. Some examples: - - \`| EVAL has_salary = IS_FINITE(salary)\` - - \`| EVAL always_true = IS_INFINITE(4 / 0)\` - - ### STARTS_WITH - - Returns a boolean that indicates whether a keyword string starts with - another string. Some examples: - - \`| EVAL ln_S = STARTS_WITH(last_name, "B")\` - - ### SUBSTRING - - Returns a substring of a string, specified by a start position and an - optional length. Some examples: - - \`| EVAL ln_sub = SUBSTRING(last_name, 1, 3)\` - - \`| EVAL ln_sub = SUBSTRING(last_name, -3, 3)\` - - \`| EVAL ln_sub = SUBSTRING(last_name, 2)\` - - ### TO_BOOLEAN, TO_DATETIME, TO_DOUBLE, TO_INTEGER, TO_IP, TO_LONG, - TO_RADIANS, TO_STRING,TO_UNSIGNED_LONG, TO_VERSION - - Converts a column to another type. Some examples: - - \`| EVAL version = TO_VERSION("1.2.3")\` - - \`| EVAL as_bool = TO_BOOLEAN(my_boolean_string)\` - - \`| EVAL percent = TO_DOUBLE(part) / TO_DOUBLE(total)\` - - ### TRIM - - Trims leading and trailing whitespace. Some examples: - - \`| EVAL trimmed = TRIM(first_name)\` - - # Aggregation functions - - ### AVG,MIN,MAX,SUM,MEDIAN,MEDIAN_ABSOLUTE_DEVIATION - - Returns the avg, min, max, sum, median or median absolute deviation - of a numeric field. Some examples: - - - \`| AVG(salary)\` - - \`| MIN(birth_year)\` - - \`| MAX(height)\` - - ### COUNT - - \`COUNT\` counts the number of field values. It requires a single - argument, and does not support wildcards. One single argument is - required. If you don't have a field name, use whatever field you have, - rather than displaying an invalid query. - - Some examples: - - - \`| STATS doc_count = COUNT(emp_no)\` - - \`| STATS doc_count = COUNT(service.name) BY service.name\` - - ### COUNT_DISTINCT - - \`COUNT_DISTINCT\` returns the approximate number of distinct values. - Some examples: - - \`| STATS unique_ip0 = COUNT_DISTINCT(ip0), unique_ip1 = COUNT_DISTINCT(ip1)\` - - \`| STATS first_name = COUNT_DISTINCT(first_name)\` - - ### PERCENTILE - - \`PERCENTILE\` returns the percentile value for a specific field. - Some examples: - - \`| STATS p50 = PERCENTILE(salary, 50)\` - - \`| STATS p99 = PERCENTILE(salary, 99)\` - - `); - - const source$ = streamIntoObservable( - await client.chat({ - connectorId, - messages: [ - { - '@timestamp': new Date().toISOString(), - message: { role: MessageRole.System, content: systemMessage }, - }, - ...messages.slice(1), - ], - signal, - stream: true, - }) - ).pipe(processOpenAiStream()); - - return new Observable((subscriber) => { - let cachedContent: string = ''; - - function includesDivider() { - const firstDividerIndex = cachedContent.indexOf('--'); - return firstDividerIndex !== -1 && cachedContent.lastIndexOf('--') !== firstDividerIndex; - } - - source$.subscribe({ - next: (message) => { - if (includesDivider()) { - subscriber.next(message); - } - cachedContent += message.choices[0].delta.content || ''; - }, - complete: () => { - if (!includesDivider()) { - subscriber.next({ - created: 0, - id: '', - model: '', - object: 'chat.completion.chunk', - choices: [ - { - delta: { - content: cachedContent, - }, - }, - ], - }); - } - subscriber.complete(); - }, - error: (error) => { - subscriber.error(error); - }, - }); - }); - } - ); -} diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-abs.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-abs.txt new file mode 100644 index 0000000000000..f27b33d6d1473 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-abs.txt @@ -0,0 +1,8 @@ +ABS + + +Returns the absolute value. +FROM employees +| KEEP first_name, last_name, height +| EVAL abs_height = ABS(0.0 - height) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-acos.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-acos.txt new file mode 100644 index 0000000000000..0274cdfac205a --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-acos.txt @@ -0,0 +1,11 @@ +ACOS + +Syntax +Parameters +n +Numeric expression. If null, the function returns null. +DescriptionReturns the arccosine of n as an +angle, expressed in radians.Supported types +Example +ROW a=.9 +| EVAL acos=ACOS(a) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-asin.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-asin.txt new file mode 100644 index 0000000000000..6e36b7d776cd0 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-asin.txt @@ -0,0 +1,7 @@ +ASIN + + +Inverse sine trigonometric function. +ROW a=.9 +| EVAL asin=ASIN(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-atan.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-atan.txt new file mode 100644 index 0000000000000..78a6c0b4a4f71 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-atan.txt @@ -0,0 +1,7 @@ +ATAN + + +Inverse tangent trigonometric function. +ROW a=12.9 +| EVAL atan=ATAN(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-atan2.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-atan2.txt new file mode 100644 index 0000000000000..c194e8ee9f0a7 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-atan2.txt @@ -0,0 +1,8 @@ +ATAN2 + + +The angle between the positive x-axis and the +ray from the origin to the point (x , y) in the Cartesian plane. +ROW y=12.9, x=.6 +| EVAL atan2=ATAN2(y, x) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-auto_bucket.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-auto_bucket.txt new file mode 100644 index 0000000000000..1263cccd6d519 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-auto_bucket.txt @@ -0,0 +1,27 @@ +AUTO_BUCKET + +Creates human-friendly buckets and returns a datetime value for each row that +corresponds to the resulting bucket the row falls into. Combine AUTO_BUCKET +with STATS ... BY to create a date histogram.You provide a target number of buckets, a start date, and an end date, and it +picks an appropriate bucket size to generate the target number of buckets or +fewer. For example, this asks for at most 20 buckets over a whole year, which +picks monthly buckets: +ROW date=TO_DATETIME("1985-07-09T00:00:00.000Z") +| EVAL bucket=AUTO_BUCKET(date, 20, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z") +The goal isn’t to provide exactly the target number of buckets, it’s to pick a +range that people are comfortable with that provides at most the target number of +buckets.If you ask for more buckets then AUTO_BUCKET can pick a smaller range. For example, +asking for at most 100 buckets in a year will get you week long buckets: +ROW date=TO_DATETIME("1985-07-09T00:00:00.000Z") +| EVAL bucket=AUTO_BUCKET(date, 100, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z") +AUTO_BUCKET does not filter any rows. It only uses the provided time range to +pick a good bucket size. For rows with a date outside of the range, it returns a +datetime that corresponds to a bucket outside the range. Combine AUTO_BUCKET +with WHERE to filter rows.A more complete example might look like: +FROM employees +| WHERE hire_date >= "1985-01-01T00:00:00Z" AND hire_date < "1986-01-01T00:00:00Z" +| EVAL bucket = AUTO_BUCKET(hire_date, 20, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z") +| STATS AVG(salary) BY bucket +| SORT bucket +AUTO_BUCKET does not create buckets that don’t match any documents. That’s +why the example above is missing 1985-03-01 and other dates. diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-avg.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-avg.txt new file mode 100644 index 0000000000000..40667a199cc1f --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-avg.txt @@ -0,0 +1,6 @@ +AVG + +The average of a numeric field. +FROM employees +| STATS AVG(height) +The result is always a double not matter the input type. \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-case.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-case.txt new file mode 100644 index 0000000000000..35c9278ba2fd5 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-case.txt @@ -0,0 +1,22 @@ +CASE + +Syntax +CASE(condition1, value1[, ..., conditionN, valueN][, default_value]) +Parameters +conditionX +A condition. +valueX +The value that’s returned when the corresponding condition is the first to +evaluate to true. +default_value +The default value that’s is returned when no condition matches. +DescriptionAccepts pairs of conditions and values. The function returns the value that +belongs to the first condition that evaluates to true.If the number of arguments is odd, the last argument is the default value which +is returned when no condition matches. If the number of arguments is even, and +no condition matches, the function returns null.Example +FROM employees +| EVAL type = CASE( + languages <= 1, "monolingual", + languages <= 2, "bilingual", + "polyglot") +| KEEP emp_no, languages, type diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-ceil.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-ceil.txt new file mode 100644 index 0000000000000..685ec6690772d --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-ceil.txt @@ -0,0 +1,10 @@ +CEIL + + +Round a number up to the nearest integer. +ROW a=1.8 +| EVAL a=CEIL(a) +This is a noop for long (including unsigned) and integer. + For double this picks the the closest double value to the integer ala + Math.ceil. +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-coalesce.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-coalesce.txt new file mode 100644 index 0000000000000..568f045de8d64 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-coalesce.txt @@ -0,0 +1,5 @@ +COALESCE + +Returns the first non-null value. +ROW a=null, b="b" +| EVAL COALESCE(a, b) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-concat.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-concat.txt new file mode 100644 index 0000000000000..e92c691a7e520 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-concat.txt @@ -0,0 +1,6 @@ +CONCAT + +Concatenates two or more strings. +FROM employees +| KEEP first_name, last_name, height +| EVAL fullname = CONCAT(first_name, " ", last_name) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-cos.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-cos.txt new file mode 100644 index 0000000000000..db7252d5966c4 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-cos.txt @@ -0,0 +1,7 @@ +COS + + +Cosine trigonometric function. Input expected in radians. +ROW a=1.8 +| EVAL cos=COS(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-cosh.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-cosh.txt new file mode 100644 index 0000000000000..22f221bbe18bb --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-cosh.txt @@ -0,0 +1,7 @@ +COSH + + +Cosine hyperbolic function. +ROW a=1.8 +| EVAL cosh=COSH(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-count.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-count.txt new file mode 100644 index 0000000000000..555b80f2d532d --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-count.txt @@ -0,0 +1,10 @@ +COUNT + +Counts field values. +FROM employees +| STATS COUNT(height) +Can take any field type as input and the result is always a long not matter +the input type.To count the number of rows, use COUNT(*): +FROM employees +| STATS count = COUNT(*) BY languages +| SORT languages DESC diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-count_distinct.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-count_distinct.txt new file mode 100644 index 0000000000000..dbe422e6703b5 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-count_distinct.txt @@ -0,0 +1,28 @@ +COUNT_DISTINCT + +The approximate number of distinct values. +FROM hosts +| STATS COUNT_DISTINCT(ip0), COUNT_DISTINCT(ip1) +Can take any field type as input and the result is always a long not matter +the input type.Counts are approximateeditComputing exact counts requires loading values into a set and returning its +size. This doesn’t scale when working on high-cardinality sets and/or large +values as the required memory usage and the need to communicate those +per-shard sets between nodes would utilize too many resources of the cluster.This COUNT_DISTINCT function is based on the +HyperLogLog++ +algorithm, which counts based on the hashes of the values with some interesting +properties: +configurable precision, which decides on how to trade memory for accuracy, +excellent accuracy on low-cardinality sets, +fixed memory usage: no matter if there are tens or billions of unique values, +memory usage only depends on the configured precision. +For a precision threshold of c, the implementation that we are using requires +about c * 8 bytes.The following chart shows how the error varies before and after the threshold:For all 3 thresholds, counts have been accurate up to the configured threshold. +Although not guaranteed, this is likely to be the case. Accuracy in practice depends +on the dataset in question. In general, most datasets show consistently good +accuracy. Also note that even with a threshold as low as 100, the error +remains very low (1-6% as seen in the above graph) even when counting millions of items.The HyperLogLog++ algorithm depends on the leading zeros of hashed +values, the exact distributions of hashes in a dataset can affect the +accuracy of the cardinality.Precision is configurableeditThe COUNT_DISTINCT function takes an optional second parameter to configure the +precision discussed previously. +FROM hosts +| STATS COUNT_DISTINCT(ip0, 80000), COUNT_DISTINCT(ip1, 5) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_extract.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_extract.txt new file mode 100644 index 0000000000000..442c9e6c9d719 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_extract.txt @@ -0,0 +1,6 @@ +DATE_EXTRACT + +Extracts parts of a date, like year, month, day, hour. +The supported field types are those provided by java.time.temporal.ChronoField. +ROW date = DATE_PARSE("yyyy-MM-dd", "2022-05-06") +| EVAL year = DATE_EXTRACT("year", date) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_format.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_format.txt new file mode 100644 index 0000000000000..b772cac90a0ee --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_format.txt @@ -0,0 +1,7 @@ +DATE_FORMAT + +Returns a string representation of a date in the provided format. If no format +is specified, the yyyy-MM-dd'T'HH:mm:ss.SSSZ format is used. +FROM employees +| KEEP first_name, last_name, hire_date +| EVAL hired = DATE_FORMAT("YYYY-MM-dd", hire_date) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_parse.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_parse.txt new file mode 100644 index 0000000000000..f03321af7eb93 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_parse.txt @@ -0,0 +1,16 @@ +DATE_PARSE + +Syntax +DATE_PARSE([format,] date_string) +Parameters +format +The date format. Refer to the +DateTimeFormatter +documentation for the syntax. If null, the function returns null. +date_string +Date expression as a string. If null or an empty string, the function returns +null. +DescriptionReturns a date by parsing the second argument using the format specified in the +first argument.Example +ROW date_string = "2022-05-06" +| EVAL date = DATE_PARSE("yyyy-MM-dd", date_string) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_trunc.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_trunc.txt new file mode 100644 index 0000000000000..773a2a9ce9513 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-date_trunc.txt @@ -0,0 +1,8 @@ +DATE_TRUNC + +Rounds down a date to the closest interval. Intervals can be expressed using the +timespan literal syntax. +FROM employees +| EVAL year_hired = DATE_TRUNC(1 year, hire_date) +| STATS COUNT(emp_no) BY year_hired +| SORT year_hired diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-dissect.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-dissect.txt new file mode 100644 index 0000000000000..c4f99757f0b57 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-dissect.txt @@ -0,0 +1,25 @@ +DISSECT + +Syntax +DISSECT input "pattern" [APPEND_SEPARATOR=""] +Parameters +input +The column that contains the string you want to structure. If the column has +multiple values, DISSECT will process each value. +pattern +A dissect pattern. + +A string used as the separator between appended values, when using the append modifier. +DescriptionDISSECT enables you to extract +structured data out of a string. DISSECT matches the string against a +delimiter-based pattern, and extracts the specified keys as columns.Refer to Process data with DISSECT for the syntax of dissect patterns.ExamplesThe following example parses a string that contains a timestamp, some text, and +an IP address: +ROW a = "2023-01-23T12:15:00.000Z - some text - 127.0.0.1" +| DISSECT a "%{date} - %{msg} - %{ip}" +| KEEP date, msg, ip +By default, DISSECT outputs keyword string columns. To convert to another +type, use Type conversion functions: +ROW a = "2023-01-23T12:15:00.000Z - some text - 127.0.0.1" +| DISSECT a "%{date} - %{msg} - %{ip}" +| KEEP date, msg, ip +| EVAL date = TO_DATETIME(date) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-drop.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-drop.txt new file mode 100644 index 0000000000000..88d5af4315d9f --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-drop.txt @@ -0,0 +1,14 @@ +DROP + +Syntax +DROP columns +Parameters +columns +A comma-separated list of columns to remove. Supports wildcards. +DescriptionThe DROP processing command removes one or more columns.Examples +FROM employees +| DROP height +Rather than specify each column by name, you can use wildcards to drop all +columns with a name that matches a pattern: +FROM employees +| DROP height* diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-e.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-e.txt new file mode 100644 index 0000000000000..7b56bebff6dce --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-e.txt @@ -0,0 +1,5 @@ +E + + +Euler’s number. +ROW E() diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-enrich.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-enrich.txt new file mode 100644 index 0000000000000..94b18473228cb --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-enrich.txt @@ -0,0 +1,47 @@ +ENRICH + +Syntax +ENRICH policy [ON match_field] [WITH [new_name1 = ]field1, [new_name2 = ]field2, ...] +Parameters +policy +The name of the enrich policy. You need to create +and execute the enrich policy first. +match_field +The match field. ENRICH uses its value to look for records in the enrich +index. If not specified, the match will be performed on the column with the same +name as the match_field defined in the enrich policy. +fieldX +The enrich fields from the enrich index that are added to the result as new +columns. If a column with the same name as the enrich field already exists, the +existing column will be replaced by the new column. If not specified, each of +the enrich fields defined in the policy is added +new_nameX +Enables you to change the name of the column that’s added for each of the enrich +fields. Defaults to the enrich field name. +DescriptionENRICH enables you to add data from existing indices as new columns using an +enrich policy. Refer to Data enrichment for information about setting up a +policy. +Before you can use ENRICH, you need to create +and execute an enrich policy. +ExamplesThe following example uses the languages_policy enrich policy to add a new +column for each enrich field defined in the policy. The match is performed using +the match_field defined in the enrich policy and +requires that the input table has a column with the same name (language_code +in this example). ENRICH will look for records in the +enrich index based on the match field value. +ROW language_code = "1" +| ENRICH languages_policy +To use a column with a different name than the match_field defined in the +policy as the match field, use ON : +ROW a = "1" +| ENRICH languages_policy ON a +By default, each of the enrich fields defined in the policy is added as a +column. To explicitly select the enrich fields that are added, use +WITH , , ...: +ROW a = "1" +| ENRICH languages_policy ON a WITH language_name +You can rename the columns that are added using WITH new_name=: +ROW a = "1" +| ENRICH languages_policy ON a WITH name = language_name +In case of name collisions, the newly created columns will override existing +columns. \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-eval.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-eval.txt new file mode 100644 index 0000000000000..23aa334bdbb71 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-eval.txt @@ -0,0 +1,23 @@ +EVAL + +Syntax +EVAL column1 = value1[, ..., columnN = valueN] +Parameters +columnX +The column name. +valueX +The value for the column. Can be a literal, an expression, or a +function. +DescriptionThe EVAL processing command enables you to append new columns with calculated +values. EVAL supports various functions for calculating values. Refer to +Functions for more information.Examples +FROM employees +| SORT emp_no +| KEEP first_name, last_name, height +| EVAL height_feet = height * 3.281, height_cm = height * 100 +If the specified column already exists, the existing column will be dropped, and +the new column will be appended to the table: +FROM employees +| SORT emp_no +| KEEP first_name, last_name, height +| EVAL height = height * 3.281 diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-floor.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-floor.txt new file mode 100644 index 0000000000000..b27997edd8bff --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-floor.txt @@ -0,0 +1,10 @@ +FLOOR + + +Round a number down to the nearest integer. +ROW a=1.8 +| EVAL a=FLOOR(a) +This is a noop for long (including unsigned) and integer. + For double this picks the the closest double value to the integer ala + Math.floor. +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-from.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-from.txt new file mode 100644 index 0000000000000..15a471cb44ead --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-from.txt @@ -0,0 +1,29 @@ +FROM + +Syntax +FROM index_pattern [METADATA fields] +Parameters +index_pattern +A list of indices, data streams or aliases. Supports wildcards and date math. +fields +A comma-separated list of metadata fields to retrieve. +DescriptionThe FROM source command returns a table with data from a data stream, index, +or alias. Each row in the resulting table represents a document. Each column +corresponds to a field, and can be accessed by the name of that field. +By default, an ES|QL query without an explicit LIMIT uses an implicit +limit of 500. This applies to FROM too. A FROM command without LIMIT: +FROM employees +is executed as: +FROM employees +| LIMIT 500 +Examples +FROM employees +You can use date math to refer to indices, aliases +and data streams. This can be useful for time series data, for example to access +today’s index: +FROM +Use comma-separated lists or wildcards to query multiple data streams, indices, +or aliases: +FROM employees-00001,other-employees-* +Use the METADATA directive to enable metadata fields: +FROM employees [METADATA _id] diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-greatest.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-greatest.txt new file mode 100644 index 0000000000000..119ecd48edf4c --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-greatest.txt @@ -0,0 +1,11 @@ +GREATEST + + +Returns the maximum value from many columns. This is similar to MV_MAX +except it’s intended to run on multiple columns at once. +ROW a = 10, b = 20 +| EVAL g = GREATEST(a, b) +When run on keyword or text fields, this’ll return the last string + in alphabetical order. When run on boolean columns this will return + true if any values are true. +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-grok.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-grok.txt new file mode 100644 index 0000000000000..57d3cb32b7270 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-grok.txt @@ -0,0 +1,28 @@ +GROK + +Syntax +GROK input "pattern" +Parameters +input +The column that contains the string you want to structure. If the column has +multiple values, GROK will process each value. +pattern +A grok pattern. +DescriptionGROK enables you to extract +structured data out of a string. GROK matches the string against patterns, +based on regular expressions, and extracts the specified patterns as columns.Refer to Process data with GROK for the syntax of grok patterns.ExamplesThe following example parses a string that contains a timestamp, an IP address, +an email address, and a number: +ROW a = "2023-01-23T12:15:00.000Z 127.0.0.1 some.email@foo.com 42" +| GROK a "%{TIMESTAMP_ISO8601:date} %{IP:ip} %{EMAILADDRESS:email} %{NUMBER:num}" +| KEEP date, ip, email, num +By default, GROK outputs keyword string columns. int and float types can +be converted by appending :type to the semantics in the pattern. For example +{NUMBER:num:int}: +ROW a = "2023-01-23T12:15:00.000Z 127.0.0.1 some.email@foo.com 42" +| GROK a "%{TIMESTAMP_ISO8601:date} %{IP:ip} %{EMAILADDRESS:email} %{NUMBER:num:int}" +| KEEP date, ip, email, num +For other type conversions, use Type conversion functions: +ROW a = "2023-01-23T12:15:00.000Z 127.0.0.1 some.email@foo.com 42" +| GROK a "%{TIMESTAMP_ISO8601:date} %{IP:ip} %{EMAILADDRESS:email} %{NUMBER:num:int}" +| KEEP date, ip, email, num +| EVAL date = TO_DATETIME(date) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-keep.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-keep.txt new file mode 100644 index 0000000000000..466a421cb247a --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-keep.txt @@ -0,0 +1,19 @@ +KEEP + +Syntax +KEEP columns +Parameters +columns:: +A comma-separated list of columns to keep. Supports wildcards.DescriptionThe KEEP processing command enables you to specify what columns are returned +and the order in which they are returned.ExamplesThe columns are returned in the specified order: +FROM employees +| KEEP emp_no, first_name, last_name, height +Rather than specify each column by name, you can use wildcards to return all +columns with a name that matches a pattern: +FROM employees +| KEEP h* +The asterisk wildcard (*) by itself translates to all columns that do not +match the other arguments. This query will first return all columns with a name +that starts with h, followed by all other columns: +FROM employees +| KEEP h*, * diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-least.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-least.txt new file mode 100644 index 0000000000000..d598679f84f57 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-least.txt @@ -0,0 +1,11 @@ +LEAST + + +Returns the minimum value from many columns. This is similar to MV_MIN +except it’s intended to run on multiple columns at once. +ROW a = 10, b = 20 +| EVAL l = LEAST(a, b) +When run on keyword or text fields, this’ll return the first string + in alphabetical order. When run on boolean columns this will return + false if any values are false. +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-left.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-left.txt new file mode 100644 index 0000000000000..2edc0378aa312 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-left.txt @@ -0,0 +1,10 @@ +LEFT + + +Return the substring that extracts length chars from the string starting from the left. +FROM employees +| KEEP last_name +| EVAL left = LEFT(last_name, 3) +| SORT last_name ASC +| LIMIT 5 +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-length.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-length.txt new file mode 100644 index 0000000000000..29e22edcb4176 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-length.txt @@ -0,0 +1,6 @@ +LENGTH + +Returns the character length of a string. +FROM employees +| KEEP first_name, last_name, height +| EVAL fn_length = LENGTH(first_name) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-limit.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-limit.txt new file mode 100644 index 0000000000000..520b8e5547e9f --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-limit.txt @@ -0,0 +1,24 @@ +LIMIT + +Syntax +LIMIT max_number_of_rows +Parameters +max_number_of_rows +The maximum number of rows to return. +DescriptionThe LIMIT processing command enables you to limit the number of rows that are +returned. +Queries do not return more than 10,000 rows, regardless of the LIMIT command’s +value.This limit only applies to the number of rows that are retrieved by the query. +Queries and aggregations run on the full data set.To overcome this limitation: +Reduce the result set size by modifying the query to only return relevant +data. Use WHERE to select a smaller subset of the data. +Shift any post-query processing to the query itself. You can use the ES|QL +STATS ... BY command to aggregate data in the query. +The default and maximum limits can be changed using these dynamic cluster +settings: +esql.query.result_truncation_default_size +esql.query.result_truncation_max_size +Example +FROM employees +| SORT emp_no ASC +| LIMIT 5 diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-limitations.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-limitations.txt new file mode 100644 index 0000000000000..c5ae151eab121 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-limitations.txt @@ -0,0 +1,149 @@ + +You are looking at preliminary documentation for a future release. +Not what you want? See the +current release documentation. +Elastic Docs +›Elasticsearch Guide [master] +›ES|QL +« ES|QL task management +ES|QL examples » +ES|QL limitationsedit +Result set size limitedit +By default, an ES|QL query returns up to 500 rows. You can increase the number +of rows up to 10,000 using the `LIMIT` command. +Queries do not return more than 10,000 rows, regardless of the `LIMIT` command’s +value. +This limit only applies to the number of rows that are retrieved by the query. +Queries and aggregations run on the full data set. +To overcome this limitation: +Reduce the result set size by modifying the query to only return relevant +data. Use `WHERE` to select a smaller subset of the data. +Shift any post-query processing to the query itself. You can use the ES|QL +`STATS ... BY` command to aggregate data in the query. +The default and maximum limits can be changed using these dynamic cluster +settings: +`esql.query.result_truncation_default_size` +`esql.query.result_truncation_max_size` +Field typesedit +Supported typesedit +ES|QL currently supports the following field types: +`alias` +`boolean` +`date` +`double` (`float`, `half_float`, `scaled_float` are represented as `double`) +`ip` +`keyword` family including `keyword`, `constant_keyword`, and `wildcard` +`int` (`short` and `byte` are represented as `int`) +`long` +`null` +`text` +`unsigned_long` +`version` +Spatial types +`geo_point` +`point` +Unsupported typesedit +ES|QL does not yet support the following field types: +TSDB metrics +`counter` +`position` +`aggregate_metric_double` +Spatial types +`geo_shape` +`shape` +Date/time +`date_nanos` +`date_range` +Other types +`binary` +`completion` +`dense_vector` +`double_range` +`flattened` +`float_range` +`histogram` +`integer_range` +`ip_range` +`long_range` +`nested` +`rank_feature` +`rank_features` +`search_as_you_type` +Querying a column with an unsupported type returns an error. If a column with an +unsupported type is not explicitly used in a query, it is returned with `null` +values, with the exception of nested fields. Nested fields are not returned at +all. +Full-text search is not supportededit +Because of the way ES|QL treats `text` values, +full-text search is not yet supported. Queries on `text` fields are like queries +on `keyword` fields: they are case-sensitive and need to match the full string. +For example, after indexing a field of type `text` with the value `Elasticsearch +query language`, the following `WHERE` clause does not match because the `LIKE` +operator is case-sensitive: +| WHERE field LIKE "elasticsearch query language" +The following `WHERE` clause does not match either, because the `LIKE` operator +tries to match the whole string: +| WHERE field LIKE "Elasticsearch" +As a workaround, use wildcards and regular expressions. For example: +| WHERE field RLIKE "[Ee]lasticsearch.*" +`text` fields behave like `keyword` fieldsedit +While ES|QL supports `text` fields, ES|QL does not treat these fields +like the Search API does. ES|QL queries do not query or aggregate the +analyzed string. Instead, an ES|QL query will try to get a `text` +field’s subfield of the keyword family type and query/aggregate +that. If it’s not possible to retrieve a `keyword` subfield, ES|QL will get the +string from a document’s `_source`. If the `_source` cannot be retrieved, for +example when using synthetic source, `null` is returned. +Note that ES|QL’s retrieval of `keyword` subfields may have unexpected +consequences. An ES|QL query on a `text` field is case-sensitive. Furthermore, +a subfield may have been mapped with a normalizer, which can +transform the original string. Or it may have been mapped with `ignore_above`, +which can truncate the string. None of these mapping operations are applied to +an ES|QL query, which may lead to false positives or negatives. +To avoid these issues, a best practice is to be explicit about the field that +you query, and query `keyword` sub-fields instead of `text` fields. +Time series data streams are not supportededit +ES|QL does not support querying time series data streams (TSDS). +Cross-cluster search is not supportededit +ES|QL does not support cross-cluster search. +Date math limitationsedit +Date math expressions work well when the leftmost expression is a datetime, for +example: +now() + 1 year - 2hour + ... +But using parentheses or putting the datetime to the right is not always supported yet. For example, the following expressions fail: +1year + 2hour + now() +now() + (1year + 2hour) +Date math does not allow subtracting two datetimes, for example: +now() - 2023-10-26 +Enrich limitationsedit +The ES|QL `ENRICH` command only supports enrich policies of type `match`. +Furthermore, `ENRICH` only supports enriching on a column of type `keyword`. +Dissect limitationsedit +The `DISSECT` command does not support reference keys. +Grok limitationsedit +The `GROK` command does not support configuring custom +patterns, or multiple patterns. The `GROK` command is not +subject to Grok watchdog settings. +Multivalue limitationsedit +ES|QL supports multivalued fields, but functions +return `null` when applied to a multivalued field, unless documented otherwise. +Work around this limitation by converting the field to single value with one of +the multivalue functions. +Timezone supportedit +ES|QL only supports the UTC timezone. +Kibana limitationsedit +The user interface to filter data is not enabled when Discover is in ES|QL +mode. To filter data, write a query that uses the `WHERE` command +instead. +In ES|QL mode, clicking a field in the field list in Discover does not show +quick statistics for that field. +Discover shows no more than 10,000 rows. This limit only applies to the number +of rows that are retrieved by the query and displayed in Discover. Queries and +aggregations run on the full data set. +Discover shows no more than 50 columns. If a query returns +more than 50 columns, Discover only shows the first 50. +Querying many many indices at once without any filters can cause an error in +kibana which looks like `[esql] > Unexpected error from Elasticsearch: The +content length (536885793) is bigger than the maximum allowed string +(536870888)`. The response from ES|QL is too long. Use `DROP` or +`KEEP` to limit the number of fields returned. diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-log10.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-log10.txt new file mode 100644 index 0000000000000..dabc5bc7c05c7 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-log10.txt @@ -0,0 +1,8 @@ +LOG10 + + +Returns the log base 10. The input can be any numeric value, the return value +is always a double.Logs of negative numbers are NaN. Logs of infinites are infinite, as is the log of 0. +ROW d = 1000.0 +| EVAL s = LOG10(d) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-ltrim.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-ltrim.txt new file mode 100644 index 0000000000000..350b0b1e369ba --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-ltrim.txt @@ -0,0 +1,10 @@ +LTRIM + + +Removes leading whitespaces from strings. +ROW message = " some text ", color = " red " +| EVAL message = LTRIM(message) +| EVAL color = LTRIM(color) +| EVAL message = CONCAT("'", message, "'") +| EVAL color = CONCAT("'", color, "'") +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-max.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-max.txt new file mode 100644 index 0000000000000..22b23e89c7438 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-max.txt @@ -0,0 +1,5 @@ +MAX + +The maximum value of a numeric field. +FROM employees +| STATS MAX(languages) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-median.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-median.txt new file mode 100644 index 0000000000000..df0aa45577b2e --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-median.txt @@ -0,0 +1,9 @@ +MEDIAN + +The value that is greater than half of all values and less than half of +all values, also known as the 50% PERCENTILE. +FROM employees +| STATS MEDIAN(salary), PERCENTILE(salary, 50) +Like PERCENTILE, MEDIAN is usually approximate. +MEDIAN is also non-deterministic. +This means you can get slightly different results using the same data. diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-median_absolute_deviation.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-median_absolute_deviation.txt new file mode 100644 index 0000000000000..bf7329c62fb3b --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-median_absolute_deviation.txt @@ -0,0 +1,14 @@ +MEDIAN_ABSOLUTE_DEVIATION + +The median absolute deviation, a measure of variability. It is a robust +statistic, meaning that it is useful for describing data that may have outliers, +or may not be normally distributed. For such data it can be more descriptive than +standard deviation.It is calculated as the median of each data point’s deviation from the median of +the entire sample. That is, for a random variable X, the median absolute deviation +is median(|median(X) - Xi|). +FROM employees +| STATS MEDIAN(salary), MEDIAN_ABSOLUTE_DEVIATION(salary) +Like PERCENTILE, MEDIAN_ABSOLUTE_DEVIATION is + usually approximate. +MEDIAN_ABSOLUTE_DEVIATION is also non-deterministic. +This means you can get slightly different results using the same data. diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-min.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-min.txt new file mode 100644 index 0000000000000..97e021e3153ab --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-min.txt @@ -0,0 +1,5 @@ +MIN + +The minimum value of a numeric field. +FROM employees +| STATS MIN(languages) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_avg.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_avg.txt new file mode 100644 index 0000000000000..ee144a77697df --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_avg.txt @@ -0,0 +1,7 @@ +MV_AVG + +Converts a multivalued field into a single valued field containing the average +of all of the values. For example: +ROW a=[3, 5, 1, 6] +| EVAL avg_a = MV_AVG(a) +The output type is always a double and the input type can be any number. diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_concat.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_concat.txt new file mode 100644 index 0000000000000..1d579bee82a43 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_concat.txt @@ -0,0 +1,11 @@ +MV_CONCAT + + +Converts a multivalued string field into a single valued field containing the +concatenation of all values separated by a delimiter: +ROW a=["foo", "zoo", "bar"] +| EVAL j = MV_CONCAT(a, ", ") +If you want to concat non-string fields call TO_STRING on them first: +ROW a=[10, 9, 8] +| EVAL j = MV_CONCAT(TO_STRING(a), ", ") +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_count.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_count.txt new file mode 100644 index 0000000000000..e6149e02c9fd9 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_count.txt @@ -0,0 +1,8 @@ +MV_COUNT + + +Converts a multivalued field into a single valued field containing a count of the number +of values: +ROW a=["foo", "zoo", "bar"] +| EVAL count_a = MV_COUNT(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_dedupe.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_dedupe.txt new file mode 100644 index 0000000000000..e844e01bdc626 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_dedupe.txt @@ -0,0 +1,8 @@ +MV_DEDUPE + + +Removes duplicates from a multivalued field. For example: +ROW a=["foo", "foo", "bar", "foo"] +| EVAL dedupe_a = MV_DEDUPE(a) +Supported types: +MV_DEDUPE may, but won’t always, sort the values in the field. diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_expand.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_expand.txt new file mode 100644 index 0000000000000..b8e757914b0b0 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_expand.txt @@ -0,0 +1,11 @@ +MV_EXPAND + +Syntax +MV_EXPAND column +Parameters +column +The multivalued column to expand. +DescriptionThe MV_EXPAND processing command expands multivalued columns into one row per +value, duplicating other columns.Example +ROW a=[1,2,3], b="b", j=["a","b"] +| MV_EXPAND a diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_max.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_max.txt new file mode 100644 index 0000000000000..91ff991dfcb42 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_max.txt @@ -0,0 +1,11 @@ +MV_MAX + + +Converts a multivalued field into a single valued field containing the maximum value. For example: +ROW a=[3, 5, 1] +| EVAL max_a = MV_MAX(a) +It can be used by any field type, including keyword fields. In that case picks the +last string, comparing their utf-8 representation byte by byte: +ROW a=["foo", "zoo", "bar"] +| EVAL max_a = MV_MAX(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_median.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_median.txt new file mode 100644 index 0000000000000..293e86b022c5d --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_median.txt @@ -0,0 +1,10 @@ +MV_MEDIAN + +Converts a multivalued field into a single valued field containing the median value. For example: +ROW a=[3, 5, 1] +| EVAL median_a = MV_MEDIAN(a) +It can be used by any numeric field type and returns a value of the same type. If the +row has an even number of values for a column the result will be the average of the +middle two entries. If the field is not floating point then the average rounds down: +ROW a=[3, 7, 1, 6] +| EVAL median_a = MV_MEDIAN(a) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_min.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_min.txt new file mode 100644 index 0000000000000..577464825cd72 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_min.txt @@ -0,0 +1,11 @@ +MV_MIN + + +Converts a multivalued field into a single valued field containing the minimum value. For example: +ROW a=[2, 1] +| EVAL min_a = MV_MIN(a) +It can be used by any field type, including keyword fields. In that case picks the +first string, comparing their utf-8 representation byte by byte: +ROW a=["foo", "bar"] +| EVAL min_a = MV_MIN(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_sum.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_sum.txt new file mode 100644 index 0000000000000..34973728b2710 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-mv_sum.txt @@ -0,0 +1,7 @@ +MV_SUM + +Converts a multivalued field into a single valued field containing the sum +of all of the values. For example: +ROW a=[3, 5, 6] +| EVAL sum_a = MV_SUM(a) +The input type can be any number and the output type is the same as the input type. diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-now.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-now.txt new file mode 100644 index 0000000000000..2145d6b17add7 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-now.txt @@ -0,0 +1,4 @@ +NOW + +Returns current date and time. +ROW current_date = NOW() diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-numeric-fields.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-numeric-fields.txt new file mode 100644 index 0000000000000..f08b10515aa55 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-numeric-fields.txt @@ -0,0 +1,12 @@ +Numeric fields + +auto_bucket can also operate on numeric fields like this: +FROM employees +| WHERE hire_date >= "1985-01-01T00:00:00Z" AND hire_date < "1986-01-01T00:00:00Z" +| EVAL bs = AUTO_BUCKET(salary, 20, 25324, 74999) +| SORT hire_date, salary +| KEEP hire_date, salary, bs +Unlike the example above where you are intentionally filtering on a date range, +you rarely want to filter on a numeric range. So you have find the min and max +separately. We don’t yet have an easy way to do that automatically. Improvements +coming! \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-operators.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-operators.txt new file mode 100644 index 0000000000000..29204aad6a3f6 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-operators.txt @@ -0,0 +1,181 @@ +Binary operators +Binary operators + + +Equality +Equality + + +Supported types: + +Inequality != +Inequality != + + +Supported types: + +Less than < +Less than < + + +Supported types: + +Less than or equal to <= +Less than or equal to <= + + +Supported types: + +Greater than > +Greater than > + + +Supported types: + +Greater than or equal to >= +Greater than or equal to >= + + +Supported types: + +Add + +Add + + + +Supported types: + +Subtract - +Subtract - + + +Supported types: + +Multiply * +Multiply * + + +Supported types: + +Divide / +Divide / + + +Supported types: + +Modulus % +Modulus % + + +Supported types: + +Unary operators +Unary operators + +The only unary operators is negation (-): +Supported types: + +Logical operators +Logical operators + +The following logical operators are supported: +AND +OR +NOT + +IS NULL and IS NOT NULL predicates +IS NULL and IS NOT NULL predicates + +For NULL comparison, use the IS NULL and IS NOT NULL predicates: +FROM employees +| WHERE birth_date IS NULL +| KEEP first_name, last_name +| SORT first_name +| LIMIT 3 +FROM employees +| WHERE is_rehired IS NOT NULL +| STATS COUNT(emp_no) + +CIDR_MATCH +CIDR_MATCH + +Returns true if the provided IP is contained in one of the provided CIDR +blocks.CIDR_MATCH accepts two or more arguments. The first argument is the IP +address of type ip (both IPv4 and IPv6 are supported). Subsequent arguments +are the CIDR blocks to test the IP against. +FROM hosts +| WHERE CIDR_MATCH(ip, "127.0.0.2/32", "127.0.0.3/32") + +ENDS_WITH +ENDS_WITH + + +Returns a boolean that indicates whether a keyword string ends with another +string: +FROM employees +| KEEP last_name +| EVAL ln_E = ENDS_WITH(last_name, "d") +Supported types: + +IN +IN + +The IN operator allows testing whether a field or expression equals +an element in a list of literals, fields or expressions: +ROW a = 1, b = 4, c = 3 +| WHERE c-a IN (3, b / 2, a) + +IS_FINITE +IS_FINITE + +Returns a boolean that indicates whether its input is a finite number. +ROW d = 1.0 +| EVAL s = IS_FINITE(d/0) + +IS_INFINITE +IS_INFINITE + +Returns a boolean that indicates whether its input is infinite. +ROW d = 1.0 +| EVAL s = IS_INFINITE(d/0) + +IS_NAN +IS_NAN + +Returns a boolean that indicates whether its input is not a number. +ROW d = 1.0 +| EVAL s = IS_NAN(d) + +LIKE +LIKE + +Use LIKE to filter data based on string patterns using wildcards. LIKE +usually acts on a field placed on the left-hand side of the operator, but it can +also act on a constant (literal) expression. The right-hand side of the operator +represents the pattern.The following wildcard characters are supported: +* matches zero or more characters. +? matches one character. +FROM employees +| WHERE first_name LIKE "?b*" +| KEEP first_name, last_name + +RLIKE +RLIKE + +Use RLIKE to filter data based on string patterns using using +regular expressions. RLIKE usually acts on a field placed on +the left-hand side of the operator, but it can also act on a constant (literal) +expression. The right-hand side of the operator represents the pattern. +FROM employees +| WHERE first_name RLIKE ".leja.*" +| KEEP first_name, last_name + +STARTS_WITH +STARTS_WITH + + +Returns a boolean that indicates whether a keyword string starts with another +string: +FROM employees +| KEEP last_name +| EVAL ln_S = STARTS_WITH(last_name, "B") +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-overview.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-overview.txt new file mode 100644 index 0000000000000..ea9b24ba48464 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-overview.txt @@ -0,0 +1,45 @@ + +ES|QLedit +This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. +The Elasticsearch Query Language (ES|QL) provides a powerful way to filter, transform, +and analyze data stored in Elasticsearch, and in the future in other runtimes. It is +designed to be easy to learn and use, by end users, SRE teams, application +developers, and administrators. +Users can author ES|QL queries to find specific events, perform statistical +analysis, and generate visualizations. It supports a wide range of commands and +functions that enable users to perform various data operations, such as +filtering, aggregation, time-series analysis, and more. +The Elasticsearch Query Language (ES|QL) makes use of "pipes" (|) to manipulate and +transform data in a step-by-step fashion. This approach allows users to compose +a series of operations, where the output of one operation becomes the input for +the next, enabling complex data transformations and analysis. +The ES|QL Compute Engineedit +ES|QL is more than a language: it represents a significant investment in new +compute capabilities within Elasticsearch. To achieve both the functional and performance +requirements for ES|QL, it was necessary to build an entirely new compute +architecture. ES|QL search, aggregation, and transformation functions are +directly executed within Elasticsearch itself. Query expressions are not +transpiled to Query DSL for execution. This approach allows ES|QL to be +extremely performant and versatile. +The new ES|QL execution engine was designed with performance in mind — it +operates on blocks at a time instead of per row, targets vectorization and cache +locality, and embraces specialization and multi-threading. It is a separate +component from the existing Elasticsearch aggregation framework with different +performance characteristics. +The ES|QL documentation is organized in these sections: +Getting started +A tutorial to help you get started with ES|QL. +Learning ES|QL +Reference documentation for the ES|QL syntax, +commands, and functions and +operators. Information about working with metadata +fields and multivalued fields. And guidance for +data processing with DISSECT and +GROK and data enrichment with ENRICH. +Using ES|QL +An overview of using the REST API, Using ES|QL in Kibana, +Using ES|QL in Elastic Security, and Task management. +Limitations +The current limitations of ES|QL. +Examples +A few examples of what you can do with ES|QL. diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-percentile.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-percentile.txt new file mode 100644 index 0000000000000..432990415fc94 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-percentile.txt @@ -0,0 +1,32 @@ +PERCENTILE + +The value at which a certain percentage of observed values occur. For example, +the 95th percentile is the value which is greater than 95% of the observed values and +the 50th percentile is the MEDIAN. +FROM employees +| STATS p0 = PERCENTILE(salary, 0) + , p50 = PERCENTILE(salary, 50) + , p99 = PERCENTILE(salary, 99) +PERCENTILE is (usually) approximateeditThere are many different algorithms to calculate percentiles. The naive +implementation simply stores all the values in a sorted array. To find the 50th +percentile, you simply find the value that is at my_array[count(my_array) * 0.5].Clearly, the naive implementation does not scale — the sorted array grows +linearly with the number of values in your dataset. To calculate percentiles +across potentially billions of values in an Elasticsearch cluster, approximate +percentiles are calculated.The algorithm used by the percentile metric is called TDigest (introduced by +Ted Dunning in +Computing Accurate Quantiles using T-Digests).When using this metric, there are a few guidelines to keep in mind: +Accuracy is proportional to q(1-q). This means that extreme percentiles (e.g. 99%) +are more accurate than less extreme percentiles, such as the median +For small sets of values, percentiles are highly accurate (and potentially +100% accurate if the data is small enough). +As the quantity of values in a bucket grows, the algorithm begins to approximate +the percentiles. It is effectively trading accuracy for memory savings. The +exact level of inaccuracy is difficult to generalize, since it depends on your +data distribution and volume of data being aggregated +The following chart shows the relative error on a uniform distribution depending +on the number of collected values and the requested percentile:It shows how precision is better for extreme percentiles. The reason why error diminishes +for large number of values is that the law of large numbers makes the distribution of +values more and more uniform and the t-digest tree can do a better job at summarizing +it. It would not be the case on more skewed distributions. +PERCENTILE is also non-deterministic. +This means you can get slightly different results using the same data. diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-pi.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-pi.txt new file mode 100644 index 0000000000000..169af57566903 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-pi.txt @@ -0,0 +1,5 @@ +PI + + +The ratio of a circle’s circumference to its diameter. +ROW PI() diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-pow.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-pow.txt new file mode 100644 index 0000000000000..d74c58b7e0b6a --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-pow.txt @@ -0,0 +1,13 @@ +POW + + +Returns the value of a base (first argument) raised to the power of an exponent (second argument). +Both arguments must be numeric. The output is always a double. Note that it is still possible to overflow +a double result here; in that case, null will be returned. +ROW base = 2.0, exponent = 2 +| EVAL result = POW(base, exponent) +Fractional exponentseditThe exponent can be a fraction, which is similar to performing a root. +For example, the exponent of 0.5 will give the square root of the base: +ROW base = 4, exponent = 0.5 +| EVAL s = POW(base, exponent) +Table of supported input and output typeseditFor clarity, the following table describes the output result type for all combinations of numeric input types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-processing-commands.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-processing-commands.txt new file mode 100644 index 0000000000000..125e55bfb2996 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-processing-commands.txt @@ -0,0 +1,17 @@ +Processing commands + +ES|QL processing commands change an input table by adding, removing, or changing +rows and columns. +ES|QL supports these processing commands: +DISSECT +DROP +ENRICH +EVAL +GROK +KEEP +LIMIT +MV_EXPAND +RENAME +SORT +STATS ... BY +WHERE diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-rename.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-rename.txt new file mode 100644 index 0000000000000..27ca77b68d0fd --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-rename.txt @@ -0,0 +1,18 @@ +RENAME + +Syntax +RENAME old_name1 AS new_name1[, ..., old_nameN AS new_nameN] +Parameters +old_nameX +The name of a column you want to rename. +new_nameX +The new name of the column. +DescriptionThe RENAME processing command renames one or more columns. If a column with +the new name already exists, it will be replaced by the new column.Examples +FROM employees +| KEEP first_name, last_name, still_hired +| RENAME still_hired AS employed +Multiple columns can be renamed with a single RENAME command: +FROM employees +| KEEP first_name, last_name +| RENAME first_name AS fn, last_name AS ln diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-replace.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-replace.txt new file mode 100644 index 0000000000000..cf9102ab9471e --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-replace.txt @@ -0,0 +1,7 @@ +REPLACE + +The function substitutes in the string (1st argument) any match of the regular expression (2nd argument) with the replacement string (3rd argument).If any of the arguments are NULL, the result is NULL. +This example replaces an occurrence of the word "World" with the word "Universe": +ROW str = "Hello World" +| EVAL str = REPLACE(str, "World", "Universe") +| KEEP str diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-right.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-right.txt new file mode 100644 index 0000000000000..2cd30d32cd7c1 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-right.txt @@ -0,0 +1,10 @@ +RIGHT + + +Return the substring that extracts length chars from the string starting from the right. +FROM employees +| KEEP last_name +| EVAL right = RIGHT(last_name, 3) +| SORT last_name ASC +| LIMIT 5 +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-round.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-round.txt new file mode 100644 index 0000000000000..8ecb92ecc81be --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-round.txt @@ -0,0 +1,8 @@ +ROUND + +Rounds a number to the closest number with the specified number of digits. +Defaults to 0 digits if no number of digits is provided. If the specified number +of digits is negative, rounds to the number of digits left of the decimal point. +FROM employees +| KEEP first_name, last_name, height +| EVAL height_ft = ROUND(height * 3.281, 1) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-row.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-row.txt new file mode 100644 index 0000000000000..fa57a1bcc5660 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-row.txt @@ -0,0 +1,17 @@ +ROW + +Syntax +ROW column1 = value1[, ..., columnN = valueN] +Parameters +columnX +The column name. +valueX +The value for the column. Can be a literal, an expression, or a +function. +DescriptionThe ROW source command produces a row with one or more columns with values +that you specify. This can be useful for testing.Examples +ROW a = 1, b = "two", c = null +Use square brackets to create multi-value columns: +ROW a = [2, 1] +ROW supports the use of functions: +ROW a = ROUND(1.23, 0) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-rtrim.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-rtrim.txt new file mode 100644 index 0000000000000..63b6c428cadf2 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-rtrim.txt @@ -0,0 +1,10 @@ +RTRIM + + +Removes trailing whitespaces from strings. +ROW message = " some text ", color = " red " +| EVAL message = RTRIM(message) +| EVAL color = RTRIM(color) +| EVAL message = CONCAT("'", message, "'") +| EVAL color = CONCAT("'", color, "'") +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-show.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-show.txt new file mode 100644 index 0000000000000..cb7fab0300435 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-show.txt @@ -0,0 +1,15 @@ +SHOW + +Syntax +SHOW item +Parameters +item +Can be INFO or FUNCTIONS. +DescriptionThe SHOW source command returns information about the deployment and +its capabilities: +Use SHOW INFO to return the deployment’s version, build date and hash. +Use SHOW FUNCTIONS to return a list of all supported functions and a +synopsis of each function. +Examples +SHOW functions +| WHERE STARTS_WITH(name, "is_") diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sin.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sin.txt new file mode 100644 index 0000000000000..1c64c76791ea8 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sin.txt @@ -0,0 +1,7 @@ +SIN + + +Sine trigonometric function. Input expected in radians. +ROW a=1.8 +| EVAL sin=SIN(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sinh.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sinh.txt new file mode 100644 index 0000000000000..7a9d8a0bbcab7 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sinh.txt @@ -0,0 +1,7 @@ +SINH + + +Sine hyperbolic function. +ROW a=1.8 +| EVAL sinh=SINH(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sort.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sort.txt new file mode 100644 index 0000000000000..e1838ca567241 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sort.txt @@ -0,0 +1,29 @@ +SORT + +Syntax +SORT column1 [ASC/DESC][NULLS FIRST/NULLS LAST][, ..., columnN [ASC/DESC][NULLS FIRST/NULLS LAST]] +Parameters +columnX +The column to sort on. +DescriptionThe SORT processing command sorts a table on one or more columns.The default sort order is ascending. Use ASC or DESC to specify an explicit +sort order.Two rows with the same sort key are considered equal. You can provide additional +sort expressions to act as tie breakers.Sorting on multivalued columns uses the lowest value when sorting ascending and +the highest value when sorting descending.By default, null values are treated as being larger than any other value. With +an ascending sort order, null values are sorted last, and with a descending +sort order, null values are sorted first. You can change that by providing +NULLS FIRST or NULLS LAST.Examples +FROM employees +| KEEP first_name, last_name, height +| SORT height +Explicitly sorting in ascending order with ASC: +FROM employees +| KEEP first_name, last_name, height +| SORT height DESC +Providing additional sort expressions to act as tie breakers: +FROM employees +| KEEP first_name, last_name, height +| SORT height DESC, first_name ASC +Sorting null values first using NULLS FIRST: +FROM employees +| KEEP first_name, last_name, height +| SORT first_name ASC NULLS FIRST diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-source-commands.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-source-commands.txt new file mode 100644 index 0000000000000..8065c0e0bbfb0 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-source-commands.txt @@ -0,0 +1,7 @@ +Source commands + +An ES|QL source command produces a table, typically with data from Elasticsearch. An ES|QL query must start with a source command. +ES|QL supports these source commands: +FROM +ROW +SHOW diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-split.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-split.txt new file mode 100644 index 0000000000000..8dbd7e74731e1 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-split.txt @@ -0,0 +1,7 @@ +SPLIT + +Split a single valued string into multiple strings. For example: +ROW words="foo;bar;baz;qux;quux;corge" +| EVAL word = SPLIT(words, ";") +Which splits "foo;bar;baz;qux;quux;corge" on ; and returns an array: +Only single byte delimiters are currently supported. diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sqrt.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sqrt.txt new file mode 100644 index 0000000000000..6b5c8a56a0d43 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sqrt.txt @@ -0,0 +1,8 @@ +SQRT + + +Returns the square root of a number. The input can be any numeric value, the return value +is always a double.Square roots of negative numbers are NaN. Square roots of infinites are infinite. +ROW d = 100.0 +| EVAL s = SQRT(d) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-stats.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-stats.txt new file mode 100644 index 0000000000000..2a1edb4966d15 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-stats.txt @@ -0,0 +1,50 @@ +STATS ... BY + +Syntax +STATS [column1 =] expression1[, ..., [columnN =] expressionN] [BY grouping_column1[, ..., grouping_columnN]] +Parameters +columnX +The name by which the aggregated value is returned. If omitted, the name is +equal to the corresponding expression (expressionX). +expressionX +An expression that computes an aggregated value. +grouping_columnX +The column containing the values to group by. +DescriptionThe STATS ... BY processing command groups rows according to a common value +and calculate one or more aggregated values over the grouped rows. If BY is +omitted, the output table contains exactly one row with the aggregations applied +over the entire dataset.The following aggregation functions are supported: +AVG +COUNT +COUNT_DISTINCT +MAX +MEDIAN +MEDIAN_ABSOLUTE_DEVIATION +MIN +PERCENTILE +SUM +STATS without any groups is much much faster than adding a group. +Grouping on a single column is currently much more optimized than grouping + on many columns. In some tests we have seen grouping on a single keyword + column to be five times faster than grouping on two keyword columns. Do + not try to work around this by combining the two columns together with + something like CONCAT and then grouping - that is not going to be + faster. +ExamplesCalculating a statistic and grouping by the values of another column: +FROM employees +| STATS count = COUNT(emp_no) BY languages +| SORT languages +Omitting BY returns one row with the aggregations applied over the entire +dataset: +FROM employees +| STATS avg_lang = AVG(languages) +It’s possible to calculate multiple values: +FROM employees +| STATS avg_lang = AVG(languages), max_lang = MAX(languages) +It’s also possible to group by multiple values (only supported for long and +keyword family fields): +FROM employees +| EVAL hired = DATE_FORMAT("YYYY", hire_date) +| STATS avg_salary = AVG(salary) BY hired, languages.long +| EVAL avg_salary = ROUND(avg_salary) +| SORT hired, languages.long diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-substring.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-substring.txt new file mode 100644 index 0000000000000..a113ad838cc8a --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-substring.txt @@ -0,0 +1,17 @@ +SUBSTRING + +Returns a substring of a string, specified by a start position and an optional +length. This example returns the first three characters of every last name: +FROM employees +| KEEP last_name +| EVAL ln_sub = SUBSTRING(last_name, 1, 3) +A negative start position is interpreted as being relative to the end of the +string. This example returns the last three characters of of every last name: +FROM employees +| KEEP last_name +| EVAL ln_sub = SUBSTRING(last_name, -3, 3) +If length is omitted, substring returns the remainder of the string. This +example returns all characters except for the first: +FROM employees +| KEEP last_name +| EVAL ln_sub = SUBSTRING(last_name, 2) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sum.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sum.txt new file mode 100644 index 0000000000000..bc24875fce219 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-sum.txt @@ -0,0 +1,5 @@ +SUM + +The sum of a numeric field. +FROM employees +| STATS SUM(languages) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-syntax.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-syntax.txt new file mode 100644 index 0000000000000..8656c63f308f3 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-syntax.txt @@ -0,0 +1,94 @@ + +ES|QL syntax referenceedit +Basic syntaxedit +An ES|QL query is composed of a source command followed +by an optional series of processing commands, +separated by a pipe character: `|`. For example: +source-command +| processing-command1 +| processing-command2 +The result of a query is the table produced by the final processing command. +For an overview of all supported commands, functions, and operators, refer to Commands and Functions and operators. +For readability, this documentation puts each processing command on a new +line. However, you can write an ES|QL query as a single line. The following +query is identical to the previous one: +source-command | processing-command1 | processing-command2 +Identifiersedit +The identifiers can be used as they are and don’t require quoting, unless +containing special characters, in which case they must be quoted with +backticks (```). What "special characters" means is command dependent. +For FROM, KEEP, DROP, +RENAME, MV_EXPAND and +ENRICH these are: `=`, ```, `,`, ` ` (space), `|` , +`[`, `]`, `\t` (TAB), `\r` (CR), `\n` (LF); one `/` is allowed unquoted, but +a sequence of two or more require quoting. +The rest of the commands - those allowing for identifiers be used in +expressions - require quoting if the identifier contains characters other than +letters, numbers and `_` and doesn’t start with a letter, `_` or `@`. +For instance: +// Retain just one field +FROM index +| KEEP 1.field +is legal. However, if same field is to be used with an EVAL, +it’d have to be quoted: +// Copy one field +FROM index +| EVAL my_field = `1.field` +Literalsedit +ES|QL currently supports numeric and string literals. +String literalsedit +A string literal is a sequence of unicode characters delimited by double +quotes (`"`). +// Filter by a string value +FROM index +| WHERE first_name == "Georgi" +If the literal string itself contains quotes, these need to be escaped (`\\"`). +ES|QL also supports the triple-quotes (`"""`) delimiter, for convenience: +ROW name = """Indiana "Indy" Jones""" +The special characters CR, LF and TAB can be provided with the usual escaping: +`\r`, `\n`, `\t`, respectively. +Numerical literalsedit +The numeric literals are accepted in decimal and in the scientific notation +with the exponent marker (`e` or `E`), starting either with a digit, decimal +point `.` or the negative sign `-`: +1969 -- integer notation +3.14 -- decimal notation +.1234 -- decimal notation starting with decimal point +4E5 -- scientific notation (with exponent marker) +1.2e-3 -- scientific notation with decimal point +-.1e2 -- scientific notation starting with the negative sign +The integer numeric literals are implicitly converted to the `integer`, `long` +or the `double` type, whichever can first accommodate the literal’s value. +The floating point literals are implicitly converted the `double` type. +To obtain constant values of different types, use one of the numeric +conversion functions. +Commentsedit +ES|QL uses C++ style comments: +double slash `//` for single line comments +`/*` and `*/` for block comments +// Query the employees index +FROM employees +| WHERE height > 2 +FROM /* Query the employees index */ employees +| WHERE height > 2 +FROM employees +/* Query the + * employees + * index */ +| WHERE height > 2 +Timespan literalsedit +Datetime intervals and timespans can be expressed using timespan literals. +Timespan literals are a combination of a number and a qualifier. These +qualifiers are supported: +`millisecond`/`milliseconds` +`second`/`seconds` +`minute`/`minutes` +`hour`/`hours` +`day`/`days` +`week`/`weeks` +`month`/`months` +`year`/`years` +Timespan literals are not whitespace sensitive. These expressions are all valid: +`1day` +`1 day` +`1 day` diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tan.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tan.txt new file mode 100644 index 0000000000000..63b752c8c6248 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tan.txt @@ -0,0 +1,7 @@ +TAN + + +Tangent trigonometric function. Input expected in radians. +ROW a=1.8 +| EVAL tan=TAN(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tanh.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tanh.txt new file mode 100644 index 0000000000000..83493cec93984 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tanh.txt @@ -0,0 +1,7 @@ +TANH + + +Tangent hyperbolic function. +ROW a=1.8 +| EVAL tanh=TANH(a) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tau.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tau.txt new file mode 100644 index 0000000000000..b60a1bde563d2 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-tau.txt @@ -0,0 +1,5 @@ +TAU + + +The ratio of a circle’s circumference to its radius. +ROW TAU() diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_boolean.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_boolean.txt new file mode 100644 index 0000000000000..a6259f436f076 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_boolean.txt @@ -0,0 +1,10 @@ +TO_BOOLEAN + +Converts an input value to a boolean value.The input can be a single- or multi-valued field or an expression. The input +type must be of a string or numeric type.A string value of "true" will be case-insensitive converted to the Boolean +true. For anything else, including the empty string, the function will +return false. For example: +ROW str = ["true", "TRuE", "false", "", "yes", "1"] +| EVAL bool = TO_BOOLEAN(str) +The numerical value of 0 will be converted to false, anything else will be +converted to true.Alias: TO_BOOL \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_cartesianpoint.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_cartesianpoint.txt new file mode 100644 index 0000000000000..e50645f73fb45 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_cartesianpoint.txt @@ -0,0 +1,8 @@ +TO_CARTESIANPOINT + +Converts an input value to a point value.The input can be a single- or multi-valued field or an expression. +The input type must be a string or a cartesian point.A string will only be successfully converted if it respects the +WKT Point format: +row wkt = ["POINT(4297.11 -1475.53)", "POINT(7580.93 2272.77)"] +| mv_expand wkt +| eval pt = to_cartesianpoint(wkt) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_datetime.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_datetime.txt new file mode 100644 index 0000000000000..d985309c75c62 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_datetime.txt @@ -0,0 +1,17 @@ +TO_DATETIME + +Converts an input value to a date value.The input can be a single- or multi-valued field or an expression. The input +type must be of a string or numeric type.A string will only be successfully converted if it’s respecting the format +yyyy-MM-dd'T'HH:mm:ss.SSS'Z' (to convert dates in other formats, use DATE_PARSE). For example: +ROW string = ["1953-09-02T00:00:00.000Z", "1964-06-02T00:00:00.000Z", "1964-06-02 00:00:00"] +| EVAL datetime = TO_DATETIME(string) +Note that in this example, the last value in the source multi-valued +field has not been converted. The reason being that if the date format is not +respected, the conversion will result in a null value. When this happens a +Warning header is added to the response. The header will provide information +on the source of the failure:"Line 1:112: evaluation of [TO_DATETIME(string)] failed, treating result as null. Only first 20 failures recorded."A following header will contain the failure reason and the offending value:"java.lang.IllegalArgumentException: failed to parse date field [1964-06-02 00:00:00] with format [yyyy-MM-dd'T'HH:mm:ss.SSS'Z']"If the input parameter is of a numeric type, its value will be interpreted as +milliseconds since the Unix epoch. +For example: +ROW int = [0, 1] +| EVAL dt = TO_DATETIME(int) +Alias: TO_DT \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_degrees.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_degrees.txt new file mode 100644 index 0000000000000..e6df993088477 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_degrees.txt @@ -0,0 +1,7 @@ +TO_DEGREES + +Converts a number in radians +to degrees.The input can be a single- or multi-valued field or an expression. The input +type must be of a numeric type and result is always double.Example: +ROW rad = [1.57, 3.14, 4.71] +| EVAL deg = TO_DEGREES(rad) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_double.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_double.txt new file mode 100644 index 0000000000000..2e1dd75654abe --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_double.txt @@ -0,0 +1,12 @@ +TO_DOUBLE + +Converts an input value to a double value.The input can be a single- or multi-valued field or an expression. The input +type must be of a boolean, date, string or numeric type.Example: +ROW str1 = "5.20128E11", str2 = "foo" +| EVAL dbl = TO_DOUBLE("520128000000"), dbl1 = TO_DOUBLE(str1), dbl2 = TO_DOUBLE(str2) +Note that in this example, the last conversion of the string isn’t +possible. When this happens, the result is a null value. In this case a +Warning header is added to the response. The header will provide information +on the source of the failure:"Line 1:115: evaluation of [TO_DOUBLE(str2)] failed, treating result as null. Only first 20 failures recorded."A following header will contain the failure reason and the offending value:"java.lang.NumberFormatException: For input string: \"foo\""If the input parameter is of a date type, its value will be interpreted as +milliseconds since the Unix epoch, +converted to double.Boolean true will be converted to double 1.0, false to 0.0.Alias: TO_DBL \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_geopoint.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_geopoint.txt new file mode 100644 index 0000000000000..4aabac29f8c6d --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_geopoint.txt @@ -0,0 +1,7 @@ +TO_GEOPOINT + +Converts an input value to a geo_point value.The input can be a single- or multi-valued field or an expression. +The input type must be a string or a geo_point.A string will only be successfully converted if it respects the +WKT Point format: +row wkt = "POINT(42.97109630194 14.7552534413725)" +| eval pt = to_geopoint(wkt) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_integer.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_integer.txt new file mode 100644 index 0000000000000..eab5669791922 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_integer.txt @@ -0,0 +1,12 @@ +TO_INTEGER + +Converts an input value to an integer value.The input can be a single- or multi-valued field or an expression. The input +type must be of a boolean, date, string or numeric type.Example: +ROW long = [5013792, 2147483647, 501379200000] +| EVAL int = TO_INTEGER(long) +Note that in this example, the last value of the multi-valued field cannot +be converted as an integer. When this happens, the result is a null value. +In this case a Warning header is added to the response. The header will +provide information on the source of the failure:"Line 1:61: evaluation of [TO_INTEGER(long)] failed, treating result as null. Only first 20 failures recorded."A following header will contain the failure reason and the offending value:"org.elasticsearch.xpack.ql.QlIllegalArgumentException: [501379200000] out of [integer] range"If the input parameter is of a date type, its value will be interpreted as +milliseconds since the Unix epoch, +converted to integer.Boolean true will be converted to integer 1, false to 0.Alias: TO_INT \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_ip.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_ip.txt new file mode 100644 index 0000000000000..0e8f2fd1274a1 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_ip.txt @@ -0,0 +1,10 @@ +TO_IP + +Converts an input string to an IP value.The input can be a single- or multi-valued field or an expression.Example: +ROW str1 = "1.1.1.1", str2 = "foo" +| EVAL ip1 = TO_IP(str1), ip2 = TO_IP(str2) +| WHERE CIDR_MATCH(ip1, "1.0.0.0/8") +Note that in the example above the last conversion of the string isn’t +possible. When this happens, the result is a null value. In this case a +Warning header is added to the response. The header will provide information +on the source of the failure:"Line 1:68: evaluation of [TO_IP(str2)] failed, treating result as null. Only first 20 failures recorded."A following header will contain the failure reason and the offending value:"java.lang.IllegalArgumentException: 'foo' is not an IP string literal." \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_long.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_long.txt new file mode 100644 index 0000000000000..37a73209c7043 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_long.txt @@ -0,0 +1,12 @@ +TO_LONG + +Converts an input value to a long value.The input can be a single- or multi-valued field or an expression. The input +type must be of a boolean, date, string or numeric type.Example: +ROW str1 = "2147483648", str2 = "2147483648.2", str3 = "foo" +| EVAL long1 = TO_LONG(str1), long2 = TO_LONG(str2), long3 = TO_LONG(str3) +Note that in this example, the last conversion of the string isn’t +possible. When this happens, the result is a null value. In this case a +Warning header is added to the response. The header will provide information +on the source of the failure:"Line 1:113: evaluation of [TO_LONG(str3)] failed, treating result as null. Only first 20 failures recorded."A following header will contain the failure reason and the offending value:"java.lang.NumberFormatException: For input string: \"foo\""If the input parameter is of a date type, its value will be interpreted as +milliseconds since the Unix epoch, +converted to long.Boolean true will be converted to long 1, false to 0. \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_radians.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_radians.txt new file mode 100644 index 0000000000000..d0118e1fa0271 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_radians.txt @@ -0,0 +1,7 @@ +TO_RADIANS + +Converts a number in degrees to +radians.The input can be a single- or multi-valued field or an expression. The input +type must be of a numeric type and result is always double.Example: +ROW deg = [90.0, 180.0, 270.0] +| EVAL rad = TO_RADIANS(deg) diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_string.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_string.txt new file mode 100644 index 0000000000000..4cb34acc5e054 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_string.txt @@ -0,0 +1,10 @@ +TO_STRING + + +Converts a field into a string. For example: +ROW a=10 +| EVAL j = TO_STRING(a) +It also works fine on multivalued fields: +ROW a=[10, 9, 8] +| EVAL j = TO_STRING(a) +Alias: TO_STRSupported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_unsigned_long.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_unsigned_long.txt new file mode 100644 index 0000000000000..ae42a582079b3 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_unsigned_long.txt @@ -0,0 +1,12 @@ +TO_UNSIGNED_LONG + +Converts an input value to an unsigned long value.The input can be a single- or multi-valued field or an expression. The input +type must be of a boolean, date, string or numeric type.Example: +ROW str1 = "2147483648", str2 = "2147483648.2", str3 = "foo" +| EVAL long1 = TO_UNSIGNED_LONG(str1), long2 = TO_ULONG(str2), long3 = TO_UL(str3) +Note that in this example, the last conversion of the string isn’t +possible. When this happens, the result is a null value. In this case a +Warning header is added to the response. The header will provide information +on the source of the failure:"Line 1:133: evaluation of [TO_UL(str3)] failed, treating result as null. Only first 20 failures recorded."A following header will contain the failure reason and the offending value:"java.lang.NumberFormatException: Character f is neither a decimal digit number, decimal point, nor \"e\" notation exponential mark."If the input parameter is of a date type, its value will be interpreted as +milliseconds since the Unix epoch, +converted to unsigned long.Boolean true will be converted to unsigned long 1, false to 0.Alias: TO_ULONG, TO_UL \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_version.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_version.txt new file mode 100644 index 0000000000000..84ec4214c6279 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-to_version.txt @@ -0,0 +1,6 @@ +TO_VERSION + + +Converts an input string to a version value. For example: +ROW v = TO_VERSION("1.2.3") +The input can be a single- or multi-valued field or an expression.Alias: TO_VERSupported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-trim.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-trim.txt new file mode 100644 index 0000000000000..5a7e51b0aa2ff --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-trim.txt @@ -0,0 +1,8 @@ +TRIM + + +Removes leading and trailing whitespaces from strings. +ROW message = " some text ", color = " red " +| EVAL message = TRIM(message) +| EVAL color = TRIM(color) +Supported types: diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-where.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-where.txt new file mode 100644 index 0000000000000..f03e351e933f8 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/docs/esql-where.txt @@ -0,0 +1,51 @@ +WHERE + +Syntax +WHERE expression +Parameters +expression +A boolean expression. +DescriptionThe WHERE processing command produces a table that contains all the rows from +the input table for which the provided condition evaluates to true.Examples +FROM employees +| KEEP first_name, last_name, still_hired +| WHERE still_hired == true +Which, if still_hired is a boolean field, can be simplified to: +FROM employees +| KEEP first_name, last_name, still_hired +| WHERE still_hired +WHERE supports various functions. For example the +LENGTH function: +FROM employees +| KEEP first_name, last_name, height +| WHERE LENGTH(first_name) < 4 +For a complete list of all functions, refer to Functions and operators.For NULL comparison, use the IS NULL and IS NOT NULL predicates: +FROM employees +| WHERE birth_date IS NULL +| KEEP first_name, last_name +| SORT first_name +| LIMIT 3 +FROM employees +| WHERE is_rehired IS NOT NULL +| STATS COUNT(emp_no) +Use LIKE to filter data based on string patterns using wildcards. LIKE +usually acts on a field placed on the left-hand side of the operator, but it can +also act on a constant (literal) expression. The right-hand side of the operator +represents the pattern.The following wildcard characters are supported: +* matches zero or more characters. +? matches one character. +FROM employees +| WHERE first_name LIKE "?b*" +| KEEP first_name, last_name +Use RLIKE to filter data based on string patterns using using +regular expressions. RLIKE usually acts on a field placed on +the left-hand side of the operator, but it can also act on a constant (literal) +expression. The right-hand side of the operator represents the pattern. +FROM employees +| WHERE first_name RLIKE ".leja.*" +| KEEP first_name, last_name +The IN operator allows testing whether a field or expression equals +an element in a list of literals, fields or expressions: +ROW a = 1, b = 4, c = 3 +| WHERE c-a IN (3, b / 2, a) +For a complete list of all operators, refer to Operators. \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/index.ts b/x-pack/plugins/observability_ai_assistant/server/functions/esql/index.ts new file mode 100644 index 0000000000000..dcc26adc52e43 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/index.ts @@ -0,0 +1,305 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import Fs from 'fs'; +import { keyBy, mapValues, once, pick } from 'lodash'; +import pLimit from 'p-limit'; +import Path from 'path'; +import { lastValueFrom, Observable } from 'rxjs'; +import { promisify } from 'util'; +import type { FunctionRegistrationParameters } from '..'; +import { + CreateChatCompletionResponseChunk, + FunctionVisibility, + MessageRole, +} from '../../../common/types'; +import { concatenateOpenAiChunks } from '../../../common/utils/concatenate_openai_chunks'; +import { processOpenAiStream } from '../../../common/utils/process_openai_stream'; +import { streamIntoObservable } from '../../service/util/stream_into_observable'; + +const readFile = promisify(Fs.readFile); +const readdir = promisify(Fs.readdir); + +const loadSystemMessage = once(async () => { + const data = await readFile(Path.join(__dirname, './system_message.txt')); + return data.toString('utf-8'); +}); + +const loadEsqlDocs = once(async () => { + const dir = Path.join(__dirname, './docs'); + const files = (await readdir(dir)).filter((file) => Path.extname(file) === '.txt'); + + if (!files.length) { + return {}; + } + + const limiter = pLimit(10); + return keyBy( + await Promise.all( + files.map((file) => + limiter(async () => { + const data = (await readFile(Path.join(dir, file))).toString('utf-8'); + const filename = Path.basename(file, '.txt'); + + const keyword = filename + .replace('esql-', '') + .replace('agg-', '') + .replaceAll('-', '_') + .toUpperCase(); + + return { + keyword: keyword === 'STATS_BY' ? 'STATS' : keyword, + data, + }; + }) + ) + ), + 'keyword' + ); +}); + +export function registerEsqlFunction({ + client, + registerFunction, + resources, +}: FunctionRegistrationParameters) { + registerFunction( + { + name: 'execute_query', + contexts: ['core'], + visibility: FunctionVisibility.User, + description: 'Execute an ES|QL query', + parameters: { + type: 'object', + additionalProperties: false, + properties: { + query: { + type: 'string', + }, + }, + required: ['query'], + } as const, + }, + async ({ arguments: { query } }) => { + const response = await ( + await resources.context.core + ).elasticsearch.client.asCurrentUser.transport.request({ + method: 'POST', + path: '_query', + body: { + query, + }, + }); + + return { content: response }; + } + ); + + registerFunction( + { + name: 'esql', + contexts: ['core'], + description: `This function answers ES|QL related questions including query generation and syntax/command questions.`, + visibility: FunctionVisibility.System, + parameters: { + type: 'object', + additionalProperties: false, + properties: { + switch: { + type: 'boolean', + }, + }, + } as const, + }, + async ({ messages, connectorId }, signal) => { + const [systemMessage, esqlDocs] = await Promise.all([loadSystemMessage(), loadEsqlDocs()]); + + const withEsqlSystemMessage = (message?: string) => [ + { + '@timestamp': new Date().toISOString(), + message: { role: MessageRole.System, content: `${systemMessage}\n${message ?? ''}` }, + }, + ...messages.slice(1), + ]; + + const source$ = streamIntoObservable( + await client.chat({ + connectorId, + messages: withEsqlSystemMessage(), + signal, + stream: true, + functions: [ + { + name: 'get_esql_info', + description: + 'Use this function to get more information about syntax, commands and examples. Take a deep breath and reason about what commands and functions you expect to use. Do you need to group data? Request `STATS`. Extract data? Request `DISSECT` AND `GROK`. Convert a column based on a set of conditionals? Request `EVAL` and `CASE`.', + parameters: { + type: 'object', + properties: { + commands: { + type: 'array', + items: { + type: 'string', + }, + description: 'A list of processing or source commands', + }, + functions: { + type: 'array', + items: { + type: 'string', + }, + description: 'A list of functions.', + }, + }, + required: ['commands', 'functions'], + }, + }, + ], + functionCall: 'get_esql_info', + }) + ).pipe(processOpenAiStream(), concatenateOpenAiChunks()); + + const response = await lastValueFrom(source$); + + const args = JSON.parse(response.message.function_call.arguments) as { + commands: string[]; + functions: string[]; + }; + + const keywords = args.commands.concat(args.functions).concat('SYNTAX').concat('OVERVIEW'); + + const messagesToInclude = mapValues(pick(esqlDocs, keywords), ({ data }) => data); + + const esqlResponse$: Observable = streamIntoObservable( + await client.chat({ + messages: [ + ...withEsqlSystemMessage( + `Format every ES|QL query as Markdown: + \`\`\`esql + + \`\`\` + + Prefer to use commands and functions for which you have documentation. + + Pay special attention to these instructions. Not following these instructions to the tee + will lead to excruciating consequences for the user. + + #1 + Directive: ONLY use aggregation functions in STATS commands, and use ONLY aggregation functions in stats commands, NOT in SORT or EVAL. + Rationale: Only aggregation functions are supported in STATS commands, and aggregation functions are only supported in STATS commands. + Action: Create new columns using EVAL first and then aggregate over them in STATS commands. Do not use aggregation functions anywhere else, such as SORT or EVAL. + Example: EVAL is_failure_as_number = CASE(event.outcome == "failure", 1, 0) | STATS total_failures = SUM(is_failure_as_number) BY my_grouping_name + + #2 + Directive: Use the \`=\` operator to create new columns in STATS and EVAL, DO NOT UNDER ANY CIRCUMSTANCES use \`AS\`. + Rationale: The \`=\` operator is used for aliasing. Using \`AS\` leads to syntax errors. + Action: When creating a new column in a command, use the = operator. + Example: STATS total_requests = COUNT(*) + + #3 + Directive: Use placeholder values for information that is missing. + Rationale: It is critical to generate a syntactically valid query. + Action: When you don't know the arguments to a function because information is missing, use placeholder values. + Example: "Here's an ES|QL query that generates a timeseries of 50 buckets calculating the average duration. I've used + "2023-01-23T12:15:00.000Z" and "2023-01-23T12:30:00.000Z" as placeholder values. Replace them with the start + and end date that work for your use case." + + #4 + Directive: Wrap string literals in double quotes. + Rationale: It is critical to generate a syntactically valid query. + Action: When using string literals in function calls, wrap them in double quotes, not single quotes. + Example: DATE_EXTRACT("year", @timestamp) + + At the start of every message, YOU MUST, for every instruction that is relevant to the query you want to construct, + repeat its directives, verbatim, at the start of every message. Exclude the rationales, actions, and examples. Follow + it up by using a delimiter: -- + + Example: + + #1: + #2: + #3: + + -- + + Here is an ES|QL query that you can use: + + ` + ), + { + '@timestamp': new Date().toISOString(), + message: { + role: MessageRole.Assistant, + content: '', + function_call: { + name: 'get_esql_info', + arguments: JSON.stringify(args), + trigger: MessageRole.Assistant as const, + }, + }, + }, + { + '@timestamp': new Date().toISOString(), + message: { + role: MessageRole.User, + name: 'get_esql_info', + content: JSON.stringify({ + documentation: messagesToInclude, + }), + }, + }, + ], + connectorId, + functions: [], + signal, + stream: true, + }) + ).pipe(processOpenAiStream()); + + return esqlResponse$.pipe((source) => { + return new Observable((subscriber) => { + let cachedContent: string = ''; + + function includesDivider() { + const firstDividerIndex = cachedContent.indexOf('--'); + return firstDividerIndex !== -1; + } + + source.subscribe({ + next: (message) => { + if (includesDivider()) { + subscriber.next(message); + } + cachedContent += message.choices[0].delta.content || ''; + }, + complete: () => { + if (!includesDivider()) { + subscriber.next({ + created: 0, + id: '', + model: '', + object: 'chat.completion.chunk', + choices: [ + { + delta: { + content: cachedContent, + }, + }, + ], + }); + } + subscriber.complete(); + }, + error: (error) => { + subscriber.error(error); + }, + }); + }); + }); + } + ); +} diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/esql/system_message.txt b/x-pack/plugins/observability_ai_assistant/server/functions/esql/system_message.txt new file mode 100644 index 0000000000000..7dca13c490180 --- /dev/null +++ b/x-pack/plugins/observability_ai_assistant/server/functions/esql/system_message.txt @@ -0,0 +1,220 @@ +You are a helpful assistant for generating and executing ES|QL queries. +Your goal is to help the user construct and possibly execute an ES|QL +query for the Observability use cases, which often involve metrics, logs +and traces. + +ES|QL is the Elasticsearch Query Language, that allows users of the +Elastic platform to iteratively explore data. An ES|QL query consists +of a series of commands, separated by pipes. Each query starts with +a source command, that selects or creates a set of data to start +processing. This source command is then followed by one or more +processing commands, which can transform the data returned by the +previous command. + +ES|QL is not Elasticsearch SQL, nor is it anything like SQL. SQL +commands are not available in ES|QL. Make sure you write a query +using ONLY commands specified in this conversation. + +# Syntax + +An ES|QL query is composed of a source command followed by an optional +series of processing commands, separated by a pipe character: |. For +example: + + | + | + +Binary operators: ==, !=, <, <=, >, >=. +Logical operators are supported: AND, OR, NOT +Predicates: IS NULL, IS NOT NULL +Timestamp literal syntax: NOW() - 15 days, 24 hours, 1 week + +## Source commands + +Source commands select a data source. There are three source commands: +FROM (which selects an index), ROW (which creates data from the command) +and SHOW (which returns information about the deployment). + +## Processing commands + +ES|QL processing commands change an input table by adding, removing, or +changing rows and columns. The following commands are available: + +- DISSECT: extracts structured data out of a string, using a dissect +pattern. +- DROP: drops one or more columns +- ENRICH: adds data from existing indices as new columns +- EVAL: adds a new column with calculated values. Supported functions for + EVAL are: + - Mathematical functions + - String functions + - Date-time functions + - Type conversation functions + - Conditional functions and expressions + - Multi-value functions +Aggregation functions are not supported for EVAL. +- GROK: extracts structured data out of a string, using a grok pattern +- KEEP: keeps one or more columns, drop the ones that are not kept +- LIMIT: returns the first n number of rows. The maximum value for this +is 10000. +- MV_EXPAND: expands multi-value columns into a single row per value +- RENAME: renames a column +- SORT: sorts the row in a table +- STATS ... BY: groups rows according to a common value and calculates +one or more aggregated values over the grouped rows. This commands only + supports aggregation functions, and no other functions or operators. +- WHERE: produces a table that contains all the rows from the input table + for which the provided condition returns true. WHERE supports the same + functions as EVAL. + +## Functions and operators + +### Aggregation functions +- AVG +- COUNT +- COUNT_DISTINCT +- MAX +- MEDIAN +- MEDIAN_ABSOLUTE_DEVIATION +- MIN +- PERCENTILE +- SUM + +### Mathematical functions + +- ABS +- ACOS +- ASIN +- ATAN +- ATAN2 +- CEIL +- COS +- COSH +- E +- FLOOR +- LOG10 +- PI +- POW +- ROUND +- SIN +- SINH +- SQRT +- TAN +- TANH +- TAU + +### String functions +- CONCAT +- LEFT +- LENGTH +- LTRIM +- REPLACE +- RIGHT +- RTRIM +- SPLIT +- SUBSTRING +- TRIM + +### Date-time functions +- AUTO_BUCKET +- DATE_EXTRACT +- DATE_FORMAT +- DATE_PARSE +- DATE_TRUNC +- NOW + +### Type conversion functions +- TO_BOOLEAN +- TO_DATETIME +- TO_DEGREES +- TO_DOUBLE +- TO_INTEGER +- TO_IP +- TO_LONG +- TO_RADIANS +- TO_STRING +- TO_UNSIGNED_LONG +- TO_VERSION + +### Conditional functions and expressions +- CASE +- COALESCE +- GREATEST +- LEAST + +### Multivalue functions +- MV_AVG +- MV_CONCAT +- MV_COUNT +- MV_DEDUPE +- MV_MAX +- MV_MEDIAN +- MV_MIN +- MV_SUM + +### Operators +- Binary operators +- Logical operators +- IS NULL and IS NOT NULL predicates +- CIDR_MATCH +- ENDS_WITH +- IN +- IS_FINITE +- IS_INFINITE +- IS_NAN +- LIKE +- RLIKE +- STARTS_WITH + +Here are some example queries: + +FROM employees +| WHERE still_hired == true +| EVAL hired = DATE_FORMAT("YYYY", hire_date) +| STATS avg_salary = AVG(salary) BY languages +| EVAL avg_salary = ROUND(avg_salary) +| EVAL lang_code = TO_STRING(languages) +| ENRICH languages_policy ON lang_code WITH lang = language_name +| WHERE lang IS NOT NULL +| KEEP avg_salary, lang +| SORT avg_salary ASC +| LIMIT 3 + +FROM employees + | EVAL trunk_worked_seconds = avg_worked_seconds / 100000000 * 100000000 + | STATS c = count(languages.long) BY languages.long, trunk_worked_seconds + | SORT c desc, languages.long, trunk_worked_seconds + +ROW a = "2023-01-23T12:15:00.000Z - some text - 127.0.0.1" +| DISSECT a "%{date} - %{msg} - %{ip}" +| KEEP date, msg, ip +| EVAL date = TO_DATETIME(date) + +FROM employees +| WHERE first_name LIKE "?b*" +| KEEP first_name, last_name + +FROM employees +| WHERE hire_date >= "1985-01-01T00:00:00Z" AND hire_date < "1986-01-01T00:00:00Z" +| EVAL bucket = AUTO_BUCKET(hire_date, 20, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z") +| STATS AVG(salary) BY bucket +| SORT bucket + +ROW a = 1, b = "two", c = null + +FROM employees +| EVAL is_recent_hire = CASE(hire_date <= "2023-01-01T00:00:00Z", 1, 0) +| STATS total_recent_hires = SUM(is_recent_hire), total_hires = COUNT(*) BY country +| EVAL recent_hiring_rate = total_recent_hires / total_hires + +FROM logs-* +| WHERE @timestamp <= NOW() - 24 hours +// divide data in 1 hour buckets +| EVAL bucket = DATE_TRUNC(1 hour, @timestamp) +// convert a keyword field into a numeric field to aggregate over it +| EVAL is_5xx = CASE(http.response.status_code >= 500, 1, 0) +// count total events and failed events to calculate a rate +| STATS total_events = COUNT(*), total_failures = SUM(is_5xx) BY host.hostname, bucket +| EVAL failure_rate_per_host = total_failures / total_events +| DROP total_events, total_failures + diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/get_dataset_info.ts b/x-pack/plugins/observability_ai_assistant/server/functions/get_dataset_info.ts index bd48e1bda2f05..7cb35e09f78e4 100644 --- a/x-pack/plugins/observability_ai_assistant/server/functions/get_dataset_info.ts +++ b/x-pack/plugins/observability_ai_assistant/server/functions/get_dataset_info.ts @@ -63,15 +63,19 @@ export function registerGetDatasetInfoFunction({ if (index === '') { return { - indices, - fields: [], + content: { + indices, + fields: [], + }, }; } if (indices.length === 0) { return { - indices, - fields: [], + content: { + indices, + fields: [], + }, }; } diff --git a/x-pack/plugins/observability_ai_assistant/server/functions/index.ts b/x-pack/plugins/observability_ai_assistant/server/functions/index.ts index 6300852cbc064..b25e69c53689c 100644 --- a/x-pack/plugins/observability_ai_assistant/server/functions/index.ts +++ b/x-pack/plugins/observability_ai_assistant/server/functions/index.ts @@ -54,18 +54,22 @@ export const registerFunctions: ChatRegistrationFunction = async ({ If a function call fails, DO NOT UNDER ANY CIRCUMSTANCES execute it again. Ask the user for guidance and offer them options. Note that ES|QL (the Elasticsearch query language, which is NOT Elasticsearch SQL, but a new piped language) is the preferred query language. + + Use the "get_dataset_info" function if it is not clear what fields or indices the user means, or if you want to get more information about the mappings. - If the user asks about a query, or ES|QL, always call the "esql" function. DO NOT UNDER ANY CIRCUMSTANCES generate ES|QL queries yourself. Even if the "recall" function was used before that, follow it up with the "esql" function.` + If the user asks about a query, or ES|QL, always call the "esql" function. DO NOT UNDER ANY CIRCUMSTANCES generate ES|QL queries or explain anything about the ES|QL query language yourself. + Even if the "recall" function was used before that, follow it up with the "esql" function. If a query fails, do not attempt to correct it yourself. Again you should call the "esql" function, + even if it has been called before. + + If the "get_dataset_info" function returns no data, and the user asks for a query, generate a query anyway with the "esql" function, but be explicit about it potentially being incorrect. + ` ); if (isReady) { description += `You can use the "summarize" functions to store new information you have learned in a knowledge database. Once you have established that you did not know the answer to a question, and the user gave you this information, it's important that you create a summarisation of what you have learned and store it in the knowledge database. Don't create a new summarization if you see a similar summarization in the conversation, instead, update the existing one by re-using its ID. Additionally, you can use the "recall" function to retrieve relevant information from the knowledge database. - `; - description += `Here are principles you MUST adhere to, in order: - - DO NOT make any assumptions about where and how users have stored their data. ALWAYS first call get_dataset_info function with empty string to get information about available indices. Once you know about available indices you MUST use this function again to get a list of available fields for specific index. If user provides an index name make sure its a valid index first before using it to retrieve the field list by calling this function with an empty string! `; registerSummarizationFunction(registrationParameters); diff --git a/yarn.lock b/yarn.lock index 1db13cef13340..69b2efda65bde 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8903,6 +8903,13 @@ resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.9.tgz#d868b6febb02666330410fe7f58f3c4b8258be7b" integrity sha512-MNl+rT5UmZeilaPxAVs6YaPC2m6aA8rofviZbhbxpPpl61uKodfdQVsBtgJGTqGizEf02oW3tsVe7FYB8kK14A== +"@types/cli-progress@^3.11.5": + version "3.11.5" + resolved "https://registry.yarnpkg.com/@types/cli-progress/-/cli-progress-3.11.5.tgz#9518c745e78557efda057e3f96a5990c717268c3" + integrity sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g== + dependencies: + "@types/node" "*" + "@types/clone@~2.1.1": version "2.1.1" resolved "https://registry.yarnpkg.com/@types/clone/-/clone-2.1.1.tgz#9b880d0ce9b1f209b5e0bd6d9caa38209db34024" @@ -12903,7 +12910,7 @@ cheerio-select@^2.1.0: domhandler "^5.0.3" domutils "^3.0.1" -cheerio@^1.0.0-rc.10, cheerio@^1.0.0-rc.3: +cheerio@^1.0.0-rc.12, cheerio@^1.0.0-rc.3: version "1.0.0-rc.12" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== @@ -13062,10 +13069,17 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" +cli-progress@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.12.0.tgz#807ee14b66bcc086258e444ad0f19e7d42577942" + integrity sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== + dependencies: + string-width "^4.2.3" + cli-spinners@^2.2.0, cli-spinners@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047" - integrity sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ== + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== cli-table3@^0.6.1, cli-table3@~0.6.1: version "0.6.1" From d22560e58c89d9b24d8d2a660ae9daf3e198481f Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Mon, 18 Dec 2023 01:09:06 -0500 Subject: [PATCH 123/123] [api-docs] 2023-12-18 Daily api_docs build (#173488) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/555 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/ai_assistant_management_observability.mdx | 2 +- api_docs/ai_assistant_management_selection.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_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/dataset_quality.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_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.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_actions_types.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_alerting_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_collection_utils.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_bfetch_error.mdx | 2 +- api_docs/kbn_calculate_auto.mdx | 2 +- api_docs/kbn_calculate_width_from_char_count.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.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_common.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_contracts_browser.mdx | 2 +- api_docs/kbn_core_plugins_contracts_server.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- 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_model_versions.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_icons.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_agent_utils.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_elastic_assistant_common.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_field_utils.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_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_application.mdx | 2 +- api_docs/kbn_management_settings_components_field_category.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_components_form.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_chi2test.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_ui_actions.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_observability_alerting_test_data.mdx | 2 +- api_docs/kbn_observability_get_padded_alert_time_range_util.mdx | 2 +- api_docs/kbn_openapi_bundler.mdx | 2 +- api_docs/kbn_openapi_generator.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_panel_loader.mdx | 2 +- 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_reporting_export_types_csv.mdx | 2 +- api_docs/kbn_reporting_export_types_csv_common.mdx | 2 +- api_docs/kbn_reporting_export_types_pdf.mdx | 2 +- api_docs/kbn_reporting_export_types_pdf_common.mdx | 2 +- api_docs/kbn_reporting_export_types_png.mdx | 2 +- api_docs/kbn_reporting_export_types_png_common.mdx | 2 +- api_docs/kbn_reporting_mocks_server.mdx | 2 +- api_docs/kbn_reporting_public.mdx | 2 +- api_docs/kbn_reporting_server.mdx | 2 +- api_docs/kbn_resizable_layout.mdx | 2 +- 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_errors.mdx | 2 +- api_docs/kbn_search_index_documents.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_plugin_types_common.mdx | 2 +- api_docs/kbn_security_plugin_types_public.mdx | 2 +- api_docs/kbn_security_plugin_types_server.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- 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_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_error_boundary.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- 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_triggers_actions_ui_types.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_unsaved_changes_badge.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_visualization_utils.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kbn_zod_helpers.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.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/links.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/mock_idp_plugin.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_log_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 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 +- 632 files changed, 632 insertions(+), 632 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 651be840000ca..d1449bb4f5442 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-12-17 +date: 2023-12-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 f3f581eb79f34..e063bf6df4262 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/ai_assistant_management_observability.mdx b/api_docs/ai_assistant_management_observability.mdx index 1fef2544b59ee..2c3f3fe8ad821 100644 --- a/api_docs/ai_assistant_management_observability.mdx +++ b/api_docs/ai_assistant_management_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementObservability title: "aiAssistantManagementObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementObservability plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementObservability'] --- import aiAssistantManagementObservabilityObj from './ai_assistant_management_observability.devdocs.json'; diff --git a/api_docs/ai_assistant_management_selection.mdx b/api_docs/ai_assistant_management_selection.mdx index be6c8b7fe929d..cf78bd1b05f4f 100644 --- a/api_docs/ai_assistant_management_selection.mdx +++ b/api_docs/ai_assistant_management_selection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementSelection title: "aiAssistantManagementSelection" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementSelection plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementSelection'] --- import aiAssistantManagementSelectionObj from './ai_assistant_management_selection.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index fd14dcd90351d..fdf70ee454902 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-12-17 +date: 2023-12-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 7ffea5c587d0d..d40ce5a71c17a 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-12-17 +date: 2023-12-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 c76fc46768904..bf2e4195bbde6 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-12-17 +date: 2023-12-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 a3801af42f88a..3492827c5f164 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-12-17 +date: 2023-12-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 3c30d0f90504c..b99e057c430cf 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-12-17 +date: 2023-12-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 caab3de80fe30..45ef7d3af1b42 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-12-17 +date: 2023-12-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 8cccf0a555a8d..34c44f5a72c88 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-12-17 +date: 2023-12-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 b9d7ea2c715a3..54443dab0bb19 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-12-17 +date: 2023-12-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 43b6de9050525..f6ed79fed21c4 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-12-17 +date: 2023-12-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 51286e071f629..5922ea4676fff 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-12-17 +date: 2023-12-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 76f8cdc0f4c0a..56e061837c347 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 6fb8f26aa4444..dfab273f2a8a1 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-12-17 +date: 2023-12-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 de6f8612aa3c7..6c2e123b2daad 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-12-17 +date: 2023-12-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 c21524af6c33f..02a383a8bd04c 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-12-17 +date: 2023-12-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 e45dd062df8ec..fd3451cd8b25c 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-12-17 +date: 2023-12-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 727b22f16f3f5..0a88f9c0d6bbf 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-12-17 +date: 2023-12-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 64ce1cd597d34..20b386f71265a 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-12-17 +date: 2023-12-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 48bf1b00d563a..51d15d378ee8e 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-12-17 +date: 2023-12-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 3f8932e8c19c3..bcf15e3402ff7 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-12-17 +date: 2023-12-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 8e920f1e8407a..9f59b08b3f38f 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-12-17 +date: 2023-12-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 99c2450d5ad60..b7a5d18a76ff4 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-12-17 +date: 2023-12-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 44c7d7e97ca23..02c66c81bc712 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-12-17 +date: 2023-12-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 e7eeb291a6655..86f96ae960121 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-12-17 +date: 2023-12-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 1c555e1cc7950..dcd50dc9f7f3e 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-12-17 +date: 2023-12-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 328ac28e6d838..22d26ca448f35 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-12-17 +date: 2023-12-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 029ec6043ea81..958f49dd1b01d 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-12-17 +date: 2023-12-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 54e166721994f..3fcd74bf2db2b 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-12-17 +date: 2023-12-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 599df52907dbe..39ed6985bfed2 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-12-17 +date: 2023-12-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 17f2c23676785..2390728196970 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx index 68b40090d6f6d..81cc0ab9b84f1 100644 --- a/api_docs/dataset_quality.mdx +++ b/api_docs/dataset_quality.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/datasetQuality title: "datasetQuality" image: https://source.unsplash.com/400x175/?github description: API docs for the datasetQuality plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'datasetQuality'] --- import datasetQualityObj from './dataset_quality.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 691e7b92fe699..f4bea6a1ef33e 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 3376e9d28fbb7..a11224493d683 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 4e1048cb980db..ab3591dba2573 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 54ab34e65ef63..eeda4c2b542ee 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-12-17 +date: 2023-12-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 65b045c767a0a..50ed757f8e751 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-12-17 +date: 2023-12-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 628210804a531..338829c6ed471 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-12-17 +date: 2023-12-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 6c4ab5aec0cd8..8479686b3104a 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-12-17 +date: 2023-12-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 a7cdfb52161ca..a2c2b504dfbef 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-12-17 +date: 2023-12-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 250fbd2a65fb2..8389a899ba227 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-12-17 +date: 2023-12-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 766009f92a693..ff1e67822fa7b 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-12-17 +date: 2023-12-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 7f55e11f99d23..a47111610dcdf 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-12-17 +date: 2023-12-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 3aef12dc0f204..7fd3eaca41e50 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-12-17 +date: 2023-12-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 d9fe39a266e57..c2624f82921ba 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-12-17 +date: 2023-12-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 c5d76a472cbf4..f571e4f8740f0 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index ed50e4146085b..15e6be951ac7b 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index e3cf0707fa272..e40a78ff75254 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-12-17 +date: 2023-12-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 244ac436fa267..bfe5801abe7b4 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-12-17 +date: 2023-12-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 3a8f751f7b7b0..e4ef7e053a2e7 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-12-17 +date: 2023-12-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 9defed4892702..f0ede837beaf2 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-12-17 +date: 2023-12-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 2e4dd253e6e57..a5d6315c6626d 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-12-17 +date: 2023-12-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 41b3c49b3f4ae..90059d8cff950 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-12-17 +date: 2023-12-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 75e94fd863b21..168f800a0081d 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-12-17 +date: 2023-12-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 cecae793d7431..c56f4fa9d8e19 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-12-17 +date: 2023-12-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 f122b0f8b0134..98177c0300813 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-12-17 +date: 2023-12-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 ca5ee9130fbbb..904f4cc1bce66 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-12-17 +date: 2023-12-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 46d13f475c9b2..298193a1737ad 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-12-17 +date: 2023-12-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 994e794f2354b..1e74209d0d395 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-12-17 +date: 2023-12-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 2b9ddeb8eda5f..fa44f87fa5b22 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-12-17 +date: 2023-12-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 f1e34a67089c1..5108fc9808341 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-12-17 +date: 2023-12-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 d39a0bac125aa..d3c7f84749c5d 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-12-17 +date: 2023-12-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 2e9cd724eb2b3..b98eb7026244e 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-12-17 +date: 2023-12-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 abab056015e13..454c8f03367da 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-12-17 +date: 2023-12-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 e2dfb13d4fe31..9dd0b97e64ec8 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-12-17 +date: 2023-12-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 226f6c92ff834..4021ba58c7f20 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-12-17 +date: 2023-12-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 83a4b548db3bd..6c07fffc51ffe 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-12-17 +date: 2023-12-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 d30000eb6281f..68987d9cd7ac9 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-12-17 +date: 2023-12-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 de3d299dca4f1..73c4dee2f1277 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-12-17 +date: 2023-12-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 52dbfc33ae715..f1c3f3cc1a913 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-12-17 +date: 2023-12-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 a5520dd80e0bf..c042e6144fe77 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-12-17 +date: 2023-12-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 6824748e07ef9..a9abb45c37c85 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-12-17 +date: 2023-12-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 787dbffd6ba26..674b8f7effddf 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-12-17 +date: 2023-12-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 234b1bff02fa9..b778b3382f0b5 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-12-17 +date: 2023-12-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 2cd2225fedac6..c684d47e6b029 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-12-17 +date: 2023-12-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 efae158649867..a919b307e6821 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-12-17 +date: 2023-12-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 50e5b49f86f88..8fa62f4d2d670 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-12-17 +date: 2023-12-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 a247266fee3de..ac5f555034a95 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-12-17 +date: 2023-12-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 1b7b65a964f85..74dbf76765b6c 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_actions_types.mdx b/api_docs/kbn_actions_types.mdx index fc46879f03b3d..171a14fb69ef5 100644 --- a/api_docs/kbn_actions_types.mdx +++ b/api_docs/kbn_actions_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-actions-types title: "@kbn/actions-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/actions-types plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/actions-types'] --- import kbnActionsTypesObj from './kbn_actions_types.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 276ff756eb4a0..e1f95801b3462 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-12-17 +date: 2023-12-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 83276cf1d284d..c0c27ef3e91f6 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-12-17 +date: 2023-12-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 55b1f44de960d..bb2aedd617e18 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-12-17 +date: 2023-12-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 75658df585a11..056a90759df25 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-12-17 +date: 2023-12-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_alerting_types.mdx b/api_docs/kbn_alerting_types.mdx index 1ceaecb3922d5..42af610a54bff 100644 --- a/api_docs/kbn_alerting_types.mdx +++ b/api_docs/kbn_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-types title: "@kbn/alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-types plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-types'] --- import kbnAlertingTypesObj from './kbn_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index bb607dee18a19..55e03d25df5e5 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-12-17 +date: 2023-12-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 10fe5b36d4969..22e5f87e5d944 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-12-17 +date: 2023-12-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 3beda5280e051..e0fb45d2a34e0 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-12-17 +date: 2023-12-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 1a4cfbfa4f1bd..27fad748961d3 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_collection_utils.mdx b/api_docs/kbn_analytics_collection_utils.mdx index 2dc91bd21842e..b332ba2f15077 100644 --- a/api_docs/kbn_analytics_collection_utils.mdx +++ b/api_docs/kbn_analytics_collection_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-collection-utils title: "@kbn/analytics-collection-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-collection-utils plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-collection-utils'] --- import kbnAnalyticsCollectionUtilsObj from './kbn_analytics_collection_utils.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 5632ee6992951..4c05abf6d9069 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-12-17 +date: 2023-12-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 e2afe0c8e935a..b43c90a0540a5 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-12-17 +date: 2023-12-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 03e0e780d28a5..8ce9b7942e346 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-12-17 +date: 2023-12-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 8cdb2c8da2879..2c4f25586b711 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-12-17 +date: 2023-12-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 645ec25117e9a..9c2c36886a075 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-12-17 +date: 2023-12-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 6b758b3161c0e..35a46cc2c1e4f 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-12-17 +date: 2023-12-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 198e454f60a98..b34e7d0b790f1 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-12-17 +date: 2023-12-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 d4fc7a705b8a1..3404635761839 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-12-17 +date: 2023-12-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 a4e1f44342d29..2573d0417601e 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-12-17 +date: 2023-12-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 acdea2383a301..a91a5a8d1dff0 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_bfetch_error.mdx b/api_docs/kbn_bfetch_error.mdx index 6a198879a0141..5d767b8ca8bc9 100644 --- a/api_docs/kbn_bfetch_error.mdx +++ b/api_docs/kbn_bfetch_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-bfetch-error title: "@kbn/bfetch-error" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/bfetch-error plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bfetch-error'] --- import kbnBfetchErrorObj from './kbn_bfetch_error.devdocs.json'; diff --git a/api_docs/kbn_calculate_auto.mdx b/api_docs/kbn_calculate_auto.mdx index bb96acd42ab07..fdba00611b817 100644 --- a/api_docs/kbn_calculate_auto.mdx +++ b/api_docs/kbn_calculate_auto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-auto title: "@kbn/calculate-auto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-auto plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-auto'] --- import kbnCalculateAutoObj from './kbn_calculate_auto.devdocs.json'; diff --git a/api_docs/kbn_calculate_width_from_char_count.mdx b/api_docs/kbn_calculate_width_from_char_count.mdx index 6bdeab67ff7e3..5fdfc3d8a1f32 100644 --- a/api_docs/kbn_calculate_width_from_char_count.mdx +++ b/api_docs/kbn_calculate_width_from_char_count.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-width-from-char-count title: "@kbn/calculate-width-from-char-count" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-width-from-char-count plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-width-from-char-count'] --- import kbnCalculateWidthFromCharCountObj from './kbn_calculate_width_from_char_count.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 5de1ff58b8fe3..6089f4a18146a 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-12-17 +date: 2023-12-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 4e02bcca01043..d69636b052b3b 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-12-17 +date: 2023-12-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 90e65e1851673..0aa94786c7d48 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-12-17 +date: 2023-12-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 86d18c59579d1..a40509d452432 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-12-17 +date: 2023-12-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 0e8a5c092d67f..ca41d4b5ed87a 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-12-17 +date: 2023-12-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 c0459c9d39fde..a34f052404c56 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-12-17 +date: 2023-12-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 e54c06be6e410..fcd17b60f9a7d 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-12-17 +date: 2023-12-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 c2ae72d799d31..5d4387186d935 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-12-17 +date: 2023-12-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 d396f598113a8..c98e62ee39b2f 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index c1b28f6cfb3b7..b2bc50ba2d721 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-12-17 +date: 2023-12-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 c72ff6e442ea7..6e9701c063df1 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-12-17 +date: 2023-12-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 e9501ecb92e01..c0b12cb8c73b0 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-12-17 +date: 2023-12-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 dc10a12250079..b23dc53cac326 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-12-17 +date: 2023-12-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 9fa2751633696..0057ac674e793 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-12-17 +date: 2023-12-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 d9a9ab58fe05d..f7fc00555cde1 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-12-17 +date: 2023-12-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 e63874676eb7c..648a85570a45e 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-12-17 +date: 2023-12-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_common.mdx b/api_docs/kbn_content_management_table_list_view_common.mdx index 2c71227b1d830..077c1616ec586 100644 --- a/api_docs/kbn_content_management_table_list_view_common.mdx +++ b/api_docs/kbn_content_management_table_list_view_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-common title: "@kbn/content-management-table-list-view-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-common plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-common'] --- import kbnContentManagementTableListViewCommonObj from './kbn_content_management_table_list_view_common.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 8e6b32e077de3..9706c5a4ff2aa 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-12-17 +date: 2023-12-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 37bb7893c4af8..5b682e687b1cc 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-12-17 +date: 2023-12-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 85dfaecf7247e..0cd7d25af0936 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-12-17 +date: 2023-12-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 b1e54e9ef3128..6bbcf077f9aef 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-12-17 +date: 2023-12-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 34b8e6a45746f..cdc49dcfff3dd 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-12-17 +date: 2023-12-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 e0fe0774fdcb8..490bb46e56b1b 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-12-17 +date: 2023-12-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 46c9f28601ec0..bc499fc8a7831 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-12-17 +date: 2023-12-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 2f2d465b33de7..72b74fc3326a0 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-12-17 +date: 2023-12-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 d54288c624b0c..af44f2a45a210 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-12-17 +date: 2023-12-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 44cd0978b17b0..193c703933d07 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-12-17 +date: 2023-12-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 afb33a3e315ea..79eeb48505030 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-12-17 +date: 2023-12-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 51bd562946ff1..3a854a2871a01 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-12-17 +date: 2023-12-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 992f54ba9c305..eeda2267135af 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-12-17 +date: 2023-12-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 f746eccc2f0fd..fa553f51684a2 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-12-17 +date: 2023-12-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 121fa13e1d071..589c052b12b26 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-12-17 +date: 2023-12-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 ed2c2ddc62de9..51d1b3d091b1b 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-12-17 +date: 2023-12-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 724a84937643b..ba6bf377dee27 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-12-17 +date: 2023-12-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 878b268991aad..be3ddc0ee7399 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-12-17 +date: 2023-12-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 1fd3e6ed1de12..fbd2ae1268939 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-12-17 +date: 2023-12-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 5b405b7bc99ce..3c38a19d6ed73 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-12-17 +date: 2023-12-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 6a44f31242459..10e5c64016955 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-12-17 +date: 2023-12-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 1df8b8a4be71e..f3a196140ad0a 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-12-17 +date: 2023-12-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 04ad44e8ed7fd..2e0c62f61d634 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-12-17 +date: 2023-12-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 55ecf67350234..d6db51de343fb 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-12-17 +date: 2023-12-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 b0d2e13c0de39..534948735f573 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-12-17 +date: 2023-12-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 ace01cfb49d94..27dcb84c32c5d 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-12-17 +date: 2023-12-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 8fda247fddef2..0962de3f43130 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-12-17 +date: 2023-12-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 9da981c2aea40..adbb81c1fdfc4 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-12-17 +date: 2023-12-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 b9ddef46d3b7a..50fab91fc6366 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-12-17 +date: 2023-12-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 cc95fceb2d7ce..f1fa152c1c9b2 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-12-17 +date: 2023-12-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 47b9b97c00890..0bae8ebbb61d0 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-12-17 +date: 2023-12-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 fdc7149541740..d80f5a1af49a3 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-12-17 +date: 2023-12-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 3a78c35f84463..fcd2d84585c96 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-12-17 +date: 2023-12-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 757f7f6189d6f..8a403979234e3 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-12-17 +date: 2023-12-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 9470280d8f816..8caccd3ae2684 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-12-17 +date: 2023-12-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 034b25b1046a2..a756035b02840 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-12-17 +date: 2023-12-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 1c17fe4b77b57..23095669443b7 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-12-17 +date: 2023-12-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 69bfd92f62fe6..646df9276fe7a 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-12-17 +date: 2023-12-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 a45b6da201ba3..94771e15fac55 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-12-17 +date: 2023-12-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 e0fe7825fab21..2dba4fea20d06 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-12-17 +date: 2023-12-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 5c0ab4f6cbd1a..58e32b924d3c3 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-12-17 +date: 2023-12-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 4a14b879c484e..db09a6a8c8236 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-12-17 +date: 2023-12-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 677a58da1de55..c8cce322ea439 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-12-17 +date: 2023-12-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 653036f300c69..b9be5fd3e75ec 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-12-17 +date: 2023-12-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 62d207e9a9c38..199212f8e920d 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-12-17 +date: 2023-12-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 0232127285164..635b004bdc967 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-12-17 +date: 2023-12-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 1afe735b775e7..a6eaea88dff2e 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-12-17 +date: 2023-12-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 d9f9de79a9d43..ee7dd336667ce 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-12-17 +date: 2023-12-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 2080d3f2dcd00..2c8b091f78567 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-12-17 +date: 2023-12-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 4e1c672d4abff..b7be1fb84e52d 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-12-17 +date: 2023-12-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 d562cbf11a1b5..ed95ed6f07e61 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-12-17 +date: 2023-12-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 7b26e1f55ff79..dc11b4273af32 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-12-17 +date: 2023-12-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 78fc78cd199ed..d09ace31b27be 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-12-17 +date: 2023-12-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 47aa91d83ab13..06bc8e23c4ad0 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-12-17 +date: 2023-12-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 3767ab29cf1cd..f383ae9420241 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-12-17 +date: 2023-12-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 4c462a2a26b2f..a3df7b87884c1 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-12-17 +date: 2023-12-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 21f49231869de..fe9c0e0574263 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-12-17 +date: 2023-12-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 b8fe31eec3260..fb847974f362a 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-12-17 +date: 2023-12-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 509e5a29dc1fa..61673518293a3 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-12-17 +date: 2023-12-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 939f0436be921..84e3cfe7e45b3 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-12-17 +date: 2023-12-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 8e7d54c83e4b3..72f4da59ee099 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-12-17 +date: 2023-12-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 8197d7a06dc7a..da9605c46a1a0 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-12-17 +date: 2023-12-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 b80b185e38d82..a8b7284092e91 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-12-17 +date: 2023-12-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 0c8e38a743c7b..777c1d21ff366 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-12-17 +date: 2023-12-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 6bdbfbb4a1825..b32d6bbe4f133 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-12-17 +date: 2023-12-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 948f269619a7a..97c584d234d87 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-12-17 +date: 2023-12-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 96811b1395126..cdd0ce8b821a6 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-12-17 +date: 2023-12-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 20bdf165b6ecf..c8d46b9066dad 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-12-17 +date: 2023-12-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 3f845e8093de8..abc7ff90c58f0 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-12-17 +date: 2023-12-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 f6212345ac630..26407c48aa55b 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-12-17 +date: 2023-12-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 3003fa0118808..00beedd62a1a9 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-12-17 +date: 2023-12-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 dd9ad13f13c0b..3f7cb307cc325 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-12-17 +date: 2023-12-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 516fcd0f1afcb..e04e7d002b67d 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-12-17 +date: 2023-12-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 99a430020d21d..80b40ed18e0bf 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-12-17 +date: 2023-12-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 3472d04ec7712..550bd8fda45d8 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-12-17 +date: 2023-12-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 1af571fe4804a..ad9ca0992b1b6 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-12-17 +date: 2023-12-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 8d978bb981cbd..cb9f63f13b1a8 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-12-17 +date: 2023-12-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 29bc65469a558..76f8bd811d59a 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-12-17 +date: 2023-12-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 fc7a4a5a18a11..6f10cbde93a11 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-12-17 +date: 2023-12-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 6be5ea76b7874..0727e0bd484c4 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-12-17 +date: 2023-12-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 da9c308080dbe..9e684933823f6 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-12-17 +date: 2023-12-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 e3eca665ba00d..658d527d3064e 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-12-17 +date: 2023-12-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 1ed1fbaf6b727..91627cd136552 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-12-17 +date: 2023-12-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 c8a6d207e070c..60b9a17504815 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-12-17 +date: 2023-12-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 90acb585dbf9e..e2a82ec070989 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-12-17 +date: 2023-12-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 a2e25c9127826..8b0f6a3397f91 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-12-17 +date: 2023-12-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 8a5dc600eb640..76685a5bbbee8 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-12-17 +date: 2023-12-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 54e973c1dd43c..f13047197f085 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-12-17 +date: 2023-12-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 c22c8ca9922ca..fe1ee0320fd29 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-12-17 +date: 2023-12-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 4113c8acb4729..966a116622309 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-12-17 +date: 2023-12-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 3b93e020da580..2f22f46f55040 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-12-17 +date: 2023-12-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 0a540bccc6853..7da73dd887ea1 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-12-17 +date: 2023-12-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 96ce8735bf1a3..7c56b28aaa11f 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-12-17 +date: 2023-12-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 4b34a25c6990a..fea60539d0205 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-12-17 +date: 2023-12-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 37f7ce94c4571..9636268421d9f 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-12-17 +date: 2023-12-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 7f8ca0a231073..cbbc6f79e0a78 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-12-17 +date: 2023-12-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 6b67f7a6f2be9..249a9f243ad26 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-12-17 +date: 2023-12-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 d94c74e438748..d3517d28baf76 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-12-17 +date: 2023-12-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 d8fc6b10bc071..2df4d8f0c36fa 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-12-17 +date: 2023-12-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 21d3c10662b0a..6b4d7ab555b1a 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-12-17 +date: 2023-12-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 bef37d8885af1..d426d8d96cf4d 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-12-17 +date: 2023-12-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 8caad746e7c7b..95720f9933108 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-12-17 +date: 2023-12-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 074c29b652d93..fda3e7897a309 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-12-17 +date: 2023-12-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 04130f44194e3..a20f89ef876d5 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-12-17 +date: 2023-12-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 453e66d2f919a..482aac37947f4 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-12-17 +date: 2023-12-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 ea003435cdd89..667b3de586bb2 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-12-17 +date: 2023-12-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 53ad436789cd3..b3c306763223d 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-12-17 +date: 2023-12-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 82e33e972d2ac..9096726f6f872 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-12-17 +date: 2023-12-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_contracts_browser.mdx b/api_docs/kbn_core_plugins_contracts_browser.mdx index 1762d1e0086e0..eca2061e12448 100644 --- a/api_docs/kbn_core_plugins_contracts_browser.mdx +++ b/api_docs/kbn_core_plugins_contracts_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-browser title: "@kbn/core-plugins-contracts-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-browser plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-browser'] --- import kbnCorePluginsContractsBrowserObj from './kbn_core_plugins_contracts_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_contracts_server.mdx b/api_docs/kbn_core_plugins_contracts_server.mdx index afdb9796d425b..b30994cf53e77 100644 --- a/api_docs/kbn_core_plugins_contracts_server.mdx +++ b/api_docs/kbn_core_plugins_contracts_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-server title: "@kbn/core-plugins-contracts-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-server plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-server'] --- import kbnCorePluginsContractsServerObj from './kbn_core_plugins_contracts_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 7c2fe3aba80c3..69a197d409734 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-12-17 +date: 2023-12-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 bd1453213eb8f..2e51207839685 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-12-17 +date: 2023-12-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 5b5ce535cc4af..e6e45078e109d 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-12-17 +date: 2023-12-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 ee542f6f670e1..2b9c468a11b58 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-12-17 +date: 2023-12-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 491b66da76b3f..b469f1091e43c 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-12-17 +date: 2023-12-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 26b4f46dd6cb8..cb5397b159ba2 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-12-17 +date: 2023-12-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 292e3212d4f5c..b121cde27c778 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-12-17 +date: 2023-12-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 e39032e753887..911005fcaf805 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-12-17 +date: 2023-12-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 47ae2ab327038..38f164f47aa34 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-12-17 +date: 2023-12-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 f5ff025b6ac6e..f85b2c9b20a4b 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-12-17 +date: 2023-12-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 0091bc3ff89aa..0526d4a6500e4 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-12-17 +date: 2023-12-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 9c12905196a49..317849626b5ac 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-12-17 +date: 2023-12-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 d30d7f22bf8e7..e2c07fc6e5fe1 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-12-17 +date: 2023-12-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 ef8a00f6937d0..3ceaa17b078a0 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-12-17 +date: 2023-12-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 8db599e0110fc..c09d453c23e5d 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-12-17 +date: 2023-12-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 96c8fa1baf1d6..6525aa51019df 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-12-17 +date: 2023-12-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 becf722673969..97a402c613fbd 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-12-17 +date: 2023-12-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 9f0788a04fab8..161858bc9135b 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-12-17 +date: 2023-12-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 d290f73ce96ec..a2e247ae7f0e9 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-12-17 +date: 2023-12-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 5e0ca18679c44..bf9bae4fcd9f3 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-12-17 +date: 2023-12-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 09db20e2f81ff..d61def8d8ba8f 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-12-17 +date: 2023-12-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 b49596468a38d..517653f19d05e 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-12-17 +date: 2023-12-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 af2081467155e..e4a0a9b0f9f08 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-12-17 +date: 2023-12-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 aa091d96a7afd..fb8e03f629b71 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-12-17 +date: 2023-12-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 beda7c17809e6..39e153de04d62 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-12-17 +date: 2023-12-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 623ed16e8d035..a6551b34dd11f 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-12-17 +date: 2023-12-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 5c6af07e475f4..af785c9dcbae5 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-12-17 +date: 2023-12-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 b8d1c0e415424..cbc30a36bffe8 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-12-17 +date: 2023-12-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 93a4618000d79..7e47b960a041b 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-12-17 +date: 2023-12-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 a265edba3a675..0497b2a43ec07 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-12-17 +date: 2023-12-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 a261095bf2688..9b3bf41851680 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-12-17 +date: 2023-12-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 003cc22401ecf..7a440fac8f33a 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-12-17 +date: 2023-12-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 33abf6a2efa66..2eb7b79dbbeb2 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-12-17 +date: 2023-12-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_model_versions.mdx b/api_docs/kbn_core_test_helpers_model_versions.mdx index 6ee1a0b20571d..bae058c2a2c5f 100644 --- a/api_docs/kbn_core_test_helpers_model_versions.mdx +++ b/api_docs/kbn_core_test_helpers_model_versions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions title: "@kbn/core-test-helpers-model-versions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-model-versions plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-model-versions'] --- import kbnCoreTestHelpersModelVersionsObj from './kbn_core_test_helpers_model_versions.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 409efe42a3d10..b7fd7a7a19f55 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-12-17 +date: 2023-12-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 44578665bd5db..1d6dc02915b7f 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-12-17 +date: 2023-12-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 d9578ced70b8a..dcc9095057db1 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-12-17 +date: 2023-12-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 de26c3ebdc3cd..ccdbc6c90818f 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-12-17 +date: 2023-12-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 ea7bab26eedcf..a89ca998f7e15 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-12-17 +date: 2023-12-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 2111cf4c33377..97c2a7d1c4f69 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-12-17 +date: 2023-12-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 d0744b8caec96..796fa4641bfb1 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-12-17 +date: 2023-12-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 84f63063e4620..90261b6029ecf 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-12-17 +date: 2023-12-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 5b10a03fd9ab0..2e78bd4ecb952 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-12-17 +date: 2023-12-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 f182438c9558a..b787fb372d072 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-12-17 +date: 2023-12-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 260fd6e597adf..f6ad6aeb00c6b 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-12-17 +date: 2023-12-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 dbc51bee6e81a..5dc95c55c2e2f 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-12-17 +date: 2023-12-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 b01aa02a28b34..74e8ecc50a858 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-12-17 +date: 2023-12-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 d6663533fb080..401a6558c3cfe 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-12-17 +date: 2023-12-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 6d9f62552fa23..a870f8df64b59 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-12-17 +date: 2023-12-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 8448741a73366..12f52963f12d2 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-12-17 +date: 2023-12-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 463fce5b51dfb..76ead1f6cad73 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-12-17 +date: 2023-12-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 65e373f8f8a8d..1f49fc788d804 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-12-17 +date: 2023-12-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 f8e2f8da52b92..5de3db0711913 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_icons.mdx b/api_docs/kbn_custom_icons.mdx index 8b41a60c7b6a3..5db137898b87f 100644 --- a/api_docs/kbn_custom_icons.mdx +++ b/api_docs/kbn_custom_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-icons title: "@kbn/custom-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-icons plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-icons'] --- import kbnCustomIconsObj from './kbn_custom_icons.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index aae9e60af7dc6..d722b995af198 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-12-17 +date: 2023-12-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 3ccc973cc6df5..f92815983f176 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-12-17 +date: 2023-12-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 a0bf4bff2f6f8..21da5176decdd 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-12-17 +date: 2023-12-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 61ed2ae64bc8b..92377b2c836fe 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-12-17 +date: 2023-12-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 a4836affece76..4b5d42f73f0fc 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-12-17 +date: 2023-12-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 e73efffbf18fa..b2bb609a91644 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-12-17 +date: 2023-12-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 af75d66a1ba47..0a855d60325aa 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-12-17 +date: 2023-12-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 bcdb978dd07eb..edb1f6c1ef122 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-12-17 +date: 2023-12-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 5871efadef398..5c408500376d8 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-12-17 +date: 2023-12-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 b7edc53566375..6be47aad55d28 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-12-17 +date: 2023-12-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 87554527e0e56..ed09ca48b930d 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-12-17 +date: 2023-12-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 79e24a4a3c17d..6a63269e63038 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-12-17 +date: 2023-12-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 fbbc98805d9c9..095e294b197eb 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-12-17 +date: 2023-12-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 39bbd7db442cf..92e47c1e80ee2 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-12-17 +date: 2023-12-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 e6e0c9d76aed1..b7821b359a6e2 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-12-17 +date: 2023-12-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 c1d10babb92dd..eb2197b02a7ea 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-12-17 +date: 2023-12-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 a2cefc4b44527..e36223ee58a12 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-12-17 +date: 2023-12-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 ecd8deb5d15d9..94c9efb39c80f 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-12-17 +date: 2023-12-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 c0d50c24ab4ed..ed78fcf431945 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-12-17 +date: 2023-12-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 58e9f69b330a4..f257a84ee9df5 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-12-17 +date: 2023-12-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 576404da7c858..fc140091aa73a 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-12-17 +date: 2023-12-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 fb8c906fe7fe9..001bcabce3062 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-12-17 +date: 2023-12-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 7cac7b2a9ebcb..8d0379b73bffb 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-12-17 +date: 2023-12-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 39203838e56de..448c81776b53c 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-12-17 +date: 2023-12-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 7505fbd3e8557..6b514df2f6ad8 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-12-17 +date: 2023-12-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_agent_utils.mdx b/api_docs/kbn_elastic_agent_utils.mdx index ec742338e257d..d8736fe7fdbcb 100644 --- a/api_docs/kbn_elastic_agent_utils.mdx +++ b/api_docs/kbn_elastic_agent_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-agent-utils title: "@kbn/elastic-agent-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-agent-utils plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-agent-utils'] --- import kbnElasticAgentUtilsObj from './kbn_elastic_agent_utils.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index e3ac08065b842..0615538ed8aee 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant_common.mdx b/api_docs/kbn_elastic_assistant_common.mdx index adece70e2f5cf..e9628df7b8716 100644 --- a/api_docs/kbn_elastic_assistant_common.mdx +++ b/api_docs/kbn_elastic_assistant_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant-common title: "@kbn/elastic-assistant-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant-common plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant-common'] --- import kbnElasticAssistantCommonObj from './kbn_elastic_assistant_common.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 854581a65d478..b01bcd77a0723 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-12-17 +date: 2023-12-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 5e144c8c8e01f..716f5c753935d 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-12-17 +date: 2023-12-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 05a7e5b875a9d..f592656e15c5a 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-12-17 +date: 2023-12-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 a4b0b76c9c696..033e3da68c8f4 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-12-17 +date: 2023-12-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 8e0fb880aab62..9679981a4ad50 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-12-17 +date: 2023-12-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 2edf3bcd6c550..80a5bb8c8d592 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-12-17 +date: 2023-12-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 e93cbeff494f6..6047999634fa2 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-12-17 +date: 2023-12-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 9d81a357966cc..7b0110c1da11b 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-12-17 +date: 2023-12-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 e13b92202c302..4a53c6bc1be00 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-12-17 +date: 2023-12-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 084ac02a13c0d..57ee7f9140690 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_field_utils.mdx b/api_docs/kbn_field_utils.mdx index 339022592f2f5..b391dff8f787d 100644 --- a/api_docs/kbn_field_utils.mdx +++ b/api_docs/kbn_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-utils title: "@kbn/field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-utils plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-utils'] --- import kbnFieldUtilsObj from './kbn_field_utils.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 4439aa5c62f9c..981f39a78518b 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-12-17 +date: 2023-12-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 ef06395557a0f..36ae97691ed46 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-12-17 +date: 2023-12-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 15d1185de831e..bd5b0e7bd90d1 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-12-17 +date: 2023-12-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 6a9c1ee798fc2..3cc35fb60e45d 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-12-17 +date: 2023-12-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 bbb3b2116afca..fb10b807484c7 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 7722b35e3e8d5..f03fe4ef061fd 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-12-17 +date: 2023-12-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 5ccbc32aa69f4..3b4f833c4efbd 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-12-17 +date: 2023-12-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 e22774d88ffec..4cd9e8e01d40d 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-12-17 +date: 2023-12-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 7a7e61b8baba0..949665759bd5c 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-12-17 +date: 2023-12-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 d064ab341a435..1a7d7f457eef7 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-12-17 +date: 2023-12-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 60edaf72cb344..253477e5882eb 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-12-17 +date: 2023-12-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 48fc09e682af7..a6338ecff062a 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-12-17 +date: 2023-12-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 79af2a53d114a..97671be1549ac 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-12-17 +date: 2023-12-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 7a54c4246eeb9..48fddec56fc11 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-12-17 +date: 2023-12-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 51282cb740e74..87ebdbf2a77af 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-12-17 +date: 2023-12-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 c58ad469a23ed..168779660e4b7 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-12-17 +date: 2023-12-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 83e30368593ac..641cf8d9596ab 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-12-17 +date: 2023-12-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 edd4e3d644969..e10faf6fa36f4 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-12-17 +date: 2023-12-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 d552724330013..6706a41f7f851 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-12-17 +date: 2023-12-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 1de948a37f532..ea53f8abcf641 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-12-17 +date: 2023-12-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 5f87ad9e222dc..71abef9698b94 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-12-17 +date: 2023-12-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 d4e52d330770c..b241fec416b97 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-12-17 +date: 2023-12-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 dee6c17f733c4..3e4e05f01392a 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-12-17 +date: 2023-12-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 9b739cba36133..29fa1180055ee 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-12-17 +date: 2023-12-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 c87317b6ccfc3..85cc8998c837f 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-12-17 +date: 2023-12-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 889ca441da260..bd9ea8ea80549 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-12-17 +date: 2023-12-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 61eb35ba75ce1..068f2d5f52f07 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-12-17 +date: 2023-12-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_application.mdx b/api_docs/kbn_management_settings_application.mdx index b8b3abe793e40..92b0090dce580 100644 --- a/api_docs/kbn_management_settings_application.mdx +++ b/api_docs/kbn_management_settings_application.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application title: "@kbn/management-settings-application" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-application plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-application'] --- import kbnManagementSettingsApplicationObj from './kbn_management_settings_application.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_category.mdx b/api_docs/kbn_management_settings_components_field_category.mdx index 876affbd431f8..2bbd298328721 100644 --- a/api_docs/kbn_management_settings_components_field_category.mdx +++ b/api_docs/kbn_management_settings_components_field_category.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category title: "@kbn/management-settings-components-field-category" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-category plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-category'] --- import kbnManagementSettingsComponentsFieldCategoryObj from './kbn_management_settings_components_field_category.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index 8a8ade092fab3..b92019369c1f6 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-12-17 +date: 2023-12-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 8e59ca31454ae..cef98e2186271 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-12-17 +date: 2023-12-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_components_form.mdx b/api_docs/kbn_management_settings_components_form.mdx index b2150711ef8ca..e094de228e61d 100644 --- a/api_docs/kbn_management_settings_components_form.mdx +++ b/api_docs/kbn_management_settings_components_form.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form title: "@kbn/management-settings-components-form" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-form plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-form'] --- import kbnManagementSettingsComponentsFormObj from './kbn_management_settings_components_form.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 99ce27d0370fb..e9cf3555aba3e 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-12-17 +date: 2023-12-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 f1c81384b2318..6188476a963c7 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-12-17 +date: 2023-12-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 376961e04b495..90340644d4c7b 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-12-17 +date: 2023-12-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 a3cad295f062c..c8b6f4b77fa88 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-12-17 +date: 2023-12-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 b239cf87c2eeb..6a8e81ee1afde 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-12-17 +date: 2023-12-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 558e2c5e45053..88d4e50eb4268 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-12-17 +date: 2023-12-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 4f2bdd154deb6..4abeebd551b28 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-12-17 +date: 2023-12-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 b7750ac2d6d82..b13324dd0e5fb 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-12-17 +date: 2023-12-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 a289ff5c8ff91..e2be7f0976c3a 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-12-17 +date: 2023-12-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 3d233079c43c0..3627f26f72e31 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-12-17 +date: 2023-12-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 d9df95cc05378..bb670665d482d 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-12-17 +date: 2023-12-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_chi2test.mdx b/api_docs/kbn_ml_chi2test.mdx index e5ebe4eba4a44..a0994c8ba1d78 100644 --- a/api_docs/kbn_ml_chi2test.mdx +++ b/api_docs/kbn_ml_chi2test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test title: "@kbn/ml-chi2test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-chi2test plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-chi2test'] --- import kbnMlChi2testObj from './kbn_ml_chi2test.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index e6a3abdbc126b..4fe327028ec1b 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-12-17 +date: 2023-12-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 be24a77ad2e22..b2b8746710376 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-12-17 +date: 2023-12-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 6652bf9b93c92..c75f23a379ef5 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-12-17 +date: 2023-12-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 d030bd53deff7..2098fdb2090ea 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-12-17 +date: 2023-12-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 ff853c4d62694..a4873cc57aeae 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-12-17 +date: 2023-12-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 e7a3880875fa3..279c4fc6dc828 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-12-17 +date: 2023-12-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 95326e3d95608..dc298e02da940 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-12-17 +date: 2023-12-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 283326fde9b38..c6cf6204e8759 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-12-17 +date: 2023-12-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 384ee82254ed7..7ee4dfda97a3e 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-12-17 +date: 2023-12-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 4e901d05cca9e..c6d7b9dce8d49 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-12-17 +date: 2023-12-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 88a69aaadb721..57cddb7fd0ece 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-12-17 +date: 2023-12-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 637992bf97e13..69c56d1eb05cd 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-12-17 +date: 2023-12-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 ec9c0558812d0..efd1a6d6f880f 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-12-17 +date: 2023-12-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 c7e30355fa4f7..1dc71b8d2ef86 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-12-17 +date: 2023-12-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 d94c09771c483..7939ad7cd1cff 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-12-17 +date: 2023-12-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 71f2974a6d034..f709af3ccb7aa 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-12-17 +date: 2023-12-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 302e3df40fb3d..7e5eaa5d7622b 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-12-17 +date: 2023-12-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 fce0d944b8a92..236d4a4b2f22c 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-12-17 +date: 2023-12-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_ui_actions.mdx b/api_docs/kbn_ml_ui_actions.mdx index fbd8262cd7eb5..23e90604f982b 100644 --- a/api_docs/kbn_ml_ui_actions.mdx +++ b/api_docs/kbn_ml_ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-ui-actions title: "@kbn/ml-ui-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-ui-actions plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-ui-actions'] --- import kbnMlUiActionsObj from './kbn_ml_ui_actions.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 3f42adc2d0c76..8d13454cb9a6e 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-12-17 +date: 2023-12-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 89efc2e9bbe8a..e5d7b0aa67eb5 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-12-17 +date: 2023-12-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 cd7f17ea9167d..4d9378269c2aa 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-12-17 +date: 2023-12-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 8e3bac08be5e1..99a52143d6005 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-12-17 +date: 2023-12-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_observability_alerting_test_data.mdx b/api_docs/kbn_observability_alerting_test_data.mdx index 32d3722d08085..22fa9c9b32fb2 100644 --- a/api_docs/kbn_observability_alerting_test_data.mdx +++ b/api_docs/kbn_observability_alerting_test_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-test-data title: "@kbn/observability-alerting-test-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alerting-test-data plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-test-data'] --- import kbnObservabilityAlertingTestDataObj from './kbn_observability_alerting_test_data.devdocs.json'; diff --git a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx index cf7efb8578c86..33c0d3eed4203 100644 --- a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx +++ b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-get-padded-alert-time-range-util title: "@kbn/observability-get-padded-alert-time-range-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-get-padded-alert-time-range-util plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-get-padded-alert-time-range-util'] --- import kbnObservabilityGetPaddedAlertTimeRangeUtilObj from './kbn_observability_get_padded_alert_time_range_util.devdocs.json'; diff --git a/api_docs/kbn_openapi_bundler.mdx b/api_docs/kbn_openapi_bundler.mdx index b5c8af6dfc3e0..113433523f147 100644 --- a/api_docs/kbn_openapi_bundler.mdx +++ b/api_docs/kbn_openapi_bundler.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-bundler title: "@kbn/openapi-bundler" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-bundler plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-bundler'] --- import kbnOpenapiBundlerObj from './kbn_openapi_bundler.devdocs.json'; diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx index 1d543cec98966..263e013d08d63 100644 --- a/api_docs/kbn_openapi_generator.mdx +++ b/api_docs/kbn_openapi_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator title: "@kbn/openapi-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-generator plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-generator'] --- import kbnOpenapiGeneratorObj from './kbn_openapi_generator.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index c5539baaa4059..720494699fe70 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-12-17 +date: 2023-12-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 db41b4e14a9eb..952a3340af2b2 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-12-17 +date: 2023-12-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 ff5e600ac8464..83dbb0c4a7a7c 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-12-17 +date: 2023-12-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_panel_loader.mdx b/api_docs/kbn_panel_loader.mdx index af5c491c3d9b0..e16600d18d7b2 100644 --- a/api_docs/kbn_panel_loader.mdx +++ b/api_docs/kbn_panel_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-panel-loader title: "@kbn/panel-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/panel-loader plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/panel-loader'] --- import kbnPanelLoaderObj from './kbn_panel_loader.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 23f58ff1e2afd..7553359315d68 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-12-17 +date: 2023-12-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 90cdb6b625d95..36f37f53d14e0 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-12-17 +date: 2023-12-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 992d7ec8eaeea..61c3e5d26adab 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-12-17 +date: 2023-12-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 8971243988a34..249bfc33eca40 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-12-17 +date: 2023-12-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 3c6f2cef5f71d..c4b75d0550019 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-12-17 +date: 2023-12-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 265018bb051c2..84afd18b92520 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-12-17 +date: 2023-12-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 9e692f31404ff..ba6ba45c02e79 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-12-17 +date: 2023-12-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 4dde9397e00e0..ac88554558b28 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-12-17 +date: 2023-12-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 16bf377e69550..5b3aca108bdf4 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-12-17 +date: 2023-12-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 f612cde6287f1..ceb1bae3f5e4f 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-12-17 +date: 2023-12-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 e40ac5acafc66..eef506749eff1 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-12-17 +date: 2023-12-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 fb2d2df5b4ee7..3d8430dacd6a9 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-12-17 +date: 2023-12-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 465b4ac3ba1ec..b1e50a15e7ce2 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-12-17 +date: 2023-12-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 e98f98b96d23f..5c87c85b8cacb 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-12-17 +date: 2023-12-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 cfc4f1f85e0bd..36f750b73a827 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-12-17 +date: 2023-12-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 b0a89fa035d1a..d6e8e3d8460e0 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-12-17 +date: 2023-12-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 58c9b5259035c..9bc687cb25d08 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv.mdx b/api_docs/kbn_reporting_export_types_csv.mdx index 7e1168b312b47..f9e334f8d409b 100644 --- a/api_docs/kbn_reporting_export_types_csv.mdx +++ b/api_docs/kbn_reporting_export_types_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv title: "@kbn/reporting-export-types-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv'] --- import kbnReportingExportTypesCsvObj from './kbn_reporting_export_types_csv.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv_common.mdx b/api_docs/kbn_reporting_export_types_csv_common.mdx index 7911230ed95a8..442aad29a0c58 100644 --- a/api_docs/kbn_reporting_export_types_csv_common.mdx +++ b/api_docs/kbn_reporting_export_types_csv_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv-common title: "@kbn/reporting-export-types-csv-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv-common plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv-common'] --- import kbnReportingExportTypesCsvCommonObj from './kbn_reporting_export_types_csv_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf.mdx b/api_docs/kbn_reporting_export_types_pdf.mdx index efd3e91993a44..74f62c3d11483 100644 --- a/api_docs/kbn_reporting_export_types_pdf.mdx +++ b/api_docs/kbn_reporting_export_types_pdf.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf title: "@kbn/reporting-export-types-pdf" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf'] --- import kbnReportingExportTypesPdfObj from './kbn_reporting_export_types_pdf.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf_common.mdx b/api_docs/kbn_reporting_export_types_pdf_common.mdx index 6f4e8463ac461..b9c1335e9a667 100644 --- a/api_docs/kbn_reporting_export_types_pdf_common.mdx +++ b/api_docs/kbn_reporting_export_types_pdf_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf-common title: "@kbn/reporting-export-types-pdf-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf-common plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf-common'] --- import kbnReportingExportTypesPdfCommonObj from './kbn_reporting_export_types_pdf_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png.mdx b/api_docs/kbn_reporting_export_types_png.mdx index 2aa5120f7ed44..7ecfba370b97e 100644 --- a/api_docs/kbn_reporting_export_types_png.mdx +++ b/api_docs/kbn_reporting_export_types_png.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png title: "@kbn/reporting-export-types-png" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png'] --- import kbnReportingExportTypesPngObj from './kbn_reporting_export_types_png.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png_common.mdx b/api_docs/kbn_reporting_export_types_png_common.mdx index 8f844e612930f..eaa2a48ba19c6 100644 --- a/api_docs/kbn_reporting_export_types_png_common.mdx +++ b/api_docs/kbn_reporting_export_types_png_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png-common title: "@kbn/reporting-export-types-png-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png-common plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png-common'] --- import kbnReportingExportTypesPngCommonObj from './kbn_reporting_export_types_png_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_mocks_server.mdx b/api_docs/kbn_reporting_mocks_server.mdx index 1d79d3da8c175..f8367a9d63640 100644 --- a/api_docs/kbn_reporting_mocks_server.mdx +++ b/api_docs/kbn_reporting_mocks_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-mocks-server title: "@kbn/reporting-mocks-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-mocks-server plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-mocks-server'] --- import kbnReportingMocksServerObj from './kbn_reporting_mocks_server.devdocs.json'; diff --git a/api_docs/kbn_reporting_public.mdx b/api_docs/kbn_reporting_public.mdx index 0d1abe7b970aa..24a3960a1c0a8 100644 --- a/api_docs/kbn_reporting_public.mdx +++ b/api_docs/kbn_reporting_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-public title: "@kbn/reporting-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-public plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-public'] --- import kbnReportingPublicObj from './kbn_reporting_public.devdocs.json'; diff --git a/api_docs/kbn_reporting_server.mdx b/api_docs/kbn_reporting_server.mdx index 627c230575cb6..3c93dadb1bf79 100644 --- a/api_docs/kbn_reporting_server.mdx +++ b/api_docs/kbn_reporting_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-server title: "@kbn/reporting-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-server plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-server'] --- import kbnReportingServerObj from './kbn_reporting_server.devdocs.json'; diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx index 60670a10ace17..513169c265ec9 100644 --- a/api_docs/kbn_resizable_layout.mdx +++ b/api_docs/kbn_resizable_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout title: "@kbn/resizable-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/resizable-layout plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout'] --- import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 830a91bf988f7..f14474a85f18e 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-12-17 +date: 2023-12-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 41f45bfc07448..3180c43267a15 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-12-17 +date: 2023-12-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 6e48391018d7d..cb60c7dd094c8 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-12-17 +date: 2023-12-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 f6156ab482049..38f097fe924fd 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-12-17 +date: 2023-12-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 f42728f0fdfab..d41c0802256a5 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-12-17 +date: 2023-12-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 bdcdcbec839ba..4233d24ba2e1b 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_errors.mdx b/api_docs/kbn_search_errors.mdx index 0a3e91d1c54be..2a3033823dc99 100644 --- a/api_docs/kbn_search_errors.mdx +++ b/api_docs/kbn_search_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-errors title: "@kbn/search-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-errors plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-errors'] --- import kbnSearchErrorsObj from './kbn_search_errors.devdocs.json'; diff --git a/api_docs/kbn_search_index_documents.mdx b/api_docs/kbn_search_index_documents.mdx index 93725d2c28fd6..51f9271840cdb 100644 --- a/api_docs/kbn_search_index_documents.mdx +++ b/api_docs/kbn_search_index_documents.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-index-documents title: "@kbn/search-index-documents" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-index-documents plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-index-documents'] --- import kbnSearchIndexDocumentsObj from './kbn_search_index_documents.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index acf2aa4fa9770..e305b135925a1 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-12-17 +date: 2023-12-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_plugin_types_common.mdx b/api_docs/kbn_security_plugin_types_common.mdx index 220a8933a54b9..b104851d38d04 100644 --- a/api_docs/kbn_security_plugin_types_common.mdx +++ b/api_docs/kbn_security_plugin_types_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-common title: "@kbn/security-plugin-types-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-common plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-common'] --- import kbnSecurityPluginTypesCommonObj from './kbn_security_plugin_types_common.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_public.mdx b/api_docs/kbn_security_plugin_types_public.mdx index f00458b1e17a1..565460d330f87 100644 --- a/api_docs/kbn_security_plugin_types_public.mdx +++ b/api_docs/kbn_security_plugin_types_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-public title: "@kbn/security-plugin-types-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-public plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-public'] --- import kbnSecurityPluginTypesPublicObj from './kbn_security_plugin_types_public.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_server.mdx b/api_docs/kbn_security_plugin_types_server.mdx index cb16fe684857d..862232dddb45f 100644 --- a/api_docs/kbn_security_plugin_types_server.mdx +++ b/api_docs/kbn_security_plugin_types_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-server title: "@kbn/security-plugin-types-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-server plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-server'] --- import kbnSecurityPluginTypesServerObj from './kbn_security_plugin_types_server.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 12b96e016d6c2..f941c95b5492a 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-12-17 +date: 2023-12-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 d08bb0c41994d..f8e4514621e0d 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-12-17 +date: 2023-12-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 e910a27b63038..8d88f8f766145 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-12-17 +date: 2023-12-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 8706a8e81e2c1..558a321b34c40 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-12-17 +date: 2023-12-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 8b5250f26e0e0..f81cff1580b37 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-12-17 +date: 2023-12-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 1dee393137a49..0734c7895794a 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-12-17 +date: 2023-12-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 78ac49bf7b427..1ddaf187b9405 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-12-17 +date: 2023-12-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 83bac44bcb44c..232cabc415b3e 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-12-17 +date: 2023-12-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 e91159c2ff311..f4ce5b2c33425 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-12-17 +date: 2023-12-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 b8a710d4fdaf1..b34092f1299da 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-12-17 +date: 2023-12-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 9f552a313466c..2d709d970aab7 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-12-17 +date: 2023-12-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 150ee1b113c8e..794f6994a43d9 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-12-17 +date: 2023-12-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 21b76b5e1d97d..47e4d3d1698f7 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-12-17 +date: 2023-12-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 a6b3db4e01925..5eeea34474fac 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-12-17 +date: 2023-12-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 b2d65fa485525..16b9039f15918 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-12-17 +date: 2023-12-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 e1647bd3ad908..e629a0f6eba7a 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-12-17 +date: 2023-12-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 9695186416e61..80b230c8d46e3 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-12-17 +date: 2023-12-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 8283516783b33..152a29347baf4 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-12-17 +date: 2023-12-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 76968b0d7ec0b..ce858771df565 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-12-17 +date: 2023-12-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 217fd78089899..886d2450e6e87 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-12-17 +date: 2023-12-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 3f186c0a85749..9a1683a04c3fe 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-12-17 +date: 2023-12-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 0fe794046e973..b46bd21aa7cbc 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-12-17 +date: 2023-12-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 bab6e99366c63..a73d0f0c940f9 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-12-17 +date: 2023-12-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 6a3622a477237..64b0c05e696e2 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-12-17 +date: 2023-12-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 4208896c8e634..c0ed52337a806 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-12-17 +date: 2023-12-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 68b1c74b1f346..826f6bbd13786 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-12-17 +date: 2023-12-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 5061a9a11f633..c18a6016926af 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-12-17 +date: 2023-12-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 4998a768143cd..8e71bae2f10c4 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-12-17 +date: 2023-12-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 c2713ef6c3df5..713af7177d262 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-12-17 +date: 2023-12-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 1084c8eae2c6c..8a06726da63a5 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-12-17 +date: 2023-12-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 05706a7d108a2..33d60f338abfa 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-12-17 +date: 2023-12-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 caecb3f5a0c84..9d37c94515baa 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-12-17 +date: 2023-12-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_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 333441ac203ab..6796d67826dbf 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-12-17 +date: 2023-12-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_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 22d8e1129304b..3cfcbfe1cf56b 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-12-17 +date: 2023-12-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 8c865d29767ec..7b82f8bf7a12f 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-12-17 +date: 2023-12-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 4d1631f84b4bb..73d5bd9822f40 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-12-17 +date: 2023-12-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 a7d44e51f774d..13b0593b32f7f 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-12-17 +date: 2023-12-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_error_boundary.mdx b/api_docs/kbn_shared_ux_error_boundary.mdx index ce6fed3b7f1b8..770188c461e6b 100644 --- a/api_docs/kbn_shared_ux_error_boundary.mdx +++ b/api_docs/kbn_shared_ux_error_boundary.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-error-boundary title: "@kbn/shared-ux-error-boundary" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-error-boundary plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-error-boundary'] --- import kbnSharedUxErrorBoundaryObj from './kbn_shared_ux_error_boundary.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index de4dc223e1071..b6f213e2b889d 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-12-17 +date: 2023-12-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 49d1a68785c51..62d8c13116cf4 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-12-17 +date: 2023-12-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 2b6a8b9b117d6..20a8cd1a7304d 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-12-17 +date: 2023-12-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 28a43388539bb..dda277828c555 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-12-17 +date: 2023-12-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 38b104d10aaf0..16303365d02de 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-12-17 +date: 2023-12-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 23f90f7e075d0..4971654e8995c 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-12-17 +date: 2023-12-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 f984d86d62e23..5a42c087ad818 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-12-17 +date: 2023-12-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 8eeae158e0f69..5d839db1ae2d3 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-12-17 +date: 2023-12-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 9be49a436c013..851638927b347 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-12-17 +date: 2023-12-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 259c7bf8df945..1531e216ee8f0 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-12-17 +date: 2023-12-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 134005c152166..056c8cfc8fe4b 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-12-17 +date: 2023-12-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 530bc05cceff8..cd973e58175c4 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-12-17 +date: 2023-12-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 dbc23c6dbb7cd..d28204f8e0ef1 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-12-17 +date: 2023-12-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 cbb5343e30030..bf1d71aac2182 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-12-17 +date: 2023-12-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 081bd9197618a..76f5d2e4a7b83 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-12-17 +date: 2023-12-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 87dc0b2c39890..c96a252daac27 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-12-17 +date: 2023-12-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 9a03592da562f..d6942b6e883e7 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-12-17 +date: 2023-12-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 6812e51bbcee8..06b8260282c9c 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-12-17 +date: 2023-12-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 c1ac7ec46c803..d8fb3c8e668fc 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-12-17 +date: 2023-12-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 f73e2fb8546b9..d5811ca35d963 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-12-17 +date: 2023-12-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 bd58becf0a395..ec1df21af75ff 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-12-17 +date: 2023-12-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 bfa17574f295e..4c1ae63ef23d6 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-12-17 +date: 2023-12-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 80919ccf34f05..1d60efdc319e1 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-12-17 +date: 2023-12-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 94a2ef4d30417..d53224c0c6dd6 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-12-17 +date: 2023-12-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 dedccde747a8d..2ebfc1cab9d65 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-12-17 +date: 2023-12-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 de95b91e82a00..1d3d99307f263 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-12-17 +date: 2023-12-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 6356e07bc8a5a..0a0fbb25be8c2 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-12-17 +date: 2023-12-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 d61fbe3135ce8..3318844c77741 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-12-17 +date: 2023-12-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 924fe296c0b33..16d54f2874c78 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-12-17 +date: 2023-12-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 7ab47c2007f90..22d6951ee70df 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-12-17 +date: 2023-12-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 23aeb86b0acfa..5e8b55c98b511 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-12-17 +date: 2023-12-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 d510f7be185a3..2a4c1f6a65b60 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-12-17 +date: 2023-12-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 d809e943d7a52..4091ee447146e 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-12-17 +date: 2023-12-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 07b466c0edb0a..cbfc7c80261a0 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-12-17 +date: 2023-12-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 dfade7a54c5a9..effc39ee2bb8b 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-12-17 +date: 2023-12-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 d3cd5b3c17307..7182df0229b50 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-12-17 +date: 2023-12-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 44c28e20721e7..fc6aae98b33a9 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-12-17 +date: 2023-12-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 36c679d9eb049..9333f4c683f64 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-12-17 +date: 2023-12-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 ba189b31d7b38..e7c4f9bf8301f 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-12-17 +date: 2023-12-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 482e97f031c76..46748c575ba1b 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-12-17 +date: 2023-12-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 a6a65f4098ddf..63832380c8aff 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-12-17 +date: 2023-12-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 1082b1709fb41..b1fa1491dc3d1 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_triggers_actions_ui_types.mdx b/api_docs/kbn_triggers_actions_ui_types.mdx index c2f619c70bf4c..3bde02022c6ec 100644 --- a/api_docs/kbn_triggers_actions_ui_types.mdx +++ b/api_docs/kbn_triggers_actions_ui_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-triggers-actions-ui-types title: "@kbn/triggers-actions-ui-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/triggers-actions-ui-types plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/triggers-actions-ui-types'] --- import kbnTriggersActionsUiTypesObj from './kbn_triggers_actions_ui_types.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 5afaafd072310..c11843d57cfea 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-12-17 +date: 2023-12-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 53b32c07863dd..dfaa593b0ad1d 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-12-17 +date: 2023-12-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 3ae51cb56dea2..5f14bcb010a03 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-12-17 +date: 2023-12-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 c217b41d9132a..b636b1ac63633 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-12-17 +date: 2023-12-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 34c610b833a17..fc6d26b343b07 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-12-17 +date: 2023-12-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 2a2b669656cd4..c787f2b04a6c0 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-12-17 +date: 2023-12-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 b044e312bbc8e..9f077fa04a2e1 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-12-17 +date: 2023-12-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 35d547bbbd4db..fa90e68b0eeef 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-12-17 +date: 2023-12-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_unsaved_changes_badge.mdx b/api_docs/kbn_unsaved_changes_badge.mdx index 67a392b5c0c12..800253d53a2af 100644 --- a/api_docs/kbn_unsaved_changes_badge.mdx +++ b/api_docs/kbn_unsaved_changes_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-badge title: "@kbn/unsaved-changes-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unsaved-changes-badge plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-badge'] --- import kbnUnsavedChangesBadgeObj from './kbn_unsaved_changes_badge.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 58dbcc4baa8a8..328404b2c8a82 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-12-17 +date: 2023-12-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 246710a985167..a732165ddef17 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-12-17 +date: 2023-12-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 c744ee2f6c692..5ab3bb80c3ab4 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-12-17 +date: 2023-12-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 36a54b14c7adc..502f2daeb8a49 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-12-17 +date: 2023-12-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 355be443dc4b2..ee0c0b15f8306 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-12-17 +date: 2023-12-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 57058710351ac..817bbbbb73542 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-12-17 +date: 2023-12-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 c6e0f60a42d70..b019dbd181e30 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-12-17 +date: 2023-12-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_visualization_utils.mdx b/api_docs/kbn_visualization_utils.mdx index 192c699bc667e..ea803dbe48088 100644 --- a/api_docs/kbn_visualization_utils.mdx +++ b/api_docs/kbn_visualization_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-utils title: "@kbn/visualization-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-utils plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-utils'] --- import kbnVisualizationUtilsObj from './kbn_visualization_utils.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 4ecaf5f8171f8..16f190685441b 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-12-17 +date: 2023-12-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 15518825b67ed..74399577dc23d 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kbn_zod_helpers.mdx b/api_docs/kbn_zod_helpers.mdx index 8453aa4093e06..ddffd9447c909 100644 --- a/api_docs/kbn_zod_helpers.mdx +++ b/api_docs/kbn_zod_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod-helpers title: "@kbn/zod-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/zod-helpers plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod-helpers'] --- import kbnZodHelpersObj from './kbn_zod_helpers.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 43c76e2a13c00..4678f399d55f6 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-12-17 +date: 2023-12-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 e07899776a1d3..a342e8b7d4044 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-12-17 +date: 2023-12-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 ee21afa7f32b0..75a7a3908353f 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-12-17 +date: 2023-12-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 4e484312ce93d..bde43df0d53ec 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-12-17 +date: 2023-12-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 9c49c0de639b9..11acbc519f439 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-12-17 +date: 2023-12-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 02eb229b1ad14..024969d0aafdd 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-12-17 +date: 2023-12-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 f4e6c3ac075db..1b665d40c71be 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-12-17 +date: 2023-12-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 39e94b92ecc84..c6171915c0fd4 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/links.mdx b/api_docs/links.mdx index ce5d55d58b17c..727d5b321ebd4 100644 --- a/api_docs/links.mdx +++ b/api_docs/links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/links title: "links" image: https://source.unsplash.com/400x175/?github description: API docs for the links plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'links'] --- import linksObj from './links.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index a7e73bafa8b3d..1271ee5b3b8b7 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-12-17 +date: 2023-12-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 b210458cb2dc5..62b3f02d1a52a 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-12-17 +date: 2023-12-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 252d9c4e42374..73a6f09dbe7be 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-12-17 +date: 2023-12-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 e6dec6be146c2..0e7a46b2926ca 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-12-17 +date: 2023-12-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 9ac2072756a54..7708bef15b7d5 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-12-17 +date: 2023-12-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 61d340ed54e96..27824a7e12d07 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-12-17 +date: 2023-12-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 590f06d9e10e3..02a467b414ac0 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-12-17 +date: 2023-12-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 8b012155b8f0f..56b3df8851f4f 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/mock_idp_plugin.mdx b/api_docs/mock_idp_plugin.mdx index 82149713dc72c..3ce4cf69e8a85 100644 --- a/api_docs/mock_idp_plugin.mdx +++ b/api_docs/mock_idp_plugin.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mockIdpPlugin title: "mockIdpPlugin" image: https://source.unsplash.com/400x175/?github description: API docs for the mockIdpPlugin plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mockIdpPlugin'] --- import mockIdpPluginObj from './mock_idp_plugin.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 47a01d87b99fb..9e618b572418d 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-12-17 +date: 2023-12-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 3cce4e47e32f8..e7ea0c1dd72f2 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-12-17 +date: 2023-12-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 49b0e917ca3a0..ab2a77788ac6e 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-12-17 +date: 2023-12-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 49288ef1c78c3..ed8e5d9b0f237 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-12-17 +date: 2023-12-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 1f4cbeae19352..9d2d22a9d3d82 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-12-17 +date: 2023-12-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 e748ede06790b..889a602b716e9 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-12-17 +date: 2023-12-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 6a27511a137bf..9f09249d454ad 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-12-17 +date: 2023-12-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 e8a12493d94ba..5fdf528c1314e 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index c4be17a0a7d02..00ffdc1bb040a 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index d52d4fcb37470..a68cc0e1298d3 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-12-17 +date: 2023-12-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 b85c065daac5e..58f3c99e86bf3 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-12-17 +date: 2023-12-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 396c1681b30a6..833d6ba89b409 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-12-17 +date: 2023-12-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 e722d2c6e073e..f947ef7c14321 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-12-17 +date: 2023-12-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 6a26318780d75..d830e5d207c89 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 73fbd4d40f657..56d411f372a83 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-12-17 +date: 2023-12-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 b7d277abf475b..cd5f9aef06137 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-12-17 +date: 2023-12-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 88de1e99849b5..82f2fba2ab656 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-12-17 +date: 2023-12-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 5dfd16525352c..843201c2c9bd7 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-12-17 +date: 2023-12-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 6fb6e407f13a1..aadfbb6835041 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-12-17 +date: 2023-12-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 0bae1536457fd..ab6692138298d 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-12-17 +date: 2023-12-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 ac42433e69e6e..187729bd86d62 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-12-17 +date: 2023-12-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 4a5a8957c16d9..792383846db51 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-12-17 +date: 2023-12-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 d4abcaad124d3..ad12abf48f4ec 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-12-17 +date: 2023-12-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 60aa0907be9a5..eaccbc443819c 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-12-17 +date: 2023-12-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 c0832d2da4137..f4977b8f11824 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-12-17 +date: 2023-12-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 20ac0385e9847..b1618e20483af 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-12-17 +date: 2023-12-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 0c69781310121..7d9a91de7914e 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-12-17 +date: 2023-12-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 4e88769a19f83..36f043d93a37c 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-12-17 +date: 2023-12-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 cc231fb65bdd6..7628d91c6364e 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-12-17 +date: 2023-12-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 19763b63fa070..89ff7204e4f85 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-12-17 +date: 2023-12-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 9b171157d2055..640d6981eec03 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-12-17 +date: 2023-12-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 33f09579cc2d7..ff60d373990aa 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-12-17 +date: 2023-12-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 4cdd814a74c4d..825eda7748872 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-12-17 +date: 2023-12-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 4dde9480c73fa..3b7b945f26c6e 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-12-17 +date: 2023-12-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 f21e319a265d8..685489e4d6fa9 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-12-17 +date: 2023-12-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 1b70899fddf6a..7c49f7f5e65be 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-12-17 +date: 2023-12-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 b6f503adf3a5b..fa626da1593ef 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-12-17 +date: 2023-12-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 f0815683e7725..d5c6cdc62f49f 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-12-17 +date: 2023-12-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 df33ad133794e..23d7dc5446c36 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-12-17 +date: 2023-12-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 40ddf6cd29ea5..5fcf16314ab22 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-12-17 +date: 2023-12-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 aa4b1bfb81ce5..f8b794b4fd474 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-12-17 +date: 2023-12-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 96170a784b776..4ad95ad4213ed 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-12-17 +date: 2023-12-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 a8df02a511ecf..cdb64355fe080 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-12-17 +date: 2023-12-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 61afc15f7ca45..3ecebb2ca3ab6 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-12-17 +date: 2023-12-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 3122cad52e003..11b9cacaf47c6 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-12-17 +date: 2023-12-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 8eee03a9f105b..96056c8d85239 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-12-17 +date: 2023-12-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 35216c806b453..cdb82ee2be71b 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-12-17 +date: 2023-12-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 8c08910878c4a..e208be5033030 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-12-17 +date: 2023-12-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 42f900b044d98..0bcece016430a 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-12-17 +date: 2023-12-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 30ff3682059df..d2f28f9420611 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-12-17 +date: 2023-12-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 d0d64028ddb71..9278473f3ceae 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-12-17 +date: 2023-12-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 1e5d8923f1f34..215cdbb85dafc 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-12-17 +date: 2023-12-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 2803712df83e8..eaa39b0f255e6 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-12-17 +date: 2023-12-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 b85b5c14976a2..ee1e01cb9cd16 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-12-17 +date: 2023-12-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 d6dda37596631..4eb8145503466 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-12-17 +date: 2023-12-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 5f868658cc3fd..ae96e33156eb0 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-12-17 +date: 2023-12-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 453282b3e8630..0e29b844faa71 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-12-17 +date: 2023-12-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 4a706a00334ec..4f447ab053d20 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-12-17 +date: 2023-12-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 d9c9c410de9ce..0047bfc6cabdd 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-12-17 +date: 2023-12-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 1c369ff4c281a..09abfa73cbb71 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-12-17 +date: 2023-12-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 5104ce731563c..51e9fadf1012f 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-12-17 +date: 2023-12-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 b56a35a3bb22d..fe81d5d23f5cf 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-12-17 +date: 2023-12-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 2e0cec22ae812..77f941dd5a728 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-12-17 +date: 2023-12-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 b57851bc4183e..6e291caca1dc0 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-12-17 +date: 2023-12-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 c702ae32b4fd7..cb9aa5567950b 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-12-17 +date: 2023-12-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 e270b7844e332..f7c8606da3860 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-12-17 +date: 2023-12-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 a5571add93e65..07f993dba7cb1 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-12-17 +date: 2023-12-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 de4905d7ffe7e..57c3308879c83 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-12-17 +date: 2023-12-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 4cea3954d6ece..500d2dbfbcf43 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-12-17 +date: 2023-12-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 b39ce1f1ef5df..e65f58f5a38b7 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-12-17 +date: 2023-12-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 3cf6be58ae567..0c3aabf3cf038 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-12-17 +date: 2023-12-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 161338aef9003..dc9b21c52fa71 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-12-17 +date: 2023-12-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 189efe3be9eae..bf0c5ff50627b 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-12-17 +date: 2023-12-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 a9f8a176419a0..3b7a0e17af6b8 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-12-17 +date: 2023-12-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json';