diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index da628063c0e39a..e57392132e528a 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-08-25 +date: 2023-08-28 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 0dde21f314ebd7..15f233cc9b6c38 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 8c20255fbad0d4..8d05b3d90abda3 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.devdocs.json b/api_docs/alerting.devdocs.json index 5006dc01838c2b..9fd1a0f9641b44 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -108,13 +108,13 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts" - }, { "plugin": "ml", "path": "x-pack/plugins/ml/public/alerting/register_ml_alerts.ts" + }, + { + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts" } ], "children": [ @@ -3105,14 +3105,6 @@ "plugin": "ruleRegistry", "path": "x-pack/plugins/rule_registry/server/utils/create_persistence_rule_type_wrapper.ts" }, - { - "plugin": "observability", - "path": "x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts" - }, - { - "plugin": "observability", - "path": "x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.ts" - }, { "plugin": "ml", "path": "x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts" @@ -3129,6 +3121,22 @@ "plugin": "ml", "path": "x-pack/plugins/ml/server/lib/alerts/register_anomaly_detection_alert_type.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/notifications/legacy_rules_notification_alert_type.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/route.ts" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.ts" + }, { "plugin": "infra", "path": "x-pack/plugins/infra/server/lib/alerting/log_threshold/log_threshold_executor.ts" @@ -3157,14 +3165,6 @@ "plugin": "monitoring", "path": "x-pack/plugins/monitoring/server/alerts/base_rule.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/notifications/legacy_rules_notification_alert_type.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/route.ts" - }, { "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/server/rule_types/index_threshold/rule_type.ts" diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 33d37da346549a..9a5b2ab1194acf 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index 2007901b50001d..28779a9fc58a85 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -3593,9 +3593,9 @@ "ArrayC", "<", "StringC", - ">; kqlFilter: ", - "StringC", - "; }>]>; }> | undefined; handler: ({}: ", + ">; searchConfiguration: ", + "Type", + "<{ query: { query: string | { [x: string]: any; }; language: string; }; }, string, unknown>; }>]>; }> | undefined; handler: ({}: ", "APMRouteHandlerResources", " & { params: { query: { aggregationType?: ", "AggregationType", @@ -3609,7 +3609,7 @@ "section": "def-common.NonEmptyStringBrand", "text": "NonEmptyStringBrand" }, - ">; } & { start: number; end: number; } & { interval: string; } & { groupBy?: string[] | undefined; kqlFilter?: string | undefined; }; }; }) => Promise<{ latencyChartPreview: ", + ">; } & { start: number; end: number; } & { interval: string; } & { groupBy?: string[] | undefined; searchConfiguration?: { query: { query: string | { [x: string]: any; }; language: string; }; } | undefined; }; }; }) => Promise<{ latencyChartPreview: ", "PreviewChartResponse", "; }>; } & ", "APMRouteCreateOptions", @@ -3677,9 +3677,9 @@ "ArrayC", "<", "StringC", - ">; kqlFilter: ", - "StringC", - "; }>]>; }> | undefined; handler: ({}: ", + ">; searchConfiguration: ", + "Type", + "<{ query: { query: string | { [x: string]: any; }; language: string; }; }, string, unknown>; }>]>; }> | undefined; handler: ({}: ", "APMRouteHandlerResources", " & { params: { query: { aggregationType?: ", "AggregationType", @@ -3693,7 +3693,7 @@ "section": "def-common.NonEmptyStringBrand", "text": "NonEmptyStringBrand" }, - ">; } & { start: number; end: number; } & { interval: string; } & { groupBy?: string[] | undefined; kqlFilter?: string | undefined; }; }; }) => Promise<{ errorCountChartPreview: ", + ">; } & { start: number; end: number; } & { interval: string; } & { groupBy?: string[] | undefined; searchConfiguration?: { query: { query: string | { [x: string]: any; }; language: string; }; } | undefined; }; }; }) => Promise<{ errorCountChartPreview: ", "PreviewChartResponse", "; }>; } & ", "APMRouteCreateOptions", @@ -3761,9 +3761,9 @@ "ArrayC", "<", "StringC", - ">; kqlFilter: ", - "StringC", - "; }>]>; }> | undefined; handler: ({}: ", + ">; searchConfiguration: ", + "Type", + "<{ query: { query: string | { [x: string]: any; }; language: string; }; }, string, unknown>; }>]>; }> | undefined; handler: ({}: ", "APMRouteHandlerResources", " & { params: { query: { aggregationType?: ", "AggregationType", @@ -3777,7 +3777,7 @@ "section": "def-common.NonEmptyStringBrand", "text": "NonEmptyStringBrand" }, - ">; } & { start: number; end: number; } & { interval: string; } & { groupBy?: string[] | undefined; kqlFilter?: string | undefined; }; }; }) => Promise<{ errorRateChartPreview: ", + ">; } & { start: number; end: number; } & { interval: string; } & { groupBy?: string[] | undefined; searchConfiguration?: { query: { query: string | { [x: string]: any; }; language: string; }; } | undefined; }; }; }) => Promise<{ errorRateChartPreview: ", "PreviewChartResponse", "; }>; } & ", "APMRouteCreateOptions", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 073e5cf9b25dd5..310fbc2e88b687 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-08-25 +date: 2023-08-28 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 bf1ab4ebe9ad8f..3aa0167513dc7c 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-08-25 +date: 2023-08-28 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 32263f2f65e7c7..bd66eb290ba605 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-08-25 +date: 2023-08-28 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 26dacafa07677f..1cd3d916be7e36 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-08-25 +date: 2023-08-28 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 c47199bb5be578..cd3621bef2e169 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-08-25 +date: 2023-08-28 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 08fe18d05cd52a..9a2fab273e554e 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-08-25 +date: 2023-08-28 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 b92cc561c11fb8..a0c3e54b744d4c 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-08-25 +date: 2023-08-28 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 e2a39284f4ad7c..8b081708de4b12 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-08-25 +date: 2023-08-28 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 701aa0aa7e6ead..01458d8a111a45 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index db98c2429dd22f..1eab55e8662561 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index a6e18728e4ed67..0ff6f8f1b8622c 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 5b8c930945103a..c6549a2b2dfccd 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-08-25 +date: 2023-08-28 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 5b69cf66dc4726..1b5a9f56b8ab79 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-08-25 +date: 2023-08-28 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 4aaf1a463c157c..49fb366ba59b34 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-08-25 +date: 2023-08-28 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 33408a91c0b557..c54377c2c7b015 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-08-25 +date: 2023-08-28 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 a8d7a69e03ec69..6a5205f95b8ad1 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-08-25 +date: 2023-08-28 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 d6d6faf4e91599..d8a8087c9dd2af 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-08-25 +date: 2023-08-28 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 51a0150e7b38ee..9e00843c9cd9f6 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-08-25 +date: 2023-08-28 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 c8ea60ea91432f..110fd493b3f673 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-08-25 +date: 2023-08-28 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 1d1815ffa76ddb..ec3769adff5efa 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-08-25 +date: 2023-08-28 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 4008a160485a1a..457355f3f47be2 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index 96d7a1cb5a1d9e..bee45b5ee444ad 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -8807,10 +8807,6 @@ "plugin": "home", "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" @@ -8823,22 +8819,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/logs.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/flights.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/routes/pack/read_pack_route.ts" @@ -8927,6 +8907,26 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" }, + { + "plugin": "@kbn/core-saved-objects-browser-mocks", + "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/logs.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/flights.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" @@ -12844,10 +12844,6 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/data/data_service.ts" }, - { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/threshold/expression.tsx" - }, { "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/field_data_row/document_stats.tsx" @@ -12860,6 +12856,10 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/field_data_expanded_row/choropleth_map.tsx" }, + { + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/threshold/expression.tsx" + }, { "plugin": "expressionPartitionVis", "path": "src/plugins/chart_expressions/expression_partition_vis/public/utils/layers/get_color.test.ts" @@ -13308,6 +13308,10 @@ "plugin": "@kbn/visualization-ui-components", "path": "packages/kbn-visualization-ui-components/components/query_input/filter_query_input.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts" + }, { "plugin": "observability", "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" @@ -13368,10 +13372,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts" - }, { "plugin": "timelines", "path": "x-pack/plugins/timelines/public/mock/index_pattern.ts" @@ -13556,6 +13556,18 @@ "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_view.ts" }, + { + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/common/log_views/resolved_log_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/public/update_data_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/public/update_data_view.ts" + }, { "plugin": "savedObjectsManagement", "path": "src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx" @@ -13617,16 +13629,88 @@ "path": "x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx" }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/rest_api_routes/public/update_data_view.ts" + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/rest_api_routes/public/update_data_view.ts" + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts" }, { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_clone/clone_action_name.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/job_creator.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/bucket_span_estimator/estimate_bucket_span.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/outlier_exploration/use_outlier_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_results_table/use_exploration_results.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/source_selection/source_selection.tsx" }, { "plugin": "ml", @@ -13645,8 +13729,8 @@ "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" }, { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/common/log_views/resolved_log_view.ts" + "plugin": "timelines", + "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, { "plugin": "visTypeTimeseries", @@ -13720,86 +13804,6 @@ "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/public/rule_types/components/data_view_select_popover.tsx" }, - { - "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_clone/clone_action_name.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/job_creator.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/bucket_span_estimator/estimate_bucket_span.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/outlier_exploration/use_outlier_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_results_table/use_exploration_results.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/source_selection/source_selection.tsx" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/logs/settings/validation_errors.ts" @@ -13892,10 +13896,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx" }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_term_form.tsx" @@ -21073,6 +21073,10 @@ "plugin": "@kbn/visualization-ui-components", "path": "packages/kbn-visualization-ui-components/components/query_input/filter_query_input.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts" + }, { "plugin": "observability", "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" @@ -21133,10 +21137,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts" - }, { "plugin": "timelines", "path": "x-pack/plugins/timelines/public/mock/index_pattern.ts" @@ -21321,6 +21321,18 @@ "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_view.ts" }, + { + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/common/log_views/resolved_log_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/public/update_data_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/public/update_data_view.ts" + }, { "plugin": "savedObjectsManagement", "path": "src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx" @@ -21382,16 +21394,88 @@ "path": "x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx" }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/rest_api_routes/public/update_data_view.ts" + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/rest_api_routes/public/update_data_view.ts" + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts" }, { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_clone/clone_action_name.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/job_creator.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/bucket_span_estimator/estimate_bucket_span.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/outlier_exploration/use_outlier_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_results_table/use_exploration_results.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/source_selection/source_selection.tsx" }, { "plugin": "ml", @@ -21410,8 +21494,8 @@ "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" }, { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/common/log_views/resolved_log_view.ts" + "plugin": "timelines", + "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, { "plugin": "visTypeTimeseries", @@ -21485,86 +21569,6 @@ "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/public/rule_types/components/data_view_select_popover.tsx" }, - { - "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_clone/clone_action_name.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/job_creator.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/bucket_span_estimator/estimate_bucket_span.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/outlier_exploration/use_outlier_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_results_table/use_exploration_results.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/source_selection/source_selection.tsx" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/logs/settings/validation_errors.ts" @@ -21657,10 +21661,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx" }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_term_form.tsx" @@ -27866,10 +27866,6 @@ "plugin": "home", "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" @@ -27882,22 +27878,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/logs.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/flights.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/routes/pack/read_pack_route.ts" @@ -27986,6 +27966,26 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" }, + { + "plugin": "@kbn/core-saved-objects-browser-mocks", + "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/logs.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/flights.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index c02169f95e7f18..80a8e41aa18246 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-08-25 +date: 2023-08-28 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 a2c68c7b8d9b7a..4af0c115d5164f 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.devdocs.json b/api_docs/data_search.devdocs.json index 3b5cd7151721e6..97b33f8d418eab 100644 --- a/api_docs/data_search.devdocs.json +++ b/api_docs/data_search.devdocs.json @@ -3154,7 +3154,7 @@ "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, - "[] | undefined; hasNoReferenceOperator?: \"AND\" | \"OR\" | undefined; typeToNamespacesMap?: Map | undefined; migrationVersionCompatibility?: \"raw\" | \"compatible\" | undefined; }" + "[] | undefined; hasNoReferenceOperator?: \"AND\" | \"OR\" | undefined; typeToNamespacesMap?: Map | undefined; migrationVersionCompatibility?: \"raw\" | \"compatible\" | undefined; downwardConversion?: \"allow\" | \"forbid\" | undefined; }" ], "path": "src/plugins/data/server/search/session/types.ts", "deprecated": false, diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 38885b13974ae9..22e1172947cfdf 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-08-25 +date: 2023-08-28 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 4de32fe60d84ab..1d42bd4d19fa62 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-08-25 +date: 2023-08-28 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 89dd821b47ea8b..7d63985712cef7 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-08-25 +date: 2023-08-28 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 ef85f7588de19b..587767cffbd5ba 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index f57fd958ff5465..3ac18c3d9e79a2 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -71,6 +71,10 @@ "plugin": "@kbn/visualization-ui-components", "path": "packages/kbn-visualization-ui-components/components/query_input/filter_query_input.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts" + }, { "plugin": "observability", "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" @@ -131,10 +135,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts" - }, { "plugin": "timelines", "path": "x-pack/plugins/timelines/public/mock/index_pattern.ts" @@ -303,6 +303,10 @@ "plugin": "@kbn/es-query", "path": "packages/kbn-es-query/src/kuery/functions/utils/get_full_field_name_node.test.ts" }, + { + "plugin": "data", + "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.ts" + }, { "plugin": "data", "path": "src/plugins/data/common/search/search_source/inspect/inspector_stats.ts" @@ -313,15 +317,15 @@ }, { "plugin": "data", - "path": "src/plugins/data/common/search/aggs/param_types/field.ts" + "path": "src/plugins/data/public/search/errors/painless_error.tsx" }, { "plugin": "data", - "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.ts" + "path": "src/plugins/data/common/search/aggs/param_types/field.ts" }, { - "plugin": "data", - "path": "src/plugins/data/public/search/errors/painless_error.tsx" + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/common/log_views/resolved_log_view.ts" }, { "plugin": "savedObjectsManagement", @@ -387,6 +391,86 @@ "plugin": "triggersActionsUi", "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_clone/clone_action_name.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/job_creator.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/bucket_span_estimator/estimate_bucket_span.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/outlier_exploration/use_outlier_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_results_table/use_exploration_results.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/source_selection/source_selection.tsx" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" @@ -404,8 +488,8 @@ "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" }, { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/common/log_views/resolved_log_view.ts" + "plugin": "timelines", + "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, { "plugin": "visTypeTimeseries", @@ -479,86 +563,6 @@ "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/public/rule_types/components/data_view_select_popover.tsx" }, - { - "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_clone/clone_action_name.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/job_creator.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/bucket_span_estimator/estimate_bucket_span.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/outlier_exploration/use_outlier_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_results_table/use_exploration_results.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/source_selection/source_selection.tsx" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/logs/settings/validation_errors.ts" @@ -651,10 +655,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx" }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_term_form.tsx" @@ -8035,6 +8035,10 @@ "plugin": "@kbn/visualization-ui-components", "path": "packages/kbn-visualization-ui-components/components/query_input/filter_query_input.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts" + }, { "plugin": "observability", "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" @@ -8095,10 +8099,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts" - }, { "plugin": "timelines", "path": "x-pack/plugins/timelines/public/mock/index_pattern.ts" @@ -8267,6 +8267,10 @@ "plugin": "@kbn/es-query", "path": "packages/kbn-es-query/src/kuery/functions/utils/get_full_field_name_node.test.ts" }, + { + "plugin": "data", + "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.ts" + }, { "plugin": "data", "path": "src/plugins/data/common/search/search_source/inspect/inspector_stats.ts" @@ -8277,15 +8281,15 @@ }, { "plugin": "data", - "path": "src/plugins/data/common/search/aggs/param_types/field.ts" + "path": "src/plugins/data/public/search/errors/painless_error.tsx" }, { "plugin": "data", - "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.ts" + "path": "src/plugins/data/common/search/aggs/param_types/field.ts" }, { - "plugin": "data", - "path": "src/plugins/data/public/search/errors/painless_error.tsx" + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/common/log_views/resolved_log_view.ts" }, { "plugin": "savedObjectsManagement", @@ -8352,176 +8356,176 @@ "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" + "path": "x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" }, { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/common/log_views/resolved_log_view.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" }, { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" }, { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" }, { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" }, { - "plugin": "apm", - "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" }, { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" }, { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_field.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx" }, { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/use_filter_values.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_clone/clone_action_name.tsx" }, { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/job_creator.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/boundary_index_expression.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/entity_index_expression.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/bucket_span_estimator/estimate_bucket_span.ts" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/outlier_exploration/use_outlier_data.ts" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_results_table/use_exploration_results.ts" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/source_selection/source_selection.tsx" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/components/data_view_select_popover.tsx" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" }, { - "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx" + "plugin": "timelines", + "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts" + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + "plugin": "apm", + "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/report_definition_field.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/use_filter_values.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_clone/clone_action_name.tsx" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/boundary_index_expression.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/job_creator.ts" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/entity_index_expression.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/bucket_span_estimator/estimate_bucket_span.ts" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/outlier_exploration/use_outlier_data.ts" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_results_table/use_exploration_results.ts" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/source_selection/source_selection.tsx" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/components/data_view_select_popover.tsx" }, { "plugin": "infra", @@ -8615,10 +8619,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx" }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_term_form.tsx" @@ -15109,6 +15109,10 @@ "plugin": "@kbn/visualization-ui-components", "path": "packages/kbn-visualization-ui-components/components/query_input/filter_query_input.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts" + }, { "plugin": "observability", "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" @@ -15169,10 +15173,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts" - }, { "plugin": "timelines", "path": "x-pack/plugins/timelines/public/mock/index_pattern.ts" @@ -15341,6 +15341,10 @@ "plugin": "@kbn/es-query", "path": "packages/kbn-es-query/src/kuery/functions/utils/get_full_field_name_node.test.ts" }, + { + "plugin": "data", + "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.ts" + }, { "plugin": "data", "path": "src/plugins/data/common/search/search_source/inspect/inspector_stats.ts" @@ -15351,15 +15355,15 @@ }, { "plugin": "data", - "path": "src/plugins/data/common/search/aggs/param_types/field.ts" + "path": "src/plugins/data/public/search/errors/painless_error.tsx" }, { "plugin": "data", - "path": "src/plugins/data/public/query/filter_manager/lib/get_display_value.ts" + "path": "src/plugins/data/common/search/aggs/param_types/field.ts" }, { - "plugin": "data", - "path": "src/plugins/data/public/search/errors/painless_error.tsx" + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/common/log_views/resolved_log_view.ts" }, { "plugin": "savedObjectsManagement", @@ -15425,6 +15429,86 @@ "plugin": "triggersActionsUi", "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_clone/clone_action_name.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/job_creator.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/bucket_span_estimator/estimate_bucket_span.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/outlier_exploration/use_outlier_data.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_results_table/use_exploration_results.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/source_selection/source_selection.tsx" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" @@ -15442,8 +15526,8 @@ "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" }, { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/common/log_views/resolved_log_view.ts" + "plugin": "timelines", + "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, { "plugin": "visTypeTimeseries", @@ -15517,86 +15601,6 @@ "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/public/rule_types/components/data_view_select_popover.tsx" }, - { - "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/use_data_visualizer_grid_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_clone/clone_action_name.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/job_creator.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/bucket_span_estimator/estimate_bucket_span.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/outlier_exploration/use_outlier_data.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_results_table/use_exploration_results.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/source_selection/source_selection.tsx" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/logs/settings/validation_errors.ts" @@ -15689,10 +15693,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx" }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_term_form.tsx" @@ -24441,10 +24441,6 @@ "plugin": "home", "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" @@ -24457,22 +24453,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/logs.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/flights.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/routes/pack/read_pack_route.ts" @@ -24561,6 +24541,26 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" }, + { + "plugin": "@kbn/core-saved-objects-browser-mocks", + "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/logs.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/flights.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index c66942232e6d20..adfb5e2df5f9bf 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-08-25 +date: 2023-08-28 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 13037fde33fb83..31a7a8d8a03d36 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 39f1fced541789..e133bf0f0ce6de 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -16,37 +16,36 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Referencing plugin(s) | Remove By | | ---------------|-----------|-----------| -| | stackAlerts, ml | - | -| | ruleRegistry, observability, ml, infra, monitoring, securitySolution, stackAlerts, synthetics, transform, uptime | - | +| | ml, stackAlerts | - | +| | ruleRegistry, ml, securitySolution, observability, infra, monitoring, stackAlerts, synthetics, transform, uptime | - | +| | @kbn/es-query, @kbn/visualization-ui-components, securitySolution, observability, timelines, lists, threatIntelligence, savedSearch, dataViews, logsShared, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, dataVisualizer, ml, visTypeTimeseries, apm, exploratoryView, fleet, stackAlerts, infra, canvas, enterpriseSearch, graph, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | +| | @kbn/es-query, @kbn/visualization-ui-components, securitySolution, observability, timelines, lists, threatIntelligence, savedSearch, dataViews, logsShared, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, dataVisualizer, ml, visTypeTimeseries, apm, exploratoryView, fleet, stackAlerts, infra, canvas, enterpriseSearch, graph, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | +| | @kbn/es-query, @kbn/visualization-ui-components, securitySolution, observability, timelines, lists, threatIntelligence, savedSearch, data, logsShared, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, dataVisualizer, ml, visTypeTimeseries, apm, exploratoryView, fleet, stackAlerts, infra, canvas, enterpriseSearch, graph, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega | - | +| | home, data, esUiShared, savedObjectsManagement, ml, exploratoryView, fleet, observability, apm, indexLifecycleManagement, observabilityOnboarding, synthetics, upgradeAssistant, uptime, ux, kibanaOverview | - | +| | share, uiActions, guidedOnboarding, home, management, spaces, security, savedObjects, serverless, visualizations, controls, dashboard, savedObjectsTagging, expressionXY, lens, expressionMetricVis, expressionGauge, alerting, triggersActionsUi, cases, licenseManagement, advancedSettings, maps, dataVisualizer, aiops, ml, exploratoryView, fleet, observability, infra, profiling, apm, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, indexManagement, crossClusterReplication, enterpriseSearch, globalSearchBar, graph, grokdebugger, indexLifecycleManagement, ingestPipelines, logstash, monitoring, observabilityOnboarding, osquery, devTools, painlessLab, remoteClusters, rollup, searchprofiler, newsfeed, securitySolution, snapshotRestore, synthetics, transform, upgradeAssistant, uptime, ux, watcher, cloudDataMigration, console, filesManagement, kibanaOverview, visDefaultEditor, expressionHeatmap, expressionLegacyMetricVis, expressionPartitionVis, expressionTagcloud, visTypeTable, visTypeTimelion, visTypeTimeseries, visTypeVega, visTypeVislib | - | +| | encryptedSavedObjects, actions, data, ml, securitySolution, logstash, cloudChat | - | +| | actions, ml, savedObjectsTagging, enterpriseSearch | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjects, presentationUtil, visualizations, dataVisualizer, ml, aiops, dashboardEnhanced, graph, lens, securitySolution, eventAnnotation, @kbn/core-saved-objects-browser-mocks | - | +| | @kbn/core, ml, savedObjects, embeddable, visualizations, canvas, graph, @kbn/core-saved-objects-common, @kbn/core-saved-objects-server, actions, alerting, securitySolution, savedSearch, enterpriseSearch, taskManager, @kbn/core-saved-objects-server-internal, @kbn/core-saved-objects-api-server | - | | | stackAlerts, alerting, securitySolution, inputControlVis | - | | | stackAlerts, infra, graph, inputControlVis, securitySolution, savedObjects | - | -| | dashboard, stackAlerts, dataVisualizer, expressionPartitionVis | - | -| | @kbn/es-query, @kbn/visualization-ui-components, observability, securitySolution, timelines, lists, threatIntelligence, savedSearch, dataViews, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, ml, logsShared, visTypeTimeseries, apm, exploratoryView, fleet, stackAlerts, dataVisualizer, infra, canvas, enterpriseSearch, graph, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | +| | dashboard, dataVisualizer, stackAlerts, expressionPartitionVis | - | | | stackAlerts, alerting, securitySolution, inputControlVis | - | -| | @kbn/es-query, @kbn/visualization-ui-components, observability, securitySolution, timelines, lists, threatIntelligence, savedSearch, dataViews, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, ml, logsShared, visTypeTimeseries, apm, exploratoryView, fleet, stackAlerts, dataVisualizer, infra, canvas, enterpriseSearch, graph, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | -| | @kbn/es-query, @kbn/visualization-ui-components, observability, securitySolution, timelines, lists, threatIntelligence, savedSearch, data, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, ml, logsShared, visTypeTimeseries, apm, exploratoryView, fleet, stackAlerts, dataVisualizer, infra, canvas, enterpriseSearch, graph, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega | - | -| | home, data, esUiShared, savedObjectsManagement, exploratoryView, fleet, observability, ml, apm, indexLifecycleManagement, observabilityOnboarding, synthetics, upgradeAssistant, uptime, ux, kibanaOverview | - | -| | share, uiActions, guidedOnboarding, home, management, spaces, savedObjects, controls, serverless, visualizations, dashboard, savedObjectsTagging, expressionXY, lens, expressionMetricVis, expressionGauge, security, alerting, triggersActionsUi, cases, aiops, exploratoryView, fleet, observability, licenseManagement, advancedSettings, maps, dataVisualizer, ml, infra, profiling, apm, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, indexManagement, crossClusterReplication, enterpriseSearch, globalSearchBar, graph, grokdebugger, indexLifecycleManagement, ingestPipelines, logstash, monitoring, observabilityOnboarding, osquery, devTools, painlessLab, remoteClusters, rollup, searchprofiler, newsfeed, securitySolution, serverlessSearch, 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, presentationUtil, visualizations, aiops, ml, dataVisualizer, dashboardEnhanced, graph, lens, securitySolution, eventAnnotation, @kbn/core-saved-objects-browser-mocks | - | -| | @kbn/core, ml, savedObjects, embeddable, visualizations, canvas, graph, @kbn/core-saved-objects-common, @kbn/core-saved-objects-server, actions, alerting, savedSearch, enterpriseSearch, securitySolution, taskManager, @kbn/core-saved-objects-server-internal, @kbn/core-saved-objects-api-server | - | -| | inspector, data, savedObjects, dataViewEditor, unifiedSearch, embeddable, controls, visualizations, dashboard, licensing, savedObjectsTagging, eventAnnotation, dataViewFieldEditor, lens, security, triggersActionsUi, cases, observabilityShared, exploratoryView, fleet, observability, telemetry, advancedSettings, maps, banners, reporting, timelines, cloudSecurityPosture, runtimeFields, indexManagement, dashboardEnhanced, imageEmbeddable, graph, monitoring, securitySolution, synthetics, transform, uptime, cloudLinks, console, dataViewManagement, filesManagement, uiActions, visTypeVislib | - | -| | observability, @kbn/securitysolution-data-table, securitySolution | - | -| | monitoring | - | | | alerting, discover, securitySolution | - | -| | @kbn/core-saved-objects-api-server-internal, @kbn/core-saved-objects-import-export-server-internal, @kbn/core-saved-objects-server-internal, @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, home, @kbn/core-saved-objects-browser-mocks, fleet, graph, lists, osquery, securitySolution, alerting | - | -| | @kbn/core-saved-objects-api-server-internal, @kbn/core-saved-objects-import-export-server-internal, @kbn/core-saved-objects-server-internal, @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, home, @kbn/core-saved-objects-browser-mocks, fleet, graph, lists, osquery, securitySolution, alerting | - | +| | @kbn/core-saved-objects-api-server-internal, @kbn/core-saved-objects-import-export-server-internal, @kbn/core-saved-objects-server-internal, @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, home, fleet, osquery, securitySolution, @kbn/core-saved-objects-browser-mocks, graph, lists, alerting | - | +| | @kbn/core-saved-objects-api-server-internal, @kbn/core-saved-objects-import-export-server-internal, @kbn/core-saved-objects-server-internal, @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, home, fleet, osquery, securitySolution, @kbn/core-saved-objects-browser-mocks, graph, lists, alerting | - | | | alerting, discover, securitySolution | - | | | securitySolution | - | +| | inspector, data, licensing, security, savedObjects, dataViewEditor, unifiedSearch, embeddable, visualizations, controls, dashboard, savedObjectsTagging, eventAnnotation, dataViewFieldEditor, lens, triggersActionsUi, cases, observabilityShared, telemetry, advancedSettings, maps, exploratoryView, fleet, observability, banners, reporting, timelines, cloudSecurityPosture, runtimeFields, indexManagement, dashboardEnhanced, imageEmbeddable, graph, monitoring, securitySolution, synthetics, transform, uptime, cloudLinks, console, dataViewManagement, filesManagement, uiActions, visTypeVislib | - | +| | observability, @kbn/securitysolution-data-table, securitySolution | - | | | @kbn/securitysolution-data-table, securitySolution | - | | | securitySolution | - | -| | @kbn/securitysolution-data-table, securitySolution | - | -| | @kbn/securitysolution-data-table, securitySolution | - | +| | securitySolution, @kbn/securitysolution-data-table | - | +| | securitySolution, @kbn/securitysolution-data-table | - | | | securitySolution | - | | | securitySolution | - | -| | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjectsTaggingOss, savedObjectsTagging, lists, securitySolution, upgradeAssistant, savedObjectsManagement, @kbn/core-saved-objects-api-server, @kbn/core-saved-objects-import-export-server-internal, home, canvas, savedObjects, @kbn/core-saved-objects-browser-mocks, @kbn/core-ui-settings-server-internal | - | -| | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, lens, cases, savedObjectsTagging, visualizations, savedSearch, canvas, graph, lists, maps, securitySolution, dashboard, @kbn/core-test-helpers-so-type-serializer | - | +| | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjectsTaggingOss, savedObjectsTagging, securitySolution, lists, upgradeAssistant, savedObjectsManagement, @kbn/core-saved-objects-api-server, @kbn/core-saved-objects-import-export-server-internal, home, canvas, savedObjects, @kbn/core-saved-objects-browser-mocks, @kbn/core-ui-settings-server-internal | - | +| | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, lens, lists, savedObjectsTagging, securitySolution, cases, visualizations, savedSearch, canvas, graph, maps, dashboard, @kbn/core-test-helpers-so-type-serializer | - | | | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | | | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | | | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | @@ -59,7 +58,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | securitySolution | - | | | securitySolution | - | | | securitySolution | - | -| | exploratoryView, fleet, dataVisualizer, cloudSecurityPosture, discoverEnhanced, osquery, synthetics | - | +| | monitoring | - | +| | dataVisualizer, exploratoryView, fleet, cloudSecurityPosture, discoverEnhanced, osquery, synthetics | - | | | @kbn/core-plugins-browser-internal, @kbn/core-root-browser-internal, home, savedObjects, unifiedSearch, presentationUtil, visualizations, fileUpload, dashboardEnhanced, transform, discover, dataVisualizer | - | | | @kbn/core, @kbn/core-lifecycle-browser, @kbn/core-saved-objects-browser-internal, visualizations, exploratoryView, transform, @kbn/core-saved-objects-browser-mocks | - | | | actions, alerting | - | @@ -71,11 +71,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-saved-objects-api-server-internal | - | | | @kbn/core-saved-objects-api-server-internal, canvas, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-server-internal, @kbn/core-plugins-server-internal, savedObjectsTagging, @kbn/core-saved-objects-server-mocks | - | -| | @kbn/core, kibanaUtils, expressions, data, savedObjectsTaggingOss, embeddable, controls, visualizations, savedObjectsTagging, uiActionsEnhanced, lens, maps, canvas, dashboardEnhanced, globalSearchProviders, @kbn/core-saved-objects-api-browser, savedObjects, savedObjectsManagement, eventAnnotation, graph, dashboard | - | +| | @kbn/core, kibanaUtils, expressions, data, savedObjectsTaggingOss, embeddable, visualizations, controls, savedObjectsTagging, uiActionsEnhanced, lens, maps, canvas, dashboardEnhanced, globalSearchProviders, @kbn/core-saved-objects-api-browser, savedObjects, savedObjectsManagement, eventAnnotation, graph, dashboard | - | | | @kbn/core-saved-objects-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, home, savedObjects, visualizations, lens, visTypeTimeseries, @kbn/core-saved-objects-browser-mocks | - | | | @kbn/core-saved-objects-browser-internal, savedObjects, @kbn/core-saved-objects-browser-mocks | - | | | home, @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-internal, savedObjects, @kbn/core-saved-objects-browser-mocks, visualizations | - | +| | @kbn/core-saved-objects-browser-internal, savedObjects, visualizations, @kbn/core-saved-objects-browser-mocks | - | | | @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | | | savedObjects, presentationUtil, @kbn/core-saved-objects-browser-mocks, dashboardEnhanced, @kbn/core-saved-objects-browser-internal | - | | | savedObjects, @kbn/core-saved-objects-browser-mocks, dashboardEnhanced, @kbn/core-saved-objects-browser-internal | - | @@ -141,8 +141,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-lifecycle-browser-mocks, @kbn/core, @kbn/core-plugins-browser-internal | - | | | @kbn/core | - | | | @kbn/core-plugins-server-internal | - | -| | security, aiops, licenseManagement, ml, profiling, apm, crossClusterReplication, logstash, painlessLab, searchprofiler, watcher | 8.8.0 | -| | spaces, security, actions, alerting, ml, remoteClusters, graph, indexLifecycleManagement, mapsEms, osquery, painlessLab, rollup, searchprofiler, securitySolution, snapshotRestore, transform, upgradeAssistant | 8.8.0 | +| | security, licenseManagement, aiops, ml, profiling, apm, crossClusterReplication, logstash, painlessLab, searchprofiler, watcher | 8.8.0 | +| | spaces, security, actions, alerting, ml, osquery, securitySolution, remoteClusters, graph, indexLifecycleManagement, mapsEms, painlessLab, rollup, searchprofiler, snapshotRestore, transform, upgradeAssistant | 8.8.0 | | | apm, fleet, security, securitySolution | 8.8.0 | | | apm, fleet, security, securitySolution | 8.8.0 | | | spaces, security, alerting | 8.8.0 | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index e788d157af8a21..b8e4335461b424 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -572,9 +572,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [rare_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/rare_terms.test.ts#:~:text=title)+ 3 more | - | -| | [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [rare_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/rare_terms.test.ts#:~:text=title)+ 3 more | - | -| | [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [rare_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/rare_terms.test.ts#:~:text=title)+ 3 more | - | +| | [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [rare_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/rare_terms.test.ts#:~:text=title)+ 3 more | - | +| | [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [rare_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/rare_terms.test.ts#:~:text=title)+ 3 more | - | +| | [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [rare_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/rare_terms.test.ts#:~:text=title)+ 3 more | - | | | [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [shard_failure_open_modal_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.tsx#:~:text=toMountPoint), [shard_failure_open_modal_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.tsx#:~:text=toMountPoint), [handle_warnings.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/fetch/handle_warnings.tsx#:~:text=toMountPoint), [handle_warnings.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/fetch/handle_warnings.tsx#:~:text=toMountPoint), [delete_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/components/actions/delete_button.tsx#:~:text=toMountPoint), [delete_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/components/actions/delete_button.tsx#:~:text=toMountPoint)+ 8 more | - | | | [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks) | - | | | [session_service.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/session/session_service.ts#:~:text=authc) | - | @@ -1189,9 +1189,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | ---------------|-----------|-----------| | | [register_ml_alerts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/alerting/register_ml_alerts.ts#:~:text=registerNavigation) | - | | | [register_jobs_monitoring_rule_type.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts#:~:text=alertFactory), [register_jobs_monitoring_rule_type.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts#:~:text=alertFactory), [register_anomaly_detection_alert_type.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/register_anomaly_detection_alert_type.ts#:~:text=alertFactory), [register_anomaly_detection_alert_type.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/register_anomaly_detection_alert_type.ts#:~:text=alertFactory) | - | -| | [index_patterns.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts#:~:text=title), [rollup.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts#:~:text=title), [alerting_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts#:~:text=title), [data_recognizer.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title)+ 38 more | - | -| | [index_patterns.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts#:~:text=title), [rollup.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts#:~:text=title), [alerting_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts#:~:text=title), [data_recognizer.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title)+ 38 more | - | -| | [index_patterns.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts#:~:text=title), [rollup.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts#:~:text=title), [alerting_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts#:~:text=title), [data_recognizer.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title)+ 14 more | - | +| | [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [configuration_step_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx#:~:text=title), [configuration_step_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx#:~:text=title), [configuration_step_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx#:~:text=title), [page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx#:~:text=title)+ 38 more | - | +| | [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [configuration_step_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx#:~:text=title), [configuration_step_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx#:~:text=title), [configuration_step_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx#:~:text=title), [page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx#:~:text=title)+ 38 more | - | +| | [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [configuration_step_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx#:~:text=title), [configuration_step_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx#:~:text=title), [configuration_step_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_form.tsx#:~:text=title), [page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/page.tsx#:~:text=title)+ 14 more | - | | | [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks) | - | | | [anomaly_charts_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_charts_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_charts_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_swimlane_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_swimlane_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_swimlane_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=KibanaThemeProvider), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=KibanaThemeProvider)+ 2 more | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/plugin.ts#:~:text=license%24) | 8.8.0 | @@ -1470,12 +1470,12 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 12 more | - | | | [dependencies_start_mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/endpoint/dependencies_start_mock.ts#:~:text=indexPatterns) | - | | | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 78 more | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title)+ 28 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 28 more | - | | | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.ts#:~:text=create) | - | | | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch) | - | | | [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/eql/api.ts#:~:text=options) | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title)+ 28 more | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title)+ 9 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 28 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 9 more | - | | | [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/saved_objects.ts#:~:text=toMountPoint)+ 5 more | - | | | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider) | - | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | @@ -1486,23 +1486,23 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx#:~:text=DeprecatedRowRenderer), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx#:~:text=DeprecatedRowRenderer) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [use_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx#:~:text=BrowserField)+ 29 more | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields)+ 104 more | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields)+ 102 more | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyRequest), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyRequest) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyResponse), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyResponse) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/types.ts#:~:text=SimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/types.ts#:~:text=SimpleSavedObject) | - | | | [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes), [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes) | - | | | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject) | - | | | [timelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts#:~:text=convertToMultiNamespaceTypeVersion), [notes.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/notes.ts#:~:text=convertToMultiNamespaceTypeVersion), [pinned_events.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/pinned_events.ts#:~:text=convertToMultiNamespaceTypeVersion), [legacy_saved_object_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | -| | [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID)+ 36 more | - | +| | [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [trusted_app_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/trusted_app_validator.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [trusted_app_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/trusted_app_validator.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [receiver.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [receiver.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID)+ 36 more | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME) | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION) | - | -| | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form.tsx#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form.tsx#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/view/utils.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/view/utils.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [service_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [service_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [service_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID)+ 34 more | - | -| | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME) | - | -| | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION) | - | -| | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [host_isolation_exceptions_api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [host_isolation_exceptions_api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [host_isolation_exceptions_api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID)+ 18 more | - | +| | [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [event_filter_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [event_filter_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [security_lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/telemetry/tasks/security_lists.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID)+ 34 more | - | +| | [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME) | - | +| | [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION) | - | +| | [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [host_isolation_exceptions_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/host_isolation_exceptions_validator.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [host_isolation_exceptions_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/host_isolation_exceptions_validator.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID)+ 18 more | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/host_isolation_exceptions/index.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/host_isolation_exceptions/index.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_NAME) | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/host_isolation_exceptions/index.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/host_isolation_exceptions/index.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_DESCRIPTION) | - | -| | [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [blocklists_api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/services/blocklists_api_client.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [blocklists_api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/services/blocklists_api_client.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [blocklists_api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/services/blocklists_api_client.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID)+ 16 more | - | +| | [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [blocklist_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/blocklist_validator.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [blocklist_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/blocklist_validator.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID)+ 16 more | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/blocklists/index.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/blocklists/index.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_NAME) | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/blocklists/index.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/blocklists/index.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION) | - | @@ -1516,14 +1516,6 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ -## serverlessSearch - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [indexing_api.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/serverless_search/public/application/indexing_api.tsx#:~:text=KibanaThemeProvider), [indexing_api.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/serverless_search/public/application/indexing_api.tsx#:~:text=KibanaThemeProvider), [indexing_api.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/serverless_search/public/application/indexing_api.tsx#:~:text=KibanaThemeProvider) | - | - - - ## share | Deprecated API | Reference location(s) | Remove By | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 4fa8a64ef89efe..ee53150242ea9b 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 3d3ba6b96d49c0..27bb91fe6cf563 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-08-25 +date: 2023-08-28 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 9179225514ff6e..fbe23a8c3fc4a6 100644 --- a/api_docs/discover.devdocs.json +++ b/api_docs/discover.devdocs.json @@ -1293,14 +1293,6 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_discover_link.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/hooks/use_get_logs_discover_link.tsx" - }, { "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/common/components/results_links/results_links.tsx" @@ -1309,6 +1301,14 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/actions_panel/actions_panel.tsx" }, + { + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/hooks/use_discover_link.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/hooks/use_get_logs_discover_link.tsx" + }, { "plugin": "cloudSecurityPosture", "path": "x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/overview_tab.tsx" diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 0e0dd45ee8c2c6..0037157559554e 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-08-25 +date: 2023-08-28 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 c14275bee09777..524afafefe26b0 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-08-25 +date: 2023-08-28 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 fc90807bbf9e0c..25c602bcc81d95 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 4fd1a918773cce..c3265dcee0706f 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-08-25 +date: 2023-08-28 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 ce01624369c5ac..915053c2392bbe 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-08-25 +date: 2023-08-28 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 1c784883188197..71b8222b35a9e0 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-08-25 +date: 2023-08-28 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 8b056324223933..e5cb004fb95e40 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-08-25 +date: 2023-08-28 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 67b0ab9b0e165c..34ad6afa48b70b 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-08-25 +date: 2023-08-28 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 8e9684b696fd54..194622fbc27a22 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index f62a9d818c4c40..0ddef098dd5b9a 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-08-25 +date: 2023-08-28 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 6b856de75dd16a..20529d268a2905 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-08-25 +date: 2023-08-28 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 7db8632ce92fb4..b5dc06cd852cef 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-08-25 +date: 2023-08-28 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 8c1eeb4acb4d19..428938bb6e43b1 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-08-25 +date: 2023-08-28 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 484eafdaf6355c..7d82284b881563 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-08-25 +date: 2023-08-28 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 9740fe59cb4eac..ab3f91ea6f27a1 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-08-25 +date: 2023-08-28 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 fff5da4ec56d64..4fe62e71f5ac18 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-08-25 +date: 2023-08-28 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 b264d58a42dd0e..09341a4b671a89 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-08-25 +date: 2023-08-28 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 139577dde78a24..03f7b9f156c9d9 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-08-25 +date: 2023-08-28 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 4e0297f55db0ee..5595380a5145f3 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-08-25 +date: 2023-08-28 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 c17f61cfd2343a..9ab0c0b0ef36c3 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-08-25 +date: 2023-08-28 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 fcce69d6d4beb5..99d0de37e515ce 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-08-25 +date: 2023-08-28 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 c875447fe31dca..719e8466bb47b5 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-08-25 +date: 2023-08-28 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 9b89bd05769739..4bf1d7c0037898 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-08-25 +date: 2023-08-28 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 80e501013dd02c..e0242a8e36c006 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-08-25 +date: 2023-08-28 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 9794743fb4f443..947074207702cd 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-08-25 +date: 2023-08-28 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 1a19b33aae10f7..3c59782f81b395 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-08-25 +date: 2023-08-28 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 471dcca3931b41..d700e1b5d69aa6 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-08-25 +date: 2023-08-28 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 72dad803af4e05..a61a9bd41640dc 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-08-25 +date: 2023-08-28 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 2a5699895fee8e..5585cae642f0cf 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-08-25 +date: 2023-08-28 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 b2a3bf51333a02..43b94e5b0c524c 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-08-25 +date: 2023-08-28 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 d827b0485dc579..b895759be27571 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-08-25 +date: 2023-08-28 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 323575f75cda16..583e61b08e22c8 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-08-25 +date: 2023-08-28 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 e6f44f3b28c171..7e6223846ca2e6 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-08-25 +date: 2023-08-28 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 26e89cfdf5a5e2..57c9d811644ef9 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-08-25 +date: 2023-08-28 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 2e0681779b06b0..348456e53d1d66 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-08-25 +date: 2023-08-28 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 e3fa160e69b3a2..1d371306c95b15 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-08-25 +date: 2023-08-28 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 cc483d9bc46dcb..0656f447f754b6 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-08-25 +date: 2023-08-28 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 61ba52c929ab3a..89c1ad1fe9a1ae 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-08-25 +date: 2023-08-28 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 8c801de4dfd54e..af92b068faab9a 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-08-25 +date: 2023-08-28 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 30579ea25fd9fe..08df446855ac17 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-08-25 +date: 2023-08-28 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 d5743e191a27ee..82c4099c758505 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 21b85ed4c21fea..3275641350d150 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-08-25 +date: 2023-08-28 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 27534228f41925..ff79bf58afb092 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-08-25 +date: 2023-08-28 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.devdocs.json b/api_docs/kbn_alerting_api_integration_helpers.devdocs.json new file mode 100644 index 00000000000000..8f4c6849b50612 --- /dev/null +++ b/api_docs/kbn_alerting_api_integration_helpers.devdocs.json @@ -0,0 +1,430 @@ +{ + "id": "@kbn/alerting-api-integration-helpers", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [ + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool", + "type": "Class", + "tags": [], + "label": "ESTestIndexTool", + "description": [], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "es", + "description": [], + "signature": [ + "default" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.Unnamed.$2", + "type": "Any", + "tags": [], + "label": "retry", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.Unnamed.$3", + "type": "string", + "tags": [], + "label": "index", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.setup", + "type": "Function", + "tags": [], + "label": "setup", + "description": [], + "signature": [ + "() => Promise<", + "TransportResult", + "<", + "IndicesCreateResponse", + ", unknown>>" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.destroy", + "type": "Function", + "tags": [], + "label": "destroy", + "description": [], + "signature": [ + "() => Promise<", + "TransportResult", + "<", + "IndicesResponseBase", + ", unknown> | undefined>" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.search", + "type": "Function", + "tags": [], + "label": "search", + "description": [], + "signature": [ + "(source: string, reference?: string | undefined) => Promise<", + "TransportResult", + "<", + "SearchResponse", + ">, unknown>>" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.search.$1", + "type": "string", + "tags": [], + "label": "source", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.search.$2", + "type": "string", + "tags": [], + "label": "reference", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.getAll", + "type": "Function", + "tags": [], + "label": "getAll", + "description": [], + "signature": [ + "(size?: number) => Promise<", + "TransportResult", + "<", + "SearchResponse", + ">, unknown>>" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.getAll.$1", + "type": "number", + "tags": [], + "label": "size", + "description": [], + "signature": [ + "number" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.removeAll", + "type": "Function", + "tags": [], + "label": "removeAll", + "description": [], + "signature": [ + "() => Promise<", + "DeleteByQueryResponse", + ">" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.waitForDocs", + "type": "Function", + "tags": [], + "label": "waitForDocs", + "description": [], + "signature": [ + "(source: string, reference: string, numDocs?: number) => Promise" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.waitForDocs.$1", + "type": "string", + "tags": [], + "label": "source", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.waitForDocs.$2", + "type": "string", + "tags": [], + "label": "reference", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ESTestIndexTool.waitForDocs.$3", + "type": "number", + "tags": [], + "label": "numDocs", + "description": [], + "signature": [ + "number" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "functions": [ + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.getHttpProxyServer", + "type": "Function", + "tags": [], + "label": "getHttpProxyServer", + "description": [], + "signature": [ + "(targetUrl: string, kbnTestServerConfig: any, onProxyResHandler: (proxyRes?: unknown, req?: unknown, res?: unknown) => void) => Promise<", + "node_modules/@types/http-proxy/index", + ">" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/get_proxy_server.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.getHttpProxyServer.$1", + "type": "string", + "tags": [], + "label": "targetUrl", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/get_proxy_server.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.getHttpProxyServer.$2", + "type": "Any", + "tags": [], + "label": "kbnTestServerConfig", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/get_proxy_server.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.getHttpProxyServer.$3", + "type": "Function", + "tags": [], + "label": "onProxyResHandler", + "description": [], + "signature": [ + "(proxyRes?: unknown, req?: unknown, res?: unknown) => void" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/get_proxy_server.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.getProxyPort", + "type": "Function", + "tags": [], + "label": "getProxyPort", + "description": [], + "signature": [ + "(kbnTestServerConfig: any) => number" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/get_proxy_server.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.getProxyPort.$1", + "type": "Any", + "tags": [], + "label": "kbnTestServerConfig", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/get_proxy_server.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/alerting-api-integration-helpers", + "id": "def-common.ES_TEST_INDEX_NAME", + "type": "string", + "tags": [], + "label": "ES_TEST_INDEX_NAME", + "description": [], + "signature": [ + "\".kibana-alerting-test-data\"" + ], + "path": "x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx new file mode 100644 index 00000000000000..df262c8e51c64c --- /dev/null +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -0,0 +1,36 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnAlertingApiIntegrationHelpersPluginApi +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-08-28 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] +--- +import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; + + + +Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 24 | 3 | 24 | 0 | + +## Common + +### Functions + + +### Classes + + +### Consts, variables and types + + diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 62aa35b6507fa4..925e234abb67c2 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index adebc82a83740d..dfe61d9785b2ca 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-08-25 +date: 2023-08-28 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 8c74e1ae6cfa2f..21bdc8a1031cdc 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-08-25 +date: 2023-08-28 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 538a54ebba2ee7..76110b5e4764f0 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-08-25 +date: 2023-08-28 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 28f854cfa8f5f7..08169d4866da65 100644 --- a/api_docs/kbn_analytics_client.devdocs.json +++ b/api_docs/kbn_analytics_client.devdocs.json @@ -710,6 +710,22 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts" }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" + }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" @@ -742,22 +758,6 @@ "plugin": "globalSearchBar", "path": "x-pack/plugins/global_search_bar/public/telemetry/event_reporter.ts" }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_client.ts" @@ -1304,6 +1304,10 @@ "plugin": "@kbn/core-analytics-server-internal", "path": "packages/core/analytics/core-analytics-server-internal/src/analytics_service.ts" }, + { + "plugin": "licensing", + "path": "x-pack/plugins/licensing/common/register_analytics_context_provider.ts" + }, { "plugin": "@kbn/core-application-browser-internal", "path": "packages/core/application/core-application-browser-internal/src/register_analytics_context_provider.ts" @@ -1348,21 +1352,17 @@ "plugin": "cloud", "path": "x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.ts" }, - { - "plugin": "licensing", - "path": "x-pack/plugins/licensing/common/register_analytics_context_provider.ts" - }, { "plugin": "security", "path": "x-pack/plugins/security/public/analytics/register_user_context.ts" }, { "plugin": "telemetry", - "path": "src/plugins/telemetry/server/plugin.ts" + "path": "src/plugins/telemetry/public/plugin.ts" }, { "plugin": "telemetry", - "path": "src/plugins/telemetry/public/plugin.ts" + "path": "src/plugins/telemetry/server/plugin.ts" }, { "plugin": "securitySolution", diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index 9f7f9247328773..1bddd8dd1dc50d 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index 1b8a7a36f1bada..9277893dc5918c 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-08-25 +date: 2023-08-28 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 fa6f13d11b57b8..c67b4e148997d9 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-08-25 +date: 2023-08-28 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 d41870abea0903..10b68beca9e5e9 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-08-25 +date: 2023-08-28 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 b6e9c9c0e16546..94b226a5da6f43 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-08-25 +date: 2023-08-28 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 26d0b8ce519310..c44d454379a9ec 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-08-25 +date: 2023-08-28 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 febb3cc742132d..6bf641fba5afc6 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-08-25 +date: 2023-08-28 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 258b0d490036dc..97420bab75163d 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-08-25 +date: 2023-08-28 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 071fa91e1f370c..af44e635f73d85 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-08-25 +date: 2023-08-28 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 4706abf4d2e4ba..0318e42262b744 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-08-25 +date: 2023-08-28 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 f0c425f771a36f..1b6654ef2255c2 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 5502673d5fb2e3..81344b3241e959 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-08-25 +date: 2023-08-28 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 2ff3dcd95091f1..18628107149c57 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-08-25 +date: 2023-08-28 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 4e33825dffc4a5..83452450ef094a 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-08-25 +date: 2023-08-28 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 24789aea7433c8..f664622736c9bf 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-08-25 +date: 2023-08-28 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 6abf138cdf5305..4d9b4aeb058c3f 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-08-25 +date: 2023-08-28 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 e0c0d052092d84..bfc6769604c0e4 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-08-25 +date: 2023-08-28 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 be1bf98e73fae2..d0dcb11b93ed6f 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-08-25 +date: 2023-08-28 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 834183af04a2a0..9008611a23d508 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-08-25 +date: 2023-08-28 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 c935fe4b330f5b..c0791e49ce4257 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index fe9e5db5649471..f84fc438057107 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index e5f0aa0a433319..b67b695e134acf 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-08-25 +date: 2023-08-28 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 d6bbe144447038..5dcdd592f9b234 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-08-25 +date: 2023-08-28 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 3b18e8f265c036..c9c53e99ab13db 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-08-25 +date: 2023-08-28 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 0e27b4b95029cf..69e3d3abb49a37 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-08-25 +date: 2023-08-28 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 35b859dad93af2..d03291aaec6a08 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-08-25 +date: 2023-08-28 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 422f96ad9320db..fe7b3d1f34b88a 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-08-25 +date: 2023-08-28 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 fb7e5fd0ee3bb1..75f585c7d1a9cf 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 648bd95791ea68..0e8dd462cf74fe 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-08-25 +date: 2023-08-28 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 4976e93491a80b..df3d2815d02752 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-08-25 +date: 2023-08-28 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 cba76f2dcffcac..d05bb64cead093 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-08-25 +date: 2023-08-28 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 f86a1bbbe9ca22..8d9d21e7a8059c 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-08-25 +date: 2023-08-28 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 009c03838ffa3e..6f42bb3cee9cf4 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-08-25 +date: 2023-08-28 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 91cf5bf6eb0b72..5a532edd942ec4 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-08-25 +date: 2023-08-28 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 d6b2e270dca907..b7f1279e37fb47 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-08-25 +date: 2023-08-28 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 adc9d19965babf..305d8000439ba4 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-08-25 +date: 2023-08-28 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 dc746cb69df68e..3ff039e7893ce6 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-08-25 +date: 2023-08-28 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 f3f2775ac83954..17ecf4be390b7f 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-08-25 +date: 2023-08-28 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 d8d4c86747f3ee..8cde1e23fe26e7 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-08-25 +date: 2023-08-28 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 e6d2fbacc870a9..9ef4e2e08ac09f 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-08-25 +date: 2023-08-28 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 f60485208b359c..66f382df62eb11 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-08-25 +date: 2023-08-28 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 47e267452b2513..ddf50e21775737 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-08-25 +date: 2023-08-28 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 0fe29eeef5d71a..d8245b2d4e513e 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-08-25 +date: 2023-08-28 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 2b9ad3da502481..61a7c4d3e8db4c 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-08-25 +date: 2023-08-28 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 2adf7df0aa1735..9a725c0f241a40 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-08-25 +date: 2023-08-28 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 ec2eb34b846a95..1d4e79a8d64e14 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-08-25 +date: 2023-08-28 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 cde7296ace982f..0d3ae2a2735d1e 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-08-25 +date: 2023-08-28 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 69f1ad940c272a..161063403ce46e 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-08-25 +date: 2023-08-28 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 9b8a1d2f0d7647..e8a1e09f1e2b33 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-08-25 +date: 2023-08-28 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 7fd4b045f03fae..3120bbc163d5dc 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-08-25 +date: 2023-08-28 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 3920346a4243e4..a79379b9a8f5a4 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-08-25 +date: 2023-08-28 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 755beb9efe3d2a..590c8a853c9abb 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-08-25 +date: 2023-08-28 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 cda87e5cd8fc1c..bd49f3041871e5 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-08-25 +date: 2023-08-28 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 0a157d961f9e49..36bdb034ca7182 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-08-25 +date: 2023-08-28 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 6232dc5e40441c..8f5315346eeca1 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-08-25 +date: 2023-08-28 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 df5adb00de84b1..d593b3b4381388 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-08-25 +date: 2023-08-28 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 4eb270bee6c25e..3e840fcf7af071 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-08-25 +date: 2023-08-28 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 90a66294358d71..8065eceea0d5dd 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-08-25 +date: 2023-08-28 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 c104738bfa3bd3..81e6809acd3d64 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-08-25 +date: 2023-08-28 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 2adcc8d45efa99..45fe73cefea9ee 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-08-25 +date: 2023-08-28 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 4790fdbbeab8e1..1c62c7ba3bd7fd 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-08-25 +date: 2023-08-28 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 e531c047377acb..d79d8a4bd01b00 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-08-25 +date: 2023-08-28 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 50bc8402f2577c..587c030c177e3a 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-08-25 +date: 2023-08-28 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 a10d8d2f5b89e2..66fa8529c1a151 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-08-25 +date: 2023-08-28 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 3057248e76947b..ffbfaa9720b0f6 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-08-25 +date: 2023-08-28 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 910c8b2905e9d2..d794087e2740ce 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-08-25 +date: 2023-08-28 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 094a32a229a176..eab385738a1ee2 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-08-25 +date: 2023-08-28 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 302d753277e362..44260725a58109 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-08-25 +date: 2023-08-28 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 60fb71116616c4..4668d955d21109 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-08-25 +date: 2023-08-28 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 00f0934a6ca509..3660d233ad6ab0 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-08-25 +date: 2023-08-28 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 bc7816013f60cd..df6cf8d20c4ce3 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-08-25 +date: 2023-08-28 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 113bd4033166c9..73c334fed71b72 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-08-25 +date: 2023-08-28 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 254c417e523c5e..67f8319478afad 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-08-25 +date: 2023-08-28 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 98139abe86dfa2..aa578123eaee7f 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-08-25 +date: 2023-08-28 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 df77febd4126a7..1f415fde698393 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-08-25 +date: 2023-08-28 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 e91aa817ebed71..6d3ba2a4b12d6a 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-08-25 +date: 2023-08-28 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 d0565fe62bc08e..d80a5ce1ecc328 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-08-25 +date: 2023-08-28 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 5776bc1f706355..45b635efe68843 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-08-25 +date: 2023-08-28 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 f39d6e066bf857..c682d53842de99 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-08-25 +date: 2023-08-28 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 7e377d3cb6b32c..348c4db0922ce4 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-08-25 +date: 2023-08-28 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 e3c49dfae1a8dc..10c7fe0413f46a 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-08-25 +date: 2023-08-28 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 34fa9cc274b16d..29ef2bee4f4c01 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-08-25 +date: 2023-08-28 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 282b6c8d4a2b93..74078fc2edd0eb 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-08-25 +date: 2023-08-28 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 8d872bba6beb64..57502724d1cd3f 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-08-25 +date: 2023-08-28 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 b43f3adf91ffa7..57a2e8c4992471 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-08-25 +date: 2023-08-28 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 6f4246d3463b6a..9620c8e1c53d1b 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-08-25 +date: 2023-08-28 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 706a791f620765..2392291ace0366 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-08-25 +date: 2023-08-28 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 b00298efd88f2b..8df9c6550b3c46 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-08-25 +date: 2023-08-28 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 ced131a6899d76..1eaefe6491d03b 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-08-25 +date: 2023-08-28 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 94e920dae4f2b6..68e2d489d44f0b 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-08-25 +date: 2023-08-28 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 6a072c78cce1fc..6ba7f1277ea890 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-08-25 +date: 2023-08-28 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 4a6878a00054d3..486c5a4d71d90a 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-08-25 +date: 2023-08-28 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 49bd5df3bcb6e6..22ffc84c2abb9b 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-08-25 +date: 2023-08-28 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 6ce85cd372a65d..622b235833656e 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-08-25 +date: 2023-08-28 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 cacfda54be92ba..b761cab2f7d22e 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-08-25 +date: 2023-08-28 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 1ed0f2d33a14e0..d5616e660806b4 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-08-25 +date: 2023-08-28 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 9d2d5d394874e0..c956b4a83099a7 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-08-25 +date: 2023-08-28 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 c316759aa324cc..968679c5409972 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-08-25 +date: 2023-08-28 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 848f667e2797a6..c95c5e725901d4 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index df73329dbcce6f..efe1548d0c6129 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -3319,6 +3319,18 @@ "plugin": "usageCollection", "path": "src/plugins/usage_collection/server/routes/stats/stats.ts" }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/health.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/metrics.ts" + }, { "plugin": "licensing", "path": "x-pack/plugins/licensing/server/routes/info.ts" @@ -3359,18 +3371,6 @@ "plugin": "spaces", "path": "x-pack/plugins/spaces/server/routes/api/internal/get_active_space.ts" }, - { - "plugin": "taskManager", - "path": "x-pack/plugins/task_manager/server/routes/health.ts" - }, - { - "plugin": "taskManager", - "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.ts" - }, - { - "plugin": "taskManager", - "path": "x-pack/plugins/task_manager/server/routes/metrics.ts" - }, { "plugin": "security", "path": "x-pack/plugins/security/server/routes/anonymous_access/get_capabilities.ts" @@ -3624,28 +3624,60 @@ "path": "x-pack/plugins/rule_registry/server/routes/get_aad_fields_by_rule_type.ts" }, { - "plugin": "guidedOnboarding", - "path": "src/plugins/guided_onboarding/server/routes/guide_state_routes.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/find_endpoint_list_item_route.ts" }, { - "plugin": "guidedOnboarding", - "path": "src/plugins/guided_onboarding/server/routes/plugin_state_routes.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/find_exception_list_item_route.ts" }, { - "plugin": "guidedOnboarding", - "path": "src/plugins/guided_onboarding/server/routes/config_routes.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/find_exception_list_route.ts" }, { - "plugin": "observability", - "path": "x-pack/plugins/observability/server/lib/annotations/register_annotation_apis.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_item/find_list_item_route.ts" }, { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/server/routes/health.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_index/find_list_route.ts" }, { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/server/routes/config.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/internal/find_lists_by_size_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/read_endpoint_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/read_exception_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/read_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_index/read_list_index_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_item/read_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list/read_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_privileges/read_list_privileges_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/summary_exception_list_route.ts" }, { "plugin": "savedObjectsTagging", @@ -3671,6 +3703,94 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" }, + { + "plugin": "guidedOnboarding", + "path": "src/plugins/guided_onboarding/server/routes/guide_state_routes.ts" + }, + { + "plugin": "guidedOnboarding", + "path": "src/plugins/guided_onboarding/server/routes/plugin_state_routes.ts" + }, + { + "plugin": "guidedOnboarding", + "path": "src/plugins/guided_onboarding/server/routes/config_routes.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/fleet_integrations/api/get_installed_integrations/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_exceptions/api/find_exception_references/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/read_index_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/get_signals_migration_status_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/privileges/read_privileges_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timeline/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/resolve_timeline/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/get_draft_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/telemetry/telemetry_detection_rules_preview_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/read_alerts_index_exists_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_dev_tool_content/routes/read_prebuilt_dev_tool_content_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/index_status/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/tags/routes/get_tags_by_name.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_engine_status_route.ts" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/server/lib/annotations/register_annotation_apis.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/routes/health.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/routes/config.ts" + }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/routes/fields.ts" @@ -4307,62 +4427,6 @@ "plugin": "licenseManagement", "path": "x-pack/plugins/license_management/server/routes/api/license/register_start_trial_routes.ts" }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/find_endpoint_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/find_exception_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/find_exception_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_item/find_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_index/find_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/internal/find_lists_by_size_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/read_endpoint_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/read_exception_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/read_exception_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_index/read_list_index_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_item/read_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list/read_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_privileges/read_list_privileges_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/summary_exception_list_route.ts" - }, { "plugin": "logstash", "path": "x-pack/plugins/logstash/server/routes/cluster/load.ts" @@ -4396,100 +4460,36 @@ "path": "x-pack/plugins/rollup/server/routes/api/jobs/register_get_route.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/fleet_integrations/api/get_installed_integrations/route.ts" + "plugin": "serverlessSearch", + "path": "x-pack/plugins/serverless_search/server/routes/api_key_routes.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_exceptions/api/find_exception_references/route.ts" + "plugin": "serverlessSearch", + "path": "x-pack/plugins/serverless_search/server/routes/indices_routes.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/read_index_route.ts" + "plugin": "serverlessSearch", + "path": "x-pack/plugins/serverless_search/server/routes/connectors_routes.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/get_signals_migration_status_route.ts" + "plugin": "serverlessSearch", + "path": "x-pack/plugins/serverless_search/server/routes/connectors_routes.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/privileges/read_privileges_route.ts" + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/app.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timeline/index.ts" + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timelines/index.ts" + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/resolve_timeline/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/get_draft_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/telemetry/telemetry_detection_rules_preview_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/read_alerts_index_exists_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_dev_tool_content/routes/read_prebuilt_dev_tool_content_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/index_status/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/tags/routes/get_tags_by_name.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_engine_status_route.ts" - }, - { - "plugin": "serverlessSearch", - "path": "x-pack/plugins/serverless_search/server/routes/api_key_routes.ts" - }, - { - "plugin": "serverlessSearch", - "path": "x-pack/plugins/serverless_search/server/routes/indices_routes.ts" - }, - { - "plugin": "serverlessSearch", - "path": "x-pack/plugins/serverless_search/server/routes/connectors_routes.ts" - }, - { - "plugin": "serverlessSearch", - "path": "x-pack/plugins/serverless_search/server/routes/connectors_routes.ts" - }, - { - "plugin": "snapshotRestore", - "path": "x-pack/plugins/snapshot_restore/server/routes/api/app.ts" - }, - { - "plugin": "snapshotRestore", - "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" - }, - { - "plugin": "snapshotRestore", - "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" - }, - { - "plugin": "snapshotRestore", - "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" }, { "plugin": "snapshotRestore", @@ -4824,196 +4824,396 @@ "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" }, { - "plugin": "@kbn/core-http-router-server-mocks", - "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/types.ts" }, { - "plugin": "actions", - "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" }, { - "plugin": "actions", - "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, { - "plugin": "actions", - "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, { - "plugin": "actions", - "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, { - "plugin": "actions", - "path": "x-pack/plugins/actions/server/routes/get.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, { - "plugin": "actions", - "path": "x-pack/plugins/actions/server/routes/get.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, { - "plugin": "actions", - "path": "x-pack/plugins/actions/server/routes/get.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_action_error_log.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_action_error_log.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_flapping_settings.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_global_execution_kpi.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_global_execution_logs.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/data_streams/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/setup/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_alert_summary.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_alert_summary.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_kpi.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_kpi.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_log.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_log.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_state.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_state.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_state.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_tags.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_tags.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/get_rule_tags.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/settings/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/app/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" }, { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/uninstall_token/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/uninstall_token/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_action_error_log.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_action_error_log.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_flapping_settings.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_global_execution_kpi.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_global_execution_logs.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_alert_summary.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_alert_summary.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_kpi.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_kpi.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_log.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_log.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_state.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_state.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_state.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_tags.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_tags.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_tags.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" }, { "plugin": "alerting", @@ -5576,264 +5776,64 @@ "path": "packages/core/rendering/core-rendering-server-internal/src/bootstrap/register_bootstrap_route.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/types.ts" + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" }, { "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.test.ts" }, { "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/anonymous_access/get_capabilities.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/anonymous_access/get_state.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/enabled.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/get.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/index.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/indices/get_fields.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/feature_check.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/data_streams/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/setup/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/output/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/output/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/settings/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/app/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/uninstall_token/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/uninstall_token/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/fleet_router.test.ts" - }, - { - "plugin": "indexManagement", - "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/fleet_router.test.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/fleet_router.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/anonymous_access/get_capabilities.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/anonymous_access/get_state.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/api_keys/enabled.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/api_keys/get.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/authentication/index.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/indices/get_fields.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/role_mapping/feature_check.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/security_checkup/get_state.test.ts" + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/security_checkup/get_state.test.ts" }, { "plugin": "security", @@ -6462,24 +6462,60 @@ "path": "x-pack/plugins/rule_registry/server/routes/get_alert_summary.ts" }, { - "plugin": "observability", - "path": "x-pack/plugins/observability/server/lib/annotations/register_annotation_apis.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_endpoint_list_item_route.ts" }, { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/time_series_query.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_endpoint_list_route.ts" }, { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/fields.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_exception_list_item_route.ts" }, { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/indices.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_exception_list_route.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/job_service.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_index/create_list_index_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_item/create_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list/create_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/duplicate_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/export_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_index/export_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/internal/create_exception_filter_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/import_exceptions_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list/import_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/internal/create_exceptions_list_route.ts" }, { "plugin": "savedObjectsTagging", @@ -6501,6 +6537,134 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/create_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/import_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/prepackaged_timelines/install_prepackaged_timelines/index.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/api/create_legacy_notification/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/create_index_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_exceptions/api/create_rule_exceptions/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/create_signals_migration_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/finalize_signals_migration_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/query_signals_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/open_close_signals_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/export_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/clean_draft_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/indices/delete_indices_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/routes/create_prebuilt_saved_objects.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/routes/delete_prebuilt_saved_objects.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/onboarding/routes/install_risk_scores.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/exceptions/api/manage_exceptions/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/dashboards/routes/get_dashboards_by_tags.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/set_alert_tags_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_score_preview_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_engine_init_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_engine_enable_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_engine_disable_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_score_calculation_route.ts" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/server/lib/annotations/register_annotation_apis.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/time_series_query.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/fields.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/indices.ts" + }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/routes/vis.ts" @@ -6997,62 +7161,6 @@ "plugin": "licenseManagement", "path": "x-pack/plugins/license_management/server/routes/api/license/register_permissions_route.ts" }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/create_endpoint_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/create_endpoint_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/create_exception_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/create_exception_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_index/create_list_index_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_item/create_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list/create_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/duplicate_exception_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/export_exception_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_index/export_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/internal/create_exception_filter_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/import_exceptions_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list/import_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/internal/create_exceptions_list_route.ts" - }, { "plugin": "logstash", "path": "x-pack/plugins/logstash/server/routes/pipelines/delete.ts" @@ -7101,114 +7209,6 @@ "plugin": "searchprofiler", "path": "x-pack/plugins/searchprofiler/server/routes/profile.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/api/create_legacy_notification/route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/create_index_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/create_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/import_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/prepackaged_timelines/install_prepackaged_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_exceptions/api/create_rule_exceptions/route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/create_signals_migration_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/finalize_signals_migration_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/query_signals_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/open_close_signals_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/export_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/clean_draft_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/indices/delete_indices_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/routes/create_prebuilt_saved_objects.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/routes/delete_prebuilt_saved_objects.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/onboarding/routes/install_risk_scores.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/exceptions/api/manage_exceptions/route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/dashboards/routes/get_dashboards_by_tags.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/set_alert_tags_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_score_preview_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_engine_init_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_engine_enable_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_engine_disable_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_engine/routes/risk_score_calculation_route.ts" - }, { "plugin": "serverless", "path": "x-pack/plugins/serverless/server/plugin.ts" @@ -7458,12 +7458,192 @@ "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" }, { - "plugin": "@kbn/core-http-server-internal", - "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/types.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/setup/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/setup/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/app/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/app/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/preconfiguration/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/preconfiguration/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/health_check/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" }, { - "plugin": "@kbn/core-http-server-internal", - "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/message_signing_service/index.ts" }, { "plugin": "@kbn/core-http-router-server-mocks", @@ -8033,186 +8213,6 @@ "plugin": "@kbn/core-capabilities-server-internal", "path": "packages/core/capabilities/core-capabilities-server-internal/src/capabilities_service.test.ts" }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/types.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/setup/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/setup/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/output/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/output/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/app/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/app/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/preconfiguration/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/preconfiguration/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/health_check/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/message_signing_service/index.ts" - }, { "plugin": "encryptedSavedObjects", "path": "x-pack/plugins/encrypted_saved_objects/server/routes/key_rotation.test.ts" @@ -8532,13 +8532,45 @@ "path": "x-pack/plugins/alerting/server/routes/update_rule.ts" }, { - "plugin": "guidedOnboarding", - "path": "src/plugins/guided_onboarding/server/routes/plugin_state_routes.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/update_endpoint_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/update_exception_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/update_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_item/update_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list/update_list_route.ts" }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" }, + { + "plugin": "guidedOnboarding", + "path": "src/plugins/guided_onboarding/server/routes/plugin_state_routes.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/indices/create_index_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/stored_scripts/create_script_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/tags/routes/create_tag.ts" + }, { "plugin": "infra", "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" @@ -8759,26 +8791,6 @@ "plugin": "licenseManagement", "path": "x-pack/plugins/license_management/server/routes/api/license/register_license_route.ts" }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/update_endpoint_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/update_exception_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/update_exception_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_item/update_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list/update_list_route.ts" - }, { "plugin": "logstash", "path": "x-pack/plugins/logstash/server/routes/pipeline/save.ts" @@ -8792,20 +8804,8 @@ "path": "x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts" }, { - "plugin": "rollup", - "path": "x-pack/plugins/rollup/server/routes/api/jobs/register_create_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/indices/create_index_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/stored_scripts/create_script_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/tags/routes/create_tag.ts" + "plugin": "rollup", + "path": "x-pack/plugins/rollup/server/routes/api/jobs/register_create_route.ts" }, { "plugin": "snapshotRestore", @@ -8883,6 +8883,58 @@ "plugin": "@kbn/core-http-server-internal", "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/types.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/settings/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" + }, { "plugin": "@kbn/core-http-router-server-mocks", "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" @@ -8995,58 +9047,6 @@ "plugin": "spaces", "path": "x-pack/plugins/spaces/server/routes/api/external/put.test.ts" }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/types.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/output/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/settings/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" - }, { "plugin": "indexManagement", "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" @@ -9269,26 +9269,6 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/bulk_disable_rules.ts" }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, - { - "plugin": "enterpriseSearch", - "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/security.ts" - }, - { - "plugin": "enterpriseSearch", - "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" - }, - { - "plugin": "enterpriseSearch", - "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" - }, { "plugin": "lists", "path": "x-pack/plugins/lists/server/routes/list_item/patch_list_item_route.ts" @@ -9297,6 +9277,10 @@ "plugin": "lists", "path": "x-pack/plugins/lists/server/routes/list/patch_list_route.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/patch_timelines/index.ts" @@ -9313,6 +9297,22 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/pinned_events/persist_pinned_event.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/security.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, { "plugin": "@kbn/core-http-router-server-internal", "path": "packages/core/http/core-http-router-server-internal/src/router.ts" @@ -9325,6 +9325,14 @@ "plugin": "@kbn/core-http-server-internal", "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/types.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, { "plugin": "@kbn/core-http-router-server-mocks", "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" @@ -9385,14 +9393,6 @@ "plugin": "ruleRegistry", "path": "x-pack/plugins/rule_registry/server/routes/__mocks__/server.ts" }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/types.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" - }, { "plugin": "indexManagement", "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" @@ -9644,8 +9644,28 @@ "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.ts" }, { - "plugin": "observability", - "path": "x-pack/plugins/observability/server/lib/annotations/register_annotation_apis.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/delete_endpoint_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/delete_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/delete_exception_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_index/delete_list_index_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list_item/delete_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/list/delete_list_route.ts" }, { "plugin": "savedObjectsTagging", @@ -9655,6 +9675,30 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/delete_signals_migration_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/delete_index_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/delete_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/notes/delete_note.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/stored_scripts/delete_script_route.ts" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/server/lib/annotations/register_annotation_apis.ts" + }, { "plugin": "infra", "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" @@ -9800,72 +9844,28 @@ "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" }, { - "plugin": "enterpriseSearch", - "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" - }, - { - "plugin": "enterpriseSearch", - "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" - }, - { - "plugin": "indexLifecycleManagement", - "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/policies/register_delete_route.ts" - }, - { - "plugin": "ingestPipelines", - "path": "x-pack/plugins/ingest_pipelines/server/routes/api/delete.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/delete_endpoint_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/delete_exception_list_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/delete_exception_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_index/delete_list_index_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list_item/delete_list_item_route.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/routes/list/delete_list_route.ts" - }, - { - "plugin": "logstash", - "path": "x-pack/plugins/logstash/server/routes/pipeline/delete.ts" - }, - { - "plugin": "reporting", - "path": "x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts" + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/delete_signals_migration_route.ts" + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/delete_index_route.ts" + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/policies/register_delete_route.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/delete_timelines/index.ts" + "plugin": "ingestPipelines", + "path": "x-pack/plugins/ingest_pipelines/server/routes/api/delete.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/notes/delete_note.ts" + "plugin": "logstash", + "path": "x-pack/plugins/logstash/server/routes/pipeline/delete.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/stored_scripts/delete_script_route.ts" + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts" }, { "plugin": "snapshotRestore", @@ -9919,6 +9919,54 @@ "plugin": "@kbn/core-http-server-internal", "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/types.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" + }, { "plugin": "@kbn/core-http-router-server-mocks", "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" @@ -10019,54 +10067,6 @@ "plugin": "spaces", "path": "x-pack/plugins/spaces/server/routes/api/external/delete.test.ts" }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/types.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/output/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" - }, { "plugin": "indexManagement", "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" @@ -13665,10 +13665,6 @@ "deprecated": false, "trackAdoption": true, "references": [ - { - "plugin": "@kbn/core-http-router-server-mocks", - "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" - }, { "plugin": "dataViews", "path": "src/plugins/data_views/server/rest_api_routes/public/runtime_fields/get_runtime_field.ts" @@ -13725,6 +13721,18 @@ "plugin": "data", "path": "src/plugins/data/server/scripts/route.ts" }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_config.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_config.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_last_reported.ts" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/server/routes/json_schema.ts" @@ -13826,240 +13834,120 @@ "path": "x-pack/plugins/ml/server/routes/modules.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/filters.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/filters.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/filters.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/job_audit_messages.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/job_audit_messages.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/job_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/job_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/job_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/job_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/job_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/results_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/model_management.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/model_management.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/system.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/system.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/system.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/routes/management.ts" - }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/routes/telemetry_config.ts" - }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/routes/telemetry_config.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/filters.ts" }, { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/routes/telemetry_last_reported.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/filters.ts" }, { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/filters.ts" }, { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_audit_messages.ts" }, { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/custom_elements/find.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_audit_messages.ts" }, { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/custom_elements/get.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/shareables/download.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/workpad/find.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/workpad/get.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/workpad/resolve.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/templates/list.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/functions/functions.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, { - "plugin": "cloudDefend", - "path": "x-pack/plugins/cloud_defend/server/routes/policies/policies.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" }, { - "plugin": "cloudDefend", - "path": "x-pack/plugins/cloud_defend/server/routes/status/status.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" }, { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/compliance_dashboard.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" }, { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" }, { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/server/routes/status/status.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" }, { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/server/routes/csp_rule_template/get_csp_rule_template.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" }, { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/server/routes/detection_engine/get_detection_engine_alerts_count_by_rule_tags.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" }, { - "plugin": "fileUpload", - "path": "x-pack/plugins/file_upload/server/routes.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" }, { - "plugin": "kubernetesSecurity", - "path": "x-pack/plugins/kubernetes_security/server/routes/aggregate.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" }, { - "plugin": "kubernetesSecurity", - "path": "x-pack/plugins/kubernetes_security/server/routes/count.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" }, { - "plugin": "kubernetesSecurity", - "path": "x-pack/plugins/kubernetes_security/server/routes/multi_terms_aggregate.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" }, { - "plugin": "maps", - "path": "x-pack/plugins/maps/server/mvt/mvt_routes.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/model_management.ts" }, { - "plugin": "maps", - "path": "x-pack/plugins/maps/server/mvt/mvt_routes.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/model_management.ts" }, { - "plugin": "maps", - "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/system.ts" }, { - "plugin": "maps", - "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/system.ts" }, { - "plugin": "maps", - "path": "x-pack/plugins/maps/server/routes.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/system.ts" }, { - "plugin": "maps", - "path": "x-pack/plugins/maps/server/routes.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/management.ts" }, { "plugin": "osquery", @@ -14127,27 +14015,27 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_cluster_health/get_cluster_health_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/get_prebuilt_rules_and_timelines_status/get_prebuilt_rules_and_timelines_status_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_space_health/get_space_health_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/get_prebuilt_rules_status/get_prebuilt_rules_status_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/rule_execution_logs/get_rule_execution_events/get_rule_execution_events_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_cluster_health/get_cluster_health_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/rule_execution_logs/get_rule_execution_results/get_rule_execution_results_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_space_health/get_space_health_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/get_prebuilt_rules_and_timelines_status/get_prebuilt_rules_and_timelines_status_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/rule_execution_logs/get_rule_execution_events/get_rule_execution_events_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/get_prebuilt_rules_status/get_prebuilt_rules_status_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/rule_execution_logs/get_rule_execution_results/get_rule_execution_results_route.ts" }, { "plugin": "securitySolution", @@ -14213,6 +14101,118 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/list.ts" }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" + }, + { + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/find.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/get.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/shareables/download.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/find.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/get.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/resolve.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/templates/list.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/functions/functions.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/policies/policies.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/compliance_dashboard.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/status/status.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/csp_rule_template/get_csp_rule_template.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/detection_engine/get_detection_engine_alerts_count_by_rule_tags.ts" + }, + { + "plugin": "fileUpload", + "path": "x-pack/plugins/file_upload/server/routes.ts" + }, + { + "plugin": "kubernetesSecurity", + "path": "x-pack/plugins/kubernetes_security/server/routes/aggregate.ts" + }, + { + "plugin": "kubernetesSecurity", + "path": "x-pack/plugins/kubernetes_security/server/routes/count.ts" + }, + { + "plugin": "kubernetesSecurity", + "path": "x-pack/plugins/kubernetes_security/server/routes/multi_terms_aggregate.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/mvt/mvt_routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/mvt/mvt_routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/routes.ts" + }, { "plugin": "sessionView", "path": "x-pack/plugins/session_view/server/routes/alerts_route.ts" @@ -14457,10 +14457,6 @@ "deprecated": false, "trackAdoption": true, "references": [ - { - "plugin": "@kbn/core-http-router-server-mocks", - "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" - }, { "plugin": "dataViews", "path": "src/plugins/data_views/server/rest_api_routes/public/runtime_fields/put_runtime_field.ts" @@ -14478,12 +14474,24 @@ "path": "src/plugins/bfetch/server/plugin.ts" }, { - "plugin": "data", - "path": "src/plugins/data/server/search/routes/session.ts" + "plugin": "data", + "path": "src/plugins/data/server/search/routes/session.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/query/routes.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_user_has_seen_notice.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_last_reported.ts" }, { - "plugin": "data", - "path": "src/plugins/data/server/query/routes.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/install_prebuilt_rules_and_timelines/install_prebuilt_rules_and_timelines_route.ts" }, { "plugin": "ml", @@ -14526,12 +14534,24 @@ "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/routes/telemetry_user_has_seen_notice.ts" + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts" }, { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/routes/telemetry_last_reported.ts" + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/pack/update_pack_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" }, { "plugin": "logsShared", @@ -14557,26 +14577,6 @@ "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/workpad/update.ts" }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/routes/pack/update_pack_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/install_prebuilt_rules_and_timelines/install_prebuilt_rules_and_timelines_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.ts" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" @@ -14665,10 +14665,6 @@ "deprecated": false, "trackAdoption": true, "references": [ - { - "plugin": "@kbn/core-http-router-server-mocks", - "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" - }, { "plugin": "dataViews", "path": "src/plugins/data_views/server/rest_api_routes/public/fields/update_fields.ts" @@ -14754,12 +14750,16 @@ "path": "src/plugins/unified_search/server/autocomplete/value_suggestions_route.ts" }, { - "plugin": "aiops", - "path": "x-pack/plugins/aiops/server/routes/log_rate_analysis.ts" + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_opt_in_stats.ts" }, { - "plugin": "aiops", - "path": "x-pack/plugins/aiops/server/routes/log_categorization.ts" + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_opt_in.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_usage_stats.ts" }, { "plugin": "ml", @@ -15053,66 +15053,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/server/routes/alerting.ts" }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/routes/telemetry_opt_in_stats.ts" - }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/routes/telemetry_opt_in.ts" - }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/routes/telemetry_usage_stats.ts" - }, - { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/custom_elements/create.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/shareables/zip.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/workpad/create.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/server/routes/workpad/import.ts" - }, - { - "plugin": "fileUpload", - "path": "x-pack/plugins/file_upload/server/routes.ts" - }, - { - "plugin": "fileUpload", - "path": "x-pack/plugins/file_upload/server/routes.ts" - }, - { - "plugin": "fileUpload", - "path": "x-pack/plugins/file_upload/server/routes.ts" - }, - { - "plugin": "fileUpload", - "path": "x-pack/plugins/file_upload/server/routes.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/routes/live_query/create_live_query_route.ts" @@ -15131,35 +15071,35 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_cluster_health/get_cluster_health_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_installation/review_rule_installation_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_rule_health/get_rule_health_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_upgrade/review_rule_upgrade_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_space_health/get_space_health_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/perform_rule_installation/perform_rule_installation_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/setup/setup_health_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/perform_rule_upgrade/perform_rule_upgrade_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_installation/review_rule_installation_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_cluster_health/get_cluster_health_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_upgrade/review_rule_upgrade_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_rule_health/get_rule_health_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/perform_rule_installation/perform_rule_installation_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_space_health/get_space_health_route.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/perform_rule_upgrade/perform_rule_upgrade_route.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/setup/setup_health_route.ts" }, { "plugin": "securitySolution", @@ -15233,6 +15173,66 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/endpoint/routes/suggestions/index.ts" }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" + }, + { + "plugin": "aiops", + "path": "x-pack/plugins/aiops/server/routes/log_rate_analysis.ts" + }, + { + "plugin": "aiops", + "path": "x-pack/plugins/aiops/server/routes/log_categorization.ts" + }, + { + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/create.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/shareables/zip.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/create.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/import.ts" + }, + { + "plugin": "fileUpload", + "path": "x-pack/plugins/file_upload/server/routes.ts" + }, + { + "plugin": "fileUpload", + "path": "x-pack/plugins/file_upload/server/routes.ts" + }, + { + "plugin": "fileUpload", + "path": "x-pack/plugins/file_upload/server/routes.ts" + }, + { + "plugin": "fileUpload", + "path": "x-pack/plugins/file_upload/server/routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + }, { "plugin": "transform", "path": "x-pack/plugins/transform/server/routes/api/field_histograms.ts" @@ -15393,6 +15393,14 @@ "deprecated": false, "trackAdoption": true, "references": [ + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.ts" + }, { "plugin": "@kbn/core-http-router-server-mocks", "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" @@ -15405,14 +15413,6 @@ "plugin": "infra", "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.ts" - }, { "plugin": "@kbn/core-http-router-server-internal", "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts" @@ -15485,10 +15485,6 @@ "deprecated": false, "trackAdoption": true, "references": [ - { - "plugin": "@kbn/core-http-router-server-mocks", - "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" - }, { "plugin": "dataViews", "path": "src/plugins/data_views/server/rest_api_routes/public/runtime_fields/delete_runtime_field.ts" @@ -15549,6 +15545,26 @@ "plugin": "ml", "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/saved_query/delete_saved_query_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/pack/delete_pack_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_delete_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/delete_rule/route.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" + }, { "plugin": "logsShared", "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" @@ -15569,22 +15585,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/routes/saved_query/delete_saved_query_route.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/routes/pack/delete_pack_route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_delete_rules/route.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/delete_rule/route.ts" - }, { "plugin": "@kbn/core-http-router-server-internal", "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 19313e13151172..8a9fb45c13eea0 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-08-25 +date: 2023-08-28 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 f983f4354d701e..f346e16f4d91e7 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-08-25 +date: 2023-08-28 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 51b40daaad4a69..b942627f971a38 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-08-25 +date: 2023-08-28 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 c18651d90d8954..1f3504ac146024 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-08-25 +date: 2023-08-28 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 924b903c560127..5c0adbfe02bd27 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-08-25 +date: 2023-08-28 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 b1e64c3cff3fa5..1654e0a959b969 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-08-25 +date: 2023-08-28 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 d0c9c77a6d392f..6d82603d0f92cf 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-08-25 +date: 2023-08-28 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 43eed17f4df675..c76b85d117b4fe 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-08-25 +date: 2023-08-28 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 69fa705ce9eb6e..2a28d7a9521fd5 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-08-25 +date: 2023-08-28 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 34392cadbd9261..abe3799d806519 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-08-25 +date: 2023-08-28 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 954db7f7b83d5a..32dac0764785c7 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-08-25 +date: 2023-08-28 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 851eadda6f6ddc..43df82357efb87 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-08-25 +date: 2023-08-28 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 a933da8139d748..c22d33d42b5afb 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-08-25 +date: 2023-08-28 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 d1f7848afb1c6a..ceec836e88c398 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-08-25 +date: 2023-08-28 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 ea0bb64ff9b9aa..a7cdaf3ef18f1e 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-08-25 +date: 2023-08-28 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 059ec4a356f891..2d39bd149c2ea4 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-08-25 +date: 2023-08-28 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 f08cdca794424e..db5ac2cd1e1cdc 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-08-25 +date: 2023-08-28 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 b721f86ad45730..2cb148512b9ab9 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-08-25 +date: 2023-08-28 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 f36e1581c9a1aa..376c0e44f681a8 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-08-25 +date: 2023-08-28 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 51a3a2cc00f291..070bcbbfc81031 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-08-25 +date: 2023-08-28 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 b6e5264aa29ebf..13b82b63de7894 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-08-25 +date: 2023-08-28 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 52b07564db38e2..325d56ca40e7ab 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-08-25 +date: 2023-08-28 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 f91f7398af2bce..3940e0eaa33d03 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-08-25 +date: 2023-08-28 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 f8a4a909f117d7..47b57b8420eca4 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-08-25 +date: 2023-08-28 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 57ca26e886de49..c9b55064cca949 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-08-25 +date: 2023-08-28 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 602df668a1de65..0e071dbd81352c 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-08-25 +date: 2023-08-28 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 30b86128e56afe..e1091e70c4a2ff 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-08-25 +date: 2023-08-28 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 aef7b965b4ca73..6455066411edd9 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-08-25 +date: 2023-08-28 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 a05edab3226d7c..36c5177c6c5f31 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-08-25 +date: 2023-08-28 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 fbd16974d67080..1b943c46198226 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-08-25 +date: 2023-08-28 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 fc39359d73e46e..920a9c6c23a75e 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-08-25 +date: 2023-08-28 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 282ba71bba81e3..7c6742cb885626 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-08-25 +date: 2023-08-28 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 c5cb58b779285d..777cecaee74bb8 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-08-25 +date: 2023-08-28 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 76bac9da59c417..fa88a92022f08f 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-08-25 +date: 2023-08-28 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 52cbe712f1a01f..3d478318cf7c4c 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-08-25 +date: 2023-08-28 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 319a5cfdc9321b..5cdf10f520c375 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-08-25 +date: 2023-08-28 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 9c3db5ef266736..046b38fcf8686f 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index fd399fbcb4cf62..4b7c20cd177493 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-08-25 +date: 2023-08-28 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 23e9e17d835fda..2bd4ddc48f6764 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-08-25 +date: 2023-08-28 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 07193e3ee38baf..affb98e39522c3 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-08-25 +date: 2023-08-28 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 e3c73bd2293756..3495668eb0191b 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-08-25 +date: 2023-08-28 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 b06a09356fdaf0..bf96641a4a5e7d 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-08-25 +date: 2023-08-28 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 7b5930c9c0d326..b72268e069c1db 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-08-25 +date: 2023-08-28 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 2313c40626dba9..2048ab81f46da3 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-08-25 +date: 2023-08-28 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 82fe97e426a217..6f8c09617b1049 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json index 5072b3241b2ab8..94d374afbba247 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json @@ -1382,14 +1382,14 @@ "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts" }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts" - }, { "plugin": "visualizations", "path": "src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx" }, + { + "plugin": "@kbn/core-saved-objects-browser-mocks", + "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts" + }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" @@ -3004,12 +3004,12 @@ "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts" }, { - "plugin": "aiops", - "path": "x-pack/plugins/aiops/public/application/utils/search_utils.ts" + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/common/types/index.ts" }, { - "plugin": "aiops", - "path": "x-pack/plugins/aiops/public/application/utils/search_utils.ts" + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/common/types/index.ts" }, { "plugin": "ml", @@ -3020,12 +3020,12 @@ "path": "x-pack/plugins/ml/common/types/kibana.ts" }, { - "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/common/types/index.ts" + "plugin": "aiops", + "path": "x-pack/plugins/aiops/public/application/utils/search_utils.ts" }, { - "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/common/types/index.ts" + "plugin": "aiops", + "path": "x-pack/plugins/aiops/public/application/utils/search_utils.ts" }, { "plugin": "dashboardEnhanced", diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 12a4ad38a960aa..677b5c3dbb7bcc 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-08-25 +date: 2023-08-28 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 0cf2458cc39be8..528190aba475a5 100644 --- a/api_docs/kbn_core_saved_objects_api_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_server.devdocs.json @@ -861,8 +861,8 @@ "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsResolveOptions", - "text": "SavedObjectsResolveOptions" + "section": "def-common.SavedObjectsGetOptions", + "text": "SavedObjectsGetOptions" }, " | undefined) => Promise<", { @@ -909,15 +909,15 @@ "tags": [], "label": "options", "description": [ - "{@link SavedObjectsResolveOptions } - options for the bulk resolve operation" + "{@link SavedObjectsGetOptions } - options for the bulk resolve operation" ], "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsResolveOptions", - "text": "SavedObjectsResolveOptions" + "section": "def-common.SavedObjectsGetOptions", + "text": "SavedObjectsGetOptions" }, " | undefined" ], @@ -1047,8 +1047,8 @@ "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsResolveOptions", - "text": "SavedObjectsResolveOptions" + "section": "def-common.SavedObjectsGetOptions", + "text": "SavedObjectsGetOptions" }, " | undefined) => Promise<", { @@ -1105,15 +1105,15 @@ "tags": [], "label": "options", "description": [ - "{@link SavedObjectsResolveOptions } - options for the resolve operation" + "{@link SavedObjectsGetOptions } - options for the resolve operation" ], "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsResolveOptions", - "text": "SavedObjectsResolveOptions" + "section": "def-common.SavedObjectsGetOptions", + "text": "SavedObjectsGetOptions" }, " | undefined" ], @@ -2358,10 +2358,6 @@ "plugin": "home", "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" @@ -2374,22 +2370,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/logs.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/flights.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/routes/pack/read_pack_route.ts" @@ -2478,6 +2458,26 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" }, + { + "plugin": "@kbn/core-saved-objects-browser-mocks", + "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/logs.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/flights.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" @@ -2794,6 +2794,22 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/types.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts" + }, { "plugin": "savedSearch", "path": "src/plugins/saved_search/server/saved_objects/search_migrations.ts" @@ -2830,22 +2846,6 @@ "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/server/collectors/lib/telemetry.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts" - }, { "plugin": "taskManager", "path": "x-pack/plugins/task_manager/server/task_store.test.ts" @@ -4819,8 +4819,8 @@ "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsResolveOptions", - "text": "SavedObjectsResolveOptions" + "section": "def-common.SavedObjectsGetOptions", + "text": "SavedObjectsGetOptions" }, " | undefined) => Promise<", { @@ -4867,15 +4867,15 @@ "tags": [], "label": "options", "description": [ - "{@link SavedObjectsResolveOptions } - options for the bulk resolve operation" + "{@link SavedObjectsGetOptions } - options for the bulk resolve operation" ], "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsResolveOptions", - "text": "SavedObjectsResolveOptions" + "section": "def-common.SavedObjectsGetOptions", + "text": "SavedObjectsGetOptions" }, " | undefined" ], @@ -4904,8 +4904,8 @@ "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsResolveOptions", - "text": "SavedObjectsResolveOptions" + "section": "def-common.SavedObjectsGetOptions", + "text": "SavedObjectsGetOptions" }, " | undefined) => Promise<", { @@ -4962,15 +4962,15 @@ "tags": [], "label": "options", "description": [ - "{@link SavedObjectsResolveOptions } - options for the resolve operation" + "{@link SavedObjectsGetOptions } - options for the resolve operation" ], "signature": [ { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsResolveOptions", - "text": "SavedObjectsResolveOptions" + "section": "def-common.SavedObjectsGetOptions", + "text": "SavedObjectsGetOptions" }, " | undefined" ], @@ -6829,6 +6829,20 @@ "path": "packages/core/saved-objects/core-saved-objects-api-server/src/apis/find.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-saved-objects-api-server", + "id": "def-common.SavedObjectsFindOptions.downwardConversion", + "type": "CompoundType", + "tags": [], + "label": "downwardConversion", + "description": [], + "signature": [ + "\"allow\" | \"forbid\" | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-api-server/src/apis/find.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -7104,6 +7118,20 @@ "path": "packages/core/saved-objects/core-saved-objects-api-server/src/apis/get.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-saved-objects-api-server", + "id": "def-common.SavedObjectsGetOptions.downwardConversion", + "type": "CompoundType", + "tags": [], + "label": "downwardConversion", + "description": [], + "signature": [ + "\"allow\" | \"forbid\" | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-api-server/src/apis/get.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -7541,55 +7569,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-common.SavedObjectsResolveOptions", - "type": "Interface", - "tags": [], - "label": "SavedObjectsResolveOptions", - "description": [ - "\nOptions for the saved objects get operation\n" - ], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsResolveOptions", - "text": "SavedObjectsResolveOptions" - }, - " extends ", - { - "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsBaseOptions", - "text": "SavedObjectsBaseOptions" - } - ], - "path": "packages/core/saved-objects/core-saved-objects-api-server/src/apis/resolve.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/core-saved-objects-api-server", - "id": "def-common.SavedObjectsResolveOptions.migrationVersionCompatibility", - "type": "CompoundType", - "tags": [], - "label": "migrationVersionCompatibility", - "description": [ - "{@link SavedObjectsRawDocParseOptions.migrationVersionCompatibility}" - ], - "signature": [ - "\"raw\" | \"compatible\" | undefined" - ], - "path": "packages/core/saved-objects/core-saved-objects-api-server/src/apis/resolve.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "@kbn/core-saved-objects-api-server", "id": "def-common.SavedObjectsResolveResponse", @@ -8251,7 +8230,7 @@ "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, - "[] | undefined; hasNoReferenceOperator?: \"AND\" | \"OR\" | undefined; typeToNamespacesMap?: Map | undefined; migrationVersionCompatibility?: \"raw\" | \"compatible\" | undefined; }" + "[] | undefined; hasNoReferenceOperator?: \"AND\" | \"OR\" | undefined; typeToNamespacesMap?: Map | undefined; migrationVersionCompatibility?: \"raw\" | \"compatible\" | undefined; downwardConversion?: \"allow\" | \"forbid\" | undefined; }" ], "path": "packages/core/saved-objects/core-saved-objects-api-server/src/apis/create_point_in_time_finder.ts", "deprecated": false, diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 73e972f3333f12..076e898c16b5db 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 351 | 1 | 5 | 1 | +| 351 | 1 | 7 | 1 | ## Common 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 642401a5bacff2..5f626e9595f2da 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-08-25 +date: 2023-08-28 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 cd058fbb2adc0e..d7ca06535508b5 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-08-25 +date: 2023-08-28 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 64cb7e7f85910e..dc2cc0d3403433 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-08-25 +date: 2023-08-28 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 2b3e5bbc6538f2..08ef3e09374fb6 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-08-25 +date: 2023-08-28 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 a264ce892fdb40..1c2697e4634506 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-08-25 +date: 2023-08-28 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 5519f4431b77e6..31d1ffa19b5efc 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-08-25 +date: 2023-08-28 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.devdocs.json b/api_docs/kbn_core_saved_objects_common.devdocs.json index c1b6b92e592fbd..34f58a56a00b1b 100644 --- a/api_docs/kbn_core_saved_objects_common.devdocs.json +++ b/api_docs/kbn_core_saved_objects_common.devdocs.json @@ -1077,6 +1077,22 @@ "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/public/utils.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, { "plugin": "lists", "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" @@ -1109,22 +1125,6 @@ "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" - }, { "plugin": "upgradeAssistant", "path": "x-pack/plugins/upgrade_assistant/common/types.ts" @@ -1930,6 +1930,30 @@ "plugin": "embeddable", "path": "src/plugins/embeddable/common/lib/inject.ts" }, + { + "plugin": "visualizations", + "path": "src/plugins/visualizations/public/utils/saved_visualization_references/controls_references.ts" + }, + { + "plugin": "visualizations", + "path": "src/plugins/visualizations/public/utils/saved_visualization_references/controls_references.ts" + }, + { + "plugin": "visualizations", + "path": "src/plugins/visualizations/public/utils/saved_visualization_references/controls_references.ts" + }, + { + "plugin": "visualizations", + "path": "src/plugins/visualizations/public/utils/saved_visualization_references/timeseries_references.ts" + }, + { + "plugin": "visualizations", + "path": "src/plugins/visualizations/public/utils/saved_visualization_references/timeseries_references.ts" + }, + { + "plugin": "visualizations", + "path": "src/plugins/visualizations/public/utils/saved_visualization_references/timeseries_references.ts" + }, { "plugin": "controls", "path": "src/plugins/controls/common/options_list/options_list_persistable_state.ts" @@ -1978,30 +2002,6 @@ "plugin": "controls", "path": "src/plugins/controls/common/control_group/control_group_persistable_state.ts" }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/utils/saved_visualization_references/controls_references.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/utils/saved_visualization_references/controls_references.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/utils/saved_visualization_references/controls_references.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/utils/saved_visualization_references/timeseries_references.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/utils/saved_visualization_references/timeseries_references.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/utils/saved_visualization_references/timeseries_references.ts" - }, { "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/common/references.ts" diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index c049da542597a9..a4c541f9d73bb1 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-08-25 +date: 2023-08-28 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 ded98b70d17b21..fce07b5b6a3b58 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-08-25 +date: 2023-08-28 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 f74c34896e2250..bd8023a234f674 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-08-25 +date: 2023-08-28 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 c027da44798617..144ddb38bf1476 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-08-25 +date: 2023-08-28 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 a91570223cd666..5cdcb5c0b88aff 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.devdocs.json b/api_docs/kbn_core_saved_objects_server.devdocs.json index 01acf47ab87dec..097e6c4edbe8c0 100644 --- a/api_docs/kbn_core_saved_objects_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server.devdocs.json @@ -5823,10 +5823,6 @@ "plugin": "home", "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" @@ -5839,22 +5835,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/logs.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/flights.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/routes/pack/read_pack_route.ts" @@ -5943,6 +5923,26 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" }, + { + "plugin": "@kbn/core-saved-objects-browser-mocks", + "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/logs.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/flights.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" @@ -6259,6 +6259,22 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/types.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts" + }, { "plugin": "savedSearch", "path": "src/plugins/saved_search/server/saved_objects/search_migrations.ts" @@ -6295,22 +6311,6 @@ "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/server/collectors/lib/telemetry.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts" - }, { "plugin": "taskManager", "path": "x-pack/plugins/task_manager/server/task_store.test.ts" @@ -10555,6 +10555,26 @@ "plugin": "lens", "path": "x-pack/plugins/lens/server/saved_objects.ts" }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/saved_objects/exception_list.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/notes.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/pinned_events.ts" + }, { "plugin": "cases", "path": "x-pack/plugins/cases/server/saved_object_types/cases.ts" @@ -10576,8 +10596,8 @@ "path": "x-pack/plugins/cases/server/saved_object_types/connector_mappings.ts" }, { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts" }, { "plugin": "visualizations", @@ -10599,30 +10619,10 @@ "plugin": "graph", "path": "x-pack/plugins/graph/server/saved_objects/graph_workspace.ts" }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/saved_objects/exception_list.ts" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/server/saved_objects/setup_saved_objects.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/notes.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/pinned_events.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts" diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index b4991312049dc4..02433362bdf92a 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-08-25 +date: 2023-08-28 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 c18e4f6b186f5d..43b57dd232a115 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-08-25 +date: 2023-08-28 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 ab3ed804b89291..f74e8a9ed0bced 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-08-25 +date: 2023-08-28 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 3ffc2a10dcb505..7eee2af89cf697 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-08-25 +date: 2023-08-28 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 fae85b77a87f89..8fb781db10df4a 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-08-25 +date: 2023-08-28 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 0653750d652e09..eb662bba8bf8ca 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-08-25 +date: 2023-08-28 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 50131b8af0e549..1e8bb7998f3cce 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-08-25 +date: 2023-08-28 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 c1f9f255da1afd..995b05dae97e6e 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-08-25 +date: 2023-08-28 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 1b4bc7ad3195e6..83050864ff75ec 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-08-25 +date: 2023-08-28 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 cb10b4802f4369..4f191c36b23bd2 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-08-25 +date: 2023-08-28 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 b15b426d647288..b56bc7e9ee2216 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-08-25 +date: 2023-08-28 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 f6085b691cc16a..fe61d4057e77d3 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index a7adf454e1f5a0..c7e9f12f428fc2 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-08-25 +date: 2023-08-28 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 0ae6f7975aec49..a5a46d51ed6a75 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-08-25 +date: 2023-08-28 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 05c6b1bd9cb17f..568918e54edcc4 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-08-25 +date: 2023-08-28 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 fbb44cd578b1ae..103d710b3039e7 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-08-25 +date: 2023-08-28 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 a64f94fa8437fb..bd23cb655cf196 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-08-25 +date: 2023-08-28 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 6bf7f4eba4c284..5a90e562b0bc24 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-08-25 +date: 2023-08-28 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 bc1836935c6afc..c0274566c0578b 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-08-25 +date: 2023-08-28 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 1b423390cc9411..7e346176be3a2d 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-08-25 +date: 2023-08-28 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 ab41775606b870..6a8b1d5c4d7675 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-08-25 +date: 2023-08-28 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 a5fc533191cedc..1f2281083110e6 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-08-25 +date: 2023-08-28 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 2cc03af761aa8a..d2a78950e0d9c2 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-08-25 +date: 2023-08-28 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.devdocs.json b/api_docs/kbn_core_usage_data_server.devdocs.json index 11fa425905afff..b2bd17618b373d 100644 --- a/api_docs/kbn_core_usage_data_server.devdocs.json +++ b/api_docs/kbn_core_usage_data_server.devdocs.json @@ -1654,6 +1654,34 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-usage-data-server", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.compatibilityModeEnabled.yes", + "type": "number", + "tags": [], + "label": "'apiCalls.savedObjectsImport.compatibilityModeEnabled.yes'", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/core/usage-data/core-usage-data-server/src/core_usage_stats.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-usage-data-server", + "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.compatibilityModeEnabled.no", + "type": "number", + "tags": [], + "label": "'apiCalls.savedObjectsImport.compatibilityModeEnabled.no'", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/core/usage-data/core-usage-data-server/src/core_usage_stats.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-usage-data-server", "id": "def-common.CoreUsageStats.apiCalls.savedObjectsImport.overwriteEnabled.yes", diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index 2f4089df0bcae3..e33be649e19538 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 153 | 0 | 142 | 0 | +| 155 | 0 | 144 | 0 | ## Common diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index 8bfd936f847667..2b4d5d81c77068 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-08-25 +date: 2023-08-28 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 79019ff7e9307a..49ab6ce0f6cce2 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-08-25 +date: 2023-08-28 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 33b0320b2151ff..004ade62a70e0e 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-08-25 +date: 2023-08-28 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 dac2d7479eade4..a471a3de444a01 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-08-25 +date: 2023-08-28 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 b3e362e3243cae..0ff55f98614af4 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-08-25 +date: 2023-08-28 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 9435ee18fa2e2c..3986e0b1844543 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-08-25 +date: 2023-08-28 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 45b3fba92f71d7..192a2eae62295a 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index a5d2a718b2faf9..6573df31cae878 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-08-25 +date: 2023-08-28 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 9c6e4517bae592..4822b06f83a159 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-08-25 +date: 2023-08-28 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 aa5c9a5d529df8..7c1da975e14b4f 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-08-25 +date: 2023-08-28 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 3ce81a47fc7a4f..a367ab49636d84 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-08-25 +date: 2023-08-28 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 14342591b69506..0ef82431926066 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-08-25 +date: 2023-08-28 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 7788ee617b2f39..dd681b68b9de94 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-08-25 +date: 2023-08-28 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 09416549c2a712..6aabb6cefd86e2 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-08-25 +date: 2023-08-28 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 3acca01bbd93e3..d6d9c2b073b138 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.devdocs.json b/api_docs/kbn_deeplinks_search.devdocs.json index a90271ae47ab3b..bb431ec8a89e7a 100644 --- a/api_docs/kbn_deeplinks_search.devdocs.json +++ b/api_docs/kbn_deeplinks_search.devdocs.json @@ -45,7 +45,7 @@ "label": "DeepLinkId", "description": [], "signature": [ - "\"serverlessElasticsearch\" | \"serverlessIndexingApi\" | \"serverlessConnectors\"" + "\"serverlessElasticsearch\" | \"serverlessConnectors\"" ], "path": "packages/deeplinks/search/deep_links.ts", "deprecated": false, @@ -69,13 +69,13 @@ }, { "parentPluginId": "@kbn/deeplinks-search", - "id": "def-common.SERVERLESS_ES_INDEXING_API_ID", + "id": "def-common.SERVERLESS_ES_CONNECTORS_ID", "type": "string", "tags": [], - "label": "SERVERLESS_ES_INDEXING_API_ID", + "label": "SERVERLESS_ES_CONNECTORS_ID", "description": [], "signature": [ - "\"serverlessIndexingApi\"" + "\"serverlessConnectors\"" ], "path": "packages/deeplinks/search/constants.ts", "deprecated": false, diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index cbdf9266b0f497..d26e01786fc5c5 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-08-25 +date: 2023-08-28 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 91188e3fc4d32b..45629619398b10 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-08-25 +date: 2023-08-28 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 45f18f23f96871..8ac8d0eba5c3ae 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-08-25 +date: 2023-08-28 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 bad229e954b375..c2a57883ee3a0d 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-08-25 +date: 2023-08-28 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 4462b47b53f534..416047cecf36f9 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-08-25 +date: 2023-08-28 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 6bfabaca472b0f..7e6a348446ee55 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-08-25 +date: 2023-08-28 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 c40284fab010fb..e4a85992d8e58a 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-08-25 +date: 2023-08-28 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 1750bf414522f6..9309d75d11b2c7 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-08-25 +date: 2023-08-28 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 8a5b8636439b19..33dda7786d02f3 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-08-25 +date: 2023-08-28 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 7ede5a3fa9e51d..f002c66fb7a5d0 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-08-25 +date: 2023-08-28 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 ba508acd2f964a..263cba94f29c2e 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-08-25 +date: 2023-08-28 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 f7d848a583e9fc..1ac93e660a3667 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-08-25 +date: 2023-08-28 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 22e3673cfcb194..0df5f87aaf7432 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-08-25 +date: 2023-08-28 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 ec2c683d5afaaf..9b3ed90d310629 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-08-25 +date: 2023-08-28 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 462c40ff449a16..21ec97781b2b10 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-08-25 +date: 2023-08-28 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 7cae6dca9c0d7e..2c6c0a5d1aab70 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.devdocs.json b/api_docs/kbn_elastic_assistant.devdocs.json index e65b4e309784d0..b6c7aa46db706b 100644 --- a/api_docs/kbn_elastic_assistant.devdocs.json +++ b/api_docs/kbn_elastic_assistant.devdocs.json @@ -80,6 +80,43 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.AssistantAvatar", + "type": "Function", + "tags": [], + "label": "AssistantAvatar", + "description": [ + "\nDefault Elastic AI Assistant logo\n\nTODO: Can be removed once added to EUI" + ], + "signature": [ + "({ size }: ", + "AssistantAvatarProps", + ") => JSX.Element" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.AssistantAvatar.$1", + "type": "Object", + "tags": [], + "label": "{ size = 's' }", + "description": [], + "signature": [ + "AssistantAvatarProps" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/elastic-assistant", "id": "def-public.AssistantOverlay", diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index e70e9708088f2d..ee2586acf4dfe0 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-solution](https://github.com/orgs/elastic/teams/secur | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 82 | 0 | 63 | 4 | +| 84 | 0 | 64 | 5 | ## Client diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 3ca050de0f20e3..fe4745e9f9d8e7 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-08-25 +date: 2023-08-28 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 36047a961f3015..507b438e96ad99 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-08-25 +date: 2023-08-28 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 31ffc2b12aa7dd..a57fcae63f6c4a 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-08-25 +date: 2023-08-28 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 96dd4626146e95..e021414ada3cfb 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-08-25 +date: 2023-08-28 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 7227fdb8a7b096..3de1ad088b0a85 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-08-25 +date: 2023-08-28 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 bb0c47998bc876..17245394d55c56 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-08-25 +date: 2023-08-28 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 135c3ef55f74aa..ba4a96a999de79 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-08-25 +date: 2023-08-28 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 f522e5b8529a4e..9c3cbb50d36091 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-08-25 +date: 2023-08-28 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 ec8995c7d11c7a..7ce3c1812c6921 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-08-25 +date: 2023-08-28 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 4db58ac227b308..38c5d06324e167 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 3c9daf3c843f1c..8f4bc0685a40f1 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-08-25 +date: 2023-08-28 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 b4deb77ddadda8..b553a82db6376b 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-08-25 +date: 2023-08-28 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 b7068762d7ae8e..e0c1caf46cdd69 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-08-25 +date: 2023-08-28 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 fd5f027516ce97..b569181134c027 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-08-25 +date: 2023-08-28 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 6c76a0d147a2b0..e943f85bc60a77 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index e71fc66b2a4ca5..d631d48ef8c106 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 09ccfecc055cba..745ac02bb46523 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-08-25 +date: 2023-08-28 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 a236a6b0de35aa..ca5da2e9ab6c6f 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-08-25 +date: 2023-08-28 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 aec7b0fafa8c4e..cff27e0e07ecaf 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-08-25 +date: 2023-08-28 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 18cbaa43c90df6..322e7222fc25a1 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-08-25 +date: 2023-08-28 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 40921849a82c50..77b545e3c2a944 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-08-25 +date: 2023-08-28 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 fb89ad9f59872e..a8ef4c315ee91e 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-08-25 +date: 2023-08-28 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 bcbcf851deacb7..f1c2c07026250d 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-08-25 +date: 2023-08-28 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 99abc42a7b8f9e..4de3e62ab82225 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-08-25 +date: 2023-08-28 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 2f6e2c4184dc61..4a2fb1374ce930 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-08-25 +date: 2023-08-28 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 4b21f5bd73d676..c9c3a03be7dd8e 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-08-25 +date: 2023-08-28 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 182598d8a2f6c7..6eb1de41649fb2 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-08-25 +date: 2023-08-28 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 3850f0432d3649..5eacd3894b8a9d 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-08-25 +date: 2023-08-28 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 94156b4bb1c686..b655478312cee5 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-08-25 +date: 2023-08-28 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 511b0fd655c8ff..304eedf004302f 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-08-25 +date: 2023-08-28 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 da1fdaaa7c71af..bbd52d0396413a 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-08-25 +date: 2023-08-28 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 1e7d8f3f91cb6f..26fa24d84da0e0 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-08-25 +date: 2023-08-28 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 c12c9f758e2210..cc28ae74312fe8 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-08-25 +date: 2023-08-28 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 56bfd5db613a5a..491b75fe5c513e 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-08-25 +date: 2023-08-28 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 f58fbc84f2a58d..43d53e563567f6 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-08-25 +date: 2023-08-28 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 f14dfa14d65bac..824fcf105da853 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-08-25 +date: 2023-08-28 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 658ae2ae23ac29..c3f0b20b0982f2 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-08-25 +date: 2023-08-28 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 55dd46bc6a0841..574195bbcf6ba4 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-08-25 +date: 2023-08-28 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_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 745551602a8ad6..3765faadee51d3 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-08-25 +date: 2023-08-28 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_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 17bfa0090db05a..58a3936fcc4a67 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-08-25 +date: 2023-08-28 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 4daf6e0ea1408f..915b3bd6248198 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-08-25 +date: 2023-08-28 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 cab61e0f69eae7..9173d46071a59f 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-08-25 +date: 2023-08-28 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 7fc81004e2957c..37cd08fc67a22e 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-08-25 +date: 2023-08-28 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 691a71390a8e2a..5e9e578ae8dd5b 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-08-25 +date: 2023-08-28 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 79b76af765de4d..aec6235823d5c5 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index a157bc49ef3b87..bf951e4a23cfa1 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-08-25 +date: 2023-08-28 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 8aa5d97acdc429..a7b292c5e0d19c 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-08-25 +date: 2023-08-28 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 2c3990b041a97c..7fb13246ad50d2 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-08-25 +date: 2023-08-28 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 fcd6cc205066fb..54afbaf8bb4c6f 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-08-25 +date: 2023-08-28 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 f883c8ec88b2c3..3abc33688e974a 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-08-25 +date: 2023-08-28 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 2a07549f4697b3..43c8dccc8f09b6 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-08-25 +date: 2023-08-28 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 fe7b1dc43437a0..fdf47821ef58a0 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-08-25 +date: 2023-08-28 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 7834857f7825f5..90c913bf11ddb8 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-08-25 +date: 2023-08-28 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 0e1ac627fdadde..fb3edc3daf05b6 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-08-25 +date: 2023-08-28 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 15870f58473274..cfc725540ece32 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-08-25 +date: 2023-08-28 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 9b52ad48be606c..b5f9d79cf20496 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-08-25 +date: 2023-08-28 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 72a1af18d9a8e6..e36cc3817f56a8 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-08-25 +date: 2023-08-28 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 81ea7b6d27815e..2aabe72429f12b 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-08-25 +date: 2023-08-28 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 57b2d6f1a60407..c98fd1e08923f6 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-08-25 +date: 2023-08-28 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 dc136b62841730..bf752bf1950601 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-08-25 +date: 2023-08-28 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 3e53243c9c28bc..f5ee0d61ba7304 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-08-25 +date: 2023-08-28 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 ac0ef0d8863903..a1aa76891a7538 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-08-25 +date: 2023-08-28 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 51a484c01a0bc0..0b464612f81a1f 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 52d191316b87ec..0ecd9bb6ea36f5 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-08-25 +date: 2023-08-28 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 1502f46a0ce1f9..d1d7e3632b39cc 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-08-25 +date: 2023-08-28 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 0c69b237614b57..b26b50f40ed014 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-08-25 +date: 2023-08-28 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 842080bfa51ceb..a750f3434012fe 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 17a09867068c14..3a15e1a51fd611 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-08-25 +date: 2023-08-28 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 2e9f296b90b311..b01b8c1f65cb14 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-08-25 +date: 2023-08-28 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 d2e973fb001ca8..5a32ff29ce1f59 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 4cf5019880d814..f983a944135a51 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-08-25 +date: 2023-08-28 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 a559cfabaa7b2b..fcb8f3f01c4f65 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-08-25 +date: 2023-08-28 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 29e5abaa7b4816..1faca1531ed9cf 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index 4c0b9355640c21..3b37e1e56935f8 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-08-25 +date: 2023-08-28 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 1697549cc4bb64..04d218646a71d0 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-08-25 +date: 2023-08-28 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 e8d85c7cacf956..6dbcb3c0ff5c85 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-08-25 +date: 2023-08-28 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 45bc588d747d6f..0807075b7caf76 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-08-25 +date: 2023-08-28 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 9adabd3e40dca6..6bf44b4f5cb95a 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-08-25 +date: 2023-08-28 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 4da8f639f3dbdc..cdaac4b551dee8 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-08-25 +date: 2023-08-28 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 b395a54869f456..202095f9413f5b 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-08-25 +date: 2023-08-28 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 5e228ab7a2873e..c2e3b7228c3aa8 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-08-25 +date: 2023-08-28 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 6aa815dd14810c..0cf797ebc817b5 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-08-25 +date: 2023-08-28 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 8a4fad737fc29a..8795a2ff87d2bb 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-08-25 +date: 2023-08-28 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 feb350ca058ca4..ba63caf870dc31 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-08-25 +date: 2023-08-28 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 8951e31d86ae60..c24c5aceb94d62 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-08-25 +date: 2023-08-28 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 8bdef648ce860c..980fd1a39d79a3 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 576752ee5dacdf..9a1902668d8d89 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-08-25 +date: 2023-08-28 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 62b689ad7a0ad5..f2fefc4c97da38 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-08-25 +date: 2023-08-28 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 cd0db4184f0219..50cffdb0363ce3 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-08-25 +date: 2023-08-28 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 bc43addc08301c..e871523c539c71 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-08-25 +date: 2023-08-28 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.devdocs.json b/api_docs/kbn_search_api_panels.devdocs.json index 61387ae067fa39..d477957673f4f8 100644 --- a/api_docs/kbn_search_api_panels.devdocs.json +++ b/api_docs/kbn_search_api_panels.devdocs.json @@ -27,7 +27,7 @@ "label": "CodeBox", "description": [], "signature": [ - "({ application, codeSnippet, http, languageType, languages, pluginId, selectedLanguage, setSelectedLanguage, sharePlugin, showTryInConsole, }: React.PropsWithChildren) => JSX.Element" + "({ application, codeSnippet, languageType, languages, assetBasePath, selectedLanguage, setSelectedLanguage, sharePlugin, consoleRequest, }: React.PropsWithChildren) => JSX.Element" ], "path": "packages/kbn-search-api-panels/components/code_box.tsx", "deprecated": false, @@ -38,7 +38,7 @@ "id": "def-common.CodeBox.$1", "type": "CompoundType", "tags": [], - "label": "{\n application,\n codeSnippet,\n http,\n languageType,\n languages,\n pluginId,\n selectedLanguage,\n setSelectedLanguage,\n sharePlugin,\n showTryInConsole,\n}", + "label": "{\n application,\n codeSnippet,\n languageType,\n languages,\n assetBasePath,\n selectedLanguage,\n setSelectedLanguage,\n sharePlugin,\n consoleRequest,\n}", "description": [], "signature": [ "React.PropsWithChildren" @@ -52,6 +52,54 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/search-api-panels", + "id": "def-common.getConsoleRequest", + "type": "Function", + "tags": [], + "label": "getConsoleRequest", + "description": [], + "signature": [ + "(code: keyof ", + { + "pluginId": "@kbn/search-api-panels", + "scope": "common", + "docId": "kibKbnSearchApiPanelsPluginApi", + "section": "def-common.LanguageDefinition", + "text": "LanguageDefinition" + }, + ") => string | undefined" + ], + "path": "packages/kbn-search-api-panels/utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-api-panels", + "id": "def-common.getConsoleRequest.$1", + "type": "CompoundType", + "tags": [], + "label": "code", + "description": [], + "signature": [ + "keyof ", + { + "pluginId": "@kbn/search-api-panels", + "scope": "common", + "docId": "kibKbnSearchApiPanelsPluginApi", + "section": "def-common.LanguageDefinition", + "text": "LanguageDefinition" + } + ], + "path": "packages/kbn-search-api-panels/utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/search-api-panels", "id": "def-common.getLanguageDefinitionCodeSnippet", @@ -168,15 +216,7 @@ "label": "GithubLink", "description": [], "signature": [ - "({ label, href, http, pluginId }: React.PropsWithChildren<{ label: string; href: string; http: ", - { - "pluginId": "@kbn/core-http-browser", - "scope": "common", - "docId": "kibKbnCoreHttpBrowserPluginApi", - "section": "def-common.HttpSetup", - "text": "HttpSetup" - }, - "; pluginId: string; }>) => JSX.Element" + "({ assetBasePath, label, href }: React.PropsWithChildren<{ assetBasePath: string; label: string; href: string; }>) => JSX.Element" ], "path": "packages/kbn-search-api-panels/components/github_link.tsx", "deprecated": false, @@ -187,18 +227,10 @@ "id": "def-common.GithubLink.$1", "type": "CompoundType", "tags": [], - "label": "{ label, href, http, pluginId }", + "label": "{ assetBasePath, label, href }", "description": [], "signature": [ - "React.PropsWithChildren<{ label: string; href: string; http: ", - { - "pluginId": "@kbn/core-http-browser", - "scope": "common", - "docId": "kibKbnCoreHttpBrowserPluginApi", - "section": "def-common.HttpSetup", - "text": "HttpSetup" - }, - "; pluginId: string; }>" + "React.PropsWithChildren<{ assetBasePath: string; label: string; href: string; }>" ], "path": "packages/kbn-search-api-panels/components/github_link.tsx", "deprecated": false, @@ -217,7 +249,7 @@ "label": "IngestData", "description": [], "signature": [ - "({ codeSnippet, selectedLanguage, setSelectedLanguage, docLinks, http, pluginId, application, sharePlugin, languages, showTryInConsole, }: React.PropsWithChildren) => JSX.Element" + "({ codeSnippet, selectedLanguage, setSelectedLanguage, docLinks, assetBasePath, application, sharePlugin, languages, consoleRequest, }: React.PropsWithChildren) => JSX.Element" ], "path": "packages/kbn-search-api-panels/components/ingest_data.tsx", "deprecated": false, @@ -228,7 +260,7 @@ "id": "def-common.IngestData.$1", "type": "CompoundType", "tags": [], - "label": "{\n codeSnippet,\n selectedLanguage,\n setSelectedLanguage,\n docLinks,\n http,\n pluginId,\n application,\n sharePlugin,\n languages,\n showTryInConsole,\n}", + "label": "{\n codeSnippet,\n selectedLanguage,\n setSelectedLanguage,\n docLinks,\n assetBasePath,\n application,\n sharePlugin,\n languages,\n consoleRequest,\n}", "description": [], "signature": [ "React.PropsWithChildren" @@ -250,7 +282,7 @@ "label": "InstallClientPanel", "description": [], "signature": [ - "({ codeSnippet, showTryInConsole, language, languages, setSelectedLanguage, http, pluginId, application, sharePlugin, isPanelLeft, overviewPanelProps, }: React.PropsWithChildren) => JSX.Element" + "({ codeSnippet, consoleRequest, language, languages, setSelectedLanguage, assetBasePath, application, sharePlugin, isPanelLeft, overviewPanelProps, }: React.PropsWithChildren) => JSX.Element" ], "path": "packages/kbn-search-api-panels/components/install_client.tsx", "deprecated": false, @@ -261,7 +293,7 @@ "id": "def-common.InstallClientPanel.$1", "type": "CompoundType", "tags": [], - "label": "{\n codeSnippet,\n showTryInConsole,\n language,\n languages,\n setSelectedLanguage,\n http,\n pluginId,\n application,\n sharePlugin,\n isPanelLeft = true,\n overviewPanelProps,\n}", + "label": "{\n codeSnippet,\n consoleRequest,\n language,\n languages,\n setSelectedLanguage,\n assetBasePath,\n application,\n sharePlugin,\n isPanelLeft = true,\n overviewPanelProps,\n}", "description": [], "signature": [ "React.PropsWithChildren" @@ -283,7 +315,7 @@ "label": "IntegrationsPanel", "description": [], "signature": [ - "({ docLinks, http, pluginId, }: React.PropsWithChildren<", + "({ docLinks, assetBasePath, }: React.PropsWithChildren<", { "pluginId": "@kbn/search-api-panels", "scope": "common", @@ -302,7 +334,7 @@ "id": "def-common.IntegrationsPanel.$1", "type": "CompoundType", "tags": [], - "label": "{\n docLinks,\n http,\n pluginId,\n}", + "label": "{\n docLinks,\n assetBasePath,\n}", "description": [], "signature": [ "React.PropsWithChildren<", @@ -332,7 +364,7 @@ "label": "LanguageClientPanel", "description": [], "signature": [ - "({ language, setSelectedLanguage, isSelectedLanguage, http, pluginId, src, }: React.PropsWithChildren) => JSX.Element" + "({ language, setSelectedLanguage, isSelectedLanguage, assetBasePath, src, }: React.PropsWithChildren) => JSX.Element" ], "path": "packages/kbn-search-api-panels/components/language_client_panel.tsx", "deprecated": false, @@ -343,7 +375,7 @@ "id": "def-common.LanguageClientPanel.$1", "type": "CompoundType", "tags": [], - "label": "{\n language,\n setSelectedLanguage,\n isSelectedLanguage,\n http,\n pluginId,\n src,\n}", + "label": "{\n language,\n setSelectedLanguage,\n isSelectedLanguage,\n assetBasePath,\n src,\n}", "description": [], "signature": [ "React.PropsWithChildren" @@ -564,30 +596,10 @@ }, { "parentPluginId": "@kbn/search-api-panels", - "id": "def-common.IntegrationsPanelProps.http", - "type": "Object", - "tags": [], - "label": "http", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-http-browser", - "scope": "common", - "docId": "kibKbnCoreHttpBrowserPluginApi", - "section": "def-common.HttpSetup", - "text": "HttpSetup" - } - ], - "path": "packages/kbn-search-api-panels/components/integrations_panel.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-api-panels", - "id": "def-common.IntegrationsPanelProps.pluginId", + "id": "def-common.IntegrationsPanelProps.assetBasePath", "type": "string", "tags": [], - "label": "pluginId", + "label": "assetBasePath", "description": [], "path": "packages/kbn-search-api-panels/components/integrations_panel.tsx", "deprecated": false, diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 93cf018aff9060..a9d0d9883300fb 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.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 | |-------------------|-----------|------------------------|-----------------| -| 63 | 1 | 63 | 0 | +| 64 | 1 | 64 | 0 | ## Common diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index ef834a4610a68f..8dc0aec607d687 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index e81fa0a9618c9c..3a92db9b0f6390 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-08-25 +date: 2023-08-28 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 e053b5ae8b608d..95a0b834d2639d 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-08-25 +date: 2023-08-28 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 4b2f16473c6d57..77c3f6a7c1f554 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-08-25 +date: 2023-08-28 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 cfc25f8fc18bec..b30e35ef27ac7f 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-08-25 +date: 2023-08-28 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 5ea8eb972cfe1d..255d1a66189712 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-08-25 +date: 2023-08-28 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 ab390fb03084b6..0165ca0b59fc94 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-08-25 +date: 2023-08-28 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.devdocs.json b/api_docs/kbn_securitysolution_es_utils.devdocs.json index 89a04e0c6a4a4b..ffa1a41949e972 100644 --- a/api_docs/kbn_securitysolution_es_utils.devdocs.json +++ b/api_docs/kbn_securitysolution_es_utils.devdocs.json @@ -3819,6 +3819,39 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-es-utils", + "id": "def-common.stringifyZodError", + "type": "Function", + "tags": [], + "label": "stringifyZodError", + "description": [], + "signature": [ + "(err: Zod.ZodError) => string" + ], + "path": "packages/kbn-securitysolution-es-utils/src/transform_error/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-es-utils", + "id": "def-common.stringifyZodError.$1", + "type": "Object", + "tags": [], + "label": "err", + "description": [], + "signature": [ + "Zod.ZodError" + ], + "path": "packages/kbn-securitysolution-es-utils/src/transform_error/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-es-utils", "id": "def-common.transformError", diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 26c387644bdd13..eed593d43dfdc3 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-detection-engine](https://github.com/orgs/elastic/tea | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 87 | 0 | 76 | 1 | +| 89 | 0 | 78 | 1 | ## Common diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 247825a42c7a2a..a52e5be544f77d 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-08-25 +date: 2023-08-28 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 ed98787b9ed570..bdc81d1d250ff3 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-08-25 +date: 2023-08-28 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 1ea5e91c8adee9..24db83f3e3f7ab 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-08-25 +date: 2023-08-28 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 99665a0b716307..90f75084bb6690 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-08-25 +date: 2023-08-28 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 af3796fb3f94d6..698fecee87f4ba 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-08-25 +date: 2023-08-28 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 96f9e80a02fcbd..ae33949a4407d6 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-08-25 +date: 2023-08-28 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 ebd50054b709f2..076b1b05b227c9 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-08-25 +date: 2023-08-28 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 5bb6a03db0fde3..92f8eca6e01af4 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-08-25 +date: 2023-08-28 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.devdocs.json b/api_docs/kbn_securitysolution_list_constants.devdocs.json index 9da689379cb1ae..f39f80212e340d 100644 --- a/api_docs/kbn_securitysolution_list_constants.devdocs.json +++ b/api_docs/kbn_securitysolution_list_constants.devdocs.json @@ -69,55 +69,55 @@ "references": [ { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/blocklist/services/blocklists_api_client.ts" + "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/blocklist_validator.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/blocklist/services/blocklists_api_client.ts" + "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/blocklist_validator.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/blocklist/services/blocklists_api_client.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/blocklist/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/blocklist/services/blocklists_api_client.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/blocklist_validator.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/blocklist/services/blocklists_api_client.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/blocklist_validator.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/blocklist/services/blocklists_api_client.ts" }, { "plugin": "securitySolution", @@ -221,19 +221,19 @@ "references": [ { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" + "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" + "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" }, { "plugin": "securitySolution", @@ -261,107 +261,107 @@ "references": [ { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form.tsx" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form.tsx" + "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/view/utils.ts" + "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/view/utils.ts" + "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts" + "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts" + "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts" + "path": "x-pack/plugins/security_solution/server/lib/telemetry/tasks/security_lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts" + "path": "x-pack/plugins/security_solution/server/lib/telemetry/tasks/security_lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/view/utils.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/view/utils.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/telemetry/tasks/security_lists.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/telemetry/tasks/security_lists.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" }, { "plugin": "securitySolution", @@ -453,19 +453,19 @@ "references": [ { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" + "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" + "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" }, { "plugin": "securitySolution", @@ -525,55 +525,55 @@ "references": [ { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" + "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/host_isolation_exceptions_validator.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/host_isolation_exceptions_validator.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/host_isolation_exceptions_validator.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/host_isolation_exceptions_validator.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts" }, { "plugin": "lists", @@ -857,72 +857,72 @@ "path": "x-pack/plugins/lists/server/saved_objects/migrations.ts" }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" + "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/trusted_app_validator.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" + "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/trusted_app_validator.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" + "path": "x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" + "path": "x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/trusted_app_validator.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/trusted_app_validator.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts" + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" }, { "plugin": "lists", diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 0dccea6ab4e2f6..516aa9347012f5 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-08-25 +date: 2023-08-28 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 487ca96d1a0547..88e33dd10e14ac 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-08-25 +date: 2023-08-28 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 b95aa8964dd956..c2d7218df7952f 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-08-25 +date: 2023-08-28 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 cef9710263c608..69f482223c092a 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-08-25 +date: 2023-08-28 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 04ad4d34fd2369..50191d65e39468 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-08-25 +date: 2023-08-28 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 696e1fdf09a0fa..3bd1fa2c85bf67 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-08-25 +date: 2023-08-28 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 3ac3ed7b32bb86..6d9c047cc6dff8 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-08-25 +date: 2023-08-28 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 fd4f263b4c625c..e3a48d88b0e18b 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-08-25 +date: 2023-08-28 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_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 842bdd52780831..5ed339bbdc7d67 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-08-25 +date: 2023-08-28 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_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index 8e9522db926e75..4e86bdd37dd6dd 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-08-25 +date: 2023-08-28 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 18abc086700504..93ff82a9dd6737 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-08-25 +date: 2023-08-28 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 29a1d0fa0d861d..47703e2a78d2f3 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 267768b0ab833f..c8955fc5261f5e 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index acfcd383047eb0..b749af49bc2622 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index b7d3f2d111e807..f734d39ab043d3 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 324179fa1c2d37..7e0c73aadc6b3a 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-08-25 +date: 2023-08-28 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 fdc69fffa61984..8dd83e914d6ab2 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-08-25 +date: 2023-08-28 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 38edac7fcd3e76..4673fd29728362 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-08-25 +date: 2023-08-28 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 4baf6badb8cab3..d9260c5f264377 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 85095ad0076aa5..f781d7d70f1942 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-08-25 +date: 2023-08-28 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 0244808d045c99..e4a6df96a1a043 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-08-25 +date: 2023-08-28 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 9bd4ae3e13c34a..afa41697edfdd9 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-08-25 +date: 2023-08-28 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 a1357ef0c4f6de..1c5ef9ed1da6f2 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-08-25 +date: 2023-08-28 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 be529b84994255..4ad2618cd9b29b 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-08-25 +date: 2023-08-28 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 b912f11b13497e..167b8c852a805b 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-08-25 +date: 2023-08-28 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 f034786fe99a9d..086ecc19f9084f 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-08-25 +date: 2023-08-28 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 99ee6e8edb6ac0..c70d57a2252a02 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-08-25 +date: 2023-08-28 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 a9ac1194e37dab..de45099694ed2e 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-08-25 +date: 2023-08-28 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 f75583d3cfeab7..5e61e4f9cf607c 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-08-25 +date: 2023-08-28 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 5d83cb282e7ac8..55cd4377dbd631 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-08-25 +date: 2023-08-28 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 50eef6dda20e3d..cac8433f7fa334 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-08-25 +date: 2023-08-28 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 907ffb0c0db44a..fdffba1ab9db78 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-08-25 +date: 2023-08-28 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 a990b7de48ed4e..8f8ffb559f6da0 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-08-25 +date: 2023-08-28 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 5a5c6ea9e7d5bb..a5f6dde8010292 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-08-25 +date: 2023-08-28 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 bd834c71bb0411..372b64e714635b 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-08-25 +date: 2023-08-28 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 04198f26241b42..5d633950580347 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-08-25 +date: 2023-08-28 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 fa362e56dc50f8..51ddbcf854299a 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-08-25 +date: 2023-08-28 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 00b036fc3417a1..22118ce9b06edb 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-08-25 +date: 2023-08-28 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 9d522689bd0e42..2ccd8f078d37b1 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-08-25 +date: 2023-08-28 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 f896707b5cd617..e590c55314f337 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-08-25 +date: 2023-08-28 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 40e9b98e0be098..7fc9af83b2b794 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-08-25 +date: 2023-08-28 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 ae1b0a48742eed..9e99c44add2c5e 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-08-25 +date: 2023-08-28 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 3d288e6785af9f..330f8312938460 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-08-25 +date: 2023-08-28 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 0baab963f23476..1a431bddf61534 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-08-25 +date: 2023-08-28 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 8f77c6d4b60e29..245c1b7f291df5 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-08-25 +date: 2023-08-28 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 47b775bc5bfecb..a0ef64ac2048e0 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-08-25 +date: 2023-08-28 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 9eff5637022bcc..32da12d65192ac 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-08-25 +date: 2023-08-28 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 28e7f520e1f2dc..c4f64195fbc60d 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-08-25 +date: 2023-08-28 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 0011957dd65a3f..3624d063eb7088 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-08-25 +date: 2023-08-28 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 2ac41f986d54b4..7bb41b54d78136 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-08-25 +date: 2023-08-28 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 38231bf84c29f3..f7be00fa3d0430 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-08-25 +date: 2023-08-28 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 2ad3d4b718e550..b67bb857c65a8c 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-08-25 +date: 2023-08-28 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 1625c3ad6c1f00..298e5619bbc34d 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-08-25 +date: 2023-08-28 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 c9efe5915bad50..9a2df44429635b 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-08-25 +date: 2023-08-28 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 d9e77ccd10f432..f0a174578c760c 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-08-25 +date: 2023-08-28 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 cadcbc87db6c41..cc1df56cc923d0 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-08-25 +date: 2023-08-28 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 3fffa3f5efd6e0..f9ab7378a610c7 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-08-25 +date: 2023-08-28 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 a015075da21886..4aecfe0131933d 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-08-25 +date: 2023-08-28 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 4b77bc03c59d91..1b55dd7131894c 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-08-25 +date: 2023-08-28 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 822ebabb345e49..bb0c65074cc600 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-08-25 +date: 2023-08-28 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 21662dad2d9159..6e48b6768bf7e9 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index d6eb0208079d2d..766cb3f9cb0a8a 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-08-25 +date: 2023-08-28 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 f6f8bad296d7a5..4b2c77303f15e9 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-08-25 +date: 2023-08-28 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 0ccb887a3cac3e..17963d781df579 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-08-25 +date: 2023-08-28 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 10ba047d0e2a07..b05479b8498177 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-08-25 +date: 2023-08-28 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 48dccff27b1193..ea892279118e6b 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 5212df39a9773a..56fdb4e443640c 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 7b6b220c13e582..43efefbcba5445 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-08-25 +date: 2023-08-28 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 4658de4d31f75e..83f6de626fad2a 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-08-25 +date: 2023-08-28 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 729eb82a5cf58f..6157307403717d 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-08-25 +date: 2023-08-28 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 94fec28c70becb..e9f5af14d629e9 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-08-25 +date: 2023-08-28 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 82210a5ba466eb..0157113f06ed6a 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-08-25 +date: 2023-08-28 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 eedd79ee09f65f..c440db5e6fd00b 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-08-25 +date: 2023-08-28 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 083f580e83293b..51c3608a825950 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 40a70a9e553bc5..852a5eab0c5cb0 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 243222eb30042c..ed12c1c0988aa6 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-08-25 +date: 2023-08-28 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 81e2b6adc16778..04518800ede3e9 100644 --- a/api_docs/kibana_react.devdocs.json +++ b/api_docs/kibana_react.devdocs.json @@ -777,64 +777,136 @@ "path": "x-pack/plugins/spaces/public/space_selector/space_selector.tsx" }, { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/access_agreement/access_agreement_page.tsx" }, { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/access_agreement/access_agreement_page.tsx" }, { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/access_agreement/access_agreement_page.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/logged_out/logged_out_page.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/logged_out/logged_out_page.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/logged_out/logged_out_page.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/range_slider/embeddable/range_slider_embeddable.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/login/login_page.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/range_slider/embeddable/range_slider_embeddable.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/login/login_page.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/range_slider/embeddable/range_slider_embeddable.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/login/login_page.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/overwritten_session/overwritten_session_page.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/overwritten_session/overwritten_session_page.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/authentication/overwritten_session/overwritten_session_page.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/time_slider/embeddable/time_slider_embeddable.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/time_slider/embeddable/time_slider_embeddable.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx" }, { - "plugin": "controls", - "path": "src/plugins/controls/public/time_slider/embeddable/time_slider_embeddable.tsx" + "plugin": "security", + "path": "x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/users/users_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/users/users_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/users/users_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/roles/roles_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/roles/roles_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/roles/roles_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/account_management/account_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/account_management/account_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/account_management/account_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/nav_control/nav_control_service.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/nav_control/nav_control_service.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/nav_control/nav_control_service.tsx" + }, + { + "plugin": "savedObjects", + "path": "src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx" + }, + { + "plugin": "savedObjects", + "path": "src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx" + }, + { + "plugin": "savedObjects", + "path": "src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx" }, { "plugin": "serverless", @@ -908,6 +980,54 @@ "plugin": "visualizations", "path": "src/plugins/visualizations/public/visualize_app/index.tsx" }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/range_slider/embeddable/range_slider_embeddable.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/range_slider/embeddable/range_slider_embeddable.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/range_slider/embeddable/range_slider_embeddable.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/time_slider/embeddable/time_slider_embeddable.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/time_slider/embeddable/time_slider_embeddable.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/time_slider/embeddable/time_slider_embeddable.tsx" + }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx" @@ -1068,126 +1188,6 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/embeddable/embeddable.tsx" }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/access_agreement/access_agreement_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/access_agreement/access_agreement_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/access_agreement/access_agreement_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/logged_out/logged_out_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/logged_out/logged_out_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/logged_out/logged_out_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/login/login_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/login/login_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/login/login_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/overwritten_session/overwritten_session_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/overwritten_session/overwritten_session_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/overwritten_session/overwritten_session_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/users/users_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/users/users_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/users/users_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/roles_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/roles_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/roles_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/account_management/account_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/account_management/account_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/account_management/account_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/nav_control/nav_control_service.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/nav_control/nav_control_service.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/nav_control/nav_control_service.tsx" - }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/public/application/maintenance_windows.tsx" @@ -1213,88 +1213,28 @@ "path": "x-pack/plugins/triggers_actions_ui/public/application/app.tsx" }, { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx" - }, - { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx" - }, - { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/public/application.tsx" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/public/application.tsx" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/public/application.tsx" - }, - { - "plugin": "aiops", - "path": "x-pack/plugins/aiops/public/embeddable/embeddable_change_point_chart.tsx" - }, - { - "plugin": "aiops", - "path": "x-pack/plugins/aiops/public/embeddable/embeddable_change_point_chart.tsx" - }, - { - "plugin": "aiops", - "path": "x-pack/plugins/aiops/public/embeddable/embeddable_change_point_chart.tsx" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/application/index.tsx" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/application/index.tsx" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/application/index.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/public/applications/integrations/app.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/public/applications/integrations/app.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/public/applications/integrations/app.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/public/applications/fleet/app.tsx" + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/public/applications/fleet/app.tsx" + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx" }, { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/public/applications/fleet/app.tsx" + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx" }, { - "plugin": "observability", - "path": "x-pack/plugins/observability/public/application/index.tsx" + "plugin": "cases", + "path": "x-pack/plugins/cases/public/application.tsx" }, { - "plugin": "observability", - "path": "x-pack/plugins/observability/public/application/index.tsx" + "plugin": "cases", + "path": "x-pack/plugins/cases/public/application.tsx" }, { - "plugin": "observability", - "path": "x-pack/plugins/observability/public/application/index.tsx" + "plugin": "cases", + "path": "x-pack/plugins/cases/public/application.tsx" }, { "plugin": "licenseManagement", @@ -1396,6 +1336,18 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/data_comparison/data_comparison_app_state.tsx" }, + { + "plugin": "aiops", + "path": "x-pack/plugins/aiops/public/embeddable/embeddable_change_point_chart.tsx" + }, + { + "plugin": "aiops", + "path": "x-pack/plugins/aiops/public/embeddable/embeddable_change_point_chart.tsx" + }, + { + "plugin": "aiops", + "path": "x-pack/plugins/aiops/public/embeddable/embeddable_change_point_chart.tsx" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx" @@ -1444,6 +1396,54 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx" }, + { + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/application/index.tsx" + }, + { + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/application/index.tsx" + }, + { + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/application/index.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/public/applications/integrations/app.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/public/applications/integrations/app.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/public/applications/integrations/app.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/public/applications/fleet/app.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/public/applications/fleet/app.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/public/applications/fleet/app.tsx" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/public/application/index.tsx" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/public/application/index.tsx" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/public/application/index.tsx" + }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/apps/common_providers.tsx" @@ -1856,18 +1856,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/app/app.tsx" }, - { - "plugin": "serverlessSearch", - "path": "x-pack/plugins/serverless_search/public/application/indexing_api.tsx" - }, - { - "plugin": "serverlessSearch", - "path": "x-pack/plugins/serverless_search/public/application/indexing_api.tsx" - }, - { - "plugin": "serverlessSearch", - "path": "x-pack/plugins/serverless_search/public/application/indexing_api.tsx" - }, { "plugin": "snapshotRestore", "path": "x-pack/plugins/snapshot_restore/public/shared_imports.ts" @@ -2789,6 +2777,18 @@ "plugin": "savedObjectsManagement", "path": "src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx" }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx" + }, { "plugin": "exploratoryView", "path": "x-pack/plugins/exploratory_view/public/application/index.tsx" @@ -2873,18 +2873,6 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/application/index.tsx" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx" - }, { "plugin": "apm", "path": "x-pack/plugins/apm/public/components/routing/app_root/index.tsx" @@ -3146,6 +3134,30 @@ "plugin": "data", "path": "src/plugins/data/public/search/search_service.ts" }, + { + "plugin": "licensing", + "path": "x-pack/plugins/licensing/public/expired_banner.tsx" + }, + { + "plugin": "licensing", + "path": "x-pack/plugins/licensing/public/expired_banner.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/account_management/account_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/account_management/account_management_app.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/session/session_expiration_toast.tsx" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/session/session_expiration_toast.tsx" + }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/confirm_modal_promise.tsx" @@ -3182,30 +3194,6 @@ "plugin": "embeddable", "path": "src/plugins/embeddable/public/add_panel_flyout/open_add_panel_flyout.tsx" }, - { - "plugin": "controls", - "path": "src/plugins/controls/public/control_group/editor/open_add_data_control_flyout.tsx" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/public/control_group/editor/open_add_data_control_flyout.tsx" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/public/control_group/editor/open_edit_control_group_flyout.tsx" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/public/control_group/editor/open_edit_control_group_flyout.tsx" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/public/control_group/actions/edit_control_action.tsx" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/public/control_group/actions/edit_control_action.tsx" - }, { "plugin": "visualizations", "path": "src/plugins/visualizations/public/utils/saved_objects_utils/confirm_modal_promise.tsx" @@ -3238,6 +3226,30 @@ "plugin": "visualizations", "path": "src/plugins/visualizations/public/visualize_app/index.tsx" }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/control_group/editor/open_add_data_control_flyout.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/control_group/editor/open_add_data_control_flyout.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/control_group/editor/open_edit_control_group_flyout.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/control_group/editor/open_edit_control_group_flyout.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/control_group/actions/edit_control_action.tsx" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/control_group/actions/edit_control_action.tsx" + }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/show_settings.tsx" @@ -3294,14 +3306,6 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_listing/dashboard_listing_table.tsx" }, - { - "plugin": "licensing", - "path": "x-pack/plugins/licensing/public/expired_banner.tsx" - }, - { - "plugin": "licensing", - "path": "x-pack/plugins/licensing/public/expired_banner.tsx" - }, { "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/public/components/edition_modal/open_modal.tsx" @@ -3374,22 +3378,6 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/helpers.ts" }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/account_management/account_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/account_management/account_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/session/session_expiration_toast.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/session/session_expiration_toast.tsx" - }, { "plugin": "triggersActionsUi", "path": "x-pack/plugins/triggers_actions_ui/public/application/hooks/use_bulk_edit_response.tsx" @@ -3458,6 +3446,30 @@ "plugin": "observabilityShared", "path": "x-pack/plugins/observability_shared/public/components/header_menu/header_menu_portal.tsx" }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx" + }, + { + "plugin": "advancedSettings", + "path": "src/plugins/advanced_settings/public/management_app/components/form/form.tsx" + }, + { + "plugin": "advancedSettings", + "path": "src/plugins/advanced_settings/public/management_app/components/form/form.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/render_app.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/render_app.tsx" + }, { "plugin": "exploratoryView", "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.tsx" @@ -3562,30 +3574,6 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/pages/overview/components/header_menu/header_menu_portal.tsx" }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx" - }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx" - }, - { - "plugin": "advancedSettings", - "path": "src/plugins/advanced_settings/public/management_app/components/form/form.tsx" - }, - { - "plugin": "advancedSettings", - "path": "src/plugins/advanced_settings/public/management_app/components/form/form.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/render_app.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/render_app.tsx" - }, { "plugin": "banners", "path": "x-pack/plugins/banners/public/plugin.tsx" diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index bdcdf066e33f00..c2027b9045e043 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-08-25 +date: 2023-08-28 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 0a4c1ffb692bf7..df62b3e0ef796f 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-08-25 +date: 2023-08-28 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 2a9f92dcb48921..970c9f245c393d 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-08-25 +date: 2023-08-28 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 aea5fe81dc435e..e1bd8dad106b74 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-08-25 +date: 2023-08-28 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 48007a519a2421..dbeb3765baf64c 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-08-25 +date: 2023-08-28 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 3f7dd45c857231..81a762e5e53c60 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.devdocs.json b/api_docs/licensing.devdocs.json index 9e94dad897ead0..a11ca0da7cead7 100644 --- a/api_docs/licensing.devdocs.json +++ b/api_docs/licensing.devdocs.json @@ -810,14 +810,14 @@ "plugin": "security", "path": "x-pack/plugins/security/public/plugin.tsx" }, - { - "plugin": "aiops", - "path": "x-pack/plugins/aiops/public/plugin.tsx" - }, { "plugin": "licenseManagement", "path": "x-pack/plugins/license_management/public/plugin.ts" }, + { + "plugin": "aiops", + "path": "x-pack/plugins/aiops/public/plugin.tsx" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/public/plugin.ts" @@ -2190,6 +2190,14 @@ "plugin": "ml", "path": "x-pack/plugins/ml/server/plugin.ts" }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/handlers/action/create_action_service.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts" + }, { "plugin": "remoteClusters", "path": "x-pack/plugins/remote_clusters/server/plugin.ts" @@ -2206,10 +2214,6 @@ "plugin": "mapsEms", "path": "src/plugins/maps_ems/server/index.ts" }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/handlers/action/create_action_service.ts" - }, { "plugin": "painlessLab", "path": "x-pack/plugins/painless_lab/server/services/license.ts" @@ -2222,10 +2226,6 @@ "plugin": "searchprofiler", "path": "x-pack/plugins/searchprofiler/server/plugin.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts" - }, { "plugin": "snapshotRestore", "path": "x-pack/plugins/snapshot_restore/server/services/license.ts" diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 4eb1e1caaf7601..4c84d136d33f4c 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 2b990749cbce60..13016f736fb696 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 5b07deb62acce8..e9e23f97453494 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-08-25 +date: 2023-08-28 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 70ca84de56daab..f8f6b02b958aee 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-08-25 +date: 2023-08-28 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 64cd4f63922b3c..21e1d235c2832b 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-08-25 +date: 2023-08-28 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 1edb84988fc64b..e25fa6dc8b213b 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 5b2629a59343f6..41e335b2fe8a56 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 26958fd847084a..166def6155ddee 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-08-25 +date: 2023-08-28 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 a3b2daf2231c73..d43e2ebf859233 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-08-25 +date: 2023-08-28 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 5ea03c1d04147f..29ab5944a4a733 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-08-25 +date: 2023-08-28 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 0afdaa87171413..e7a38d7160b0fd 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 8d43d096fc82aa..a4c686845e407f 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-08-25 +date: 2023-08-28 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 eef738f7ece3c2..701c96c075b3d8 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-08-25 +date: 2023-08-28 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 97e26bd0c43b0e..9b7af89b606e36 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index b5dbd0add550eb..5c1c30f656ff88 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-08-25 +date: 2023-08-28 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 a961705d499d80..383ed4d08c9037 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-08-25 +date: 2023-08-28 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 d806be1270423e..679268d0a085d8 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 01fb7a421113cb..ec5de1385c7d18 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,13 +15,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 666 | 555 | 39 | +| 666 | 556 | 39 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 72232 | 224 | 61695 | 1490 | +| 72265 | 227 | 61729 | 1491 | ## Plugin Directory @@ -156,7 +156,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-reporting-services](https://github.com/orgs/elastic/teams/kibana-reporting-services) | Kibana Screenshotting Plugin | 27 | 0 | 8 | 5 | | searchprofiler | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides authentication and authorization features, and exposes functionality to understand the capabilities of the currently authenticated user. | 270 | 0 | 87 | 3 | -| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 175 | 3 | 109 | 34 | +| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 177 | 3 | 111 | 34 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | ESS customizations for Security Solution. | 6 | 0 | 6 | 0 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | Serverless customizations for security. | 6 | 0 | 6 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | The core Serverless plugin, providing APIs to Serverless Project plugins. | 17 | 0 | 16 | 0 | @@ -213,6 +213,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 11 | 5 | 11 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 33 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 20 | 0 | 0 | 0 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 24 | 3 | 24 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 16 | 0 | 15 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 25 | 0 | 25 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 8 | 0 | 7 | 1 | @@ -362,7 +363,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 25 | 1 | 24 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 111 | 1 | 0 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 351 | 1 | 5 | 1 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 351 | 1 | 7 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 11 | 0 | 11 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 89 | 0 | 61 | 10 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | @@ -397,7 +398,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 1 | 16 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 18 | 1 | 17 | 3 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 6 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 153 | 0 | 142 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 155 | 0 | 144 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 8 | 0 | 8 | 2 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 7 | 0 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | - | 6 | 0 | 6 | 0 | @@ -429,7 +430,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 19 | 0 | 11 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 35125 | 0 | 34718 | 0 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 13 | 0 | 5 | 0 | -| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 82 | 0 | 63 | 4 | +| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 84 | 0 | 64 | 5 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 4 | 0 | 4 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 27 | 0 | 14 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 3 | 0 | @@ -520,7 +521,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 16 | 0 | 16 | 1 | | | [@elastic/security-detections-response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 107 | 0 | 104 | 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) | - | 63 | 1 | 63 | 0 | +| | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 64 | 1 | 64 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 16 | 0 | 8 | 0 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 50 | 0 | 47 | 0 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 29 | 0 | 23 | 0 | @@ -528,7 +529,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 56 | 1 | 41 | 1 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 95 | 0 | 72 | 7 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 341 | 1 | 337 | 32 | -| | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 87 | 0 | 76 | 1 | +| | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 89 | 0 | 78 | 1 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 104 | 0 | 93 | 1 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 17 | 0 | 12 | 7 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 15 | 0 | 7 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 81ffb9b601f372..9e9d187e99f0c5 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-08-25 +date: 2023-08-28 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 fc5c13abdbba1b..3661f0be02f85c 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 2954c85fadc676..79a18388225f3e 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-08-25 +date: 2023-08-28 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 42ce63a81cecbd..a53247a25e951b 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-08-25 +date: 2023-08-28 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 bf42590dd0b5a5..22fd762ce0d5d4 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-08-25 +date: 2023-08-28 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 46710e047480e5..c4646d2838f4e2 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-08-25 +date: 2023-08-28 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 de8a5f6d53d663..ad6badd31b87f7 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-08-25 +date: 2023-08-28 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 2ed017981c9f23..96c0e4200229c5 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-08-25 +date: 2023-08-28 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 48c4cec4075d78..62e42d48bb637b 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-08-25 +date: 2023-08-28 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 b033c3a53d4257..a5294ce5dc851b 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-08-25 +date: 2023-08-28 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 7d5dc34f1d02da..cd9f852e66e049 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-08-25 +date: 2023-08-28 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 47368bbfdadc58..935d782e0a2904 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-08-25 +date: 2023-08-28 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 241ffb062cc55f..17a5ac41bbb338 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-08-25 +date: 2023-08-28 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 22c5c2a4408a89..d1a17c8e996673 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-08-25 +date: 2023-08-28 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 8948dd6063c0a2..50e788fdbf4d86 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.devdocs.json b/api_docs/security.devdocs.json index f948514fa2fae8..cb7f0176a308f1 100644 --- a/api_docs/security.devdocs.json +++ b/api_docs/security.devdocs.json @@ -3210,10 +3210,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/server/routes/annotations.ts" }, - { - "plugin": "logstash", - "path": "x-pack/plugins/logstash/server/routes/pipeline/save.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/request_context_factory.ts" @@ -3238,6 +3234,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/open_close_signals_route.ts" }, + { + "plugin": "logstash", + "path": "x-pack/plugins/logstash/server/routes/pipeline/save.ts" + }, { "plugin": "cloudChat", "path": "x-pack/plugins/cloud_integrations/cloud_chat/server/routes/chat.ts" @@ -3278,6 +3278,10 @@ "plugin": "ml", "path": "x-pack/plugins/ml/server/saved_objects/initialization/initialization.ts" }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/request_handler_context.ts" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/server/saved_objects/sync_task.ts" @@ -3290,10 +3294,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/server/plugin.ts" }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/server/request_handler_context.ts" - }, { "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/server/lib/check_access.ts" diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 1b9c037ce3c432..0cf9f8f2a49c7e 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.devdocs.json b/api_docs/security_solution.devdocs.json index 06c2a37f3aa10f..e9b4ad63731a27 100644 --- a/api_docs/security_solution.devdocs.json +++ b/api_docs/security_solution.devdocs.json @@ -1845,6 +1845,38 @@ ], "returnComment": [] }, + { + "parentPluginId": "securitySolution", + "id": "def-public.PluginStart.setIsILMAvailable", + "type": "Function", + "tags": [], + "label": "setIsILMAvailable", + "description": [], + "signature": [ + "(isILMAvailable: boolean) => void" + ], + "path": "x-pack/plugins/security_solution/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-public.PluginStart.setIsILMAvailable.$1", + "type": "boolean", + "tags": [], + "label": "isILMAvailable", + "description": [], + "signature": [ + "boolean" + ], + "path": "x-pack/plugins/security_solution/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "securitySolution", "id": "def-public.PluginStart.setIsSidebarEnabled", diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index 646262b37394e5..07327a83ece61a 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.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 | |-------------------|-----------|------------------------|-----------------| -| 175 | 3 | 109 | 34 | +| 177 | 3 | 111 | 34 | ## Client diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 24c320bb974686..4611939fe81672 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-08-25 +date: 2023-08-28 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 3a2e09c3907595..b48883227f8e61 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-08-25 +date: 2023-08-28 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 d68901ea0c0f71..8b33bc3230e993 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-08-25 +date: 2023-08-28 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 1987d17a2c900f..d7daf23a20a6f8 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-08-25 +date: 2023-08-28 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 5c1d16722bbcf1..9a3d8b1b2ab141 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-08-25 +date: 2023-08-28 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 22df76f7b38935..aa8fb52c9d3b08 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-08-25 +date: 2023-08-28 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 b99e543ef33626..ac0cccd2adfce2 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-08-25 +date: 2023-08-28 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 7f02eaea405d09..a481bc695f2add 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-08-25 +date: 2023-08-28 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 758bae39e50959..0ebfed11922280 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-08-25 +date: 2023-08-28 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 059af7d3752bf1..8dfc7a76db728b 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-08-25 +date: 2023-08-28 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 8bb7c1b781dc20..167c3f2ae6129c 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-08-25 +date: 2023-08-28 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 db42b4af1f2282..688089acc6d5f6 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-08-25 +date: 2023-08-28 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 d80a29ac659e35..da7dcbe2546ecf 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-08-25 +date: 2023-08-28 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 b28c18ff3ba2c2..a171af464f0e44 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-08-25 +date: 2023-08-28 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 688f7a4d4c8e86..8898b48a648fe9 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-08-25 +date: 2023-08-28 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 1f0fbe90cd7d16..72bd0937044b8d 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-08-25 +date: 2023-08-28 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 96cf8bcd39fe52..59807b0f6bfa64 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-08-25 +date: 2023-08-28 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 0b42ac72efef6f..97fbd6d87a35da 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.devdocs.json b/api_docs/timelines.devdocs.json index 747cc36b3cd4bf..bca1001561f09c 100644 --- a/api_docs/timelines.devdocs.json +++ b/api_docs/timelines.devdocs.json @@ -1377,30 +1377,6 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts" @@ -1437,6 +1413,30 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx" }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx" @@ -4273,34 +4273,6 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/index.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/index.tsx" - }, - { - "plugin": "@kbn/securitysolution-data-table", - "path": "x-pack/packages/security-solution/data_table/components/data_table/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts" @@ -4453,6 +4425,34 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/mock.ts" }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/index.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/index.tsx" + }, + { + "plugin": "@kbn/securitysolution-data-table", + "path": "x-pack/packages/security-solution/data_table/components/data_table/index.tsx" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/store/sourcerer/model.ts" @@ -4749,14 +4749,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/left/context.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/flyout/right/hooks/use_prevalence.tsx" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/flyout/right/hooks/use_prevalence.tsx" - }, { "plugin": "@kbn/securitysolution-data-table", "path": "x-pack/packages/security-solution/data_table/mock/mock_source.ts" diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 9bd1db7a18fac6..c8dcc87ed8e561 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-08-25 +date: 2023-08-28 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 2b2c7b71e89476..a8a64b67f98cf4 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-08-25 +date: 2023-08-28 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 e215219abfae9f..7d45856119d21c 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-08-25 +date: 2023-08-28 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 ae3d2c419aed21..829f7ce6cb4e96 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-08-25 +date: 2023-08-28 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 6fd6835cb5a408..a4bcd288b21ae1 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index b63fd550e8b193..4c27a5fd878eac 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-08-25 +date: 2023-08-28 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 3b901ba0a28bf0..c7f9c3fc727795 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-08-25 +date: 2023-08-28 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 0d15470f23da26..126d2216474a31 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-08-25 +date: 2023-08-28 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 9d4640738bee90..cd213fb77faefc 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-08-25 +date: 2023-08-28 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 bbe42b8284cba8..ab1ac62bd115b4 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-08-25 +date: 2023-08-28 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 35ca8ac3ec44a0..34bda306357624 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-08-25 +date: 2023-08-28 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 c8ca9c0888b29e..5387d08ff66fab 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-08-25 +date: 2023-08-28 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 c61bb2591eba96..af898492cb68e3 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-08-25 +date: 2023-08-28 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 a0048c0eb17df1..846b481b72a606 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-08-25 +date: 2023-08-28 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 81af7c7c1b06f1..48552ad33a02ac 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-08-25 +date: 2023-08-28 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 3caaa0a1403c2b..7d75a8bea68540 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-08-25 +date: 2023-08-28 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 5f448058d7c09f..887c7162168bfa 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-08-25 +date: 2023-08-28 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 27a0ad6de6f52c..18b79e475f91ed 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-08-25 +date: 2023-08-28 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 ac14d2c13787fc..568224480bbf64 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-08-25 +date: 2023-08-28 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 9f286a21331c33..17df71793f6a87 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-08-25 +date: 2023-08-28 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 37d1c461f3c27a..4d3ba5f0554cc7 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-08-25 +date: 2023-08-28 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 46ae3968f0fdfd..ee2f8ed47c9011 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-08-25 +date: 2023-08-28 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 b2f645e13aea52..7459f49a6d2ff9 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-08-25 +date: 2023-08-28 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/docs/api/saved-objects/bulk_create.asciidoc b/docs/api/saved-objects/bulk_create.asciidoc index 9639a70d4387b8..bde9b7861183f3 100644 --- a/docs/api/saved-objects/bulk_create.asciidoc +++ b/docs/api/saved-objects/bulk_create.asciidoc @@ -8,6 +8,12 @@ deprecated::[8.7.0, To be removed in an upcoming version] Create multiple {kib} saved objects. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-bulk-create-request]] ==== Request diff --git a/docs/api/saved-objects/bulk_delete.asciidoc b/docs/api/saved-objects/bulk_delete.asciidoc index 9a06cb7ea9f9de..dc1c218467a650 100644 --- a/docs/api/saved-objects/bulk_delete.asciidoc +++ b/docs/api/saved-objects/bulk_delete.asciidoc @@ -10,6 +10,12 @@ Remove multiple {kib} saved objects. WARNING: Once you delete a saved object, _it cannot be recovered_. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + ==== Request `POST :/api/saved_objects/_bulk_delete` diff --git a/docs/api/saved-objects/bulk_get.asciidoc b/docs/api/saved-objects/bulk_get.asciidoc index 78e1a1e60ca25b..9807d7b499400e 100644 --- a/docs/api/saved-objects/bulk_get.asciidoc +++ b/docs/api/saved-objects/bulk_get.asciidoc @@ -8,6 +8,12 @@ deprecated::[8.7.0, To be removed in an upcoming version] Retrieve multiple {kib} saved objects by ID. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-bulk-get-request]] ==== Request diff --git a/docs/api/saved-objects/bulk_resolve.asciidoc b/docs/api/saved-objects/bulk_resolve.asciidoc index 637e268f49cbfb..6908b0f7b7dd08 100644 --- a/docs/api/saved-objects/bulk_resolve.asciidoc +++ b/docs/api/saved-objects/bulk_resolve.asciidoc @@ -12,6 +12,12 @@ Under certain circumstances, when Kibana is upgraded, saved object migrations ma features. When an object's ID is regenerated, a legacy URL alias is created for that object, preserving its old ID. In such a scenario, that object can be retrieved via the Bulk Resolve API using either its new ID or its old ID. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-bulk-resolve-request]] ==== Request diff --git a/docs/api/saved-objects/bulk_update.asciidoc b/docs/api/saved-objects/bulk_update.asciidoc index 529f9bbb406aa7..dfc16f87c9d4c2 100644 --- a/docs/api/saved-objects/bulk_update.asciidoc +++ b/docs/api/saved-objects/bulk_update.asciidoc @@ -8,6 +8,12 @@ deprecated::[8.7.0, To be removed in an upcoming version] Update the attributes for multiple existing {kib} saved objects. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-bulk-update-request]] ==== Request diff --git a/docs/api/saved-objects/create.asciidoc b/docs/api/saved-objects/create.asciidoc index e955cbf61693c6..7e26a329fb54dc 100644 --- a/docs/api/saved-objects/create.asciidoc +++ b/docs/api/saved-objects/create.asciidoc @@ -8,6 +8,12 @@ deprecated::[8.7.0, To be removed in an upcoming version] Create {kib} saved objects. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-create-request]] ==== Request diff --git a/docs/api/saved-objects/delete.asciidoc b/docs/api/saved-objects/delete.asciidoc index d0830a8002eb6b..565d684757495c 100644 --- a/docs/api/saved-objects/delete.asciidoc +++ b/docs/api/saved-objects/delete.asciidoc @@ -10,6 +10,12 @@ Remove {kib} saved objects. WARNING: Once you delete a saved object, _it cannot be recovered_. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-delete-request]] ==== Request diff --git a/docs/api/saved-objects/find.asciidoc b/docs/api/saved-objects/find.asciidoc index 12955c807c299c..8efc20cb11a909 100644 --- a/docs/api/saved-objects/find.asciidoc +++ b/docs/api/saved-objects/find.asciidoc @@ -8,6 +8,12 @@ deprecated::[8.7.0, To be removed in an upcoming version] Retrieve a paginated set of {kib} saved objects by various conditions. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-find-request]] ==== Request diff --git a/docs/api/saved-objects/get.asciidoc b/docs/api/saved-objects/get.asciidoc index 7f375994d98ded..2e7a5f949832b2 100644 --- a/docs/api/saved-objects/get.asciidoc +++ b/docs/api/saved-objects/get.asciidoc @@ -8,6 +8,12 @@ deprecated::[8.7.0, To be removed in an upcoming version] Retrieve a single {kib} saved object by ID. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-get-request]] ==== Request diff --git a/docs/api/saved-objects/resolve.asciidoc b/docs/api/saved-objects/resolve.asciidoc index 9fec2b1724f775..7d9176145fbcc9 100644 --- a/docs/api/saved-objects/resolve.asciidoc +++ b/docs/api/saved-objects/resolve.asciidoc @@ -12,6 +12,12 @@ Under certain circumstances, when Kibana is upgraded, saved object migrations ma features. When an object's ID is regenerated, a legacy URL alias is created for that object, preserving its old ID. In such a scenario, that object can be retrieved via the Resolve API using either its new ID or its old ID. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-resolve-request]] ==== Request diff --git a/docs/api/saved-objects/resolve_import_errors.asciidoc b/docs/api/saved-objects/resolve_import_errors.asciidoc index ca156900390dc4..7092ce20e01d31 100644 --- a/docs/api/saved-objects/resolve_import_errors.asciidoc +++ b/docs/api/saved-objects/resolve_import_errors.asciidoc @@ -14,6 +14,12 @@ To resolve errors, you can: * Change references to different saved objects +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-resolve-import-errors-request]] ==== Request diff --git a/docs/api/saved-objects/rotate_encryption_key.asciidoc b/docs/api/saved-objects/rotate_encryption_key.asciidoc index efc57ddb4308d6..8b45ee71755992 100644 --- a/docs/api/saved-objects/rotate_encryption_key.asciidoc +++ b/docs/api/saved-objects/rotate_encryption_key.asciidoc @@ -7,6 +7,12 @@ experimental[] Rotate the encryption key for encrypted saved objects. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + If a saved object cannot be decrypted using the primary encryption key, then {kib} will attempt to decrypt it using the specified <>. In most of the cases this overhead is negligible, but if you're dealing with a large number of saved objects and experiencing performance issues, you may want to rotate the encryption key. [IMPORTANT] diff --git a/docs/api/saved-objects/update.asciidoc b/docs/api/saved-objects/update.asciidoc index bc99e264db122d..28e8956edb5286 100644 --- a/docs/api/saved-objects/update.asciidoc +++ b/docs/api/saved-objects/update.asciidoc @@ -8,6 +8,12 @@ deprecated::[8.7.0, To be removed in an upcoming version] Update the attributes for existing {kib} saved objects. +[NOTE] +==== +For the most up-to-date API details, refer to the +{kib-repo}/tree/{branch}/packages/core/saved-objects/docs/openapi[open API specification]. +==== + [[saved-objects-api-update-request]] ==== Request diff --git a/fleet_packages.json b/fleet_packages.json index e902be45dda44f..3570b649fb2d68 100644 --- a/fleet_packages.json +++ b/fleet_packages.json @@ -24,7 +24,7 @@ [ { "name": "apm", - "version": "8.11.0-preview-1692605695", + "version": "8.11.0-preview-1692980426", "forceAlignStackVersion": true, "allowSyncToPrerelease": true }, diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/index.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/index.ts index 48b54addb7d95e..3d81cebf9dc856 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/index.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/index.ts @@ -29,4 +29,5 @@ export { export { CoreElasticsearchRouteHandlerContext } from './src/elasticsearch_route_handler_context'; export { retryCallCluster, migrationRetryCallCluster } from './src/retry_call_cluster'; export { isInlineScriptingEnabled } from './src/is_scripting_enabled'; +export { getCapabilitiesFromClient } from './src/get_capabilities'; export type { ClusterInfo } from './src/get_cluster_info'; diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.mocks.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.mocks.ts index d04b7dfda2b3e0..3be2c11d3f4b7c 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.mocks.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.mocks.ts @@ -23,3 +23,8 @@ export const isScriptingEnabledMock = jest.fn(); jest.doMock('./is_scripting_enabled', () => ({ isInlineScriptingEnabled: isScriptingEnabledMock, })); + +export const getClusterInfoMock = jest.fn(); +jest.doMock('./get_cluster_info', () => ({ + getClusterInfo$: getClusterInfoMock, +})); diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts index a145da71fab838..c91db5dc8910c9 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts @@ -16,10 +16,14 @@ jest.mock('./version_check/ensure_es_version', () => ({ pollEsNodesVersion: jest.fn(), })); -import { MockClusterClient, isScriptingEnabledMock } from './elasticsearch_service.test.mocks'; +import { + MockClusterClient, + isScriptingEnabledMock, + getClusterInfoMock, +} from './elasticsearch_service.test.mocks'; import type { NodesVersionCompatibility } from './version_check/ensure_es_version'; -import { BehaviorSubject, firstValueFrom } from 'rxjs'; +import { BehaviorSubject, firstValueFrom, of } from 'rxjs'; import { first, concatMap } from 'rxjs/operators'; import { REPO_ROOT } from '@kbn/repo-info'; import { Env } from '@kbn/config'; @@ -81,6 +85,8 @@ beforeEach(() => { isScriptingEnabledMock.mockResolvedValue(true); + getClusterInfoMock.mockReturnValue(of({})); + // @ts-expect-error TS does not get that `pollEsNodesVersion` is mocked pollEsNodesVersionMocked.mockImplementation(pollEsNodesVersionActual); }); @@ -89,6 +95,7 @@ afterEach(async () => { jest.clearAllMocks(); MockClusterClient.mockClear(); isScriptingEnabledMock.mockReset(); + getClusterInfoMock.mockReset(); await elasticsearchService?.stop(); }); diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts index c1396daf1aa66d..38ee9acdfdaf04 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts @@ -21,6 +21,7 @@ import type { InternalHttpServiceSetup } from '@kbn/core-http-server-internal'; import type { UnauthorizedErrorHandler, ElasticsearchClientConfig, + ElasticsearchCapabilities, } from '@kbn/core-elasticsearch-server'; import { ClusterClient, AgentManager } from '@kbn/core-elasticsearch-client-server-internal'; @@ -37,7 +38,8 @@ import { calculateStatus$ } from './status'; import { isValidConnection } from './is_valid_connection'; import { isInlineScriptingEnabled } from './is_scripting_enabled'; import { mergeConfig } from './merge_config'; -import { getClusterInfo$ } from './get_cluster_info'; +import { type ClusterInfo, getClusterInfo$ } from './get_cluster_info'; +import { getElasticsearchCapabilities } from './get_capabilities'; export interface SetupDeps { analytics: AnalyticsServiceSetup; @@ -57,6 +59,7 @@ export class ElasticsearchService private executionContextClient?: IExecutionContext; private esNodesCompatibility$?: Observable; private client?: ClusterClient; + private clusterInfo$?: Observable; private unauthorizedErrorHandler?: UnauthorizedErrorHandler; private agentManager: AgentManager; @@ -104,14 +107,14 @@ export class ElasticsearchService this.esNodesCompatibility$ = esNodesCompatibility$; - const clusterInfo$ = getClusterInfo$(this.client.asInternalUser); - registerAnalyticsContextProvider(deps.analytics, clusterInfo$); + this.clusterInfo$ = getClusterInfo$(this.client.asInternalUser); + registerAnalyticsContextProvider(deps.analytics, this.clusterInfo$); return { legacy: { config$: this.config$, }, - clusterInfo$, + clusterInfo$: this.clusterInfo$, esNodesCompatibility$, status$: calculateStatus$(esNodesCompatibility$), setUnauthorizedErrorHandler: (handler) => { @@ -140,6 +143,8 @@ export class ElasticsearchService } }); + let capabilities: ElasticsearchCapabilities; + if (!config.skipStartupConnectionCheck) { // Ensure that the connection is established and the product is valid before moving on await isValidConnection(this.esNodesCompatibility$); @@ -155,11 +160,21 @@ export class ElasticsearchService 'Refer to https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting-security.html for more info.' ); } + + capabilities = getElasticsearchCapabilities({ + clusterInfo: await firstValueFrom(this.clusterInfo$!), + }); + } else { + // skipStartupConnectionCheck is only used for unit testing, we default to base capabilities + capabilities = { + serverless: false, + }; } return { client: this.client!, createClient: (type, clientConfig) => this.createClusterClient(type, config, clientConfig), + getCapabilities: () => capabilities, }; } diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_capabilities.test.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_capabilities.test.ts new file mode 100644 index 00000000000000..4d01aa4e918076 --- /dev/null +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_capabilities.test.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 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 { getElasticsearchCapabilities } from './get_capabilities'; +import type { ClusterInfo } from './get_cluster_info'; + +describe('getElasticsearchCapabilities', () => { + const getClusterInfo = (parts: Partial): ClusterInfo => ({ + cluster_name: 'cluster_name', + cluster_uuid: 'uuid', + cluster_version: '13.42.9000', + cluster_build_flavor: 'default', + ...parts, + }); + + describe('capabilities.serverless', () => { + it('is `true` when `build_flavor` is `serverless`', () => { + expect( + getElasticsearchCapabilities({ + clusterInfo: getClusterInfo({ cluster_build_flavor: 'serverless' }), + }) + ).toEqual( + expect.objectContaining({ + serverless: true, + }) + ); + }); + + it('is `false` when `build_flavor` is `default`', () => { + expect( + getElasticsearchCapabilities({ + clusterInfo: getClusterInfo({ cluster_build_flavor: 'default' }), + }) + ).toEqual( + expect.objectContaining({ + serverless: false, + }) + ); + }); + + it('is `false` when `build_flavor` is a random string', () => { + expect( + getElasticsearchCapabilities({ + clusterInfo: getClusterInfo({ cluster_build_flavor: 'some totally random string' }), + }) + ).toEqual( + expect.objectContaining({ + serverless: false, + }) + ); + }); + }); +}); diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_capabilities.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_capabilities.ts new file mode 100644 index 00000000000000..785ccc83d96197 --- /dev/null +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_capabilities.ts @@ -0,0 +1,40 @@ +/* + * Copyright 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 { firstValueFrom } from 'rxjs'; +import type { + ElasticsearchCapabilities, + ElasticsearchClient, +} from '@kbn/core-elasticsearch-server'; +import { type ClusterInfo, getClusterInfo$ } from './get_cluster_info'; + +const SERVERLESS_BUILD_FLAVOR = 'serverless'; + +export const getElasticsearchCapabilities = ({ + clusterInfo, +}: { + clusterInfo: ClusterInfo; +}): ElasticsearchCapabilities => { + const buildFlavor = clusterInfo.cluster_build_flavor; + + return { + serverless: buildFlavor === SERVERLESS_BUILD_FLAVOR, + }; +}; + +/** + * Returns the capabilities for the ES cluster the provided client is connected to. + * + * @internal + */ +export const getCapabilitiesFromClient = async ( + client: ElasticsearchClient +): Promise => { + const clusterInfo = await firstValueFrom(getClusterInfo$(client)); + return getElasticsearchCapabilities({ clusterInfo }); +}; diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_cluster_info.test.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_cluster_info.test.ts index 100fac8e1197b2..2bd8f2828544ba 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_cluster_info.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_cluster_info.test.ts @@ -21,7 +21,7 @@ describe('getClusterInfo', () => { number: '1.2.3', lucene_version: '1.2.3', build_date: 'DateString', - build_flavor: 'string', + build_flavor: 'default', build_hash: 'string', build_snapshot: true, build_type: 'string', @@ -39,6 +39,7 @@ describe('getClusterInfo', () => { const context$ = getClusterInfo$(internalClient); await expect(firstValueFrom(context$)).resolves.toMatchInlineSnapshot(` Object { + "cluster_build_flavor": "default", "cluster_name": "cluster-name", "cluster_uuid": "cluster_uuid", "cluster_version": "1.2.3", @@ -52,6 +53,7 @@ describe('getClusterInfo', () => { const context$ = getClusterInfo$(internalClient); await expect(firstValueFrom(context$)).resolves.toMatchInlineSnapshot(` Object { + "cluster_build_flavor": "default", "cluster_name": "cluster-name", "cluster_uuid": "cluster_uuid", "cluster_version": "1.2.3", @@ -65,6 +67,7 @@ describe('getClusterInfo', () => { const context$ = getClusterInfo$(internalClient); await expect(firstValueFrom(context$)).resolves.toMatchInlineSnapshot(` Object { + "cluster_build_flavor": "default", "cluster_name": "cluster-name", "cluster_uuid": "cluster_uuid", "cluster_version": "1.2.3", @@ -72,6 +75,7 @@ describe('getClusterInfo', () => { `); await expect(firstValueFrom(context$)).resolves.toMatchInlineSnapshot(` Object { + "cluster_build_flavor": "default", "cluster_name": "cluster-name", "cluster_uuid": "cluster_uuid", "cluster_version": "1.2.3", diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_cluster_info.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_cluster_info.ts index 96ef87430048c0..a11365feef7391 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_cluster_info.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/get_cluster_info.ts @@ -15,6 +15,7 @@ export interface ClusterInfo { cluster_name: string; cluster_uuid: string; cluster_version: string; + cluster_build_flavor: string; } /** @@ -28,6 +29,7 @@ export function getClusterInfo$(internalClient: ElasticsearchClient): Observable cluster_name: info.cluster_name, cluster_uuid: info.cluster_uuid, cluster_version: info.version.number, + cluster_build_flavor: info.version.build_flavor, })), retry({ delay: 1000 }), shareReplay(1) diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/register_analytics_context_provider.test.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/register_analytics_context_provider.test.ts index b041586cf1903a..057299c58165ed 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/register_analytics_context_provider.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/register_analytics_context_provider.test.ts @@ -21,11 +21,17 @@ describe('registerAnalyticsContextProvider', () => { test('it provides the context', async () => { registerAnalyticsContextProvider( analyticsMock, - of({ cluster_name: 'cluster-name', cluster_uuid: 'cluster_uuid', cluster_version: '1.2.3' }) + of({ + cluster_name: 'cluster-name', + cluster_uuid: 'cluster_uuid', + cluster_version: '1.2.3', + cluster_build_flavor: 'default', + }) ); const { context$ } = analyticsMock.registerContextProvider.mock.calls[0][0]; await expect(firstValueFrom(context$)).resolves.toMatchInlineSnapshot(` Object { + "cluster_build_flavor": "default", "cluster_name": "cluster-name", "cluster_uuid": "cluster_uuid", "cluster_version": "1.2.3", diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/register_analytics_context_provider.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/register_analytics_context_provider.ts index 9120d48fcb6069..be909f5ba21e55 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/register_analytics_context_provider.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/register_analytics_context_provider.ts @@ -27,6 +27,7 @@ export function registerAnalyticsContextProvider( cluster_name: { type: 'keyword', _meta: { description: 'The Cluster Name' } }, cluster_uuid: { type: 'keyword', _meta: { description: 'The Cluster UUID' } }, cluster_version: { type: 'keyword', _meta: { description: 'The Cluster version' } }, + cluster_build_flavor: { type: 'keyword', _meta: { description: 'The Cluster build flavor' } }, }, }); } diff --git a/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts b/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts index 4cfb3ecc45c32e..88016464a28484 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts @@ -18,7 +18,9 @@ import { import type { ElasticsearchClientConfig, ElasticsearchServiceSetup, + ElasticsearchServiceStart, ElasticsearchServicePreboot, + ElasticsearchCapabilities, } from '@kbn/core-elasticsearch-server'; import type { ElasticsearchConfig, @@ -40,12 +42,14 @@ export type MockedElasticSearchServiceSetup = jest.Mocked< }; }; -export interface MockedElasticSearchServiceStart { +export type MockedElasticSearchServiceStart = jest.Mocked< + Omit +> & { client: ClusterClientMock; createClient: jest.MockedFunction< (type: string, config?: Partial) => CustomClusterClientMock >; -} +}; const createPrebootContractMock = () => { const prebootContract: MockedElasticSearchServicePreboot = { @@ -69,6 +73,7 @@ const createStartContractMock = () => { const startContract: MockedElasticSearchServiceStart = { client: elasticsearchClientMock.createClusterClient(), createClient: jest.fn((type: string) => elasticsearchClientMock.createCustomClusterClient()), + getCapabilities: jest.fn().mockReturnValue(createCapabilities()), }; return startContract; }; @@ -90,6 +95,7 @@ const createInternalSetupContractMock = () => { cluster_uuid: 'cluster-uuid', cluster_name: 'cluster-name', cluster_version: '8.0.0', + cluster_build_flavor: 'default', }), status$: new BehaviorSubject>({ level: ServiceStatusLevels.available, @@ -117,6 +123,15 @@ const createMock = () => { return mocked; }; +const createCapabilities = ( + parts: Partial = {} +): ElasticsearchCapabilities => { + return { + serverless: false, + ...parts, + }; +}; + export const elasticsearchServiceMock = { create: createMock, createInternalPreboot: createInternalPrebootContractMock, @@ -125,6 +140,7 @@ export const elasticsearchServiceMock = { createSetup: createSetupContractMock, createInternalStart: createInternalStartContractMock, createStart: createStartContractMock, + createCapabilities, ...elasticsearchClientMock, }; diff --git a/packages/core/elasticsearch/core-elasticsearch-server/index.ts b/packages/core/elasticsearch/core-elasticsearch-server/index.ts index da71ac13c8ac04..86d679ec689bcd 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server/index.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server/index.ts @@ -30,6 +30,7 @@ export type { ElasticsearchServicePreboot, ElasticsearchServiceStart, ElasticsearchServiceSetup, + ElasticsearchCapabilities, } from './src/contracts'; export type { IElasticsearchConfig, ElasticsearchSslConfig } from './src/elasticsearch_config'; export type { ElasticsearchRequestHandlerContext } from './src/request_handler_context'; diff --git a/packages/core/elasticsearch/core-elasticsearch-server/src/contracts.ts b/packages/core/elasticsearch/core-elasticsearch-server/src/contracts.ts index 39fed7cbd28036..fced65ce95c794 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server/src/contracts.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server/src/contracts.ts @@ -126,6 +126,24 @@ export interface ElasticsearchServiceStart { type: string, clientConfig?: Partial ) => ICustomClusterClient; + + /** + * Returns the capabilities for the default cluster. + */ + getCapabilities: () => ElasticsearchCapabilities; +} + +/** + * Represent the capabilities supported by a given ES cluster. + * + * @public + */ +export interface ElasticsearchCapabilities { + /** + * Indicates whether we're connected to a serverless version of elasticsearch. + * Required because some options aren't working for serverless and code needs to have the info to react accordingly. + */ + serverless: boolean; } /** diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts b/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts index abd607141b4a47..939e34ab0968ef 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugin_context.ts @@ -302,6 +302,7 @@ export function createPluginStartContext( elasticsearch: { client: deps.elasticsearch.client, createClient: deps.elasticsearch.createClient, + getCapabilities: deps.elasticsearch.getCapabilities, }, executionContext: deps.executionContext, http: { diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugins_system.test.ts b/packages/core/plugins/core-plugins-server-internal/src/plugins_system.test.ts index f949d039eb0ce4..701792f24bc35c 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugins_system.test.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugins_system.test.ts @@ -202,6 +202,7 @@ test('correctly orders plugins and returns exposed values for "setup" and "start setup: Record; start: Record; } + const plugins = new Map([ [ createPlugin('order-4', { required: ['order-2'] }), @@ -754,6 +755,70 @@ describe('stop', () => { jest.useRealTimers(); }); + const nextTick = () => new Promise((resolve) => setImmediate(resolve)); + + it('stops all plugins', async () => { + const [plugin1, plugin2, plugin3] = [ + createPlugin('plugin-1'), + createPlugin('plugin-2'), + createPlugin('plugin-3'), + ].map((plugin, index) => { + jest.spyOn(plugin, 'setup').mockResolvedValue(`setup-as-${index}`); + jest.spyOn(plugin, 'start').mockResolvedValue(`started-as-${index}`); + pluginsSystem.addPlugin(plugin); + return plugin; + }); + + const stopSpy1 = jest.spyOn(plugin1, 'stop').mockImplementationOnce(() => Promise.resolve()); + const stopSpy2 = jest.spyOn(plugin2, 'stop').mockImplementationOnce(() => Promise.resolve()); + const stopSpy3 = jest.spyOn(plugin3, 'stop').mockImplementationOnce(() => Promise.resolve()); + + mockCreatePluginSetupContext.mockImplementation(() => ({})); + + await pluginsSystem.setupPlugins(setupDeps); + const stopPromise = pluginsSystem.stopPlugins(); + + await nextTick(); + jest.runAllTimers(); + + await stopPromise; + + expect(stopSpy1).toHaveBeenCalledTimes(1); + expect(stopSpy2).toHaveBeenCalledTimes(1); + expect(stopSpy3).toHaveBeenCalledTimes(1); + }); + + it('stops plugins in the correct order', async () => { + // stop order: 3 => 1 => 2 + const [plugin1, plugin2, plugin3] = [ + createPlugin('plugin-1', { required: ['plugin-2'] }), + createPlugin('plugin-2'), + createPlugin('plugin-3', { required: ['plugin-1', 'plugin-2'] }), + ].map((plugin, index) => { + jest.spyOn(plugin, 'setup').mockResolvedValue(`setup-as-${index}`); + jest.spyOn(plugin, 'start').mockResolvedValue(`started-as-${index}`); + pluginsSystem.addPlugin(plugin); + return plugin; + }); + + const stopSpy1 = jest.spyOn(plugin1, 'stop').mockImplementationOnce(() => Promise.resolve()); + const stopSpy2 = jest.spyOn(plugin2, 'stop').mockImplementationOnce(() => Promise.resolve()); + const stopSpy3 = jest.spyOn(plugin3, 'stop').mockImplementationOnce(() => Promise.resolve()); + + mockCreatePluginSetupContext.mockImplementation(() => ({})); + + await pluginsSystem.setupPlugins(setupDeps); + const stopPromise = pluginsSystem.stopPlugins(); + + await nextTick(); + jest.runAllTimers(); + + await stopPromise; + + expect(stopSpy3.mock.invocationCallOrder[0]).toBeLessThan(stopSpy1.mock.invocationCallOrder[0]); + expect(stopSpy1.mock.invocationCallOrder[0]).toBeLessThan(stopSpy2.mock.invocationCallOrder[0]); + }); + it('waits for 30 sec to finish "stop" and move on to the next plugin.', async () => { const [plugin1, plugin2] = [createPlugin('timeout-stop-1'), createPlugin('timeout-stop-2')].map( (plugin, index) => { @@ -774,8 +839,11 @@ describe('stop', () => { await pluginsSystem.setupPlugins(setupDeps); const stopPromise = pluginsSystem.stopPlugins(); + await nextTick(); jest.runAllTimers(); + await stopPromise; + expect(stopSpy1).toHaveBeenCalledTimes(1); expect(stopSpy2).toHaveBeenCalledTimes(1); @@ -785,4 +853,42 @@ describe('stop', () => { ]) ); }); + + it('logs a message if a plugin fails top stop', async () => { + // stop order: 3 => 1 => 2 + const [plugin1, plugin2, plugin3] = [ + createPlugin('plugin-1', { required: ['plugin-2'] }), + createPlugin('plugin-2'), + createPlugin('plugin-3', { required: ['plugin-1', 'plugin-2'] }), + ].map((plugin, index) => { + jest.spyOn(plugin, 'setup').mockResolvedValue(`setup-as-${index}`); + jest.spyOn(plugin, 'start').mockResolvedValue(`started-as-${index}`); + pluginsSystem.addPlugin(plugin); + return plugin; + }); + + const stopSpy1 = jest + .spyOn(plugin1, 'stop') + .mockImplementationOnce(() => Promise.reject('woups')); + const stopSpy2 = jest.spyOn(plugin2, 'stop').mockImplementationOnce(() => Promise.resolve()); + const stopSpy3 = jest.spyOn(plugin3, 'stop').mockImplementationOnce(() => Promise.resolve()); + + mockCreatePluginSetupContext.mockImplementation(() => ({})); + + await pluginsSystem.setupPlugins(setupDeps); + const stopPromise = pluginsSystem.stopPlugins(); + + await nextTick(); + jest.runAllTimers(); + + await stopPromise; + + expect(stopSpy1).toHaveBeenCalledTimes(1); + expect(stopSpy2).toHaveBeenCalledTimes(1); + expect(stopSpy3).toHaveBeenCalledTimes(1); + + expect(loggingSystemMock.collect(logger).warn.flat()).toEqual( + expect.arrayContaining([`"plugin-1" thrown during stop: woups`]) + ); + }); }); diff --git a/packages/core/plugins/core-plugins-server-internal/src/plugins_system.ts b/packages/core/plugins/core-plugins-server-internal/src/plugins_system.ts index d7c4df71dd4fce..35e77e84381fd5 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/plugins_system.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/plugins_system.ts @@ -224,21 +224,38 @@ export class PluginsSystem { this.log.info(`Stopping all plugins.`); - // Stop plugins in the reverse order of when they were set up. - while (this.satupPlugins.length > 0) { - const pluginName = this.satupPlugins.pop()!; - - this.log.debug(`Stopping plugin "${pluginName}"...`); + const reverseDependencyMap = buildReverseDependencyMap(this.plugins); + const pluginStopPromiseMap = new Map>(); + for (let i = this.satupPlugins.length - 1; i > -1; i--) { + const pluginName = this.satupPlugins[i]; + const plugin = this.plugins.get(pluginName)!; + const pluginDependant = reverseDependencyMap.get(pluginName)!; + const dependantPromises = pluginDependant.map( + (dependantName) => pluginStopPromiseMap.get(dependantName)! + ); - const resultMaybe = await withTimeout({ - promise: this.plugins.get(pluginName)!.stop(), - timeoutMs: 30 * Sec, + // Stop plugin as soon as all the dependant plugins are stopped. + const pluginStopPromise = Promise.all(dependantPromises).then(async () => { + this.log.debug(`Stopping plugin "${pluginName}"...`); + + try { + const resultMaybe = await withTimeout({ + promise: plugin.stop(), + timeoutMs: 30 * Sec, + }); + if (resultMaybe?.timedout) { + this.log.warn(`"${pluginName}" plugin didn't stop in 30sec., move on to the next.`); + } + } catch (e) { + this.log.warn(`"${pluginName}" thrown during stop: ${e}`); + } }); - - if (resultMaybe?.timedout) { - this.log.warn(`"${pluginName}" plugin didn't stop in 30sec., move on to the next.`); - } + pluginStopPromiseMap.set(pluginName, pluginStopPromise); } + + await Promise.allSettled(pluginStopPromiseMap.values()); + + this.log.info(`All plugins stopped.`); } /** @@ -334,3 +351,23 @@ export class PluginsSystem { return sortedPluginNames; } } + +const buildReverseDependencyMap = ( + pluginMap: Map +): Map => { + const reverseMap = new Map(); + for (const pluginName of pluginMap.keys()) { + reverseMap.set(pluginName, []); + } + for (const [pluginName, pluginWrapper] of pluginMap.entries()) { + const allDependencies = [...pluginWrapper.requiredPlugins, ...pluginWrapper.optionalPlugins]; + for (const dependency of allDependencies) { + // necessary to evict non-present optional dependency + if (pluginMap.has(dependency)) { + reverseMap.get(dependency)!.push(pluginName); + } + } + reverseMap.set(pluginName, []); + } + return reverseMap; +}; diff --git a/packages/core/rendering/core-rendering-server-internal/src/__snapshots__/rendering_service.test.ts.snap b/packages/core/rendering/core-rendering-server-internal/src/__snapshots__/rendering_service.test.ts.snap index 3428f9842d44f7..6316dc056563cc 100644 --- a/packages/core/rendering/core-rendering-server-internal/src/__snapshots__/rendering_service.test.ts.snap +++ b/packages/core/rendering/core-rendering-server-internal/src/__snapshots__/rendering_service.test.ts.snap @@ -519,6 +519,7 @@ Object { "branch": Any, "buildNumber": Any, "clusterInfo": Object { + "cluster_build_flavor": "default", "cluster_name": "cluster-name", "cluster_uuid": "cluster-uuid", "cluster_version": "8.0.0", @@ -590,6 +591,7 @@ Object { "branch": Any, "buildNumber": Any, "clusterInfo": Object { + "cluster_build_flavor": "default", "cluster_name": "cluster-name", "cluster_uuid": "cluster-uuid", "cluster_version": "8.0.0", @@ -720,6 +722,7 @@ Object { "branch": Any, "buildNumber": Any, "clusterInfo": Object { + "cluster_build_flavor": "default", "cluster_name": "cluster-name", "cluster_uuid": "cluster-uuid", "cluster_version": "8.0.0", @@ -791,6 +794,7 @@ Object { "branch": Any, "buildNumber": Any, "clusterInfo": Object { + "cluster_build_flavor": "default", "cluster_name": "cluster-name", "cluster_uuid": "cluster-uuid", "cluster_version": "8.0.0", @@ -858,6 +862,7 @@ Object { "branch": Any, "buildNumber": Any, "clusterInfo": Object { + "cluster_build_flavor": "default", "cluster_name": "cluster-name", "cluster_uuid": "cluster-uuid", "cluster_version": "8.0.0", diff --git a/packages/core/saved-objects/core-saved-objects-api-browser/src/apis/find.ts b/packages/core/saved-objects/core-saved-objects-api-browser/src/apis/find.ts index 8b2b154cb0a718..7dc54a9f6404b7 100644 --- a/packages/core/saved-objects/core-saved-objects-api-browser/src/apis/find.ts +++ b/packages/core/saved-objects/core-saved-objects-api-browser/src/apis/find.ts @@ -25,6 +25,7 @@ export type SavedObjectsFindOptions = Omit< | 'sortOrder' | 'typeToNamespacesMap' | 'migrationVersionCompatibility' + | 'downwardConversion' >; /** diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.ts index 3a135d4b73ce84..f45946add71323 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.ts @@ -65,7 +65,7 @@ export const performBulkGet = async ( const { securityExtension, spacesExtension } = extensions; const namespace = commonHelper.getCurrentNamespace(options.namespace); - const { migrationVersionCompatibility } = options; + const { migrationVersionCompatibility, downwardConversion } = options; if (objects.length === 0) { return { saved_objects: [] }; @@ -204,7 +204,7 @@ export const performBulkGet = async ( const document = getSavedObjectFromSource(registry, type, id, doc, { migrationVersionCompatibility, }); - const migrated = migrationHelper.migrateStorageDocument(document); + const migrated = migrationHelper.migrateStorageDocument(document, { downwardConversion }); return migrated; }), diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.ts index a18b69ec29bf6b..f937f3646ec269 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.ts @@ -10,7 +10,7 @@ import { type SavedObject, BulkResolveError } from '@kbn/core-saved-objects-serv import { SavedObjectsBulkResolveObject, SavedObjectsBulkResolveResponse, - SavedObjectsResolveOptions, + SavedObjectsGetOptions, SavedObjectsResolveResponse, } from '@kbn/core-saved-objects-api-server'; import { errorContent } from './utils'; @@ -20,7 +20,7 @@ import { incrementCounterInternal } from './internals/increment_counter_internal export interface PerformCreateParams { objects: SavedObjectsBulkResolveObject[]; - options: SavedObjectsResolveOptions; + options: SavedObjectsGetOptions; } export const performBulkResolve = async ( @@ -52,7 +52,7 @@ export const performBulkResolve = async ( encryptionExtension, securityExtension, objects, - options: { ...options, namespace }, + options: { ...options, namespace }, // note: Includes downwardConversion?: 'forbid' }); const resolvedObjects = bulkResults.map>((result) => { // extract payloads from saved object errors diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.ts index 3346e6552646af..c46f4c3eda8ea9 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.ts @@ -92,6 +92,7 @@ export const performFind = async ( preference, aggs, migrationVersionCompatibility, + downwardConversion, } = options; if (!type) { @@ -244,7 +245,9 @@ export const performFind = async ( }); // can't migrate a document with partial attributes if (!fields) { - savedObject = migrationHelper.migrateStorageDocument(savedObject) as SavedObject; + savedObject = migrationHelper.migrateStorageDocument(savedObject, { + downwardConversion, + }) as SavedObject; } return { ...savedObject, diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.ts index 215036f29583cd..edc9fdcb8106eb 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.ts @@ -42,7 +42,7 @@ export const performGet = async ( const { securityExtension } = extensions; const namespace = commonHelper.getCurrentNamespace(options.namespace); - const { migrationVersionCompatibility } = options; + const { migrationVersionCompatibility, downwardConversion } = options; if (!allowedTypes.includes(type)) { throw SavedObjectsErrorHelpers.createGenericNotFoundError(type, id); @@ -86,7 +86,9 @@ export const performGet = async ( let migrated: SavedObject; try { - migrated = migrationHelper.migrateStorageDocument(document) as SavedObject; + migrated = migrationHelper.migrateStorageDocument(document, { + downwardConversion, + }) as SavedObject; } catch (error) { throw SavedObjectsErrorHelpers.decorateGeneralError( error, diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/migration.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/migration.ts index c7ae86b1019844..42af825280f4f9 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/migration.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/migration.ts @@ -35,8 +35,17 @@ export class MigrationHelper { * Migrate the given SO document, accepting downgrades. * This function is meant to be used by read APIs (get, find) for documents fetched from the index. * It will therefore accept downgrading the document before returning it from the API. + * + * Note: to opt out of downgrades, use the downwardConversion: 'forbid' API option in READ API operations: + * get, resolve, find, bulk_get, bulk_resolve */ - migrateStorageDocument(document: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc { - return this.migrator.migrateDocument(document, { allowDowngrade: true }); + migrateStorageDocument( + document: SavedObjectUnsanitizedDoc, + options: { downwardConversion?: 'allow' | 'forbid' } + ): SavedObjectUnsanitizedDoc { + return this.migrator.migrateDocument(document, { + allowDowngrade: + options?.downwardConversion && options.downwardConversion === 'forbid' ? false : true, + }); // allowDowngrade conditional on downwardConversion } } diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.ts index 53cb04453555c4..57748b95ef0d5e 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.ts @@ -11,7 +11,7 @@ import type { MgetResponseItem } from '@elastic/elasticsearch/lib/api/typesWithB import { isNotFoundFromUnsupportedServer } from '@kbn/core-elasticsearch-server-internal'; import type { SavedObjectsBulkResolveObject, - SavedObjectsResolveOptions, + SavedObjectsGetOptions, SavedObjectsResolveResponse, SavedObjectsIncrementCounterField, SavedObjectsIncrementCounterOptions, @@ -74,7 +74,7 @@ export interface InternalBulkResolveParams { encryptionExtension: ISavedObjectsEncryptionExtension | undefined; securityExtension: ISavedObjectsSecurityExtension | undefined; objects: SavedObjectsBulkResolveObject[]; - options?: SavedObjectsResolveOptions; + options?: SavedObjectsGetOptions; } /** @@ -120,7 +120,7 @@ export async function internalBulkResolve( const validObjects = allObjects.filter(isRight); const namespace = normalizeNamespace(options.namespace); - const { migrationVersionCompatibility } = options; + const { migrationVersionCompatibility, downwardConversion } = options; const aliasDocs = await fetchAndUpdateAliases( validObjects, @@ -186,8 +186,11 @@ export async function internalBulkResolve( // @ts-expect-error MultiGetHit._source is optional const object = getSavedObjectFromSource(registry, objectType, objectId, doc, { migrationVersionCompatibility, + downwardConversion, }); - const migrated = migrator.migrateDocument(object, { allowDowngrade: true }) as SavedObject; + const migrated = migrator.migrateDocument(object, { + allowDowngrade: downwardConversion && downwardConversion === 'forbid' ? false : true, // 'forbid' => docMigrator throws on when documents have higher model versions than current. + }) as SavedObject; if (!encryptionExtension?.isEncryptableType(migrated.type)) { return migrated; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.ts index 50de4725463443..48d78181ba5712 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.ts @@ -7,7 +7,7 @@ */ import { - SavedObjectsResolveOptions, + SavedObjectsGetOptions, SavedObjectsResolveResponse, } from '@kbn/core-saved-objects-api-server'; import { ApiExecutionContext } from './types'; @@ -17,7 +17,7 @@ import { incrementCounterInternal } from './internals/increment_counter_internal export interface PerformCreateParams { type: string; id: string; - options: SavedObjectsResolveOptions; + options: SavedObjectsGetOptions; } export const performResolve = async ( @@ -51,7 +51,7 @@ export const performResolve = async ( encryptionExtension, securityExtension, objects: [{ type, id }], - options: { ...options, namespace }, + options: { ...options, namespace }, // note: Includes downwardConversion?: 'forbid' }); const [result] = bulkResults; if (isBulkResolveError(result)) { diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.ts index 321c5811ea6d80..beb47219985f4c 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.ts @@ -35,7 +35,6 @@ import type { SavedObjectsClosePointInTimeResponse, ISavedObjectsPointInTimeFinder, SavedObjectsCreatePointInTimeFinderDependencies, - SavedObjectsResolveOptions, SavedObjectsResolveResponse, SavedObjectsCollectMultiNamespaceReferencesObject, SavedObjectsUpdateObjectsSpacesObject, @@ -348,7 +347,7 @@ export class SavedObjectsRepository implements ISavedObjectsRepository { */ async bulkResolve( objects: SavedObjectsBulkResolveObject[], - options: SavedObjectsResolveOptions = {} + options: SavedObjectsGetOptions = {} ): Promise> { return await performBulkResolve( { @@ -383,7 +382,7 @@ export class SavedObjectsRepository implements ISavedObjectsRepository { async resolve( type: string, id: string, - options: SavedObjectsResolveOptions = {} + options: SavedObjectsGetOptions = {} ): Promise> { return await performResolve( { diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/saved_objects_client.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/saved_objects_client.ts index 925caae1061b72..23f014d393ce05 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/saved_objects_client.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/saved_objects_client.ts @@ -31,7 +31,6 @@ import type { SavedObjectsBulkUpdateObject, ISavedObjectsPointInTimeFinder, SavedObjectsCreatePointInTimeFinderDependencies, - SavedObjectsResolveOptions, SavedObjectsResolveResponse, SavedObjectsCollectMultiNamespaceReferencesObject, SavedObjectsUpdateObjectsSpacesObject, @@ -122,7 +121,7 @@ export class SavedObjectsClient implements SavedObjectsClientContract { /** {@inheritDoc SavedObjectsClientContract.bulkResolve} */ async bulkResolve( objects: SavedObjectsBulkResolveObject[], - options?: SavedObjectsResolveOptions + options?: SavedObjectsGetOptions ): Promise> { return await this._repository.bulkResolve(objects, options); } @@ -131,7 +130,7 @@ export class SavedObjectsClient implements SavedObjectsClientContract { async resolve( type: string, id: string, - options: SavedObjectsResolveOptions = {} + options: SavedObjectsGetOptions = {} ): Promise> { return await this._repository.resolve(type, id, options); } diff --git a/packages/core/saved-objects/core-saved-objects-api-server/index.ts b/packages/core/saved-objects/core-saved-objects-api-server/index.ts index a3cb5fa4045a4f..809a8e4f98945e 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/index.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server/index.ts @@ -44,7 +44,6 @@ export type { ISavedObjectsPointInTimeFinder, SavedObjectsCreatePointInTimeFinderDependencies, SavedObjectsPitParams, - SavedObjectsResolveOptions, SavedObjectsResolveResponse, SavedObjectsCollectMultiNamespaceReferencesObject, SavedObjectsUpdateObjectsSpacesResponseObject, diff --git a/packages/core/saved-objects/core-saved-objects-api-server/src/apis/find.ts b/packages/core/saved-objects/core-saved-objects-api-server/src/apis/find.ts index e0e035abea34b8..a6b3c085dcb6ca 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/src/apis/find.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server/src/apis/find.ts @@ -11,7 +11,7 @@ import type { AggregationsAggregationContainer, SortResults, } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import type { SavedObject } from '../..'; +import type { SavedObject, SavedObjectsGetOptions } from '../..'; type KueryNode = any; @@ -153,7 +153,8 @@ export interface SavedObjectsFindOptions { */ pit?: SavedObjectsPitParams; /** {@link SavedObjectsRawDocParseOptions.migrationVersionCompatibility} */ - migrationVersionCompatibility?: 'compatible' | 'raw'; + migrationVersionCompatibility?: SavedObjectsGetOptions['migrationVersionCompatibility']; + downwardConversion?: SavedObjectsGetOptions['downwardConversion']; } /** diff --git a/packages/core/saved-objects/core-saved-objects-api-server/src/apis/get.ts b/packages/core/saved-objects/core-saved-objects-api-server/src/apis/get.ts index 884e7cba4f570e..48a6ecb9b9dd4e 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/src/apis/get.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server/src/apis/get.ts @@ -16,4 +16,5 @@ import { SavedObjectsBaseOptions } from './base'; export interface SavedObjectsGetOptions extends SavedObjectsBaseOptions { /** {@link SavedObjectsRawDocParseOptions.migrationVersionCompatibility} */ migrationVersionCompatibility?: 'compatible' | 'raw'; + downwardConversion?: 'allow' | 'forbid'; } diff --git a/packages/core/saved-objects/core-saved-objects-api-server/src/apis/index.ts b/packages/core/saved-objects/core-saved-objects-api-server/src/apis/index.ts index ab3c3ca12f5724..b01010c100a770 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/src/apis/index.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server/src/apis/index.ts @@ -65,7 +65,7 @@ export type { SavedObjectsRemoveReferencesToOptions, SavedObjectsRemoveReferencesToResponse, } from './remove_references_to'; -export type { SavedObjectsResolveOptions, SavedObjectsResolveResponse } from './resolve'; +export type { SavedObjectsResolveResponse } from './resolve'; export type { SavedObjectsUpdateResponse, SavedObjectsUpdateOptions } from './update'; export type { SavedObjectsUpdateObjectsSpacesObject, diff --git a/packages/core/saved-objects/core-saved-objects-api-server/src/apis/resolve.ts b/packages/core/saved-objects/core-saved-objects-api-server/src/apis/resolve.ts index d32f36bdcce4fc..b15075a67aa0ce 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/src/apis/resolve.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server/src/apis/resolve.ts @@ -6,19 +6,8 @@ * Side Public License, v 1. */ -import { SavedObjectsBaseOptions } from './base'; import type { SavedObject } from '../..'; -/** - * Options for the saved objects get operation - * - * @public - */ -export interface SavedObjectsResolveOptions extends SavedObjectsBaseOptions { - /** {@link SavedObjectsRawDocParseOptions.migrationVersionCompatibility} */ - migrationVersionCompatibility?: 'compatible' | 'raw'; -} - /** * * @public diff --git a/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_client.ts b/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_client.ts index 532c2dc58d9926..b81f5c3b6349f7 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_client.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_client.ts @@ -20,7 +20,6 @@ import type { SavedObjectsUpdateObjectsSpacesOptions, SavedObjectsCollectMultiNamespaceReferencesObject, SavedObjectsUpdateObjectsSpacesResponse, - SavedObjectsResolveOptions, SavedObjectsResolveResponse, ISavedObjectsPointInTimeFinder, SavedObjectsRemoveReferencesToOptions, @@ -217,7 +216,7 @@ export interface SavedObjectsClientContract { * See documentation for `.resolve`. * * @param objects - an array of objects to resolve (contains id and type) - * @param options {@link SavedObjectsResolveOptions} - options for the bulk resolve operation + * @param options {@link SavedObjectsGetOptions} - options for the bulk resolve operation * @returns the {@link SavedObjectsBulkResolveResponse} * @example * @@ -232,7 +231,7 @@ export interface SavedObjectsClientContract { */ bulkResolve( objects: SavedObjectsBulkResolveObject[], - options?: SavedObjectsResolveOptions + options?: SavedObjectsGetOptions ): Promise>; /** @@ -248,13 +247,13 @@ export interface SavedObjectsClientContract { * * @param type - The type of SavedObject to retrieve * @param id - The ID of the SavedObject to retrieve - * @param options {@link SavedObjectsResolveOptions} - options for the resolve operation + * @param options {@link SavedObjectsGetOptions} - options for the resolve operation * @returns the {@link SavedObjectsResolveResponse} */ resolve( type: string, id: string, - options?: SavedObjectsResolveOptions + options?: SavedObjectsGetOptions ): Promise>; /** diff --git a/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts b/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts index dc748e48123adc..85dff61775391d 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts @@ -20,7 +20,6 @@ import type { SavedObjectsUpdateObjectsSpacesOptions, SavedObjectsCollectMultiNamespaceReferencesObject, SavedObjectsUpdateObjectsSpacesResponse, - SavedObjectsResolveOptions, SavedObjectsResolveResponse, ISavedObjectsPointInTimeFinder, SavedObjectsRemoveReferencesToOptions, @@ -201,7 +200,7 @@ export interface ISavedObjectsRepository { * Resolves an array of objects by id, using any legacy URL aliases if they exist * * @param {array} objects - an array of objects containing id, type - * @param {object} [options={}] {@link SavedObjectsResolveOptions} - options for the bulk resolve operation + * @param {object} [options={}] {@link SavedObjectsGetOptions} - options for the bulk resolve operation * @property {string} [options.migrationVersionCompatibility] * @property {string} [options.namespace] * @returns {promise} - { resolved_objects: [{ saved_object, outcome }] } @@ -214,7 +213,7 @@ export interface ISavedObjectsRepository { */ bulkResolve( objects: SavedObjectsBulkResolveObject[], - options?: SavedObjectsResolveOptions + options?: SavedObjectsGetOptions ): Promise>; /** @@ -238,7 +237,7 @@ export interface ISavedObjectsRepository { * * @param {string} type - the type of the object to resolve * @param {string} id - the id of the object to resolve - * @param {object} [options={}] {@link SavedObjectsResolveOptions} - options for the resolve operation + * @param {object} [options={}] {@link SavedObjectsGetOptions} - options for the resolve operation * @property {string} [options.migrationVersionCompatibility] * @property {string} [options.namespace] * @returns {promise} - { saved_object, outcome } @@ -246,7 +245,7 @@ export interface ISavedObjectsRepository { resolve( type: string, id: string, - options?: SavedObjectsResolveOptions + options?: SavedObjectsGetOptions ): Promise>; /** diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap index fffab519cbf3d8..d513177d685bce 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap @@ -25,6 +25,9 @@ Object { "currentAlias": ".my-so-index", "discardCorruptObjects": false, "discardUnknownObjects": false, + "esCapabilities": Object { + "serverless": false, + }, "excludeFromUpgradeFilterHooks": Object {}, "excludeOnUpgradeQuery": Object { "bool": Object { @@ -250,6 +253,9 @@ Object { "currentAlias": ".my-so-index", "discardCorruptObjects": false, "discardUnknownObjects": false, + "esCapabilities": Object { + "serverless": false, + }, "excludeFromUpgradeFilterHooks": Object {}, "excludeOnUpgradeQuery": Object { "bool": Object { @@ -479,6 +485,9 @@ Object { "currentAlias": ".my-so-index", "discardCorruptObjects": false, "discardUnknownObjects": false, + "esCapabilities": Object { + "serverless": false, + }, "excludeFromUpgradeFilterHooks": Object {}, "excludeOnUpgradeQuery": Object { "bool": Object { @@ -712,6 +721,9 @@ Object { "currentAlias": ".my-so-index", "discardCorruptObjects": false, "discardUnknownObjects": false, + "esCapabilities": Object { + "serverless": false, + }, "excludeFromUpgradeFilterHooks": Object {}, "excludeOnUpgradeQuery": Object { "bool": Object { @@ -981,6 +993,9 @@ Object { "currentAlias": ".my-so-index", "discardCorruptObjects": false, "discardUnknownObjects": false, + "esCapabilities": Object { + "serverless": false, + }, "excludeFromUpgradeFilterHooks": Object {}, "excludeOnUpgradeQuery": Object { "bool": Object { @@ -1217,6 +1232,9 @@ Object { "currentAlias": ".my-so-index", "discardCorruptObjects": false, "discardUnknownObjects": false, + "esCapabilities": Object { + "serverless": false, + }, "excludeFromUpgradeFilterHooks": Object {}, "excludeOnUpgradeQuery": Object { "bool": Object { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.test.ts index 49e20d7fc7b393..73cba7294aa63b 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.test.ts @@ -8,8 +8,8 @@ import { errors as EsErrors } from '@elastic/elasticsearch'; import { cloneIndex } from './clone_index'; -import { setWriteBlock } from './set_write_block'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import { catchRetryableEsClientErrors } from './catch_retryable_es_client_errors'; jest.mock('./catch_retryable_es_client_errors'); @@ -36,11 +36,82 @@ describe('cloneIndex', () => { elasticsearchClientMock.createErrorTransportRequestPromise(nonRetryableError) ); + it('calls client.indices.clone with the correct parameter for default ES', async () => { + const statefulCapabilities = elasticsearchServiceMock.createCapabilities({ serverless: false }); + const task = cloneIndex({ + client, + source: 'my_source_index', + target: 'my_target_index', + esCapabilities: statefulCapabilities, + }); + try { + await task(); + } catch (e) { + /** ignore */ + } + expect(client.indices.clone.mock.calls[0][0]).toMatchInlineSnapshot(` + Object { + "index": "my_source_index", + "settings": Object { + "index": Object { + "auto_expand_replicas": "0-1", + "blocks.write": false, + "mapping": Object { + "total_fields": Object { + "limit": 1500, + }, + }, + "number_of_shards": 1, + "priority": 10, + "refresh_interval": "1s", + }, + }, + "target": "my_target_index", + "timeout": "60s", + "wait_for_active_shards": "all", + } + `); + }); + + it('calls client.indices.clone with the correct parameter for serverless ES', async () => { + const statelessCapabilities = elasticsearchServiceMock.createCapabilities({ serverless: true }); + const task = cloneIndex({ + client, + source: 'my_source_index', + target: 'my_target_index', + esCapabilities: statelessCapabilities, + }); + try { + await task(); + } catch (e) { + /** ignore */ + } + expect(client.indices.clone.mock.calls[0][0]).toMatchInlineSnapshot(` + Object { + "index": "my_source_index", + "settings": Object { + "index": Object { + "blocks.write": false, + "mapping": Object { + "total_fields": Object { + "limit": 1500, + }, + }, + }, + }, + "target": "my_target_index", + "timeout": "60s", + "wait_for_active_shards": "all", + } + `); + }); + it('calls catchRetryableEsClientErrors when the promise rejects', async () => { const task = cloneIndex({ client, source: 'my_source_index', target: 'my_target_index', + esCapabilities: elasticsearchServiceMock.createCapabilities(), }); try { await task(); @@ -51,11 +122,17 @@ describe('cloneIndex', () => { }); it('re-throws non retry-able errors', async () => { - const task = setWriteBlock({ + const task = cloneIndex({ client: clientWithNonRetryableError, - index: 'my_index', + source: 'my_source_index', + target: 'my_target_index', + esCapabilities: elasticsearchServiceMock.createCapabilities(), }); - await task(); + try { + await task(); + } catch (e) { + /** ignore */ + } expect(catchRetryableEsClientErrors).toHaveBeenCalledWith(nonRetryableError); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.ts index 41830a4af078e0..9bce341d242b30 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/clone_index.ts @@ -10,7 +10,10 @@ import * as Either from 'fp-ts/lib/Either'; import * as TaskEither from 'fp-ts/lib/TaskEither'; import { pipe } from 'fp-ts/lib/pipeable'; import { errors as EsErrors } from '@elastic/elasticsearch'; -import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ElasticsearchClient, + ElasticsearchCapabilities, +} from '@kbn/core-elasticsearch-server'; import { catchRetryableEsClientErrors, type RetryableEsClientError, @@ -31,11 +34,13 @@ export type CloneIndexResponse = AcknowledgeResponse; /** @internal */ export interface CloneIndexParams { client: ElasticsearchClient; + esCapabilities: ElasticsearchCapabilities; source: string; target: string; /** only used for testing */ timeout?: string; } + /** * Makes a clone of the source index into the target. * @@ -48,6 +53,7 @@ export interface CloneIndexParams { */ export const cloneIndex = ({ client, + esCapabilities, source, target, timeout = DEFAULT_TIMEOUT, @@ -59,16 +65,18 @@ export const cloneIndex = ({ RetryableEsClientError | IndexNotFound | ClusterShardLimitExceeded, AcknowledgeResponse > = () => { - return client.indices - .clone({ - index: source, - target, - wait_for_active_shards: WAIT_FOR_ALL_SHARDS_TO_BE_ACTIVE, - settings: { - index: { - // The source we're cloning from will have a write block set, so - // we need to remove it to allow writes to our newly cloned index - 'blocks.write': false, + const indexSettings = { + // The source we're cloning from will have a write block set, so + // we need to remove it to allow writes to our newly cloned index + 'blocks.write': false, + // Increase the fields limit beyond the default of 1000 + mapping: { + total_fields: { limit: 1500 }, + }, + // settings not being supported on serverless ES + ...(esCapabilities.serverless + ? {} + : { // The rest of the index settings should have already been applied // to the source index and will be copied to the clone target. But // we repeat it here for explicitness. @@ -80,11 +88,16 @@ export const cloneIndex = ({ refresh_interval: '1s', // Bump priority so that recovery happens before newer indices priority: 10, - // Increase the fields limit beyond the default of 1000 - mapping: { - total_fields: { limit: 1500 }, - }, - }, + }), + }; + + return client.indices + .clone({ + index: source, + target, + wait_for_active_shards: WAIT_FOR_ALL_SHARDS_TO_BE_ACTIVE, + settings: { + index: indexSettings, }, timeout, }) diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.test.ts index 47ea28ca2953d2..d34970e902e31b 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.test.ts @@ -9,8 +9,8 @@ import { catchRetryableEsClientErrors } from './catch_retryable_es_client_errors'; import { errors as EsErrors } from '@elastic/elasticsearch'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import { createIndex } from './create_index'; -import { setWriteBlock } from './set_write_block'; jest.mock('./catch_retryable_es_client_errors'); @@ -35,11 +35,87 @@ describe('createIndex', () => { const clientWithNonRetryableError = elasticsearchClientMock.createInternalClient( elasticsearchClientMock.createErrorTransportRequestPromise(nonRetryableError) ); + + it('calls client.indices.create with the correct parameter for default ES', async () => { + const statefulCapabilities = elasticsearchServiceMock.createCapabilities({ serverless: false }); + const task = createIndex({ + client, + indexName: 'my_index', + mappings: { properties: {} }, + esCapabilities: statefulCapabilities, + }); + try { + await task(); + } catch (e) { + /** ignore */ + } + expect(client.indices.create.mock.calls[0][0]).toMatchInlineSnapshot(` + Object { + "aliases": Object {}, + "index": "my_index", + "mappings": Object { + "properties": Object {}, + }, + "settings": Object { + "index": Object { + "auto_expand_replicas": "0-1", + "mapping": Object { + "total_fields": Object { + "limit": 1500, + }, + }, + "number_of_shards": 1, + "priority": 10, + "refresh_interval": "1s", + }, + }, + "timeout": "60s", + "wait_for_active_shards": "all", + } + `); + }); + + it('calls client.indices.create with the correct parameter for serverless ES', async () => { + const statelessCapabilities = elasticsearchServiceMock.createCapabilities({ serverless: true }); + const task = createIndex({ + client, + indexName: 'my_index', + mappings: { properties: {} }, + esCapabilities: statelessCapabilities, + }); + try { + await task(); + } catch (e) { + /** ignore */ + } + expect(client.indices.create.mock.calls[0][0]).toMatchInlineSnapshot(` + Object { + "aliases": Object {}, + "index": "my_index", + "mappings": Object { + "properties": Object {}, + }, + "settings": Object { + "index": Object { + "mapping": Object { + "total_fields": Object { + "limit": 1500, + }, + }, + }, + }, + "timeout": "60s", + "wait_for_active_shards": "all", + } + `); + }); + it('calls catchRetryableEsClientErrors when the promise rejects', async () => { const task = createIndex({ client, indexName: 'new_index', mappings: { properties: {} }, + esCapabilities: elasticsearchServiceMock.createCapabilities(), }); try { await task(); @@ -49,12 +125,19 @@ describe('createIndex', () => { expect(catchRetryableEsClientErrors).toHaveBeenCalledWith(retryableError); }); + it('re-throws non retry-able errors', async () => { - const task = setWriteBlock({ + const task = createIndex({ client: clientWithNonRetryableError, - index: 'my_index', + indexName: 'my_index', + mappings: { properties: {} }, + esCapabilities: elasticsearchServiceMock.createCapabilities(), }); - await task(); + try { + await task(); + } catch (e) { + /** ignore */ + } expect(catchRetryableEsClientErrors).toHaveBeenCalledWith(nonRetryableError); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.ts index 1d492301f45bd8..df4239390ee392 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.ts @@ -10,7 +10,10 @@ import * as Either from 'fp-ts/lib/Either'; import * as TaskEither from 'fp-ts/lib/TaskEither'; import { pipe } from 'fp-ts/lib/pipeable'; import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ElasticsearchClient, + ElasticsearchCapabilities, +} from '@kbn/core-elasticsearch-server'; import type { IndexMapping } from '@kbn/core-saved-objects-base-server-internal'; import { catchRetryableEsClientErrors, @@ -19,6 +22,7 @@ import { import { DEFAULT_TIMEOUT, INDEX_AUTO_EXPAND_REPLICAS, + INDEX_NUMBER_OF_SHARDS, WAIT_FOR_ALL_SHARDS_TO_BE_ACTIVE, } from './constants'; import { type IndexNotGreenTimeout, waitForIndexStatus } from './wait_for_index_status'; @@ -42,6 +46,7 @@ export interface CreateIndexParams { client: ElasticsearchClient; indexName: string; mappings: IndexMapping; + esCapabilities: ElasticsearchCapabilities; aliases?: string[]; timeout?: string; } @@ -62,6 +67,7 @@ export const createIndex = ({ client, indexName, mappings, + esCapabilities, aliases = [], timeout = DEFAULT_TIMEOUT, }: CreateIndexParams): TaskEither.TaskEither< @@ -74,6 +80,28 @@ export const createIndex = ({ > = () => { const aliasesObject = aliasArrayToRecord(aliases); + const indexSettings = { + // settings not being supported on serverless ES + ...(esCapabilities.serverless + ? {} + : { + // ES rule of thumb: shards should be several GB to 10's of GB, so + // Kibana is unlikely to cross that limit. + number_of_shards: INDEX_NUMBER_OF_SHARDS, + auto_expand_replicas: INDEX_AUTO_EXPAND_REPLICAS, + // Set an explicit refresh interval so that we don't inherit the + // value from incorrectly configured index templates (not required + // after we adopt system indices) + refresh_interval: '1s', + // Bump priority so that recovery happens before newer indices + priority: 10, + }), + // Increase the fields limit beyond the default of 1000 + mapping: { + total_fields: { limit: 1500 }, + }, + }; + return client.indices .create({ index: indexName, @@ -87,22 +115,7 @@ export const createIndex = ({ mappings, aliases: aliasesObject, settings: { - index: { - // ES rule of thumb: shards should be several GB to 10's of GB, so - // Kibana is unlikely to cross that limit. - number_of_shards: 1, - auto_expand_replicas: INDEX_AUTO_EXPAND_REPLICAS, - // Set an explicit refresh interval so that we don't inherit the - // value from incorrectly configured index templates (not required - // after we adopt system indices) - refresh_interval: '1s', - // Bump priority so that recovery happens before newer indices - priority: 10, - // Increase the fields limit beyond the default of 1000 - mapping: { - total_fields: { limit: 1500 }, - }, - }, + index: indexSettings, }, }) .then(() => { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts index 2e3a99b4b463e0..5e132143d5c6b0 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts @@ -1462,7 +1462,7 @@ describe('DocumentMigrator', () => { expect(() => migrator.migrate(document, { allowDowngrade: false }) ).toThrowErrorMatchingInlineSnapshot( - `"Document \\"smelly\\" belongs to a more recent version of Kibana [10.2.0] when the last known version is [10.1.0]."` + `"[NewerModelVersionError]: Document \\"smelly\\" belongs to a more recent version of Kibana [10.2.0] when the last known version is [10.1.0]."` ); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts index 8ca15093d58276..387e037e7a0bf1 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts @@ -81,6 +81,9 @@ export interface VersionedTransformer { migrateAndConvert(doc: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc[]; } +export function createNewerModelVersionError(message: string) { + return Boom.boomify(Boom.badData(message), { message: '[NewerModelVersionError]' }); +} /** * A concrete implementation of the {@link VersionedTransformer} interface. */ @@ -181,9 +184,11 @@ export class DocumentMigrator implements VersionedTransformer { const currentVersion = doc.typeMigrationVersion ?? doc.migrationVersion?.[doc.type]; const latestVersion = this.migrations[doc.type].latestVersion[TransformType.Migrate]; if (!allowDowngrade) { - throw Boom.badData( - `Document "${doc.id}" belongs to a more recent version of Kibana [${currentVersion}] when the last known version is [${latestVersion}].` - ); + if (!allowDowngrade) { + throw createNewerModelVersionError( + `Document "${doc.id}" belongs to a more recent version of Kibana [${currentVersion}] when the last known version is [${latestVersion}].` + ); + } } return this.transformDown(doc, { targetTypeVersion: latestVersion! }); } else { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts index 31c0b1fc5e9fd6..e173def8da9149 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts @@ -17,6 +17,7 @@ import { } from '@kbn/core-saved-objects-base-server-internal'; import type { Logger } from '@kbn/logging'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import { createInitialState, type CreateInitialStateParams } from './initial_state'; import * as getOutdatedDocumentsQueryModule from './get_outdated_documents_query'; import { getOutdatedDocumentsQuery } from './get_outdated_documents_query'; @@ -64,6 +65,7 @@ describe('createInitialState', () => { typeRegistry, docLinks, logger, + esCapabilities: elasticsearchServiceMock.createCapabilities(), }; }); @@ -82,6 +84,9 @@ describe('createInitialState', () => { "currentAlias": ".kibana_task_manager", "discardCorruptObjects": false, "discardUnknownObjects": false, + "esCapabilities": Object { + "serverless": false, + }, "excludeFromUpgradeFilterHooks": Object {}, "excludeOnUpgradeQuery": Object { "bool": Object { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.ts index eeb2065edb7757..cf7494e6554264 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.ts @@ -15,6 +15,7 @@ import type { IndexTypesMap, SavedObjectsMigrationConfigType, } from '@kbn/core-saved-objects-base-server-internal'; +import type { ElasticsearchCapabilities } from '@kbn/core-elasticsearch-server'; import { getOutdatedDocumentsQuery, type OutdatedDocumentsQueryParams, @@ -35,6 +36,7 @@ export interface CreateInitialStateParams extends OutdatedDocumentsQueryParams { typeRegistry: ISavedObjectTypeRegistry; docLinks: DocLinksServiceStart; logger: Logger; + esCapabilities: ElasticsearchCapabilities; } /** @@ -54,6 +56,7 @@ export const createInitialState = ({ typeRegistry, docLinks, logger, + esCapabilities, }: CreateInitialStateParams): InitState => { const outdatedDocumentsQuery = getOutdatedDocumentsQuery({ coreMigrationVersionPerType, @@ -137,5 +140,6 @@ export const createInitialState = ({ knownTypes, excludeFromUpgradeFilterHooks: excludeFilterHooks, migrationDocLinks, + esCapabilities, }; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts index de210165578a59..bb60fd1c60c765 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts @@ -9,6 +9,7 @@ import { take } from 'rxjs/operators'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; import { type MigrationResult, @@ -322,5 +323,6 @@ const mockOptions = (algorithm: 'v2' | 'zdt' = 'v2') => { client: mockedClient, docLinks: docLinksServiceMock.createSetupContract(), nodeRoles: { backgroundTasks: true, ui: true, migrator: true }, + esCapabilities: elasticsearchServiceMock.createCapabilities(), }; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts index ac50e60027e2dd..c06461da8fb439 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts @@ -15,7 +15,10 @@ import { BehaviorSubject } from 'rxjs'; import type { NodeRoles } from '@kbn/core-node-server'; import type { Logger } from '@kbn/logging'; import type { DocLinksServiceStart } from '@kbn/core-doc-links-server'; -import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ElasticsearchClient, + ElasticsearchCapabilities, +} from '@kbn/core-elasticsearch-server'; import { type SavedObjectUnsanitizedDoc, type ISavedObjectTypeRegistry, @@ -48,6 +51,7 @@ export interface KibanaMigratorOptions { docLinks: DocLinksServiceStart; waitForMigrationCompletion: boolean; nodeRoles: NodeRoles; + esCapabilities: ElasticsearchCapabilities; } /** @@ -71,6 +75,8 @@ export class KibanaMigrator implements IKibanaMigrator { private readonly docLinks: DocLinksServiceStart; private readonly waitForMigrationCompletion: boolean; private readonly nodeRoles: NodeRoles; + private readonly esCapabilities: ElasticsearchCapabilities; + public readonly kibanaVersion: string; /** @@ -87,6 +93,7 @@ export class KibanaMigrator implements IKibanaMigrator { docLinks, waitForMigrationCompletion, nodeRoles, + esCapabilities, }: KibanaMigratorOptions) { this.client = client; this.kibanaIndex = kibanaIndex; @@ -109,6 +116,7 @@ export class KibanaMigrator implements IKibanaMigrator { // operation so we cache the result this.activeMappings = buildActiveMappings(this.mappingProperties); this.docLinks = docLinks; + this.esCapabilities = esCapabilities; } public runMigrations({ rerun = false }: { rerun?: boolean } = {}): Promise { @@ -152,6 +160,7 @@ export class KibanaMigrator implements IKibanaMigrator { serializer: this.serializer, elasticsearchClient: this.client, nodeRoles: this.nodeRoles, + esCapabilities: this.esCapabilities, }); } else { return runV2Migration({ @@ -167,6 +176,7 @@ export class KibanaMigrator implements IKibanaMigrator { elasticsearchClient: this.client, mappingProperties: this.mappingProperties, waitForMigrationCompletion: this.waitForMigrationCompletion, + esCapabilities: this.esCapabilities, }); } } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/migrations_state_action_machine.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/migrations_state_action_machine.test.ts index 77c1fb12b13ed8..c8b630598f2e58 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/migrations_state_action_machine.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/migrations_state_action_machine.test.ts @@ -15,6 +15,7 @@ import * as Either from 'fp-ts/lib/Either'; import * as Option from 'fp-ts/lib/Option'; import { errors } from '@elastic/elasticsearch'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import type { AllControlStates, State } from './state'; import { createInitialState } from './initial_state'; import { ByteSizeValue } from '@kbn/config-schema'; @@ -63,6 +64,7 @@ describe('migrationsStateActionMachine', () => { }, typeRegistry, docLinks, + esCapabilities: elasticsearchServiceMock.createCapabilities(), logger: mockLogger.get(), }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts index 7039ce1cd1afaa..29f7f95ba65dbf 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts @@ -9,6 +9,7 @@ import { chain } from 'lodash'; import * as Either from 'fp-ts/lib/Either'; import * as Option from 'fp-ts/lib/Option'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import type { SavedObjectsRawDoc } from '@kbn/core-saved-objects-server'; import { DEFAULT_INDEX_TYPES_MAP, @@ -125,6 +126,7 @@ describe('migrations v2 model', () => { waitForMigrationCompletion: false, mustRelocateDocuments: false, indexTypesMap: DEFAULT_INDEX_TYPES_MAP, + esCapabilities: elasticsearchServiceMock.createCapabilities(), }; const postInitState = { ...baseState, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts index b8d4afc55631df..0eedfc620a96ed 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts @@ -137,6 +137,7 @@ export const nextActionMap = ( client, indexName: state.targetIndex, mappings: state.targetIndexMappings, + esCapabilities: state.esCapabilities, }), CREATE_REINDEX_TEMP: (state: CreateReindexTempState) => Actions.createIndex({ @@ -144,6 +145,7 @@ export const nextActionMap = ( indexName: state.tempIndex, aliases: [state.tempIndexAlias], mappings: state.tempIndexMappings, + esCapabilities: state.esCapabilities, }), READY_TO_REINDEX_SYNC: () => Actions.synchronizeMigrators({ @@ -194,7 +196,12 @@ export const nextActionMap = ( SET_TEMP_WRITE_BLOCK: (state: SetTempWriteBlock) => Actions.setWriteBlock({ client, index: state.tempIndex }), CLONE_TEMP_TO_TARGET: (state: CloneTempToTarget) => - Actions.cloneIndex({ client, source: state.tempIndex, target: state.targetIndex }), + Actions.cloneIndex({ + client, + source: state.tempIndex, + target: state.targetIndex, + esCapabilities: state.esCapabilities, + }), REFRESH_TARGET: (state: RefreshTarget) => Actions.refreshIndex({ client, index: state.targetIndex }), CHECK_TARGET_MAPPINGS: (state: CheckTargetMappingsState) => @@ -281,6 +288,7 @@ export const nextActionMap = ( client, indexName: state.sourceIndex.value, mappings: state.sourceIndexMappings.value, + esCapabilities: state.esCapabilities, }), LEGACY_REINDEX: (state: LegacyReindexState) => Actions.reindex({ diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.test.ts index bac468d06afe2e..b6111b1f5f6ed4 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.test.ts @@ -10,6 +10,7 @@ import buffer from 'buffer'; import { ByteSizeValue } from '@kbn/config-schema'; import { docLinksServiceMock } from '@kbn/core-doc-links-server-mocks'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import type { MigrationResult } from '@kbn/core-saved-objects-base-server-internal'; import { createInitialState } from './initial_state'; @@ -79,6 +80,7 @@ describe('runResilientMigrator', () => { typeRegistry: options.typeRegistry, docLinks: options.docLinks, logger: options.logger, + esCapabilities: options.esCapabilities, }); // store the created initial state @@ -153,5 +155,6 @@ const mockOptions = (): RunResilientMigratorParams => { }, typeRegistry: savedObjectTypeRegistryMock, docLinks: docLinksServiceMock.createSetupContract(), + esCapabilities: elasticsearchServiceMock.createCapabilities(), }; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts index 90bf2d2454fdad..b799b3e179a7f9 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts @@ -8,7 +8,10 @@ import type { Logger } from '@kbn/logging'; import type { DocLinksServiceStart } from '@kbn/core-doc-links-server'; -import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ElasticsearchClient, + ElasticsearchCapabilities, +} from '@kbn/core-elasticsearch-server'; import type { SavedObjectsMigrationVersion } from '@kbn/core-saved-objects-common'; import type { ISavedObjectTypeRegistry } from '@kbn/core-saved-objects-server'; import type { @@ -60,6 +63,7 @@ export interface RunResilientMigratorParams { migrationsConfig: SavedObjectsMigrationConfigType; typeRegistry: ISavedObjectTypeRegistry; docLinks: DocLinksServiceStart; + esCapabilities: ElasticsearchCapabilities; } /** @@ -86,6 +90,7 @@ export async function runResilientMigrator({ migrationsConfig, typeRegistry, docLinks, + esCapabilities, }: RunResilientMigratorParams): Promise { const initialState = createInitialState({ kibanaVersion, @@ -101,6 +106,7 @@ export async function runResilientMigrator({ typeRegistry, docLinks, logger, + esCapabilities, }); const migrationClient = client.child(MIGRATION_CLIENT_OPTIONS); return migrationStateActionMachine({ diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.test.ts index 3dc8b5cc782cbe..3369071879e855 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.test.ts @@ -9,6 +9,7 @@ import buffer from 'buffer'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import { type MigrationResult, SavedObjectsSerializer, @@ -271,5 +272,6 @@ const mockOptions = (kibanaVersion = '8.2.3'): RunV2MigrationOpts => { }), serializer: new SavedObjectsSerializer(typeRegistry), mappingProperties: buildTypesMappings(typeRegistry.getAllTypes()), + esCapabilities: elasticsearchServiceMock.createCapabilities(), }; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.ts index f39c74542a22d5..ff79ebb2ec7fbe 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.ts @@ -8,7 +8,10 @@ import type { Logger } from '@kbn/logging'; import type { DocLinksServiceStart } from '@kbn/core-doc-links-server'; -import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ElasticsearchClient, + ElasticsearchCapabilities, +} from '@kbn/core-elasticsearch-server'; import type { ISavedObjectTypeRegistry, ISavedObjectsSerializer, @@ -56,6 +59,8 @@ export interface RunV2MigrationOpts { mappingProperties: SavedObjectsTypeMappingDefinitions; /** Tells whether this instance should actively participate in the migration or not */ waitForMigrationCompletion: boolean; + /** Capabilities of the ES cluster we're using */ + esCapabilities: ElasticsearchCapabilities; } export const runV2Migration = async (options: RunV2MigrationOpts): Promise => { @@ -147,6 +152,7 @@ export const runV2Migration = async (options: RunV2MigrationOpts): Promise { return { migrationConfig, @@ -44,5 +45,6 @@ export const createContext = ({ batchSize: migrationConfig.batchSize, discardCorruptObjects: Boolean(migrationConfig.discardCorruptObjects), nodeRoles, + esCapabilities, }; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/types.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/types.ts index 35edbb464ee177..3515d8a01a5a0e 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/types.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/types.ts @@ -6,7 +6,10 @@ * Side Public License, v 1. */ -import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ElasticsearchClient, + ElasticsearchCapabilities, +} from '@kbn/core-elasticsearch-server'; import type { NodeRoles } from '@kbn/core-node-server'; import type { ISavedObjectTypeRegistry, @@ -53,4 +56,6 @@ export interface MigratorContext { readonly discardCorruptObjects: boolean; /** The node roles of the Kibana instance */ readonly nodeRoles: NodeRoles; + /** Capabilities of the ES cluster we're using */ + readonly esCapabilities: ElasticsearchCapabilities; } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/migrate_index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/migrate_index.ts index 33f094c765d3b2..1ee07de5e0395e 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/migrate_index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/migrate_index.ts @@ -6,7 +6,10 @@ * Side Public License, v 1. */ -import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ElasticsearchClient, + ElasticsearchCapabilities, +} from '@kbn/core-elasticsearch-server'; import { type SavedObjectsMigrationConfigType, type MigrationResult, @@ -45,6 +48,8 @@ export interface MigrateIndexOptions { elasticsearchClient: ElasticsearchClient; /** The node roles of the Kibana instance */ readonly nodeRoles: NodeRoles; + /** Capabilities of the ES cluster we're using */ + esCapabilities: ElasticsearchCapabilities; } export const migrateIndex = async ({ diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/next.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/next.ts index fe1093b0f4978f..66df07ac373095 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/next.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/next.ts @@ -66,6 +66,7 @@ export const nextActionMap = (context: MigratorContext) => { client, indexName: state.currentIndex, mappings: state.indexMappings, + esCapabilities: context.esCapabilities, }), UPDATE_INDEX_MAPPINGS: (state: UpdateIndexMappingsState) => Actions.updateAndPickupMappings({ diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/run_zdt_migration.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/run_zdt_migration.ts index 8af4649711dbfb..e8309f8d4d5398 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/run_zdt_migration.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/run_zdt_migration.ts @@ -9,7 +9,10 @@ import type { Logger } from '@kbn/logging'; import type { DocLinksServiceStart } from '@kbn/core-doc-links-server'; import type { NodeRoles } from '@kbn/core-node-server'; -import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ElasticsearchClient, + ElasticsearchCapabilities, +} from '@kbn/core-elasticsearch-server'; import type { ISavedObjectTypeRegistry, ISavedObjectsSerializer, @@ -43,6 +46,8 @@ export interface RunZeroDowntimeMigrationOpts { elasticsearchClient: ElasticsearchClient; /** The node roles of the Kibana instance */ nodeRoles: NodeRoles; + /** Capabilities of the ES cluster we're using */ + esCapabilities: ElasticsearchCapabilities; } export const runZeroDowntimeMigration = async ( diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/context.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/context.ts index ceb36a5aa7d422..cccef059f1c57f 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/context.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/context.ts @@ -11,6 +11,7 @@ import { ElasticsearchClientMock, elasticsearchClientMock, } from '@kbn/core-elasticsearch-client-server-mocks'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import { SavedObjectTypeRegistry, type SavedObjectsMigrationConfigType, @@ -67,6 +68,7 @@ export const createContextMock = ( batchSize: 1000, discardCorruptObjects: false, nodeRoles: { migrator: true, ui: false, backgroundTasks: false }, + esCapabilities: elasticsearchServiceMock.createCapabilities(), ...parts, }; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json index 7a7583be64ab39..7bd1917e526b05 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json @@ -32,6 +32,7 @@ "@kbn/core-saved-objects-base-server-mocks", "@kbn/core-elasticsearch-server-internal", "@kbn/core-node-server", + "@kbn/core-elasticsearch-server-mocks", ], "exclude": [ "target/**/*", diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts index 860284a892fb1e..82328c51fd6c17 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts @@ -15,7 +15,10 @@ import type { CoreContext, CoreService } from '@kbn/core-base-server-internal'; import type { DocLinksServiceStart } from '@kbn/core-doc-links-server'; import type { KibanaRequest } from '@kbn/core-http-server'; import type { InternalHttpServiceSetup } from '@kbn/core-http-server-internal'; -import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ElasticsearchClient, + ElasticsearchCapabilities, +} from '@kbn/core-elasticsearch-server'; import type { InternalElasticsearchServiceSetup, InternalElasticsearchServiceStart, @@ -223,7 +226,8 @@ export class SavedObjectsService elasticsearch.client.asInternalUser, docLinks, waitForMigrationCompletion, - node + node, + elasticsearch.getCapabilities() ); this.migrator$.next(migrator); @@ -368,7 +372,8 @@ export class SavedObjectsService client: ElasticsearchClient, docLinks: DocLinksServiceStart, waitForMigrationCompletion: boolean, - nodeInfo: NodeInfo + nodeInfo: NodeInfo, + esCapabilities: ElasticsearchCapabilities ): IKibanaMigrator { return new KibanaMigrator({ typeRegistry: this.typeRegistry, @@ -381,6 +386,7 @@ export class SavedObjectsService docLinks, waitForMigrationCompletion, nodeRoles: nodeInfo.roles, + esCapabilities, }); } } diff --git a/packages/core/saved-objects/docs/openapi/bundled.json b/packages/core/saved-objects/docs/openapi/bundled.json index 4cf712ff25fcb6..d31407a9379483 100644 --- a/packages/core/saved-objects/docs/openapi/bundled.json +++ b/packages/core/saved-objects/docs/openapi/bundled.json @@ -92,23 +92,741 @@ } } }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/400_response" + } + } + } + }, + "429": { + "description": "Already in progress.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "/api/saved_objects/_bulk_create": { + "post": { + "summary": "Create multiple Kibana saved objects.", + "operationId": "bulkCreateSavedObjects", + "deprecated": true, + "tags": [ + "saved objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/kbn_xsrf" + }, + { + "in": "query", + "name": "overwrite", + "description": "When true, overwrites the document with the same identifier.", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + } + } + }, + "responses": { + "200": { + "description": "Indicates a successful call.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/400_response" + } + } + } + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "/api/saved_objects/_bulk_delete": { + "post": { + "summary": "Remove multiple Kibana saved objects.", + "operationId": "bulkDeleteSavedObjects", + "description": "WARNING: When you delete a saved object, it cannot be recovered.\n", + "deprecated": true, + "tags": [ + "saved objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/kbn_xsrf" + }, + { + "in": "query", + "name": "force", + "description": "When true, force delete objects that exist in multiple namespaces. Note that the option applies to the whole request. Use the delete object API to specify per-object deletion behavior. TIP: Use this if you attempted to delete objects and received an HTTP 400 error with the following message: \"Unable to delete saved object that exists in multiple namespaces, use the force option to delete it anyway\". WARNING: When you bulk delete objects that exist in multiple namespaces, the API also deletes legacy url aliases that reference the object. These requests are batched to minimise the impact but they can place a heavy load on Kibana. Make sure you limit the number of objects that exist in multiple namespaces in a single bulk delete operation.\n", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + } + } + }, + "responses": { + "200": { + "description": "Indicates a successful call. NOTE: This HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual objects will be returned in the response body.\n", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/400_response" + } + } + } + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "/api/saved_objects/_bulk_get": { + "post": { + "summary": "Retrieve multiple Kibana saved objects by identifier.", + "operationId": "bulkGetSavedObjects", + "deprecated": true, + "tags": [ + "saved objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/kbn_xsrf" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + } + } + }, + "responses": { + "200": { + "description": "Indicates a successful call.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/400_response" + } + } + } + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "/api/saved_objects/_bulk_resolve": { + "post": { + "summary": "Retrieve multiple Kibana saved objects by identifier using any legacy URL aliases if they exist.", + "operationId": "bulkResolveSavedObjects", + "deprecated": true, + "description": "Under certain circumstances when Kibana is upgraded, saved object migrations may necessitate regenerating some object IDs to enable new features. When an object's ID is regenerated, a legacy URL alias is created for that object, preserving its old ID. In such a scenario, that object can be retrieved by the bulk resolve API using either its new ID or its old ID.\n", + "tags": [ + "saved objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/kbn_xsrf" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + } + } + }, + "responses": { + "200": { + "description": "Indicates a successful call. NOTE: This HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual objects will be returned in the response body. \n", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/400_response" + } + } + } + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "/api/saved_objects/_bulk_update": { + "post": { + "summary": "Update the attributes for multiple Kibana saved objects.", + "operationId": "bulkUpdateSavedObjects", + "deprecated": true, + "tags": [ + "saved objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/kbn_xsrf" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + } + } + }, + "responses": { + "200": { + "description": "Indicates a successful call. NOTE: This HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual objects will be returned in the response body. \n", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/400_response" + } + } + } + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "/api/saved_objects/_export": { + "post": { + "summary": "Retrieve sets of saved objects that you want to import into Kibana.", + "operationId": "exportSavedObjects", + "description": "\nYou must include `type` or `objects` in the request body.\n\nNOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be exported.\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", + "tags": [ + "saved objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/kbn_xsrf" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "excludeExportDetails": { + "description": "Do not add export details entry at the end of the stream.", + "type": "boolean", + "default": false + }, + "includeReferencesDeep": { + "description": "Includes all of the referenced objects in the exported objects.", + "type": "boolean" + }, + "objects": { + "description": "A list of objects to export.", + "type": "array", + "items": { + "type": "object" + } + }, + "type": { + "description": "The saved object types to include in the export. Use `*` to export all the types.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + } + }, + "examples": { + "exportSavedObjectsRequest": { + "$ref": "#/components/examples/export_objects_request" + } + } + } + } + }, + "responses": { + "200": { + "description": "Indicates a successful call.", + "content": { + "application/x-ndjson": { + "schema": { + "type": "object", + "additionalProperties": true + }, + "examples": { + "exportSavedObjectsResponse": { + "$ref": "#/components/examples/export_objects_response" + } + } + } + } + }, "400": { "description": "Bad request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/400_response" + } + } + } + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "/api/saved_objects/_find": { + "get": { + "summary": "Retrieve a paginated set of Kibana saved objects.", + "operationId": "findSavedObjects", + "deprecated": true, + "tags": [ + "saved objects" + ], + "parameters": [ + { + "in": "query", + "name": "aggs", + "description": "An aggregation structure, serialized as a string. The field format is similar to filter, meaning that to use a saved object type attribute in the aggregation, the `savedObjectType.attributes.title: \"myTitle\"` format must be used. For root fields, the syntax is `savedObjectType.rootField`. NOTE: As objects change in Kibana, the results on each page of the response also change. Use the find API for traditional paginated results, but avoid using it to export large amounts of data.\n", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "default_search_operator", + "description": "The default operator to use for the `simple_query_string`.", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "fields", + "description": "The fields to return in the attributes key of the response.", + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ] + } + }, + { + "in": "query", + "name": "filter", + "description": "The filter is a KQL string with the caveat that if you filter with an attribute from your saved object type, it should look like that: `savedObjectType.attributes.title: \"myTitle\"`. However, if you use a root attribute of a saved object such as `updated_at`, you will have to define your filter like that: `savedObjectType.updated_at > 2018-12-22`.\n", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "has_no_reference", + "description": "Filters to objects that do not have a relationship with the type and identifier combination.", + "schema": { + "type": "object" + } + }, + { + "in": "query", + "name": "has_no_reference_operator", + "description": "The operator to use for the `has_no_reference` parameter. Either `OR` or `AND`. Defaults to `OR`.", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "has_reference", + "description": "Filters to objects that have a relationship with the type and ID combination.", + "schema": { + "type": "object" + } + }, + { + "in": "query", + "name": "has_reference_operator", + "description": "The operator to use for the `has_reference` parameter. Either `OR` or `AND`. Defaults to `OR`.", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "page", + "description": "The page of objects to return.", + "schema": { + "type": "integer" + } + }, + { + "in": "query", + "name": "per_page", + "description": "The number of objects to return per page.", + "schema": { + "type": "integer" + } + }, + { + "in": "query", + "name": "search", + "description": "An Elasticsearch `simple_query_string` query that filters the objects in the response.", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "search_fields", + "description": "The fields to perform the `simple_query_string` parsed query against.", + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ] + } + }, + { + "in": "query", + "name": "sort_field", + "description": "Sorts the response. Includes \"root\" and \"type\" fields. \"root\" fields exist for all saved objects, such as \"updated_at\". \"type\" fields are specific to an object type, such as fields returned in the attributes key of the response. When a single type is defined in the type parameter, the \"root\" and \"type\" fields are allowed, and validity checks are made in that order. When multiple types are defined in the type parameter, only \"root\" fields are allowed.\n", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "type", + "description": "The saved object types to include.", + "required": true, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array" + } + ] + } + } + ], + "responses": { + "200": { + "description": "Indicates a successful call.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/400_response" + } + } + } + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "/api/saved_objects/_import": { + "post": { + "summary": "Create sets of Kibana saved objects from a file created by the export API.", + "operationId": "importSavedObjects", + "description": "Saved objects can be imported only into the same version, a newer minor on the same major, or the next major. Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana.\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", + "tags": [ + "saved objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/kbn_xsrf" + }, + { + "in": "query", + "name": "createNewCopies", + "schema": { + "type": "boolean" + }, + "required": false, + "description": "Creates copies of saved objects, regenerates each object ID, and resets the origin. When used, potential conflict errors are avoided. NOTE: This option cannot be used with the `overwrite` and `compatibilityMode` options.\n" + }, + { + "in": "query", + "name": "overwrite", + "schema": { + "type": "boolean" + }, + "required": false, + "description": "Overwrites saved objects when they already exist. When used, potential conflict errors are automatically resolved by overwriting the destination object. NOTE: This option cannot be used with the `createNewCopies` option.\n" + }, + { + "in": "query", + "name": "compatibilityMode", + "schema": { + "type": "boolean" + }, + "required": false, + "description": "Applies various adjustments to the saved objects that are being imported to maintain compatibility between different Kibana versions. Use this option only if you encounter issues with imported saved objects. NOTE: This option cannot be used with the `createNewCopies` option.\n" + } + ], + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "description": "A file exported using the export API. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be included in this file. Similarly, the `savedObjects.maxImportPayloadBytes` setting limits the overall size of the file that can be imported.\n" + } + } + }, + "examples": { + "importObjectsRequest": { + "$ref": "#/components/examples/import_objects_request" + } + } + } + } + }, + "responses": { + "200": { + "description": "Indicates a successful call.", "content": { "application/json": { "schema": { "type": "object", - "additionalProperties": true + "properties": { + "success": { + "type": "boolean", + "description": "Indicates when the import was successfully completed. When set to false, some objects may not have been created. For additional information, refer to the `errors` and `successResults` properties.\n" + }, + "successCount": { + "type": "integer", + "description": "Indicates the number of successfully imported records." + }, + "errors": { + "type": "array", + "items": { + "type": "object" + }, + "description": "Indicates the import was unsuccessful and specifies the objects that failed to import.\n\nNOTE: One object may result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and conflict error.\n" + }, + "successResults": { + "type": "array", + "items": { + "type": "object" + }, + "description": "Indicates the objects that are successfully imported, with any metadata if applicable.\n\nNOTE: Objects are created only when all resolvable errors are addressed, including conflicts and missing references. If objects are created as new copies, each entry in the `successResults` array includes a `destinationId` attribute.\n" + } + } + }, + "examples": { + "importObjectsResponse": { + "$ref": "#/components/examples/import_objects_response" + } } } } }, - "429": { - "description": "Already in progress.", + "400": { + "description": "Bad request.", "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/400_response" } } } @@ -126,61 +844,108 @@ } ] }, - "/api/saved_objects/_export": { + "/api/saved_objects/_resolve_import_errors": { "post": { - "summary": "Retrieve sets of saved objects that you want to import into Kibana.", - "operationId": "exportSavedObjects", - "description": "\nYou must include `type` or `objects` in the request body.\n\nNOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be exported.\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", + "summary": "Resolve errors from the Import objects API.", + "operationId": "resolveImportErrors", + "description": "To resolve errors, you can: \n\n* Retry certain saved objects\n* Overwrite specific saved objects\n* Change references to different saved objects\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", "tags": [ "saved objects" ], "parameters": [ { "$ref": "#/components/parameters/kbn_xsrf" + }, + { + "in": "query", + "name": "compatibilityMode", + "schema": { + "type": "boolean" + }, + "required": false, + "description": "Applies various adjustments to the saved objects that are being imported to maintain compatibility between different Kibana versions. When enabled during the initial import, also enable when resolving import errors. This option cannot be used with the `createNewCopies` option.\n" + }, + { + "in": "query", + "name": "createNewCopies", + "schema": { + "type": "boolean" + }, + "required": false, + "description": "Creates copies of the saved objects, regenerates each object ID, and resets the origin. When enabled during the initial import, also enable when resolving import errors.\n" } ], "requestBody": { "required": true, "content": { - "application/json": { + "multipart/form-data": { "schema": { "type": "object", + "required": [ + "retries" + ], "properties": { - "excludeExportDetails": { - "description": "Do not add export details entry at the end of the stream.", - "type": "boolean", - "default": false - }, - "includeReferencesDeep": { - "description": "Includes all of the referenced objects in the exported objects.", - "type": "boolean" + "file": { + "description": "The same file given to the import API.", + "type": "string", + "format": "binary" }, - "objects": { - "description": "A list of objects to export.", + "retries": { + "description": "The retry operations, which can specify how to resolve different types of errors.", "type": "array", "items": { - "type": "object" - } - }, - "type": { - "description": "The saved object types to include in the export. Use `*` to export all the types.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "type": { + "description": "The saved object type.", "type": "string" + }, + "id": { + "description": "The saved object ID.", + "type": "string" + }, + "overwrite": { + "description": "When set to `true`, the source object overwrites the conflicting destination object. When set to `false`, does nothing.", + "type": "boolean" + }, + "destinationId": { + "description": "Specifies the destination ID that the imported object should have, if different from the current ID.", + "type": "string" + }, + "replaceReferences": { + "description": "A list of `type`, `from`, and `to` used to change the object references.", + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "from": { + "type": "string" + }, + "to": { + "type": "string" + } + } + } + }, + "ignoreMissingReferences": { + "description": "When set to `true`, ignores missing reference errors. When set to `false`, does nothing.", + "type": "boolean" } } - ] + } } } }, "examples": { - "exportSavedObjectsRequest": { - "$ref": "#/components/examples/export_objects_request" + "resolveImportErrorsRequest": { + "$ref": "#/components/examples/resolve_missing_reference_request" } } } @@ -190,14 +955,37 @@ "200": { "description": "Indicates a successful call.", "content": { - "application/x-ndjson": { + "application/json": { "schema": { "type": "object", - "additionalProperties": true + "properties": { + "success": { + "type": "boolean", + "description": "Indicates a successful import. When set to `false`, some objects may not have been created. For additional information, refer to the `errors` and `successResults` properties.\n" + }, + "successCount": { + "type": "number", + "description": "Indicates the number of successfully resolved records.\n" + }, + "errors": { + "type": "array", + "description": "Specifies the objects that failed to resolve.\n\nNOTE: One object can result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and a `conflict` error.\n", + "items": { + "type": "object" + } + }, + "successResults": { + "type": "array", + "description": "Indicates the objects that are successfully imported, with any metadata if applicable.\n\nNOTE: Objects are only created when all resolvable errors are addressed, including conflict and missing references.\n", + "items": { + "type": "object" + } + } + } }, "examples": { - "exportSavedObjectsResponse": { - "$ref": "#/components/examples/export_objects_response" + "resolveImportErrorsResponse": { + "$ref": "#/components/examples/resolve_missing_reference_response" } } } @@ -208,8 +996,7 @@ "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": true + "$ref": "#/components/schemas/400_response" } } } @@ -227,11 +1014,11 @@ } ] }, - "/api/saved_objects/_import": { + "/api/saved_objects/{type}": { "post": { - "summary": "Create sets of Kibana saved objects from a file created by the export API.", - "operationId": "importSavedObjects", - "description": "Saved objects can be imported only into the same version, a newer minor on the same major, or the next major. Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana.\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", + "summary": "Create Kibana saved objects with randomly generated identifiers.", + "operationId": "createSavedObject", + "deprecated": true, "tags": [ "saved objects" ], @@ -239,50 +1026,161 @@ { "$ref": "#/components/parameters/kbn_xsrf" }, + { + "$ref": "#/components/parameters/saved_object_type" + }, { "in": "query", - "name": "createNewCopies", + "name": "overwrite", + "description": "If true, overwrites the document with the same identifier.", "schema": { "type": "boolean" - }, - "required": false, - "description": "Creates copies of saved objects, regenerates each object ID, and resets the origin. When used, potential conflict errors are avoided. NOTE: This option cannot be used with the `overwrite` and `compatibilityMode` options.\n" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "attributes" + ], + "properties": { + "attributes": { + "$ref": "#/components/schemas/attributes" + }, + "initialNamespaces": { + "$ref": "#/components/schemas/initial_namespaces" + }, + "references": { + "$ref": "#/components/schemas/references" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Indicates a successful call.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "409": { + "description": "Indicates a conflict error.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + } + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "/api/saved_objects/{type}/{id}": { + "get": { + "summary": "Retrieve a single Kibana saved object by identifier.", + "operationId": "getSavedObject", + "deprecated": true, + "tags": [ + "saved objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/saved_object_id" + }, + { + "$ref": "#/components/parameters/saved_object_type" + } + ], + "responses": { + "200": { + "description": "Indicates a successful call.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/400_response" + } + } + } + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "post": { + "summary": "Create Kibana saved objects.", + "operationId": "createSavedObjectId", + "deprecated": true, + "tags": [ + "saved objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/kbn_xsrf" + }, + { + "$ref": "#/components/parameters/saved_object_id" }, { - "in": "query", - "name": "overwrite", - "schema": { - "type": "boolean" - }, - "required": false, - "description": "Overwrites saved objects when they already exist. When used, potential conflict errors are automatically resolved by overwriting the destination object. NOTE: This option cannot be used with the `createNewCopies` option.\n" + "$ref": "#/components/parameters/saved_object_type" }, { "in": "query", - "name": "compatibilityMode", + "name": "overwrite", + "description": "If true, overwrites the document with the same identifier.", "schema": { "type": "boolean" - }, - "required": false, - "description": "Applies various adjustments to the saved objects that are being imported to maintain compatibility between different Kibana versions. Use this option only if you encounter issues with imported saved objects. NOTE: This option cannot be used with the `createNewCopies` option.\n" + } } ], "requestBody": { "required": true, "content": { - "multipart/form-data": { + "application/json": { "schema": { "type": "object", + "required": [ + "attributes" + ], "properties": { - "file": { - "description": "A file exported using the export API. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be included in this file. Similarly, the `savedObjects.maxImportPayloadBytes` setting limits the overall size of the file that can be imported.\n" + "attributes": { + "$ref": "#/components/schemas/attributes" + }, + "initialNamespaces": { + "$ref": "#/components/schemas/initial_namespaces" + }, + "references": { + "$ref": "#/components/schemas/initial_namespaces" } } - }, - "examples": { - "importObjectsRequest": { - "$ref": "#/components/examples/import_objects_request" - } } } } @@ -293,69 +1191,27 @@ "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean", - "description": "Indicates when the import was successfully completed. When set to false, some objects may not have been created. For additional information, refer to the `errors` and `successResults` properties.\n" - }, - "successCount": { - "type": "integer", - "description": "Indicates the number of successfully imported records." - }, - "errors": { - "type": "array", - "items": { - "type": "object" - }, - "description": "Indicates the import was unsuccessful and specifies the objects that failed to import.\n\nNOTE: One object may result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and conflict error.\n" - }, - "successResults": { - "type": "array", - "items": { - "type": "object" - }, - "description": "Indicates the objects that are successfully imported, with any metadata if applicable.\n\nNOTE: Objects are created only when all resolvable errors are addressed, including conflicts and missing references. If objects are created as new copies, each entry in the `successResults` array includes a `destinationId` attribute.\n" - } - } - }, - "examples": { - "importObjectsResponse": { - "$ref": "#/components/examples/import_objects_response" - } + "type": "object" } } } }, - "400": { - "description": "Bad request.", + "409": { + "description": "Indicates a conflict error.", "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": true + "type": "object" } } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] - }, - "/api/saved_objects/_resolve_import_errors": { - "post": { - "summary": "Resolve errors from the Import objects API.", - "operationId": "resolveImportErrors", - "description": "To resolve errors, you can: \n\n* Retry certain saved objects\n* Overwrite specific saved objects\n* Change references to different saved objects\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", + }, + "put": { + "summary": "Update the attributes for Kibana saved objects.", + "operationId": "updateSavedObject", + "deprecated": true, "tags": [ "saved objects" ], @@ -364,136 +1220,85 @@ "$ref": "#/components/parameters/kbn_xsrf" }, { - "in": "query", - "name": "compatibilityMode", - "schema": { - "type": "boolean" - }, - "required": false, - "description": "Applies various adjustments to the saved objects that are being imported to maintain compatibility between different Kibana versions. When enabled during the initial import, also enable when resolving import errors. This option cannot be used with the `createNewCopies` option.\n" + "$ref": "#/components/parameters/saved_object_id" }, { - "in": "query", - "name": "createNewCopies", - "schema": { - "type": "boolean" - }, - "required": false, - "description": "Creates copies of the saved objects, regenerates each object ID, and resets the origin. When enabled during the initial import, also enable when resolving import errors.\n" + "$ref": "#/components/parameters/saved_object_type" } ], "requestBody": { "required": true, "content": { - "multipart/form-data": { + "application/json": { "schema": { - "type": "object", - "required": [ - "retries" - ], - "properties": { - "file": { - "description": "The same file given to the import API.", - "type": "string", - "format": "binary" - }, - "retries": { - "description": "The retry operations, which can specify how to resolve different types of errors.", - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "type": { - "description": "The saved object type.", - "type": "string" - }, - "id": { - "description": "The saved object ID.", - "type": "string" - }, - "overwrite": { - "description": "When set to `true`, the source object overwrites the conflicting destination object. When set to `false`, does nothing.", - "type": "boolean" - }, - "destinationId": { - "description": "Specifies the destination ID that the imported object should have, if different from the current ID.", - "type": "string" - }, - "replaceReferences": { - "description": "A list of `type`, `from`, and `to` used to change the object references.", - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "from": { - "type": "string" - }, - "to": { - "type": "string" - } - } - } - }, - "ignoreMissingReferences": { - "description": "When set to `true`, ignores missing reference errors. When set to `false`, does nothing.", - "type": "boolean" - } - } - } - } + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Indicates a successful call.", + "content": { + "application/json": { + "schema": { + "type": "object" } - }, - "examples": { - "resolveImportErrorsRequest": { - "$ref": "#/components/examples/resolve_missing_reference_request" + } + } + }, + "404": { + "description": "Indicates the object was not found.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "409": { + "description": "Indicates a conflict error.", + "content": { + "application/json": { + "schema": { + "type": "object" } } } } - }, + } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] + }, + "/api/saved_objects/resolve/{type}/{id}": { + "get": { + "summary": "Retrieve a single Kibana saved object by identifier using any legacy URL alias if it exists.", + "operationId": "resolveSavedObject", + "description": "Under certain circumstances, when Kibana is upgraded, saved object migrations may necessitate regenerating some object IDs to enable new features. When an object's ID is regenerated, a legacy URL alias is created for that object, preserving its old ID. In such a scenario, that object can be retrieved using either its new ID or its old ID.\n", + "deprecated": true, + "tags": [ + "saved objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/saved_object_id" + }, + { + "$ref": "#/components/parameters/saved_object_type" + } + ], "responses": { "200": { "description": "Indicates a successful call.", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "success": { - "type": "boolean", - "description": "Indicates a successful import. When set to `false`, some objects may not have been created. For additional information, refer to the `errors` and `successResults` properties.\n" - }, - "successCount": { - "type": "number", - "description": "Indicates the number of successfully resolved records.\n" - }, - "errors": { - "type": "array", - "description": "Specifies the objects that failed to resolve.\n\nNOTE: One object can result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and a `conflict` error.\n", - "items": { - "type": "object" - } - }, - "successResults": { - "type": "array", - "description": "Indicates the objects that are successfully imported, with any metadata if applicable.\n\nNOTE: Objects are only created when all resolvable errors are addressed, including conflict and missing references.\n", - "items": { - "type": "object" - } - } - } - }, - "examples": { - "resolveImportErrorsResponse": { - "$ref": "#/components/examples/resolve_missing_reference_response" - } + "type": "object" } } } @@ -503,8 +1308,7 @@ "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": true + "$ref": "#/components/schemas/400_response" } } } @@ -680,6 +1484,46 @@ } } }, + "schemas": { + "400_response": { + "title": "Bad request", + "type": "object", + "required": [ + "error", + "message", + "statusCode" + ], + "properties": { + "error": { + "type": "string", + "enum": [ + "Bad Request" + ] + }, + "message": { + "type": "string" + }, + "statusCode": { + "type": "integer", + "enum": [ + 400 + ] + } + } + }, + "attributes": { + "type": "object", + "description": "The data that you want to create. WARNING: When you create saved objects, attributes are not validated, which allows you to pass arbitrary and ill-formed data into the API that can break Kibana. Make sure any data that you send to the API is properly formed.\n" + }, + "initial_namespaces": { + "type": "array", + "description": "Identifiers for the spaces in which this object is created. If this is provided, the object is created only in the explicitly defined spaces. If this is not provided, the object is created in the current space (default behavior). For shareable object types (registered with `namespaceType: 'multiple'`), this option can be used to specify one or more spaces, including the \"All spaces\" identifier ('*'). For isolated object types (registered with `namespaceType: 'single'` or `namespaceType: 'multiple-isolated'`), this option can only be used to specify a single space, and the \"All spaces\" identifier ('*') is not allowed. For global object types (`registered with `namespaceType: agnostic`), this option cannot be used.\n" + }, + "references": { + "type": "array", + "description": "Objects with `name`, `id`, and `type` properties that describe the other saved objects that this object references. Use `name` in attributes to refer to the other saved object, but never the `id`, which can update automatically during migrations or import and export.\n" + } + }, "parameters": { "kbn_xsrf": { "schema": { @@ -689,6 +1533,24 @@ "name": "kbn-xsrf", "description": "Cross-site request forgery protection", "required": true + }, + "saved_object_type": { + "in": "path", + "name": "type", + "description": "Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`.", + "required": true, + "schema": { + "type": "string" + } + }, + "saved_object_id": { + "in": "path", + "name": "id", + "description": "An identifier for the saved object.", + "required": true, + "schema": { + "type": "string" + } } } } diff --git a/packages/core/saved-objects/docs/openapi/bundled.yaml b/packages/core/saved-objects/docs/openapi/bundled.yaml index 92a91ba1d8f780..554895051768e9 100644 --- a/packages/core/saved-objects/docs/openapi/bundled.yaml +++ b/packages/core/saved-objects/docs/openapi/bundled.yaml @@ -72,12 +72,11 @@ paths: rotateEncryptionKeyResponse: $ref: '#/components/examples/key_rotation_response' '400': - description: Bad request. + description: Bad request content: application/json: schema: - type: object - additionalProperties: true + $ref: '#/components/schemas/400_response' '429': description: Already in progress. content: @@ -88,6 +87,194 @@ paths: - url: https://localhost:5601 servers: - url: https://localhost:5601 + /api/saved_objects/_bulk_create: + post: + summary: Create multiple Kibana saved objects. + operationId: bulkCreateSavedObjects + deprecated: true + tags: + - saved objects + parameters: + - $ref: '#/components/parameters/kbn_xsrf' + - in: query + name: overwrite + description: When true, overwrites the document with the same identifier. + schema: + type: boolean + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: object + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/400_response' + servers: + - url: https://localhost:5601 + servers: + - url: https://localhost:5601 + /api/saved_objects/_bulk_delete: + post: + summary: Remove multiple Kibana saved objects. + operationId: bulkDeleteSavedObjects + description: | + WARNING: When you delete a saved object, it cannot be recovered. + deprecated: true + tags: + - saved objects + parameters: + - $ref: '#/components/parameters/kbn_xsrf' + - in: query + name: force + description: | + When true, force delete objects that exist in multiple namespaces. Note that the option applies to the whole request. Use the delete object API to specify per-object deletion behavior. TIP: Use this if you attempted to delete objects and received an HTTP 400 error with the following message: "Unable to delete saved object that exists in multiple namespaces, use the force option to delete it anyway". WARNING: When you bulk delete objects that exist in multiple namespaces, the API also deletes legacy url aliases that reference the object. These requests are batched to minimise the impact but they can place a heavy load on Kibana. Make sure you limit the number of objects that exist in multiple namespaces in a single bulk delete operation. + schema: + type: boolean + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: object + responses: + '200': + description: | + Indicates a successful call. NOTE: This HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual objects will be returned in the response body. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/400_response' + servers: + - url: https://localhost:5601 + servers: + - url: https://localhost:5601 + /api/saved_objects/_bulk_get: + post: + summary: Retrieve multiple Kibana saved objects by identifier. + operationId: bulkGetSavedObjects + deprecated: true + tags: + - saved objects + parameters: + - $ref: '#/components/parameters/kbn_xsrf' + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: object + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/400_response' + servers: + - url: https://localhost:5601 + servers: + - url: https://localhost:5601 + /api/saved_objects/_bulk_resolve: + post: + summary: Retrieve multiple Kibana saved objects by identifier using any legacy URL aliases if they exist. + operationId: bulkResolveSavedObjects + deprecated: true + description: | + Under certain circumstances when Kibana is upgraded, saved object migrations may necessitate regenerating some object IDs to enable new features. When an object's ID is regenerated, a legacy URL alias is created for that object, preserving its old ID. In such a scenario, that object can be retrieved by the bulk resolve API using either its new ID or its old ID. + tags: + - saved objects + parameters: + - $ref: '#/components/parameters/kbn_xsrf' + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: object + responses: + '200': + description: | + Indicates a successful call. NOTE: This HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual objects will be returned in the response body. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/400_response' + servers: + - url: https://localhost:5601 + servers: + - url: https://localhost:5601 + /api/saved_objects/_bulk_update: + post: + summary: Update the attributes for multiple Kibana saved objects. + operationId: bulkUpdateSavedObjects + deprecated: true + tags: + - saved objects + parameters: + - $ref: '#/components/parameters/kbn_xsrf' + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: object + responses: + '200': + description: | + Indicates a successful call. NOTE: This HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual objects will be returned in the response body. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/400_response' + servers: + - url: https://localhost:5601 + servers: + - url: https://localhost:5601 /api/saved_objects/_export: post: summary: Retrieve sets of saved objects that you want to import into Kibana. @@ -145,11 +332,115 @@ paths: $ref: '#/components/examples/export_objects_response' '400': description: Bad request. + content: + application/json: + schema: + $ref: '#/components/schemas/400_response' + servers: + - url: https://localhost:5601 + servers: + - url: https://localhost:5601 + /api/saved_objects/_find: + get: + summary: Retrieve a paginated set of Kibana saved objects. + operationId: findSavedObjects + deprecated: true + tags: + - saved objects + parameters: + - in: query + name: aggs + description: | + An aggregation structure, serialized as a string. The field format is similar to filter, meaning that to use a saved object type attribute in the aggregation, the `savedObjectType.attributes.title: "myTitle"` format must be used. For root fields, the syntax is `savedObjectType.rootField`. NOTE: As objects change in Kibana, the results on each page of the response also change. Use the find API for traditional paginated results, but avoid using it to export large amounts of data. + schema: + type: string + - in: query + name: default_search_operator + description: The default operator to use for the `simple_query_string`. + schema: + type: string + - in: query + name: fields + description: The fields to return in the attributes key of the response. + schema: + oneOf: + - type: string + - type: array + - in: query + name: filter + description: | + The filter is a KQL string with the caveat that if you filter with an attribute from your saved object type, it should look like that: `savedObjectType.attributes.title: "myTitle"`. However, if you use a root attribute of a saved object such as `updated_at`, you will have to define your filter like that: `savedObjectType.updated_at > 2018-12-22`. + schema: + type: string + - in: query + name: has_no_reference + description: Filters to objects that do not have a relationship with the type and identifier combination. + schema: + type: object + - in: query + name: has_no_reference_operator + description: The operator to use for the `has_no_reference` parameter. Either `OR` or `AND`. Defaults to `OR`. + schema: + type: string + - in: query + name: has_reference + description: Filters to objects that have a relationship with the type and ID combination. + schema: + type: object + - in: query + name: has_reference_operator + description: The operator to use for the `has_reference` parameter. Either `OR` or `AND`. Defaults to `OR`. + schema: + type: string + - in: query + name: page + description: The page of objects to return. + schema: + type: integer + - in: query + name: per_page + description: The number of objects to return per page. + schema: + type: integer + - in: query + name: search + description: An Elasticsearch `simple_query_string` query that filters the objects in the response. + schema: + type: string + - in: query + name: search_fields + description: The fields to perform the `simple_query_string` parsed query against. + schema: + oneOf: + - type: string + - type: array + - in: query + name: sort_field + description: | + Sorts the response. Includes "root" and "type" fields. "root" fields exist for all saved objects, such as "updated_at". "type" fields are specific to an object type, such as fields returned in the attributes key of the response. When a single type is defined in the type parameter, the "root" and "type" fields are allowed, and validity checks are made in that order. When multiple types are defined in the type parameter, only "root" fields are allowed. + schema: + type: string + - in: query + name: type + description: The saved object types to include. + required: true + schema: + oneOf: + - type: string + - type: array + responses: + '200': + description: Indicates a successful call. content: application/json: schema: type: object - additionalProperties: true + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/400_response' servers: - url: https://localhost:5601 servers: @@ -239,8 +530,7 @@ paths: content: application/json: schema: - type: object - additionalProperties: true + $ref: '#/components/schemas/400_response' servers: - url: https://localhost:5601 servers: @@ -364,11 +654,189 @@ paths: $ref: '#/components/examples/resolve_missing_reference_response' '400': description: Bad request. + content: + application/json: + schema: + $ref: '#/components/schemas/400_response' + servers: + - url: https://localhost:5601 + servers: + - url: https://localhost:5601 + /api/saved_objects/{type}: + post: + summary: Create Kibana saved objects with randomly generated identifiers. + operationId: createSavedObject + deprecated: true + tags: + - saved objects + parameters: + - $ref: '#/components/parameters/kbn_xsrf' + - $ref: '#/components/parameters/saved_object_type' + - in: query + name: overwrite + description: If true, overwrites the document with the same identifier. + schema: + type: boolean + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - attributes + properties: + attributes: + $ref: '#/components/schemas/attributes' + initialNamespaces: + $ref: '#/components/schemas/initial_namespaces' + references: + $ref: '#/components/schemas/references' + responses: + '200': + description: Indicates a successful call. content: application/json: schema: type: object - additionalProperties: true + '409': + description: Indicates a conflict error. + content: + application/json: + schema: + type: object + servers: + - url: https://localhost:5601 + /api/saved_objects/{type}/{id}: + get: + summary: Retrieve a single Kibana saved object by identifier. + operationId: getSavedObject + deprecated: true + tags: + - saved objects + parameters: + - $ref: '#/components/parameters/saved_object_id' + - $ref: '#/components/parameters/saved_object_type' + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '400': + description: Bad request. + content: + application/json: + schema: + $ref: '#/components/schemas/400_response' + servers: + - url: https://localhost:5601 + post: + summary: Create Kibana saved objects. + operationId: createSavedObjectId + deprecated: true + tags: + - saved objects + parameters: + - $ref: '#/components/parameters/kbn_xsrf' + - $ref: '#/components/parameters/saved_object_id' + - $ref: '#/components/parameters/saved_object_type' + - in: query + name: overwrite + description: If true, overwrites the document with the same identifier. + schema: + type: boolean + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - attributes + properties: + attributes: + $ref: '#/components/schemas/attributes' + initialNamespaces: + $ref: '#/components/schemas/initial_namespaces' + references: + $ref: '#/components/schemas/initial_namespaces' + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '409': + description: Indicates a conflict error. + content: + application/json: + schema: + type: object + put: + summary: Update the attributes for Kibana saved objects. + operationId: updateSavedObject + deprecated: true + tags: + - saved objects + parameters: + - $ref: '#/components/parameters/kbn_xsrf' + - $ref: '#/components/parameters/saved_object_id' + - $ref: '#/components/parameters/saved_object_type' + requestBody: + required: true + content: + application/json: + schema: + type: object + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '404': + description: Indicates the object was not found. + content: + application/json: + schema: + type: object + '409': + description: Indicates a conflict error. + content: + application/json: + schema: + type: object + servers: + - url: https://localhost:5601 + /api/saved_objects/resolve/{type}/{id}: + get: + summary: Retrieve a single Kibana saved object by identifier using any legacy URL alias if it exists. + operationId: resolveSavedObject + description: | + Under certain circumstances, when Kibana is upgraded, saved object migrations may necessitate regenerating some object IDs to enable new features. When an object's ID is regenerated, a legacy URL alias is created for that object, preserving its old ID. In such a scenario, that object can be retrieved using either its new ID or its old ID. + deprecated: true + tags: + - saved objects + parameters: + - $ref: '#/components/parameters/saved_object_id' + - $ref: '#/components/parameters/saved_object_type' + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '400': + description: Bad request. + content: + application/json: + schema: + $ref: '#/components/schemas/400_response' servers: - url: https://localhost:5601 servers: @@ -478,6 +946,37 @@ components: meta: icon: dashboardApp title: Look at my dashboard + schemas: + 400_response: + title: Bad request + type: object + required: + - error + - message + - statusCode + properties: + error: + type: string + enum: + - Bad Request + message: + type: string + statusCode: + type: integer + enum: + - 400 + attributes: + type: object + description: | + The data that you want to create. WARNING: When you create saved objects, attributes are not validated, which allows you to pass arbitrary and ill-formed data into the API that can break Kibana. Make sure any data that you send to the API is properly formed. + initial_namespaces: + type: array + description: | + Identifiers for the spaces in which this object is created. If this is provided, the object is created only in the explicitly defined spaces. If this is not provided, the object is created in the current space (default behavior). For shareable object types (registered with `namespaceType: 'multiple'`), this option can be used to specify one or more spaces, including the "All spaces" identifier ('*'). For isolated object types (registered with `namespaceType: 'single'` or `namespaceType: 'multiple-isolated'`), this option can only be used to specify a single space, and the "All spaces" identifier ('*') is not allowed. For global object types (`registered with `namespaceType: agnostic`), this option cannot be used. + references: + type: array + description: | + Objects with `name`, `id`, and `type` properties that describe the other saved objects that this object references. Use `name` in attributes to refer to the other saved object, but never the `id`, which can update automatically during migrations or import and export. parameters: kbn_xsrf: schema: @@ -486,3 +985,17 @@ components: name: kbn-xsrf description: Cross-site request forgery protection required: true + saved_object_type: + in: path + name: type + description: Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`. + required: true + schema: + type: string + saved_object_id: + in: path + name: id + description: An identifier for the saved object. + required: true + schema: + type: string diff --git a/packages/core/saved-objects/docs/openapi/components/parameters/saved_object_id.yaml b/packages/core/saved-objects/docs/openapi/components/parameters/saved_object_id.yaml new file mode 100644 index 00000000000000..5cf3a824cc05ec --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/components/parameters/saved_object_id.yaml @@ -0,0 +1,6 @@ +in: path +name: id +description: An identifier for the saved object. +required: true +schema: + type: string \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/components/parameters/saved_object_type.yaml b/packages/core/saved-objects/docs/openapi/components/parameters/saved_object_type.yaml new file mode 100644 index 00000000000000..9662a966f9d5f0 --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/components/parameters/saved_object_type.yaml @@ -0,0 +1,6 @@ +in: path +name: type +description: Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`. +required: true +schema: + type: string diff --git a/packages/core/saved-objects/docs/openapi/components/schemas/400_response.yaml b/packages/core/saved-objects/docs/openapi/components/schemas/400_response.yaml new file mode 100644 index 00000000000000..ab0887586c0ebc --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/components/schemas/400_response.yaml @@ -0,0 +1,17 @@ +title: Bad request +type: object +required: + - error + - message + - statusCode +properties: + error: + type: string + enum: + - Bad Request + message: + type: string + statusCode: + type: integer + enum: + - 400 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/components/schemas/attributes.yaml b/packages/core/saved-objects/docs/openapi/components/schemas/attributes.yaml new file mode 100644 index 00000000000000..61a107dcb21ad1 --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/components/schemas/attributes.yaml @@ -0,0 +1,4 @@ +type: object +description: > + The data that you want to create. + WARNING: When you create saved objects, attributes are not validated, which allows you to pass arbitrary and ill-formed data into the API that can break Kibana. Make sure any data that you send to the API is properly formed. \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/components/schemas/initial_namespaces.yaml b/packages/core/saved-objects/docs/openapi/components/schemas/initial_namespaces.yaml new file mode 100644 index 00000000000000..b7c2e94c97f33a --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/components/schemas/initial_namespaces.yaml @@ -0,0 +1,8 @@ +type: array +description: > + Identifiers for the spaces in which this object is created. + If this is provided, the object is created only in the explicitly defined spaces. + If this is not provided, the object is created in the current space (default behavior). + For shareable object types (registered with `namespaceType: 'multiple'`), this option can be used to specify one or more spaces, including the "All spaces" identifier ('*'). + For isolated object types (registered with `namespaceType: 'single'` or `namespaceType: 'multiple-isolated'`), this option can only be used to specify a single space, and the "All spaces" identifier ('*') is not allowed. + For global object types (`registered with `namespaceType: agnostic`), this option cannot be used. \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/components/schemas/references.yaml b/packages/core/saved-objects/docs/openapi/components/schemas/references.yaml new file mode 100644 index 00000000000000..d734d081695da8 --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/components/schemas/references.yaml @@ -0,0 +1,4 @@ +type: array +description: > + Objects with `name`, `id`, and `type` properties that describe the other saved objects that this object references. + Use `name` in attributes to refer to the other saved object, but never the `id`, which can update automatically during migrations or import and export. \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/entrypoint.yaml b/packages/core/saved-objects/docs/openapi/entrypoint.yaml index 5da4c7cbb5cae8..f20b8204b4bd45 100644 --- a/packages/core/saved-objects/docs/openapi/entrypoint.yaml +++ b/packages/core/saved-objects/docs/openapi/entrypoint.yaml @@ -18,30 +18,30 @@ paths: # Paths in the default space '/api/encrypted_saved_objects/_rotate_key': $ref: 'paths/api@encrypted_saved_objects@_rotate_key.yaml' -# '/api/saved_objects/_bulk_create': -# $ref: 'paths/api@saved_objects@_bulk_create.yaml' -# '/api/saved_objects/_bulk_delete': -# $ref: 'paths/api@saved_objects@_bulk_delete.yaml' -# '/api/saved_objects/_bulk_get': -# $ref: 'paths/api@saved_objects@_bulk_get.yaml' -# '/api/saved_objects/_bulk_resolve': -# $ref: 'paths/api@saved_objects@_bulk_resolve.yaml' -# '/api/saved_objects/_bulk_update': -# $ref: 'paths/api@saved_objects@_bulk_update.yaml' + '/api/saved_objects/_bulk_create': + $ref: 'paths/api@saved_objects@_bulk_create.yaml' + '/api/saved_objects/_bulk_delete': + $ref: 'paths/api@saved_objects@_bulk_delete.yaml' + '/api/saved_objects/_bulk_get': + $ref: 'paths/api@saved_objects@_bulk_get.yaml' + '/api/saved_objects/_bulk_resolve': + $ref: 'paths/api@saved_objects@_bulk_resolve.yaml' + '/api/saved_objects/_bulk_update': + $ref: 'paths/api@saved_objects@_bulk_update.yaml' '/api/saved_objects/_export': $ref: 'paths/api@saved_objects@_export.yaml' -# '/api/saved_objects/_find': -# $ref: 'paths/api@saved_objects@_find.yaml' + '/api/saved_objects/_find': + $ref: 'paths/api@saved_objects@_find.yaml' '/api/saved_objects/_import': $ref: 'paths/api@saved_objects@_import.yaml' '/api/saved_objects/_resolve_import_errors': $ref: 'paths/api@saved_objects@_resolve_import_errors.yaml' -# '/api/saved_objects/{type}': -# $ref: 'paths/api@saved_objects@{type}.yaml' -# '/api/saved_objects/{type}/{id}': -# $ref: 'paths/api@saved_objects@{type}@{id}.yaml -# 'api/saved_objects/resolve/{type}/{id}': -# $ref: 'paths/api@saved_objects@resolve@{type}@{id}.yaml' + '/api/saved_objects/{type}': + $ref: 'paths/api@saved_objects@{type}.yaml' + '/api/saved_objects/{type}/{id}': + $ref: 'paths/api@saved_objects@{type}@{id}.yaml' + '/api/saved_objects/resolve/{type}/{id}': + $ref: 'paths/api@saved_objects@resolve@{type}@{id}.yaml' components: securitySchemes: basicAuth: diff --git a/packages/core/saved-objects/docs/openapi/paths/api@encrypted_saved_objects@_rotate_key.yaml b/packages/core/saved-objects/docs/openapi/paths/api@encrypted_saved_objects@_rotate_key.yaml index 495d75bbb364a2..94ab9cb3f62860 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@encrypted_saved_objects@_rotate_key.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@encrypted_saved_objects@_rotate_key.yaml @@ -51,12 +51,11 @@ post: rotateEncryptionKeyResponse: $ref: '../components/examples/key_rotation_response.yaml' '400': - description: Bad request. - content: - application/json: - schema: - type: object - additionalProperties: true + description: Bad request + content: + application/json: + schema: + $ref: '../components/schemas/400_response.yaml' '429': description: Already in progress. content: diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_create.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_create.yaml new file mode 100644 index 00000000000000..0461a1a618a75c --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_create.yaml @@ -0,0 +1,39 @@ +post: + summary: Create multiple Kibana saved objects. + operationId: bulkCreateSavedObjects + deprecated: true + tags: + - saved objects + parameters: + - $ref: ../components/headers/kbn_xsrf.yaml + - in: query + name: overwrite + description: When true, overwrites the document with the same identifier. + schema: + type: boolean + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: object + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '../components/schemas/400_response.yaml' + + servers: + - url: https://localhost:5601 +servers: + - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_delete.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_delete.yaml new file mode 100644 index 00000000000000..c15fdde82b2a43 --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_delete.yaml @@ -0,0 +1,48 @@ +post: + summary: Remove multiple Kibana saved objects. + operationId: bulkDeleteSavedObjects + description: > + WARNING: When you delete a saved object, it cannot be recovered. + deprecated: true + tags: + - saved objects + parameters: + - $ref: ../components/headers/kbn_xsrf.yaml + - in: query + name: force + description: > + When true, force delete objects that exist in multiple namespaces. + Note that the option applies to the whole request. + Use the delete object API to specify per-object deletion behavior. + TIP: Use this if you attempted to delete objects and received an HTTP 400 error with the following message: "Unable to delete saved object that exists in multiple namespaces, use the force option to delete it anyway". + WARNING: When you bulk delete objects that exist in multiple namespaces, the API also deletes legacy url aliases that reference the object. These requests are batched to minimise the impact but they can place a heavy load on Kibana. Make sure you limit the number of objects that exist in multiple namespaces in a single bulk delete operation. + schema: + type: boolean + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: object + responses: + '200': + description: > + Indicates a successful call. + NOTE: This HTTP response code indicates that the bulk operation succeeded. + Errors pertaining to individual objects will be returned in the response body. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '../components/schemas/400_response.yaml' + servers: + - url: https://localhost:5601 +servers: + - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_get.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_get.yaml new file mode 100644 index 00000000000000..8512f5a04ef7f8 --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_get.yaml @@ -0,0 +1,33 @@ +post: + summary: Retrieve multiple Kibana saved objects by identifier. + operationId: bulkGetSavedObjects + deprecated: true + tags: + - saved objects + parameters: + - $ref: ../components/headers/kbn_xsrf.yaml + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: object + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '../components/schemas/400_response.yaml' + servers: + - url: https://localhost:5601 +servers: + - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_resolve.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_resolve.yaml new file mode 100644 index 00000000000000..9227bb782bfac4 --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_resolve.yaml @@ -0,0 +1,40 @@ +post: + summary: Retrieve multiple Kibana saved objects by identifier using any legacy URL aliases if they exist. + operationId: bulkResolveSavedObjects + deprecated: true + description: > + Under certain circumstances when Kibana is upgraded, saved object migrations may necessitate regenerating some object IDs to enable new features. + When an object's ID is regenerated, a legacy URL alias is created for that object, preserving its old ID. + In such a scenario, that object can be retrieved by the bulk resolve API using either its new ID or its old ID. + tags: + - saved objects + parameters: + - $ref: ../components/headers/kbn_xsrf.yaml + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: object + responses: + '200': + description: > + Indicates a successful call. + NOTE: This HTTP response code indicates that the bulk operation succeeded. + Errors pertaining to individual objects will be returned in the response body. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '../components/schemas/400_response.yaml' + servers: + - url: https://localhost:5601 +servers: + - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_update.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_update.yaml new file mode 100644 index 00000000000000..aa5e9e1f33c359 --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_update.yaml @@ -0,0 +1,36 @@ +post: + summary: Update the attributes for multiple Kibana saved objects. + operationId: bulkUpdateSavedObjects + deprecated: true + tags: + - saved objects + parameters: + - $ref: ../components/headers/kbn_xsrf.yaml + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: object + responses: + '200': + description: > + Indicates a successful call. + NOTE: This HTTP response code indicates that the bulk operation succeeded. + Errors pertaining to individual objects will be returned in the response body. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '../components/schemas/400_response.yaml' + servers: + - url: https://localhost:5601 +servers: + - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_export.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_export.yaml index 717d4623a93466..931746d21ddc1a 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_export.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_export.yaml @@ -57,8 +57,7 @@ post: content: application/json: schema: - type: object - additionalProperties: true + $ref: '../components/schemas/400_response.yaml' servers: - url: https://localhost:5601 servers: diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_find.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_find.yaml new file mode 100644 index 00000000000000..180a16534f8a06 --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_find.yaml @@ -0,0 +1,111 @@ +get: + summary: Retrieve a paginated set of Kibana saved objects. + operationId: findSavedObjects + deprecated: true + tags: + - saved objects + parameters: + - in: query + name: aggs + description: > + An aggregation structure, serialized as a string. The field format is similar to filter, meaning that to use a saved object type attribute in the aggregation, the `savedObjectType.attributes.title: "myTitle"` format must be used. For root fields, the syntax is `savedObjectType.rootField`. + NOTE: As objects change in Kibana, the results on each page of the response also change. Use the find API for traditional paginated results, but avoid using it to export large amounts of data. + schema: + type: string + - in: query + name: default_search_operator + description: The default operator to use for the `simple_query_string`. + schema: + type: string + - in: query + name: fields + description: The fields to return in the attributes key of the response. + schema: + oneOf: + - type: string + - type: array + - in: query + name: filter + description: > + The filter is a KQL string with the caveat that if you filter with an attribute from your saved object type, it should look like that: `savedObjectType.attributes.title: "myTitle"`. + However, if you use a root attribute of a saved object such as `updated_at`, you will have to define your filter like that: `savedObjectType.updated_at > 2018-12-22`. + schema: + type: string + - in: query + name: has_no_reference + description: Filters to objects that do not have a relationship with the type and identifier combination. + schema: + type: object + - in: query + name: has_no_reference_operator + description: The operator to use for the `has_no_reference` parameter. Either `OR` or `AND`. Defaults to `OR`. + schema: + type: string + - in: query + name: has_reference + description: Filters to objects that have a relationship with the type and ID combination. + schema: + type: object + - in: query + name: has_reference_operator + description: The operator to use for the `has_reference` parameter. Either `OR` or `AND`. Defaults to `OR`. + schema: + type: string + - in: query + name: page + description: The page of objects to return. + schema: + type: integer + - in: query + name: per_page + description: The number of objects to return per page. + schema: + type: integer + - in: query + name: search + description: An Elasticsearch `simple_query_string` query that filters the objects in the response. + schema: + type: string + - in: query + name: search_fields + description: The fields to perform the `simple_query_string` parsed query against. + schema: + oneOf: + - type: string + - type: array + - in: query + name: sort_field + description: > + Sorts the response. + Includes "root" and "type" fields. + "root" fields exist for all saved objects, such as "updated_at". + "type" fields are specific to an object type, such as fields returned in the attributes key of the response. + When a single type is defined in the type parameter, the "root" and "type" fields are allowed, and validity checks are made in that order. + When multiple types are defined in the type parameter, only "root" fields are allowed. + schema: + type: string + - in: query + name: type + description: The saved object types to include. + required: true + schema: + oneOf: + - type: string + - type: array + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '400': + description: Bad request + content: + application/json: + schema: + $ref: '../components/schemas/400_response.yaml' + servers: + - url: https://localhost:5601 +servers: + - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_import.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_import.yaml index 2d7a8a7f5e5546..5c538a2d1442fd 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_import.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_import.yaml @@ -82,8 +82,7 @@ post: content: application/json: schema: - type: object - additionalProperties: true + $ref: '../components/schemas/400_response.yaml' servers: - url: https://localhost:5601 servers: diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_resolve_import_errors.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_resolve_import_errors.yaml index 66b3c38d2aee54..6c49f1925e3e53 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_resolve_import_errors.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_resolve_import_errors.yaml @@ -119,8 +119,7 @@ post: content: application/json: schema: - type: object - additionalProperties: true + $ref: '../components/schemas/400_response.yaml' servers: - url: https://localhost:5601 servers: diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@resolve@{type}@{id}.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@resolve@{type}@{id}.yaml new file mode 100644 index 00000000000000..bb1bd0d68bcefd --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@resolve@{type}@{id}.yaml @@ -0,0 +1,31 @@ +get: + summary: Retrieve a single Kibana saved object by identifier using any legacy URL alias if it exists. + operationId: resolveSavedObject + description: > + Under certain circumstances, when Kibana is upgraded, saved object migrations may necessitate regenerating some object IDs to enable new features. + When an object's ID is regenerated, a legacy URL alias is created for that object, preserving its old ID. + In such a scenario, that object can be retrieved using either its new ID or its old ID. + deprecated: true + tags: + - saved objects + parameters: + - $ref: '../components/parameters/saved_object_id.yaml' + - $ref: '../components/parameters/saved_object_type.yaml' + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '400': + description: Bad request. + content: + application/json: + schema: + $ref: '../components/schemas/400_response.yaml' + servers: + - url: https://localhost:5601 + +servers: + - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}.yaml new file mode 100644 index 00000000000000..2005e4241b41f2 --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}.yaml @@ -0,0 +1,44 @@ +post: + summary: Create Kibana saved objects with randomly generated identifiers. + operationId: createSavedObject + deprecated: true + tags: + - saved objects + parameters: + - $ref: '../components/headers/kbn_xsrf.yaml' + - $ref: '../components/parameters/saved_object_type.yaml' + - in: query + name: overwrite + description: If true, overwrites the document with the same identifier. + schema: + type: boolean + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - attributes + properties: + attributes: + $ref: '../components/schemas/attributes.yaml' + initialNamespaces: + $ref: '../components/schemas/initial_namespaces.yaml' + references: + $ref: '../components/schemas/references.yaml' + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '409': + description: Indicates a conflict error. + content: + application/json: + schema: + type: object +servers: + - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}@{id}.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}@{id}.yaml new file mode 100644 index 00000000000000..b92631817eba40 --- /dev/null +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}@{id}.yaml @@ -0,0 +1,106 @@ +get: + summary: Retrieve a single Kibana saved object by identifier. + operationId: getSavedObject + deprecated: true + tags: + - saved objects + parameters: + - $ref: '../components/parameters/saved_object_id.yaml' + - $ref: '../components/parameters/saved_object_type.yaml' + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '400': + description: Bad request. + content: + application/json: + schema: + $ref: '../components/schemas/400_response.yaml' + servers: + - url: https://localhost:5601 + +post: + summary: Create Kibana saved objects. + operationId: createSavedObjectId + deprecated: true + tags: + - saved objects + parameters: + - $ref: '../components/headers/kbn_xsrf.yaml' + - $ref: '../components/parameters/saved_object_id.yaml' + - $ref: '../components/parameters/saved_object_type.yaml' + - in: query + name: overwrite + description: If true, overwrites the document with the same identifier. + schema: + type: boolean + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - attributes + properties: + attributes: + $ref: '../components/schemas/attributes.yaml' + initialNamespaces: + $ref: '../components/schemas/initial_namespaces.yaml' + references: + $ref: '../components/schemas/initial_namespaces.yaml' + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '409': + description: Indicates a conflict error. + content: + application/json: + schema: + type: object + +put: + summary: Update the attributes for Kibana saved objects. + operationId: updateSavedObject + deprecated: true + tags: + - saved objects + parameters: + - $ref: '../components/headers/kbn_xsrf.yaml' + - $ref: '../components/parameters/saved_object_id.yaml' + - $ref: '../components/parameters/saved_object_type.yaml' + requestBody: + required: true + content: + application/json: + schema: + type: object + responses: + '200': + description: Indicates a successful call. + content: + application/json: + schema: + type: object + '404': + description: Indicates the object was not found. + content: + application/json: + schema: + type: object + '409': + description: Indicates a conflict error. + content: + application/json: + schema: + type: object +servers: + - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts index 0ff24ed58af09a..4e5ac0de487b5b 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_serverless_root.ts @@ -5,7 +5,9 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ + import { defaultsDeep } from 'lodash'; +import { Client, HttpConnection } from '@elastic/elasticsearch'; import { Cluster } from '@kbn/es'; import Path from 'path'; import { REPO_ROOT } from '@kbn/repo-info'; @@ -14,8 +16,11 @@ import execa from 'execa'; import { CliArgs } from '@kbn/config'; import { createRoot, type TestElasticsearchUtils, type TestKibanaUtils } from './create_root'; -export type TestServerlessESUtils = Pick; +export type TestServerlessESUtils = Pick & { + getClient: () => Client; +}; export type TestServerlessKibanaUtils = TestKibanaUtils; + export interface TestServerlessUtils { startES: () => Promise; startKibana: (abortSignal?: AbortSignal) => Promise; @@ -37,9 +42,10 @@ export function createTestServerlessInstances({ adjustTimeout?.(120_000); return { startES: async () => { - const { stop } = await esUtils.start(); + const { stop, getClient } = await esUtils.start(); return { es: esUtils.es, + getClient, stop, }; }, @@ -70,7 +76,10 @@ function createServerlessES() { await es.runServerless({ basePath: Path.join(REPO_ROOT, '.es/es_test_serverless'), }); + // runServerless doesn't wait until the nodes are up + await waitUntilClusterReady(getServerlessESClient()); return { + getClient: getServerlessESClient, stop: async () => { // hack to stop the ES cluster await execa('docker', ['container', 'stop', 'es01', 'es02', 'es03']); @@ -80,6 +89,30 @@ function createServerlessES() { }; } +const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); + +const waitUntilClusterReady = async (client: Client, timeoutMs = 60 * 1000) => { + const started = Date.now(); + + while (started + timeoutMs > Date.now()) { + try { + await client.info(); + break; + } catch (e) { + await delay(1000); + /* trap to continue */ + } + } +}; + +const getServerlessESClient = () => { + return new Client({ + // node ports not configurable from + node: 'http://localhost:9200', + Connection: HttpConnection, + }); +}; + const defaults = { server: { restrictInternalApis: true, @@ -95,6 +128,7 @@ const defaults = { serviceAccountToken: 'BEEF', }, }; + function createServerlessKibana(settings = {}, cliArgs: Partial = {}) { return createRoot(defaultsDeep(settings, defaults), { ...cliArgs, serverless: true }); } diff --git a/packages/deeplinks/search/constants.ts b/packages/deeplinks/search/constants.ts index db741ca76c094d..75e23971bcbc7b 100644 --- a/packages/deeplinks/search/constants.ts +++ b/packages/deeplinks/search/constants.ts @@ -7,5 +7,4 @@ */ export const SERVERLESS_ES_APP_ID = 'serverlessElasticsearch'; -export const SERVERLESS_ES_INDEXING_API_ID = 'serverlessIndexingApi'; export const SERVERLESS_ES_CONNECTORS_ID = 'serverlessConnectors'; diff --git a/packages/deeplinks/search/deep_links.ts b/packages/deeplinks/search/deep_links.ts index ec8f501eee4e2d..420f308945ca3a 100644 --- a/packages/deeplinks/search/deep_links.ts +++ b/packages/deeplinks/search/deep_links.ts @@ -6,14 +6,9 @@ * Side Public License, v 1. */ -import { - SERVERLESS_ES_APP_ID, - SERVERLESS_ES_CONNECTORS_ID, - SERVERLESS_ES_INDEXING_API_ID, -} from './constants'; +import { SERVERLESS_ES_APP_ID, SERVERLESS_ES_CONNECTORS_ID } from './constants'; export type AppId = typeof SERVERLESS_ES_APP_ID; -export type IndexingApiId = typeof SERVERLESS_ES_INDEXING_API_ID; export type ConnectorsId = typeof SERVERLESS_ES_CONNECTORS_ID; -export type DeepLinkId = AppId | IndexingApiId | ConnectorsId; +export type DeepLinkId = AppId | ConnectorsId; diff --git a/packages/deeplinks/search/index.ts b/packages/deeplinks/search/index.ts index a21db35a8627bb..33c795a34382f5 100644 --- a/packages/deeplinks/search/index.ts +++ b/packages/deeplinks/search/index.ts @@ -6,6 +6,6 @@ * Side Public License, v 1. */ -export { SERVERLESS_ES_APP_ID, SERVERLESS_ES_INDEXING_API_ID } from './constants'; +export { SERVERLESS_ES_APP_ID, SERVERLESS_ES_CONNECTORS_ID } from './constants'; export type { AppId, DeepLinkId } from './deep_links'; diff --git a/packages/kbn-discover-utils/src/utils/nested_fields.test.ts b/packages/kbn-discover-utils/src/utils/nested_fields.test.ts new file mode 100644 index 00000000000000..b2e74a556e8f73 --- /dev/null +++ b/packages/kbn-discover-utils/src/utils/nested_fields.test.ts @@ -0,0 +1,40 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { DataView } from '@kbn/data-views-plugin/common'; +import { isNestedFieldParent } from './nested_fields'; +describe('isNestedFieldParent', () => { + it('correctly identifies nested parent fields', () => { + const nestedField = { + name: 'nested.field', + type: 'keyword', + subType: { + nested: { + path: 'nested.field.path', + }, + }, + }; + const unnestedField = { + name: 'unnested.field', + type: 'keyword', + }; + const list = [nestedField, unnestedField]; + + const dataView = { + fields: { + getByName: jest.fn((fieldName) => list.find((field) => field.name === fieldName)), + getAll: jest.fn(() => list), + }, + } as unknown as DataView; + + expect(isNestedFieldParent('nested', dataView)).toBe(true); + expect(isNestedFieldParent('nested.field', dataView)).toBe(false); + expect(isNestedFieldParent('unnested.field', dataView)).toBe(false); + expect(isNestedFieldParent('whateverField', dataView)).toBe(false); + }); +}); diff --git a/packages/kbn-discover-utils/src/utils/nested_fields.ts b/packages/kbn-discover-utils/src/utils/nested_fields.ts index 9b7fe693ce22e3..d4930b63832fd0 100644 --- a/packages/kbn-discover-utils/src/utils/nested_fields.ts +++ b/packages/kbn-discover-utils/src/utils/nested_fields.ts @@ -47,12 +47,15 @@ import type { DataView } from '@kbn/data-views-plugin/public'; * issue: https://github.com/elastic/kibana/issues/54957 */ export function isNestedFieldParent(fieldName: string, dataView: DataView): boolean { + const nestedRootRegex = new RegExp(escapeRegExp(fieldName) + '(\\.|$)'); return ( !dataView.fields.getByName(fieldName) && !!dataView.fields.getAll().find((patternField) => { // We only want to match a full path segment - const nestedRootRegex = new RegExp(escapeRegExp(fieldName) + '(\\.|$)'); const subTypeNested = getDataViewFieldSubtypeNested(patternField); + if (!subTypeNested) { + return false; + } return nestedRootRegex.test(subTypeNested?.nested.path ?? ''); }) ); diff --git a/packages/kbn-eslint-plugin-imports/src/rules/no_unused_imports.ts b/packages/kbn-eslint-plugin-imports/src/rules/no_unused_imports.ts index f12e149af9f665..5818bef672faf5 100644 --- a/packages/kbn-eslint-plugin-imports/src/rules/no_unused_imports.ts +++ b/packages/kbn-eslint-plugin-imports/src/rules/no_unused_imports.ts @@ -78,6 +78,7 @@ function isTsOrEslintIgnore(comment: Comment) { export const NoUnusedImportsRule: Rule.RuleModule = { meta: { + hasSuggestions: true, fixable: 'code', docs: { url: 'https://github.com/elastic/kibana/blob/main/packages/kbn-eslint-plugin-imports/README.mdx#kbnimportsno_unused_imports', diff --git a/packages/kbn-expandable-flyout/src/index.tsx b/packages/kbn-expandable-flyout/src/index.tsx index e6e5af85ac0a36..d5a1bff46439b4 100644 --- a/packages/kbn-expandable-flyout/src/index.tsx +++ b/packages/kbn-expandable-flyout/src/index.tsx @@ -7,7 +7,6 @@ */ import React, { useCallback, useMemo } from 'react'; -import { css } from '@emotion/react'; import type { EuiFlyoutProps } from '@elastic/eui'; import { EuiFlexGroup, EuiFlyout } from '@elastic/eui'; import { useExpandableFlyoutContext } from './context'; @@ -28,10 +27,6 @@ export interface ExpandableFlyoutProps extends Omit { handleOnFlyoutClosed?: () => void; } -const flyoutStyles = css` - overflow-y: scroll; -`; - const flyoutInnerStyles = { height: '100%' }; /** @@ -88,13 +83,7 @@ export const ExpandableFlyout: React.FC = ({ const previewSectionWidth: number = leftSection ? 0.4 : 1; return ( - + { + let esServer: TestElasticsearchUtils; + let client: ElasticsearchClient; + + beforeEach(async () => { + const { startES } = createTestServers({ + adjustTimeout: (t: number) => jest.setTimeout(t), + settings: { + es: { + license: 'basic', + }, + }, + }); + + esServer = await startES(); + client = esServer.es.getClient(); + }); + + afterEach(async () => { + if (esServer) { + await esServer.stop(); + } + }); + + it('returns the correct capabilities', async () => { + const capabilities = await getCapabilitiesFromClient(client); + expect(capabilities).toEqual({ + serverless: false, + }); + }); +}); diff --git a/src/core/server/integration_tests/elasticsearch/capabilities_serverless.test.ts b/src/core/server/integration_tests/elasticsearch/capabilities_serverless.test.ts new file mode 100644 index 00000000000000..56754a12daed73 --- /dev/null +++ b/src/core/server/integration_tests/elasticsearch/capabilities_serverless.test.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 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 { + TestServerlessESUtils, + createTestServerlessInstances, +} from '@kbn/core-test-helpers-kbn-server'; +import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { getCapabilitiesFromClient } from '@kbn/core-elasticsearch-server-internal'; + +// skipped because test serverless ES nodes are currently using static ports +// causing parallel jest runners to fail for obvious port conflicts reasons. +describe.skip('ES capabilities for serverless ES', () => { + let serverlessES: TestServerlessESUtils; + let client: ElasticsearchClient; + + beforeEach(async () => { + const { startES } = createTestServerlessInstances({ + adjustTimeout: jest.setTimeout, + }); + + serverlessES = await startES(); + client = serverlessES.getClient(); + }); + + afterEach(async () => { + await serverlessES?.stop(); + }); + + it('returns the correct capabilities', async () => { + const capabilities = await getCapabilitiesFromClient(client); + expect(capabilities).toEqual({ + serverless: true, + }); + }); +}); diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions.test.ts index 3800bfc1184ba6..dc583d97190a9f 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/actions.test.ts @@ -13,6 +13,7 @@ import { errors } from '@elastic/elasticsearch'; import type { TaskEither } from 'fp-ts/lib/TaskEither'; import type { SavedObjectsRawDoc } from '@kbn/core-saved-objects-server'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import { createTestServers, type TestElasticsearchUtils } from '@kbn/core-test-helpers-kbn-server'; import { bulkOverwriteTransformedDocuments, @@ -59,16 +60,19 @@ let esServer: TestElasticsearchUtils; describe('migration actions', () => { let client: ElasticsearchClient; + let esCapabilities: ReturnType; beforeAll(async () => { esServer = await startES(); client = esServer.es.getClient().child(MIGRATION_CLIENT_OPTIONS); + esCapabilities = elasticsearchServiceMock.createCapabilities(); // Create test fixture data: await createIndex({ client, indexName: 'existing_index_with_docs', aliases: ['existing_index_with_docs_alias'], + esCapabilities, mappings: { dynamic: true, properties: { @@ -98,11 +102,17 @@ describe('migration actions', () => { refresh: 'wait_for', })(); - await createIndex({ client, indexName: 'existing_index_2', mappings: { properties: {} } })(); + await createIndex({ + client, + indexName: 'existing_index_2', + mappings: { properties: {} }, + esCapabilities, + })(); await createIndex({ client, indexName: 'existing_index_with_write_block', mappings: { properties: {} }, + esCapabilities, })(); await bulkOverwriteTransformedDocuments({ client, @@ -276,6 +286,7 @@ describe('migration actions', () => { client, indexName: 'new_index_without_write_block', mappings: { properties: {} }, + esCapabilities, })(); }); it('resolves right when setting the write block succeeds', async () => { @@ -341,11 +352,13 @@ describe('migration actions', () => { client, indexName: 'existing_index_without_write_block_2', mappings: { properties: {} }, + esCapabilities, })(); await createIndex({ client, indexName: 'existing_index_with_write_block_2', mappings: { properties: {} }, + esCapabilities, })(); await setWriteBlock({ client, index: 'existing_index_with_write_block_2' })(); }); @@ -514,6 +527,7 @@ describe('migration actions', () => { client, source: 'existing_index_with_write_block', target: 'clone_target_1', + esCapabilities, }); expect.assertions(3); await expect(task()).resolves.toMatchInlineSnapshot(` @@ -557,6 +571,7 @@ describe('migration actions', () => { client, source: 'existing_index_with_write_block', target: 'clone_red_then_green_index', + esCapabilities, })(); let indexGreen = false; @@ -609,6 +624,7 @@ describe('migration actions', () => { source: 'existing_index_with_write_block', target: 'clone_red_index', timeout: '1s', + esCapabilities, })(); await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` @@ -637,6 +653,7 @@ describe('migration actions', () => { source: 'existing_index_with_write_block', target: 'clone_red_index', timeout: '1s', + esCapabilities, })(); await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` @@ -665,6 +682,7 @@ describe('migration actions', () => { source: 'existing_index_with_write_block', target: 'clone_red_index', timeout: '30s', + esCapabilities, })(); await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` @@ -679,7 +697,12 @@ describe('migration actions', () => { }); it('resolves left index_not_found_exception if the source index does not exist', async () => { expect.assertions(1); - const task = cloneIndex({ client, source: 'no_such_index', target: 'clone_target_3' }); + const task = cloneIndex({ + client, + source: 'no_such_index', + target: 'clone_target_3', + esCapabilities, + }); await expect(task()).resolves.toMatchInlineSnapshot(` Object { "_tag": "Left", @@ -697,6 +720,7 @@ describe('migration actions', () => { client, source: 'existing_index_with_write_block', target: 'clone_target_4', + esCapabilities, })(); await expect(cloneIndexPromise).resolves.toMatchInlineSnapshot(` Object { @@ -866,7 +890,12 @@ describe('migration actions', () => { expect.assertions(2); // Simulate a reindex that only adds some of the documents from the // source index into the target index - await createIndex({ client, indexName: 'reindex_target_4', mappings: { properties: {} } })(); + await createIndex({ + client, + indexName: 'reindex_target_4', + mappings: { properties: {} }, + esCapabilities, + })(); const response = await client.search({ index: 'existing_index_with_docs', size: 1000 }); const sourceDocs = (response.hits?.hits as SavedObjectsRawDoc[]) .slice(0, 2) @@ -931,6 +960,7 @@ describe('migration actions', () => { /** no title field */ }, }, + esCapabilities, })(); const { @@ -971,6 +1001,7 @@ describe('migration actions', () => { dynamic: false, properties: { title: { type: 'integer' } }, // integer is incompatible with string title }, + esCapabilities, })(); const { @@ -1464,6 +1495,7 @@ describe('migration actions', () => { dynamic: false, properties: {}, }, + esCapabilities, })(); const sourceDocs = [ { _source: { title: 'doc 1' } }, @@ -1769,6 +1801,7 @@ describe('migration actions', () => { indexName: 'create_new_index', mappings: undefined as any, timeout: '1nanos', + esCapabilities, })(); await expect(createIndexPromise).resolves.toEqual({ _tag: 'Right', @@ -1809,6 +1842,7 @@ describe('migration actions', () => { client, indexName: 'red_then_yellow_index', mappings: undefined as any, + esCapabilities, })(); let indexYellow = false; @@ -1861,6 +1895,7 @@ describe('migration actions', () => { client, indexName: 'yellow_then_green_index', mappings: undefined as any, + esCapabilities, })(); let indexGreen = false; @@ -1893,6 +1928,7 @@ describe('migration actions', () => { client, indexName: 'create_index_1', mappings: undefined as any, + esCapabilities, })(); await expect(createIndexPromise).resolves.toMatchInlineSnapshot(` Object { @@ -1907,7 +1943,12 @@ describe('migration actions', () => { // Creating an index with the same name as an existing alias to induce // failure await expect( - createIndex({ client, indexName: 'existing_index_2_alias', mappings: undefined as any })() + createIndex({ + client, + indexName: 'existing_index_2_alias', + mappings: undefined as any, + esCapabilities, + })() ).rejects.toThrow('invalid_index_name_exception'); }); }); diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/es_errors.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/es_errors.test.ts index c172aa40312aa7..0668b820381c93 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/actions/es_errors.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/actions/es_errors.test.ts @@ -8,6 +8,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { InternalCoreStart } from '@kbn/core-lifecycle-server-internal'; import { Root } from '@kbn/core-root-server-internal'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import type { ElasticsearchClient } from '../../../../..'; import { createRootWithCorePlugins, @@ -48,6 +49,7 @@ describe('Elasticsearch Errors', () => { client, indexName: 'existing_index_with_write_block', mappings: { properties: {} }, + esCapabilities: elasticsearchServiceMock.createCapabilities(), })(); await setWriteBlock({ client, index: 'existing_index_with_write_block' })(); }); diff --git a/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts b/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts index 26d1b2372a920e..6249137d8e7bea 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts @@ -16,7 +16,7 @@ import { ConfigService, Env } from '@kbn/config'; import { getEnvOptions } from '@kbn/config-mocks'; import { REPO_ROOT } from '@kbn/repo-info'; import { KibanaMigrator } from '@kbn/core-saved-objects-migration-server-internal'; - +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; import { SavedObjectConfig, type SavedObjectsConfigType, @@ -311,6 +311,7 @@ const getMigrator = async ({ docLinks, waitForMigrationCompletion: false, // ensure we have an active role in the migration nodeRoles, + esCapabilities: elasticsearchServiceMock.createCapabilities(), }); }; diff --git a/src/core/server/integration_tests/saved_objects/migrations/zdt_2/sor_higher_version_docs.test.ts b/src/core/server/integration_tests/saved_objects/migrations/zdt_2/sor_higher_version_docs.test.ts index e431c3607d983f..960752c63d3691 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/zdt_2/sor_higher_version_docs.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/zdt_2/sor_higher_version_docs.test.ts @@ -138,6 +138,26 @@ describe('Higher version doc conversion', () => { newField: 'someValue', }); }); + it('throws error for documents using higher version model than current', async () => { + try { + await repositoryV1.get('test-type', 'doc-1', { + downwardConversion: 'forbid', + }); + } catch (err) { + expect(err.message).toBe( + '[NewerModelVersionError]: Document "doc-1" belongs to a more recent version of Kibana [10.2.0] when the last known version is [10.1.0].' + ); + } + }); + it("doesn't throw error for documents using current version model when 'downwardConversion' is 'forbid'", async () => { + try { + await repositoryV2.get('test-type', 'doc-1', { + downwardConversion: 'forbid', + }); + } catch (err) { + expect(err).toBeUndefined(); + } + }); }); describe('#bulkGet', () => { @@ -155,6 +175,26 @@ describe('Higher version doc conversion', () => { newField: 'someValue', }); }); + it('throws error for documents using higher version model than current', async () => { + try { + await repositoryV2.bulkGet([{ type: 'test-type', id: 'doc-1' }], { + downwardConversion: 'forbid', + }); + } catch (err) { + expect(err.message).toBe( + '[NewerModelVersionError]: Document "doc-1" belongs to a more recent version of Kibana [10.2.0] when the last known version is [10.1.0].' + ); + } + }); + it("doesn't throw error for documents using current version model when 'downwardConversion' is 'forbid'", async () => { + try { + await repositoryV2.get('test-type', 'doc-1', { + downwardConversion: 'forbid', + }); + } catch (err) { + expect(err).toBeUndefined(); + } + }); }); describe('#resolve', () => { @@ -172,6 +212,26 @@ describe('Higher version doc conversion', () => { newField: 'someValue', }); }); + it('throws error for documents using higher version model than current', async () => { + try { + await repositoryV2.resolve('test-type', 'doc-1', { + downwardConversion: 'forbid', + }); + } catch (err) { + expect(err.message).toBe( + '[NewerModelVersionError]: Document "doc-1" belongs to a more recent version of Kibana [10.2.0] when the last known version is [10.1.0].' + ); + } + }); + it("doesn't throw error for documents using current version model when 'downwardConversion' is 'forbid'", async () => { + try { + await repositoryV2.get('test-type', 'doc-1', { + downwardConversion: 'forbid', + }); + } catch (err) { + expect(err).toBeUndefined(); + } + }); }); describe('#bulkResolve', () => { @@ -189,5 +249,25 @@ describe('Higher version doc conversion', () => { newField: 'someValue', }); }); + it('throws error for documents using higher version model than current', async () => { + try { + await repositoryV2.bulkResolve([{ type: 'test-type', id: 'doc-1' }], { + downwardConversion: 'forbid', + }); + } catch (err) { + expect(err.message).toBe( + '[NewerModelVersionError]: Document "doc-1" belongs to a more recent version of Kibana [10.2.0] when the last known version is [10.1.0].' + ); + } + }); + it("doesn't throw error for documents using current version model when 'downwardConversion' is 'forbid'", async () => { + try { + await repositoryV2.get('test-type', 'doc-1', { + downwardConversion: 'forbid', + }); + } catch (err) { + expect(err).toBeUndefined(); + } + }); }); }); diff --git a/test/functional/apps/home/_home.js b/test/functional/apps/home/_home.ts similarity index 90% rename from test/functional/apps/home/_home.js rename to test/functional/apps/home/_home.ts index e3ca3f67611135..32248c224ae3fe 100644 --- a/test/functional/apps/home/_home.js +++ b/test/functional/apps/home/_home.ts @@ -7,8 +7,9 @@ */ import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../ftr_provider_context'; -export default function ({ getService, getPageObjects }) { +export default function ({ getService, getPageObjects }: FtrProviderContext) { const browser = getService('browser'); const globalNav = getService('globalNav'); const testSubjects = getService('testSubjects'); diff --git a/test/functional/apps/home/_newsfeed.ts b/test/functional/apps/home/_newsfeed.ts index 3bbf0633594acc..468fb370d19610 100644 --- a/test/functional/apps/home/_newsfeed.ts +++ b/test/functional/apps/home/_newsfeed.ts @@ -13,8 +13,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const globalNav = getService('globalNav'); const PageObjects = getPageObjects(['newsfeed', 'common']); - // FLAKY: https://github.com/elastic/kibana/issues/135251 - describe.skip('Newsfeed', () => { + describe('Newsfeed', () => { before(async () => { await PageObjects.newsfeed.resetPage(); }); diff --git a/test/functional/apps/home/index.js b/test/functional/apps/home/index.ts similarity index 85% rename from test/functional/apps/home/index.js rename to test/functional/apps/home/index.ts index 307d8484847248..75629a984df204 100644 --- a/test/functional/apps/home/index.js +++ b/test/functional/apps/home/index.ts @@ -6,7 +6,9 @@ * Side Public License, v 1. */ -export default function ({ getService, loadTestFile }) { +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ getService, loadTestFile }: FtrProviderContext) { const browser = getService('browser'); describe('home app', function () { diff --git a/test/functional/page_objects/common_page.ts b/test/functional/page_objects/common_page.ts index 11153db065a82b..1424d952653cd3 100644 --- a/test/functional/page_objects/common_page.ts +++ b/test/functional/page_objects/common_page.ts @@ -109,6 +109,18 @@ export class CommonPageObject extends FtrService { ? await this.loginIfPrompted(appUrl, insertTimestamp, disableWelcomePrompt) : await this.browser.getCurrentUrl(); + if ( + currentUrl.includes('/app/home') && + disableWelcomePrompt && + (await this.isWelcomeScreen()) + ) { + await this.browser.setLocalStorageItem('home:welcome:show', 'false'); + // Force a new navigation again + const msg = `Found the Welcome page in ${currentUrl}. Skipping it...`; + this.log.debug(msg); + throw new Error(msg); + } + if (ensureCurrentUrl && !currentUrl.includes(appUrl)) { throw new Error(`expected ${currentUrl}.includes(${appUrl})`); } @@ -274,7 +286,7 @@ export class CommonPageObject extends FtrService { appName === 'home' && currentUrl.includes('app/home') && disableWelcomePrompt && - (await this.isChromeHidden()) + (await this.isWelcomeScreen()) ) { await this.browser.setLocalStorageItem('home:welcome:show', 'false'); const msg = `Failed to skip the Welcome page when navigating the app ${appName}`; @@ -505,6 +517,10 @@ export class CommonPageObject extends FtrService { } } + async isWelcomeScreen() { + return await this.testSubjects.exists('homeWelcomeInterstitial'); + } + /** * Get visible text of the Welcome Banner */ diff --git a/test/functional/page_objects/newsfeed_page.ts b/test/functional/page_objects/newsfeed_page.ts index dd8eef67614bc9..a130ffed57c770 100644 --- a/test/functional/page_objects/newsfeed_page.ts +++ b/test/functional/page_objects/newsfeed_page.ts @@ -21,7 +21,7 @@ export class NewsfeedPageObject extends FtrService { } async resetPage() { - await this.common.navigateToUrl('home', undefined); // navigateToApp sets `disableWelcomePrompt` to true under the hood. `navigateToUrl` explicitly disables the welcome screen. + await this.common.navigateToApp('home'); } async closeNewsfeedPanel() { diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx new file mode 100644 index 00000000000000..20b378447b7b82 --- /dev/null +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { ReactNode } from 'react'; + +export interface AssistantAvatarProps { + size?: keyof typeof sizeMap; + // Required for EuiAvatar `iconType` prop + // eslint-disable-next-line react/no-unused-prop-types + children?: ReactNode; +} + +export const sizeMap = { + xl: 64, + l: 48, + m: 32, + s: 24, + xs: 16, +}; + +/** + * Default Elastic AI Assistant logo + * + * TODO: Can be removed once added to EUI + */ +export const AssistantAvatar = ({ size = 's' }: AssistantAvatarProps) => ( + + + + + + +); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.test.tsx index 59dbbd91054874..a4c0e2fe20719a 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.test.tsx @@ -13,10 +13,7 @@ import { alertConvo, emptyWelcomeConvo } from '../../mock/conversation'; const testProps = { currentConversation: emptyWelcomeConvo, - currentTitle: { - title: 'Test Title', - titleIcon: 'logoSecurity', - }, + title: 'Test Title', docLinks: { ELASTIC_WEBSITE_URL: 'https://www.elastic.co/', DOC_LINK_VERSION: 'master', diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx index 2070368aadd598..65c3c267e9a8eb 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx @@ -26,7 +26,6 @@ import * as i18n from '../translations'; interface OwnProps { currentConversation: Conversation; - currentTitle: { title: string | JSX.Element; titleIcon: string }; defaultConnectorId?: string; defaultProvider?: OpenAiProviderType; docLinks: Omit; @@ -39,6 +38,7 @@ interface OwnProps { setSelectedConversationId: React.Dispatch>; shouldDisableKeyboardShortcut?: () => boolean; showAnonymizedValues: boolean; + title: string | JSX.Element; } type Props = OwnProps; @@ -49,7 +49,6 @@ type Props = OwnProps; */ export const AssistantHeader: React.FC = ({ currentConversation, - currentTitle, defaultConnectorId, defaultProvider, docLinks, @@ -62,6 +61,7 @@ export const AssistantHeader: React.FC = ({ setSelectedConversationId, shouldDisableKeyboardShortcut, showAnonymizedValues, + title, }) => { const showAnonymizedValuesChecked = useMemo( () => @@ -81,10 +81,10 @@ export const AssistantHeader: React.FC = ({ > diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.test.tsx index e24d8fe48291b2..bdc9f71e42fc5b 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.test.tsx @@ -12,20 +12,18 @@ import { TestProviders } from '../../mock/test_providers/test_providers'; const testProps = { title: 'Test Title', - titleIcon: 'globe', docLinks: { ELASTIC_WEBSITE_URL: 'https://www.elastic.co/', DOC_LINK_VERSION: '7.15' }, selectedConversation: undefined, }; describe('AssistantTitle', () => { it('the component renders correctly with valid props', () => { - const { getByText, container } = render( + const { getByText } = render( ); expect(getByText('Test Title')).toBeInTheDocument(); - expect(container.querySelector('[data-euiicon-type="globe"]')).not.toBeNull(); }); it('clicking on the popover button opens the popover with the correct link', () => { diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.tsx index 33fc1644a5dcae..766811d70ebe64 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.tsx @@ -10,7 +10,6 @@ import { EuiButtonIcon, EuiFlexGroup, EuiFlexItem, - EuiIcon, EuiLink, EuiModalHeaderTitle, EuiPopover, @@ -19,22 +18,21 @@ import { } from '@elastic/eui'; import type { DocLinksStart } from '@kbn/core-doc-links-browser'; import { FormattedMessage } from '@kbn/i18n-react'; -import { css } from '@emotion/react'; import * as i18n from '../translations'; import type { Conversation } from '../../..'; import { ConnectorSelectorInline } from '../../connectorland/connector_selector_inline/connector_selector_inline'; +import { AssistantAvatar } from '../assistant_avatar/assistant_avatar'; /** - * Renders a header title with an icon, a tooltip button, and a popover with + * Renders a header title, a tooltip button, and a popover with * information about the assistant feature and access to documentation. */ export const AssistantTitle: React.FC<{ isDisabled?: boolean; title: string | JSX.Element; - titleIcon: string; docLinks: Omit; selectedConversation: Conversation | undefined; -}> = ({ isDisabled = false, title, titleIcon, docLinks, selectedConversation }) => { +}> = ({ isDisabled = false, title, docLinks, selectedConversation }) => { const selectedConnectorId = selectedConversation?.apiConfig?.connectorId; const { ELASTIC_WEBSITE_URL, DOC_LINK_VERSION } = docLinks; @@ -75,13 +73,8 @@ export const AssistantTitle: React.FC<{ return ( - - + + diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx index 26af65e60dfffa..4ea1ed240870dd 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx @@ -172,13 +172,8 @@ const AssistantComponent: React.FC = ({ }, }); - const currentTitle: { title: string | JSX.Element; titleIcon: string } = - isWelcomeSetup && blockBotConversation.theme?.title && blockBotConversation.theme?.titleIcon - ? { - title: blockBotConversation.theme?.title, - titleIcon: blockBotConversation.theme?.titleIcon, - } - : { title, titleIcon: 'logoSecurity' }; + const currentTitle: string | JSX.Element = + isWelcomeSetup && blockBotConversation.theme?.title ? blockBotConversation.theme?.title : title; const bottomRef = useRef(null); const lastCommentRef = useRef(null); @@ -426,7 +421,6 @@ const AssistantComponent: React.FC = ({ {showTitle && ( = ({ setIsSettingsModalVisible={setIsSettingsModalVisible} setSelectedConversationId={setSelectedConversationId} showAnonymizedValues={showAnonymizedValues} + title={currentTitle} /> )} diff --git a/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_setup/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_setup/index.tsx index d8923bfb8b7f2a..23ccc519436553 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_setup/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_setup/index.tsx @@ -29,6 +29,7 @@ import { clearPresentationData, conversationHasNoPresentationData } from './help import * as i18n from '../translations'; import { useAssistantContext } from '../../assistant_context'; import { useLoadConnectors } from '../use_load_connectors'; +import { AssistantAvatar } from '../../assistant/assistant_avatar/assistant_avatar'; const ConnectorButtonWrapper = styled.div` margin-bottom: 10px; @@ -186,21 +187,14 @@ export const useConnectorSetup = ({ name={i18n.CONNECTOR_SETUP_USER_ASSISTANT} size="l" color="subdued" - iconType={conversation?.theme?.assistant?.icon ?? 'logoElastic'} + iconType={AssistantAvatar} /> ), timestamp: `${i18n.CONNECTOR_SETUP_TIMESTAMP_AT}: ${message.timestamp}`, }; return commentProps; }), - [ - assistantName, - commentBody, - conversation.messages, - conversation?.theme?.assistant?.icon, - currentMessageIndex, - userName, - ] + [assistantName, commentBody, conversation.messages, currentMessageIndex, userName] ); return { diff --git a/x-pack/packages/kbn-elastic-assistant/index.ts b/x-pack/packages/kbn-elastic-assistant/index.ts index 47092934a854f4..1353db49080066 100644 --- a/x-pack/packages/kbn-elastic-assistant/index.ts +++ b/x-pack/packages/kbn-elastic-assistant/index.ts @@ -71,6 +71,9 @@ export { useAssistantOverlay } from './impl/assistant/use_assistant_overlay'; /** a helper that enriches content returned from a query with action buttons */ export { analyzeMarkdown } from './impl/assistant/use_conversation/helpers'; +/** Default Elastic AI Assistant logo, can be removed once included in EUI **/ +export { AssistantAvatar } from './impl/assistant/assistant_avatar/assistant_avatar'; + export { ELASTIC_AI_ASSISTANT_TITLE, WELCOME_CONVERSATION_TITLE, diff --git a/x-pack/plugins/apm/common/rules/schema.ts b/x-pack/plugins/apm/common/rules/schema.ts index 02fb3a458015a2..9041e4c0c8e5ae 100644 --- a/x-pack/plugins/apm/common/rules/schema.ts +++ b/x-pack/plugins/apm/common/rules/schema.ts @@ -9,6 +9,16 @@ import { schema, TypeOf } from '@kbn/config-schema'; import { ML_ANOMALY_SEVERITY } from '@kbn/ml-anomaly-utils/anomaly_severity'; import { AggregationType, ApmRuleType } from './apm_rule_types'; +export const searchConfigurationSchema = schema.object({ + query: schema.object({ + query: schema.oneOf([ + schema.string(), + schema.recordOf(schema.string(), schema.any()), + ]), + language: schema.string(), + }), +}); + export const errorCountParamsSchema = schema.object({ windowSize: schema.number(), windowUnit: schema.string(), @@ -18,7 +28,7 @@ export const errorCountParamsSchema = schema.object({ groupBy: schema.maybe(schema.arrayOf(schema.string())), errorGroupingKey: schema.maybe(schema.string()), useKqlFilter: schema.maybe(schema.boolean()), - kqlFilter: schema.maybe(schema.string()), + searchConfiguration: schema.maybe(searchConfigurationSchema), }); export const transactionDurationParamsSchema = schema.object({ @@ -36,7 +46,7 @@ export const transactionDurationParamsSchema = schema.object({ environment: schema.string(), groupBy: schema.maybe(schema.arrayOf(schema.string())), useKqlFilter: schema.maybe(schema.boolean()), - kqlFilter: schema.maybe(schema.string()), + searchConfiguration: schema.maybe(searchConfigurationSchema), }); export const anomalyParamsSchema = schema.object({ @@ -63,7 +73,7 @@ export const transactionErrorRateParamsSchema = schema.object({ environment: schema.string(), groupBy: schema.maybe(schema.arrayOf(schema.string())), useKqlFilter: schema.maybe(schema.boolean()), - kqlFilter: schema.maybe(schema.string()), + searchConfiguration: schema.maybe(searchConfigurationSchema), }); type ErrorCountParamsType = TypeOf; @@ -75,6 +85,8 @@ type TransactionErrorRateParamsType = TypeOf< typeof transactionErrorRateParamsSchema >; +export type SearchConfigurationType = TypeOf; + export interface ApmRuleParamsType { [ApmRuleType.TransactionDuration]: TransactionDurationParamsType; [ApmRuleType.ErrorCount]: ErrorCountParamsType; diff --git a/x-pack/plugins/apm/public/components/alerting/rule_types/error_count_rule_type/index.tsx b/x-pack/plugins/apm/public/components/alerting/rule_types/error_count_rule_type/index.tsx index e302a51f2a5db1..b42a3eb3b528f4 100644 --- a/x-pack/plugins/apm/public/components/alerting/rule_types/error_count_rule_type/index.tsx +++ b/x-pack/plugins/apm/public/components/alerting/rule_types/error_count_rule_type/index.tsx @@ -17,6 +17,7 @@ import { import { EuiFormRow } from '@elastic/eui'; import { EuiSpacer } from '@elastic/eui'; import { EuiSwitchEvent } from '@elastic/eui'; +import { SearchConfigurationType } from '../../../../../common/rules/schema'; import { ENVIRONMENT_ALL } from '../../../../../common/environment_filter_values'; import { asInteger } from '../../../../../common/utils/formatters'; import { @@ -58,7 +59,7 @@ export interface ErrorCountRuleParams { groupBy?: string[] | undefined; errorGroupingKey?: string; useKqlFilter?: boolean; - kqlFilter?: string; + searchConfiguration?: SearchConfigurationType; } interface Props { @@ -105,7 +106,7 @@ export function ErrorCountRuleType(props: Props) { start, end, groupBy: params.groupBy, - kqlFilter: params.kqlFilter, + searchConfiguration: JSON.stringify(params.searchConfiguration), }, }, } @@ -119,7 +120,7 @@ export function ErrorCountRuleType(props: Props) { params.serviceName, params.errorGroupingKey, params.groupBy, - params.kqlFilter, + params.searchConfiguration, ] ); @@ -244,7 +245,9 @@ export function ErrorCountRuleType(props: Props) { setRuleParams('serviceName', undefined); setRuleParams('errorGroupingKey', undefined); setRuleParams('environment', ENVIRONMENT_ALL.value); - setRuleParams('kqlFilter', undefined); + setRuleParams('searchConfiguration', { + query: { query: '', language: 'kuery' }, + }); setRuleParams('useKqlFilter', e.target.checked); }; diff --git a/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_rule_type/index.tsx b/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_rule_type/index.tsx index 92c1aa301f516e..900f90253a6e1f 100644 --- a/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_rule_type/index.tsx +++ b/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_rule_type/index.tsx @@ -18,6 +18,7 @@ import { import { EuiFormRow } from '@elastic/eui'; import { EuiSpacer } from '@elastic/eui'; import { EuiSwitchEvent } from '@elastic/eui'; +import { SearchConfigurationType } from '../../../../../common/rules/schema'; import { AggregationType } from '../../../../../common/rules/apm_rule_types'; import { ENVIRONMENT_ALL } from '../../../../../common/environment_filter_values'; import { getDurationFormatter } from '../../../../../common/utils/formatters'; @@ -67,7 +68,7 @@ export interface TransactionDurationRuleParams { windowUnit: string; groupBy?: string[] | undefined; useKqlFilter?: boolean; - kqlFilter?: string; + searchConfiguration?: SearchConfigurationType; } const TRANSACTION_ALERT_AGGREGATION_TYPES: Record = { @@ -135,7 +136,7 @@ export function TransactionDurationRuleType(props: Props) { start, end, groupBy: params.groupBy, - kqlFilter: params.kqlFilter, + searchConfiguration: JSON.stringify(params.searchConfiguration), }, }, } @@ -151,7 +152,7 @@ export function TransactionDurationRuleType(props: Props) { params.windowSize, params.windowUnit, params.groupBy, - params.kqlFilter, + params.searchConfiguration, ] ); @@ -314,7 +315,9 @@ export function TransactionDurationRuleType(props: Props) { setRuleParams('transactionType', undefined); setRuleParams('transactionName', undefined); setRuleParams('environment', ENVIRONMENT_ALL.value); - setRuleParams('kqlFilter', undefined); + setRuleParams('searchConfiguration', { + query: { query: '', language: 'kuery' }, + }); setRuleParams('useKqlFilter', e.target.checked); }; diff --git a/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_error_rate_rule_type/index.tsx b/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_error_rate_rule_type/index.tsx index a3032c32521e2d..cf1132e58b9e0c 100644 --- a/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_error_rate_rule_type/index.tsx +++ b/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_error_rate_rule_type/index.tsx @@ -17,6 +17,7 @@ import { import { EuiFormRow } from '@elastic/eui'; import { EuiSpacer } from '@elastic/eui'; import { EuiSwitchEvent } from '@elastic/eui'; +import { SearchConfigurationType } from '../../../../../common/rules/schema'; import { ENVIRONMENT_ALL } from '../../../../../common/environment_filter_values'; import { asPercent } from '../../../../../common/utils/formatters'; import { @@ -59,7 +60,7 @@ export interface ErrorRateRuleParams { environment?: string; groupBy?: string[] | undefined; useKqlFilter?: boolean; - kqlFilter?: string; + searchConfiguration?: SearchConfigurationType; } export interface Props { @@ -107,7 +108,7 @@ export function TransactionErrorRateRuleType(props: Props) { start, end, groupBy: params.groupBy, - kqlFilter: params.kqlFilter, + searchConfiguration: JSON.stringify(params.searchConfiguration), }, }, } @@ -122,7 +123,7 @@ export function TransactionErrorRateRuleType(props: Props) { params.windowSize, params.windowUnit, params.groupBy, - params.kqlFilter, + params.searchConfiguration, ] ); @@ -256,7 +257,9 @@ export function TransactionErrorRateRuleType(props: Props) { setRuleParams('transactionType', undefined); setRuleParams('transactionName', undefined); setRuleParams('environment', ENVIRONMENT_ALL.value); - setRuleParams('kqlFilter', undefined); + setRuleParams('searchConfiguration', { + query: { query: '', language: 'kuery' }, + }); setRuleParams('useKqlFilter', e.target.checked); }; diff --git a/x-pack/plugins/apm/public/components/alerting/ui_components/apm_rule_kql_filter.tsx b/x-pack/plugins/apm/public/components/alerting/ui_components/apm_rule_kql_filter.tsx index d87e1e3cd995da..9b8e01b2595f4f 100644 --- a/x-pack/plugins/apm/public/components/alerting/ui_components/apm_rule_kql_filter.tsx +++ b/x-pack/plugins/apm/public/components/alerting/ui_components/apm_rule_kql_filter.tsx @@ -6,16 +6,15 @@ */ import { i18n } from '@kbn/i18n'; -import React, { useCallback } from 'react'; -import { debounce } from 'lodash'; +import React from 'react'; import { EuiSwitch } from '@elastic/eui'; import { EuiFormRow } from '@elastic/eui'; import { EuiSpacer } from '@elastic/eui'; -import { RuleFlyoutKueryBar } from '@kbn/observability-plugin/public'; -import { useApmDataView } from '../../../hooks/use_apm_data_view'; +import { EuiSwitchEvent } from '@elastic/eui'; import { TransactionDurationRuleParams } from '../rule_types/transaction_duration_rule_type'; import { ErrorRateRuleParams } from '../rule_types/transaction_error_rate_rule_type'; import { ErrorCountRuleParams } from '../rule_types/error_count_rule_type'; +import { ApmRuleUnifiedSearchBar } from './apm_rule_unified_search_bar'; interface Props { ruleParams: @@ -23,7 +22,7 @@ interface Props { | ErrorRateRuleParams | ErrorCountRuleParams; setRuleParams: (key: string, value: any) => void; - onToggleKqlFilter: any; + onToggleKqlFilter: (e: EuiSwitchEvent) => void; } export function ApmRuleKqlFilter({ @@ -31,30 +30,6 @@ export function ApmRuleKqlFilter({ setRuleParams, onToggleKqlFilter, }: Props) { - const FILTER_TYPING_DEBOUNCE_MS = 500; - - const { dataView: derivedIndexPattern } = useApmDataView(); - - const onFilterChange = useCallback( - (filter: string) => { - setRuleParams('kqlFilter', filter); - }, - [setRuleParams] - ); - - /* eslint-disable-next-line react-hooks/exhaustive-deps */ - const debouncedOnFilterChange = useCallback( - debounce(onFilterChange, FILTER_TYPING_DEBOUNCE_MS), - [onFilterChange] - ); - - const placeHolder = i18n.translate( - 'xpack.apm.rule.kqlSearchFieldPlaceholder', - { - defaultMessage: 'Search for APM data… (e.g. service.name: service-1)', - } - ); - const kqlFilterToggle = ( <> ); - const kqlFilter = - ruleParams.useKqlFilter && derivedIndexPattern ? ( - <> - - - - - - ) : null; + const kqlFilter = ruleParams.useKqlFilter ? ( + <> + + + + + + ) : null; return ( <> diff --git a/x-pack/plugins/apm/public/components/alerting/ui_components/apm_rule_unified_search_bar.tsx b/x-pack/plugins/apm/public/components/alerting/ui_components/apm_rule_unified_search_bar.tsx new file mode 100644 index 00000000000000..549f394070ce57 --- /dev/null +++ b/x-pack/plugins/apm/public/components/alerting/ui_components/apm_rule_unified_search_bar.tsx @@ -0,0 +1,68 @@ +/* + * Copyright 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 { Query } from '@kbn/es-query'; +import { useKibana } from '@kbn/kibana-react-plugin/public'; +import { ApmPluginStartDeps } from '../../../plugin'; +import { useApmDataView } from '../../../hooks/use_apm_data_view'; +import { TransactionDurationRuleParams } from '../rule_types/transaction_duration_rule_type'; +import { ErrorRateRuleParams } from '../rule_types/transaction_error_rate_rule_type'; +import { ErrorCountRuleParams } from '../rule_types/error_count_rule_type'; + +export function ApmRuleUnifiedSearchBar({ + placeholder, + ruleParams, + setRuleParams, +}: { + placeholder?: string; + value?: string; + isClearable?: boolean; + ruleParams: + | TransactionDurationRuleParams + | ErrorRateRuleParams + | ErrorCountRuleParams; + setRuleParams: (key: string, value: any) => void; +}) { + const { services } = useKibana(); + + const { + unifiedSearch: { + ui: { SearchBar }, + }, + } = services; + + const { dataView } = useApmDataView(); + const searchbarPlaceholder = + 'Search for APM data… (e.g. service.name: service-1)'; + + const handleSubmit = (payload: { query?: Query }) => { + const { query } = payload; + setRuleParams('searchConfiguration', { query }); + }; + + return ( + + ); +} diff --git a/x-pack/plugins/apm/server/routes/alerts/route.ts b/x-pack/plugins/apm/server/routes/alerts/route.ts index 67470d19180ce8..3343b7f78f0af8 100644 --- a/x-pack/plugins/apm/server/routes/alerts/route.ts +++ b/x-pack/plugins/apm/server/routes/alerts/route.ts @@ -6,6 +6,7 @@ */ import * as t from 'io-ts'; +import { jsonRt } from '@kbn/io-ts-utils'; import { Coordinate } from '../../../typings/timeseries'; import { getTransactionDurationChartPreview } from './rule_types/transaction_duration/get_transaction_duration_chart_preview'; import { getTransactionErrorCountChartPreview } from './rule_types/error_count/get_error_count_chart_preview'; @@ -15,6 +16,13 @@ import { environmentRt, rangeRt } from '../default_api_types'; import { AggregationType } from '../../../common/rules/apm_rule_types'; import { getApmEventClient } from '../../lib/helpers/get_apm_event_client'; +const searchConfigurationRt = t.type({ + query: t.type({ + query: t.union([t.string, t.record(t.string, t.any)]), + language: t.string, + }), +}); + const alertParamsRt = t.intersection([ t.partial({ aggregationType: t.union([ @@ -34,7 +42,7 @@ const alertParamsRt = t.intersection([ }), t.partial({ groupBy: t.array(t.string), - kqlFilter: t.string, + searchConfiguration: jsonRt.pipe(searchConfigurationRt), }), ]); diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/get_error_count_chart_preview.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/get_error_count_chart_preview.ts index e1bf2ba2b7a436..a1fcb98d7a3237 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/get_error_count_chart_preview.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/get_error_count_chart_preview.ts @@ -42,7 +42,7 @@ export async function getTransactionErrorCountChartPreview({ start, end, groupBy: groupByFields, - kqlFilter, + searchConfiguration, } = alertParams; const allGroupByFields = getAllGroupByFields( @@ -50,7 +50,7 @@ export async function getTransactionErrorCountChartPreview({ groupByFields ); - const termFilterQuery = !kqlFilter + const termFilterQuery = !searchConfiguration ? [ ...termQuery(SERVICE_NAME, serviceName, { queryEmptyString: false, @@ -66,7 +66,7 @@ export async function getTransactionErrorCountChartPreview({ bool: { filter: [ ...termFilterQuery, - ...getParsedFilterQuery(kqlFilter), + ...getParsedFilterQuery(searchConfiguration?.query?.query as string), ...rangeQuery(start, end), { term: { [PROCESSOR_EVENT]: ProcessorEvent.error } }, ], diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.test.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.test.ts index cc509c41fb8b2d..1b56d89d91d3a4 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.test.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.test.ts @@ -709,7 +709,12 @@ describe('Error count alert', () => { windowSize: 5, windowUnit: 'm', serviceName: undefined, - kqlFilter: 'service.name: foo and service.environment: env-foo', + searchConfiguration: { + query: { + query: 'service.name: foo and service.environment: env-foo', + language: 'kuery', + }, + }, groupBy: ['service.name', 'service.environment'], }; diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts index 1049df62f8043b..f0843516e4c9a8 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts @@ -117,7 +117,7 @@ export function registerErrorCountRuleType({ const indices = await getApmIndices(savedObjectsClient); - const termFilterQuery = !ruleParams.kqlFilter + const termFilterQuery = !ruleParams.searchConfiguration ? [ ...termQuery(SERVICE_NAME, ruleParams.serviceName, { queryEmptyString: false, @@ -146,7 +146,9 @@ export function registerErrorCountRuleType({ }, { term: { [PROCESSOR_EVENT]: ProcessorEvent.error } }, ...termFilterQuery, - ...getParsedFilterQuery(ruleParams.kqlFilter), + ...getParsedFilterQuery( + ruleParams.searchConfiguration?.query?.query as string + ), ], }, }, diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/get_transaction_duration_chart_preview.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/get_transaction_duration_chart_preview.ts index 12df75f19334b3..bf191c5213cf0f 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/get_transaction_duration_chart_preview.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/get_transaction_duration_chart_preview.ts @@ -60,7 +60,7 @@ export async function getTransactionDurationChartPreview({ start, end, groupBy: groupByFields, - kqlFilter, + searchConfiguration, } = alertParams; const searchAggregatedTransactions = await getSearchTransactionsEvents({ config, @@ -68,7 +68,7 @@ export async function getTransactionDurationChartPreview({ kuery: '', }); - const termFilterQuery = !kqlFilter + const termFilterQuery = !searchConfiguration ? [ ...termQuery(SERVICE_NAME, serviceName, { queryEmptyString: false, @@ -87,7 +87,7 @@ export async function getTransactionDurationChartPreview({ bool: { filter: [ ...termFilterQuery, - ...getParsedFilterQuery(kqlFilter), + ...getParsedFilterQuery(searchConfiguration?.query?.query as string), ...rangeQuery(start, end), ...getDocumentTypeFilterForTransactions(searchAggregatedTransactions), ] as QueryDslQueryContainer[], diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.test.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.test.ts index 1e62211e3f19a6..33aba72eb96bea 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.test.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.test.ts @@ -327,7 +327,12 @@ describe('registerTransactionDurationRuleType', () => { transactionType: undefined, serviceName: undefined, aggregationType: 'avg', - kqlFilter: 'service.name: opbeans-java and transaction.type: request', + searchConfiguration: { + query: { + query: 'service.name: opbeans-java and transaction.type: request', + language: 'kuery', + }, + }, groupBy: ['service.name', 'service.environment', 'transaction.type'], }; diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts index 0690e04dcf47ef..7a1beb3ba9f9e4 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts @@ -135,7 +135,7 @@ export function registerTransactionDurationRuleType({ searchAggregatedTransactions ); - const termFilterQuery = !ruleParams.kqlFilter + const termFilterQuery = !ruleParams.searchConfiguration ? [ ...termQuery(SERVICE_NAME, ruleParams.serviceName, { queryEmptyString: false, @@ -169,7 +169,9 @@ export function registerTransactionDurationRuleType({ searchAggregatedTransactions ), ...termFilterQuery, - ...getParsedFilterQuery(ruleParams.kqlFilter), + ...getParsedFilterQuery( + ruleParams.searchConfiguration?.query?.query as string + ), ] as QueryDslQueryContainer[], }, }, diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/get_transaction_error_rate_chart_preview.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/get_transaction_error_rate_chart_preview.ts index e2f3888455f96e..3ffa001fccc9db 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/get_transaction_error_rate_chart_preview.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/get_transaction_error_rate_chart_preview.ts @@ -52,7 +52,7 @@ export async function getTransactionErrorRateChartPreview({ end, transactionName, groupBy: groupByFields, - kqlFilter, + searchConfiguration, } = alertParams; const searchAggregatedTransactions = await getSearchTransactionsEvents({ @@ -66,7 +66,7 @@ export async function getTransactionErrorRateChartPreview({ groupByFields ); - const termFilterQuery = !kqlFilter + const termFilterQuery = !searchConfiguration ? [ ...termQuery(SERVICE_NAME, serviceName, { queryEmptyString: false, @@ -92,7 +92,9 @@ export async function getTransactionErrorRateChartPreview({ bool: { filter: [ ...termFilterQuery, - ...getParsedFilterQuery(kqlFilter), + ...getParsedFilterQuery( + searchConfiguration?.query?.query as string + ), ...rangeQuery(start, end), ...getDocumentTypeFilterForTransactions( searchAggregatedTransactions diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.test.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.test.ts index 4f779ca4d7412a..e565ce69a538e8 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.test.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.test.ts @@ -481,8 +481,13 @@ describe('Transaction error rate alert', () => { threshold: 10, windowSize: 5, windowUnit: 'm', - kqlFilter: - 'service.name: bar and service.environment: env-bar and transaction.type: type-bar', + searchConfiguration: { + query: { + query: + 'service.name: bar and service.environment: env-bar and transaction.type: type-bar', + language: 'kuery', + }, + }, groupBy: ['service.name', 'service.environment', 'transaction.type'], }; diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.ts index afc2deb9760994..7015862db8d9e6 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.ts @@ -137,7 +137,7 @@ export function registerTransactionErrorRateRuleType({ ? indices.metric : indices.transaction; - const termFilterQuery = !ruleParams.kqlFilter + const termFilterQuery = !ruleParams.searchConfiguration ? [ ...termQuery(SERVICE_NAME, ruleParams.serviceName, { queryEmptyString: false, @@ -179,7 +179,9 @@ export function registerTransactionErrorRateRuleType({ }, }, ...termFilterQuery, - ...getParsedFilterQuery(ruleParams.kqlFilter), + ...getParsedFilterQuery( + ruleParams.searchConfiguration?.query?.query as string + ), ], }, }, diff --git a/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/findings_detection_rule_counter.tsx b/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/findings_detection_rule_counter.tsx index 5586f2a20126c2..f39379f8c4ddd8 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/findings_detection_rule_counter.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/findings_detection_rule_counter.tsx @@ -9,13 +9,19 @@ import type { HttpSetup } from '@kbn/core/public'; import React from 'react'; import { CspFinding } from '../../../../common/schemas/csp_finding'; import { DetectionRuleCounter } from '../../../components/detection_rule_counter'; -import { createDetectionRuleFromFinding } from '../utils/create_detection_rule_from_finding'; +import { + createDetectionRuleFromFinding, + getFindingsDetectionRuleSearchTags, +} from '../utils/create_detection_rule_from_finding'; export const FindingsDetectionRuleCounter = ({ finding }: { finding: CspFinding }) => { const createMisconfigurationRuleFn = async (http: HttpSetup) => await createDetectionRuleFromFinding(http, finding); return ( - + ); }; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/configurations/utils/create_detection_rule_from_finding.ts b/x-pack/plugins/cloud_security_posture/public/pages/configurations/utils/create_detection_rule_from_finding.ts index 778c222d2f5e1f..a1f8ac3fa5fccf 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/configurations/utils/create_detection_rule_from_finding.ts +++ b/x-pack/plugins/cloud_security_posture/public/pages/configurations/utils/create_detection_rule_from_finding.ts @@ -50,9 +50,23 @@ const CSP_RULE_TAG_DATA_SOURCE_PREFIX = 'Data Source: '; const STATIC_RULE_TAGS = [CSP_RULE_TAG, CSP_RULE_TAG_USE_CASE]; +/* + * Returns an array of CspFinding tags that can be used to search and filter a detection rule + */ +export const getFindingsDetectionRuleSearchTags = ({ rule }: CspFinding) => { + // ex: cis_gcp to ['CIS', 'GCP'] + const benchmarkIdTags = rule.benchmark.id.split('_').map((tag) => tag.toUpperCase()); + // ex: 'CIS GCP 1.1' + const benchmarkRuleNumberTag = `${rule.benchmark.id.replace('_', ' ').toUpperCase()} ${ + rule.benchmark.rule_number + }`; + + return benchmarkIdTags.concat([benchmarkRuleNumberTag]); +}; + const generateFindingsTags = (finding: CspFinding) => { return [STATIC_RULE_TAGS] - .concat(finding.rule.tags) + .concat(getFindingsDetectionRuleSearchTags(finding)) .concat( finding.rule.benchmark.posture_type ? [ diff --git a/x-pack/plugins/cloud_security_posture/server/lib/telemetry/collectors/alert_stats_collector.ts b/x-pack/plugins/cloud_security_posture/server/lib/telemetry/collectors/alert_stats_collector.ts index 7e63af4fb1320d..1edd6ca731c3ea 100644 --- a/x-pack/plugins/cloud_security_posture/server/lib/telemetry/collectors/alert_stats_collector.ts +++ b/x-pack/plugins/cloud_security_posture/server/lib/telemetry/collectors/alert_stats_collector.ts @@ -9,53 +9,28 @@ import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import type { CloudSecurityAlertsStats } from './types'; import { DETECTION_ENGINE_ALERTS_INDEX_DEFAULT } from '../../../../common/constants'; -interface AlertsStats { - aggregations: { - cspm: { - rules_count: { - value: number; - }; - alerts_open: { - doc_count: number; - }; - alerts_acknowledged: { - doc_count: number; - }; - alerts_closed: { - doc_count: number; - }; - }; - kspm: { - rules_count: { - value: number; - }; - alerts_open: { - doc_count: number; - }; - alerts_acknowledged: { - doc_count: number; - }; - alerts_closed: { - doc_count: number; - }; - }; - vuln_mgmt: { - rules_count: { - value: number; - }; - alerts_open: { - doc_count: number; - }; - alerts_acknowledged: { - doc_count: number; - }; - alerts_closed: { - doc_count: number; - }; - }; +interface AlertStat { + doc_count: number; + rules_count: { + value: number; + }; + alerts_open: { + doc_count: number; + }; + alerts_acknowledged: { + doc_count: number; + }; + alerts_closed: { + doc_count: number; }; } +interface AlertsStats { + cspm: AlertStat; + kspm: AlertStat; + vuln_mgmt: AlertStat; +} + const getAlertsStatsQuery = (index: string) => ({ size: 0, query: { @@ -187,20 +162,25 @@ export const getAlertsStats = async ( if (isIndexExists) { const alertsStats = await esClient.search(getAlertsStatsQuery(index)); - const postureTypes = ['cspm', 'kspm', 'vuln_mgmt'] as const; - return postureTypes.map((postureType) => ({ - posture_type: postureType, - rules_count: alertsStats.aggregations?.aggregations[postureType].rules_count.value, - alerts_count: alertsStats.aggregations?.aggregations[postureType].alerts_open.doc_count, - alerts_open_count: - alertsStats.aggregations?.aggregations[postureType].alerts_open.doc_count, - alerts_acknowledged_count: - alertsStats.aggregations?.aggregations[postureType].alerts_acknowledged.doc_count, - alerts_closed_count: - alertsStats.aggregations?.aggregations[postureType].alerts_closed.doc_count, - })) as CloudSecurityAlertsStats[]; + return postureTypes + .filter( + (postureType) => + alertsStats?.aggregations?.[postureType]?.doc_count && + alertsStats.aggregations[postureType].doc_count > 0 + ) + .map((postureType): CloudSecurityAlertsStats => { + const postureTypeData = alertsStats!.aggregations![postureType]; + return { + posture_type: postureType, + rules_count: postureTypeData.rules_count?.value, + alerts_count: postureTypeData.doc_count, + alerts_open_count: postureTypeData.alerts_open?.doc_count, + alerts_acknowledged_count: postureTypeData.alerts_acknowledged?.doc_count, + alerts_closed_count: postureTypeData.alerts_closed?.doc_count, + }; + }); } return []; } catch (e) { diff --git a/x-pack/plugins/enterprise_search/common/connectors/connectors.ts b/x-pack/plugins/enterprise_search/common/connectors/connectors.ts index 3ddb425f62686d..1fc6c6e7f5c776 100644 --- a/x-pack/plugins/enterprise_search/common/connectors/connectors.ts +++ b/x-pack/plugins/enterprise_search/common/connectors/connectors.ts @@ -30,7 +30,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [ }, { iconPath: 'confluence_cloud.svg', - isBeta: true, + isBeta: false, isNative: true, keywords: ['confluence', 'cloud', 'connector'], name: i18n.translate('xpack.enterpriseSearch.content.nativeConnectors.confluence.name', { @@ -51,7 +51,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [ }, { iconPath: 'jira_cloud.svg', - isBeta: true, + isBeta: false, isNative: true, keywords: ['jira', 'cloud', 'connector'], name: i18n.translate('xpack.enterpriseSearch.content.nativeConnectors.jira.name', { @@ -121,7 +121,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [ }, { iconPath: 'network_drive.svg', - isBeta: true, + isBeta: false, isNative: true, keywords: ['network', 'drive', 'file', 'directory', 'connector'], name: i18n.translate('xpack.enterpriseSearch.content.nativeConnectors.networkDrive.name', { diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/constants.ts b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/constants.ts index b53628fa82a5ae..950e47882af0a1 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/constants.ts +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/constants.ts @@ -27,6 +27,7 @@ export const CONNECTORS_DICT: Record = { externalAuthDocsUrl: '', externalDocsUrl: '', icon: CONNECTOR_ICONS.confluence_cloud, + platinumOnly: true, }, custom: { docsUrl: docLinks.connectors, @@ -45,12 +46,14 @@ export const CONNECTORS_DICT: Record = { externalAuthDocsUrl: '', externalDocsUrl: '', icon: CONNECTOR_ICONS.github, + platinumOnly: true, }, gmail: { docsUrl: docLinks.connectorsGmail, externalAuthDocsUrl: '', externalDocsUrl: '', icon: CONNECTOR_ICONS.gmail, + platinumOnly: true, }, google_cloud_storage: { docsUrl: docLinks.connectorsGoogleCloudStorage, @@ -63,12 +66,14 @@ export const CONNECTORS_DICT: Record = { externalAuthDocsUrl: 'https://cloud.google.com/iam/docs/service-account-overview', externalDocsUrl: 'https://developers.google.com/drive', icon: CONNECTOR_ICONS.google_drive, + platinumOnly: true, }, jira: { docsUrl: docLinks.connectorsJira, externalAuthDocsUrl: '', externalDocsUrl: '', icon: CONNECTOR_ICONS.jira_cloud, + platinumOnly: true, }, mongodb: { docsUrl: docLinks.connectorsMongoDB, @@ -99,6 +104,7 @@ export const CONNECTORS_DICT: Record = { externalAuthDocsUrl: '', externalDocsUrl: '', icon: CONNECTOR_ICONS.onedrive, + platinumOnly: true, }, oracle: { docsUrl: docLinks.connectorsOracle, @@ -124,6 +130,7 @@ export const CONNECTORS_DICT: Record = { externalAuthDocsUrl: '', externalDocsUrl: '', icon: CONNECTOR_ICONS.salesforce, + platinumOnly: true, }, servicenow: { docsUrl: docLinks.connectorsServiceNow, @@ -150,7 +157,7 @@ export const CONNECTORS_DICT: Record = { externalAuthDocsUrl: '', externalDocsUrl: '', icon: CONNECTOR_ICONS.slack, - platinumOnly: false, + platinumOnly: true, }, }; diff --git a/x-pack/plugins/fleet/public/applications/fleet/app.tsx b/x-pack/plugins/fleet/public/applications/fleet/app.tsx index d7b8172e70c3ed..e7a513e113c4f0 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/app.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/app.tsx @@ -255,7 +255,7 @@ export const FleetAppContext: React.FC<{ theme$, fleetStatus, }) => { - const darkModeObservable = useObservable(startServices.theme.theme$); + const darkModeObservable = useObservable(theme$); const isDarkMode = darkModeObservable && darkModeObservable.darkMode; return ( diff --git a/x-pack/plugins/fleet/public/applications/integrations/app.tsx b/x-pack/plugins/fleet/public/applications/integrations/app.tsx index 6212a1dffdb7be..83b57093a95c7e 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/app.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/app.tsx @@ -75,7 +75,9 @@ export const IntegrationsAppContext: React.FC<{ theme$, fleetStatus, }) => { - const isDarkMode = useObservable(startServices.uiSettings.get$('theme:darkMode')); + const theme = useObservable(theme$); + const isDarkMode = theme && theme.darkMode; + const CloudContext = startServices.cloud?.CloudContextProvider || EmptyContext; return ( diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/model/rule_schema/rule_schemas.ts b/x-pack/plugins/security_solution/common/api/detection_engine/model/rule_schema/rule_schemas.ts index 24badba560b8ef..acc429eb2f340b 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/model/rule_schema/rule_schemas.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/model/rule_schema/rule_schemas.ts @@ -221,7 +221,7 @@ export const KqlQueryLanguage = t.keyof({ kuery: null, lucene: null }); export type EqlQueryLanguage = t.TypeOf; export const EqlQueryLanguage = t.literal('eql'); -export const eqlSchema = buildRuleSchemas({ +const eqlSchema = buildRuleSchemas({ required: { type: t.literal('eql'), language: EqlQueryLanguage, @@ -256,7 +256,7 @@ export const EqlPatchParams = eqlSchema.patch; // ------------------------------------------------------------------------------------------------- // Indicator Match rule schema -export const threatMatchSchema = buildRuleSchemas({ +const threatMatchSchema = buildRuleSchemas({ required: { type: t.literal('threat_match'), query: RuleQuery, @@ -307,7 +307,7 @@ export const ThreatMatchPatchParams = threatMatchSchema.patch; // ------------------------------------------------------------------------------------------------- // Custom Query rule schema -export const querySchema = buildRuleSchemas({ +const querySchema = buildRuleSchemas({ required: { type: t.literal('query'), }, @@ -343,7 +343,7 @@ export const QueryPatchParams = querySchema.patch; // ------------------------------------------------------------------------------------------------- // Saved Query rule schema -export const savedQuerySchema = buildRuleSchemas({ +const savedQuerySchema = buildRuleSchemas({ required: { type: t.literal('saved_query'), saved_id, @@ -387,7 +387,7 @@ export const SavedQueryPatchParams = savedQuerySchema.patch; // ------------------------------------------------------------------------------------------------- // Threshold rule schema -export const thresholdSchema = buildRuleSchemas({ +const thresholdSchema = buildRuleSchemas({ required: { type: t.literal('threshold'), query: RuleQuery, @@ -422,7 +422,7 @@ export const ThresholdPatchParams = thresholdSchema.patch; // ------------------------------------------------------------------------------------------------- // Machine Learning rule schema -export const machineLearningSchema = buildRuleSchemas({ +const machineLearningSchema = buildRuleSchemas({ required: { type: t.literal('machine_learning'), anomaly_threshold, @@ -462,7 +462,7 @@ export const MachineLearningPatchParams = machineLearningSchema.patch; // ------------------------------------------------------------------------------------------------- // New Terms rule schema -export const newTermsSchema = buildRuleSchemas({ +const newTermsSchema = buildRuleSchemas({ required: { type: t.literal('new_terms'), query: RuleQuery, diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/review_rule_installation/review_rule_installation_route.ts b/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/review_rule_installation/review_rule_installation_route.ts index 7a7f4878defb36..ddb452a73079e1 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/review_rule_installation/review_rule_installation_route.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/review_rule_installation/review_rule_installation_route.ts @@ -5,15 +5,15 @@ * 2.0. */ -import type { RuleSignatureId, RuleTagArray, RuleVersion } from '../../model'; -import type { DiffableRule } from '../model'; +import type { RuleTagArray } from '../../model'; +import type { RuleResponse } from '../../model/rule_schema/rule_schemas'; export interface ReviewRuleInstallationResponseBody { /** Aggregated info about all rules available for installation */ stats: RuleInstallationStatsForReview; /** Info about individual rules: one object per each rule available for installation */ - rules: RuleInstallationInfoForReview[]; + rules: RuleResponse[]; } export interface RuleInstallationStatsForReview { @@ -23,8 +23,3 @@ export interface RuleInstallationStatsForReview { /** A union of all tags of all rules available for installation */ tags: RuleTagArray; } - -export type RuleInstallationInfoForReview = DiffableRule & { - rule_id: RuleSignatureId; - version: RuleVersion; -}; diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/review_rule_upgrade/review_rule_upgrade_route.ts b/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/review_rule_upgrade/review_rule_upgrade_route.ts index a3347b5632b70b..994e5908d39337 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/review_rule_upgrade/review_rule_upgrade_route.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/prebuilt_rules/review_rule_upgrade/review_rule_upgrade_route.ts @@ -6,7 +6,8 @@ */ import type { RuleObjectId, RuleSignatureId, RuleTagArray } from '../../model'; -import type { DiffableRule, PartialRuleDiff } from '../model'; +import type { PartialRuleDiff } from '../model'; +import type { RuleResponse } from '../../model/rule_schema/rule_schemas'; export interface ReviewRuleUpgradeResponseBody { /** Aggregated info about all rules available for upgrade */ @@ -27,8 +28,8 @@ export interface RuleUpgradeStatsForReview { export interface RuleUpgradeInfoForReview { id: RuleObjectId; rule_id: RuleSignatureId; - rule: DiffableRule; - target_rule: DiffableRule; + current_rule: RuleResponse; + target_rule: RuleResponse; diff: PartialRuleDiff; revision: number; } diff --git a/x-pack/plugins/security_solution/common/detection_engine/diffable_rule_to_rule_response.ts b/x-pack/plugins/security_solution/common/detection_engine/diffable_rule_to_rule_response.ts deleted file mode 100644 index ace815148d4543..00000000000000 --- a/x-pack/plugins/security_solution/common/detection_engine/diffable_rule_to_rule_response.ts +++ /dev/null @@ -1,351 +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 * as t from 'io-ts'; -import { parseDuration } from '@kbn/alerting-plugin/common/parse_duration'; - -import type { - DiffableRule, - DiffableCustomQueryFields, - DiffableSavedQueryFields, - DiffableEqlFields, - DiffableThreatMatchFields, - DiffableThresholdFields, - DiffableMachineLearningFields, - DiffableNewTermsFields, -} from '../api/detection_engine/prebuilt_rules/model/diff/diffable_rule/diffable_rule'; -import type { - RuleSchedule, - SavedKqlQuery, - RuleDataSource as DiffableRuleDataSource, - RuleKqlQuery as DiffableRuleKqlQuery, -} from '../api/detection_engine/prebuilt_rules/model/diff/diffable_rule/diffable_field_types'; -import type { - RuleResponse, - querySchema, - savedQuerySchema, - eqlSchema, - threatMatchSchema, - thresholdSchema, - machineLearningSchema, - newTermsSchema, - SharedResponseProps, - KqlQueryLanguage, -} from '../api/detection_engine/model/rule_schema/rule_schemas'; -import type { RuleFilterArray } from '../api/detection_engine/model/rule_schema/common_attributes'; -import { assertUnreachable } from '../utility_types'; - -type RuleResponseCustomQueryFields = t.TypeOf; -type RuleResponseSavedQueryFields = t.TypeOf; -type RuleResponseEqlFields = t.TypeOf; -type RuleResponseThreatMatchFields = t.TypeOf; -type RuleResponseThresholdFields = t.TypeOf; -type RuleResponseMachineLearningFields = t.TypeOf; -type RuleResponseNewTermsFields = t.TypeOf; - -interface RuleResponseScheduleFields { - from: string; - to: string; - interval: string; -} - -const extractRuleSchedule = (ruleSchedule: RuleSchedule): RuleResponseScheduleFields => { - const { interval, lookback } = ruleSchedule; - const lookbackSeconds = Math.floor(parseDuration(lookback) / 1000); - const intervalSeconds = Math.floor(parseDuration(interval) / 1000); - const totalSeconds = lookbackSeconds + intervalSeconds; - - let totalDuration: string; - if (totalSeconds % 3600 === 0) { - totalDuration = `${totalSeconds / 3600}h`; - } else if (totalSeconds % 60 === 0) { - totalDuration = `${totalSeconds / 60}m`; - } else { - totalDuration = `${totalSeconds}s`; - } - - const from = `now-${totalDuration}`; - - return { - from, - to: 'now', - interval, - }; -}; - -type RuleResponseDataSource = { index: string[] } | { data_view_id: string }; - -const extractDataSource = ( - diffableRuleDataSource: DiffableRuleDataSource -): RuleResponseDataSource => { - if (diffableRuleDataSource.type === 'index_patterns') { - return { index: diffableRuleDataSource.index_patterns }; - } else if (diffableRuleDataSource.type === 'data_view') { - return { data_view_id: diffableRuleDataSource.data_view_id }; - } - - return assertUnreachable(diffableRuleDataSource); -}; - -type RuleResponseKqlQuery = - | { query: string; language: KqlQueryLanguage; filters: RuleFilterArray } - | { saved_id: string }; - -const extractKqlQuery = (diffableRuleKqlQuery: DiffableRuleKqlQuery): RuleResponseKqlQuery => { - if (diffableRuleKqlQuery.type === 'inline_query') { - return { - query: diffableRuleKqlQuery.query, - language: diffableRuleKqlQuery.language, - filters: diffableRuleKqlQuery.filters, - }; - } - - if (diffableRuleKqlQuery.type === 'saved_query') { - return { saved_id: diffableRuleKqlQuery.saved_query_id }; - } - - return assertUnreachable(diffableRuleKqlQuery); -}; - -const extractCommonFields = (diffableRule: DiffableRule): Partial => { - const { from, to, interval } = extractRuleSchedule(diffableRule.rule_schedule); - - const commonFields: Partial = { - rule_id: diffableRule.rule_id, - version: diffableRule.version, - meta: diffableRule.meta, - name: diffableRule.name, - tags: diffableRule.tags, - description: diffableRule.description, - severity: diffableRule.severity, - severity_mapping: diffableRule.severity_mapping, - risk_score: diffableRule.risk_score, - risk_score_mapping: diffableRule.risk_score_mapping, - references: diffableRule.references, - false_positives: diffableRule.false_positives, - threat: diffableRule.threat, - note: diffableRule.note, - related_integrations: diffableRule.related_integrations, - required_fields: diffableRule.required_fields, - author: diffableRule.author, - license: diffableRule.license, - from, - to, - interval, - actions: diffableRule.actions, - throttle: diffableRule.throttle, - exceptions_list: diffableRule.exceptions_list, - max_signals: diffableRule.max_signals, - setup: diffableRule.setup, - }; - - if (diffableRule.building_block?.type) { - commonFields.building_block_type = diffableRule.building_block.type; - } - - if (diffableRule.rule_name_override?.field_name) { - commonFields.rule_name_override = diffableRule.rule_name_override.field_name; - } - - if (diffableRule.timeline_template?.timeline_id) { - commonFields.timeline_id = diffableRule.timeline_template.timeline_id; - } - - if (diffableRule.timeline_template?.timeline_title) { - commonFields.timeline_title = diffableRule.timeline_template.timeline_title; - } - - if (diffableRule.timestamp_override?.field_name) { - commonFields.timestamp_override = diffableRule.timestamp_override.field_name; - } - - if (diffableRule.timestamp_override?.fallback_disabled) { - commonFields.timestamp_override_fallback_disabled = - diffableRule.timestamp_override.fallback_disabled; - } - - return commonFields; -}; - -const extractCustomQueryFields = ( - diffableRule: DiffableCustomQueryFields -): RuleResponseCustomQueryFields => { - const customQueryFields: RuleResponseCustomQueryFields = { - type: diffableRule.type, - ...(diffableRule.data_source ? extractDataSource(diffableRule.data_source) : {}), - ...(diffableRule.kql_query ? extractKqlQuery(diffableRule.kql_query) : {}), - }; - - if (diffableRule.alert_suppression) { - customQueryFields.alert_suppression = diffableRule.alert_suppression; - } - - return customQueryFields; -}; - -const extractSavedQueryFields = ( - diffableRule: DiffableSavedQueryFields -): RuleResponseSavedQueryFields => { - /* Typecasting to SavedKqlQuery because a "save_query" DiffableRule can only have "kql_query" of type SavedKqlQuery */ - const diffableRuleKqlQuery = diffableRule.kql_query as SavedKqlQuery; - - const savedQueryFields: RuleResponseSavedQueryFields = { - type: diffableRule.type, - saved_id: diffableRuleKqlQuery.saved_query_id, - ...(diffableRule.data_source ? extractDataSource(diffableRule.data_source) : {}), - }; - - if (diffableRule.alert_suppression) { - savedQueryFields.alert_suppression = diffableRule.alert_suppression; - } - - return savedQueryFields; -}; - -const extractEqlFields = (diffableRule: DiffableEqlFields): RuleResponseEqlFields => { - const eqlFields: RuleResponseEqlFields = { - type: diffableRule.type, - query: diffableRule.eql_query.query, - language: diffableRule.eql_query.language, - filters: diffableRule.eql_query.filters, - event_category_override: diffableRule.event_category_override, - timestamp_field: diffableRule.timestamp_field, - tiebreaker_field: diffableRule.tiebreaker_field, - ...(diffableRule.data_source ? extractDataSource(diffableRule.data_source) : {}), - }; - - return eqlFields; -}; - -const extractThreatMatchFields = ( - diffableRule: DiffableThreatMatchFields -): RuleResponseThreatMatchFields => { - const threatMatchFields: RuleResponseThreatMatchFields = { - type: diffableRule.type, - query: - '' /* Indicator match rules have a "query" equal to an empty string if saved query is used */, - threat_query: diffableRule.threat_query.query ?? '', - threat_language: diffableRule.threat_query.language ?? '', - threat_filters: diffableRule.threat_query.filters ?? [], - threat_index: diffableRule.threat_index, - threat_mapping: diffableRule.threat_mapping, - threat_indicator_path: diffableRule.threat_indicator_path, - ...(diffableRule.data_source ? extractDataSource(diffableRule.data_source) : {}), - ...(diffableRule.kql_query ? extractKqlQuery(diffableRule.kql_query) : {}), - }; - - if (diffableRule.concurrent_searches) { - threatMatchFields.concurrent_searches = diffableRule.concurrent_searches; - } - - if (diffableRule.items_per_search) { - threatMatchFields.items_per_search = diffableRule.items_per_search; - } - - return threatMatchFields; -}; - -const extractThresholdFields = ( - diffableRule: DiffableThresholdFields -): RuleResponseThresholdFields => { - const thresholdFields: RuleResponseThresholdFields = { - type: diffableRule.type, - query: '' /* Threshold rules have a "query" equal to an empty string if saved query is used */, - threshold: diffableRule.threshold, - ...(diffableRule.data_source ? extractDataSource(diffableRule.data_source) : {}), - ...(diffableRule.kql_query ? extractKqlQuery(diffableRule.kql_query) : {}), - }; - - return thresholdFields; -}; - -const extractMachineLearningFields = ( - diffableRule: DiffableMachineLearningFields -): RuleResponseMachineLearningFields => { - const machineLearningFields: RuleResponseMachineLearningFields = { - type: diffableRule.type, - machine_learning_job_id: diffableRule.machine_learning_job_id, - anomaly_threshold: diffableRule.anomaly_threshold, - }; - - return machineLearningFields; -}; - -const extractNewTermsFields = ( - diffableRule: DiffableNewTermsFields -): RuleResponseNewTermsFields => { - const newTermsFields: RuleResponseNewTermsFields = { - type: diffableRule.type, - query: diffableRule.kql_query.query, - language: diffableRule.kql_query.language, - filters: diffableRule.kql_query.filters, - new_terms_fields: diffableRule.new_terms_fields, - history_window_start: diffableRule.history_window_start, - ...(diffableRule.data_source ? extractDataSource(diffableRule.data_source) : {}), - }; - - return newTermsFields; -}; - -/** - * Converts a rule of type DiffableRule to a rule of type RuleResponse. - * Note that DiffableRule doesn't include all the fields that RuleResponse has, so they will be missing from the returned object. These are meta fields like "enabled", "created_at", "created_by", "updated_at", "updated_by", "id", "immutable", "output_index", "revision" - */ -export const diffableRuleToRuleResponse = (diffableRule: DiffableRule): Partial => { - const commonFields = extractCommonFields(diffableRule); - - if (diffableRule.type === 'query') { - return { - ...commonFields, - ...extractCustomQueryFields(diffableRule), - }; - } - - if (diffableRule.type === 'saved_query') { - return { - ...commonFields, - ...extractSavedQueryFields(diffableRule), - }; - } - - if (diffableRule.type === 'eql') { - return { - ...commonFields, - ...extractEqlFields(diffableRule), - }; - } - - if (diffableRule.type === 'threat_match') { - return { - ...commonFields, - ...extractThreatMatchFields(diffableRule), - }; - } - - if (diffableRule.type === 'threshold') { - return { - ...commonFields, - ...extractThresholdFields(diffableRule), - }; - } - - if (diffableRule.type === 'machine_learning') { - return { - ...commonFields, - ...extractMachineLearningFields(diffableRule), - }; - } - - if (diffableRule.type === 'new_terms') { - return { - ...commonFields, - ...extractNewTermsFields(diffableRule), - }; - } - - return assertUnreachable(diffableRule); -}; diff --git a/x-pack/plugins/security_solution/public/app/home/global_header/assistant_header_link.tsx b/x-pack/plugins/security_solution/public/app/home/global_header/assistant_header_link.tsx new file mode 100644 index 00000000000000..00e1acf7e45d5f --- /dev/null +++ b/x-pack/plugins/security_solution/public/app/home/global_header/assistant_header_link.tsx @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiFlexGroup, EuiFlexItem, EuiHeaderLink, EuiToolTip } from '@elastic/eui'; +import React, { useCallback } from 'react'; + +import { i18n } from '@kbn/i18n'; +import { useAssistantContext } from '@kbn/elastic-assistant/impl/assistant_context'; +import { AssistantAvatar } from '@kbn/elastic-assistant'; + +const isMac = navigator.platform.toLowerCase().indexOf('mac') >= 0; + +/** + * Elastic AI Assistant header link + */ +export const AssistantHeaderLink = React.memo(() => { + const { showAssistantOverlay } = useAssistantContext(); + + const keyboardShortcut = isMac ? '⌘ ;' : 'Ctrl ;'; + + const tooltipContent = i18n.translate( + 'xpack.securitySolution.globalHeader.assistantHeaderLinkShortcutTooltip', + { + values: { keyboardShortcut }, + defaultMessage: 'Keyboard shortcut {keyboardShortcut}', + } + ); + + const showOverlay = useCallback( + () => showAssistantOverlay({ showOverlay: true }), + [showAssistantOverlay] + ); + + return ( + + + + + + + + {i18n.translate('xpack.securitySolution.globalHeader.assistantHeaderLink', { + defaultMessage: 'AI Assistant', + })} + + + + + ); +}); + +AssistantHeaderLink.displayName = 'AssistantHeaderLink'; diff --git a/x-pack/plugins/security_solution/public/app/home/global_header/index.test.tsx b/x-pack/plugins/security_solution/public/app/home/global_header/index.test.tsx index abd7712a6073f6..7dc0b338193a96 100644 --- a/x-pack/plugins/security_solution/public/app/home/global_header/index.test.tsx +++ b/x-pack/plugins/security_solution/public/app/home/global_header/index.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ import React from 'react'; -import { render } from '@testing-library/react'; +import { render, waitFor } from '@testing-library/react'; import { useLocation } from 'react-router-dom'; import { useVariationMock } from '../../../common/components/utils.mocks'; import { GlobalHeader } from '.'; @@ -26,6 +26,7 @@ import { TimelineId } from '../../../../common/types/timeline'; import { createStore } from '../../../common/store'; import { kibanaObservable } from '@kbn/timelines-plugin/public/mock'; import { sourcererPaths } from '../../../common/containers/sourcerer'; +import { useAssistantAvailability } from '../../../assistant/use_assistant_availability'; jest.mock('react-router-dom', () => { const actual = jest.requireActual('react-router-dom'); @@ -48,6 +49,15 @@ jest.mock('react-reverse-portal', () => ({ createHtmlPortalNode: () => ({ unmount: jest.fn() }), })); +jest.mock('../../../assistant/use_assistant_availability'); + +jest.mocked(useAssistantAvailability).mockReturnValue({ + hasAssistantPrivilege: false, + hasConnectorsAllPrivilege: true, + hasConnectorsReadPrivilege: true, + isAssistantEnabled: true, +}); + describe('global header', () => { const mockSetHeaderActionMenu = jest.fn(); const state = { @@ -172,4 +182,46 @@ describe('global header', () => { expect(queryByTestId('sourcerer-trigger')).not.toBeInTheDocument(); }); + + it('shows AI Assistant header link if user has necessary privileges', () => { + (useLocation as jest.Mock).mockReturnValue([ + { pageName: SecurityPageName.overview, detailName: undefined }, + ]); + + jest.mocked(useAssistantAvailability).mockReturnValue({ + hasAssistantPrivilege: true, + hasConnectorsAllPrivilege: true, + hasConnectorsReadPrivilege: true, + isAssistantEnabled: true, + }); + + const { findByTestId } = render( + + + + ); + + waitFor(() => expect(findByTestId('assistantHeaderLink')).toBeInTheDocument()); + }); + + it('does not show AI Assistant header link if user does not have necessary privileges', () => { + (useLocation as jest.Mock).mockReturnValue([ + { pageName: SecurityPageName.overview, detailName: undefined }, + ]); + + jest.mocked(useAssistantAvailability).mockReturnValue({ + hasAssistantPrivilege: false, + hasConnectorsAllPrivilege: true, + hasConnectorsReadPrivilege: true, + isAssistantEnabled: true, + }); + + const { findByTestId } = render( + + + + ); + + waitFor(() => expect(findByTestId('assistantHeaderLink')).not.toBeInTheDocument()); + }); }); diff --git a/x-pack/plugins/security_solution/public/app/home/global_header/index.tsx b/x-pack/plugins/security_solution/public/app/home/global_header/index.tsx index 85fbcb8284cb5f..615d4e81617869 100644 --- a/x-pack/plugins/security_solution/public/app/home/global_header/index.tsx +++ b/x-pack/plugins/security_solution/public/app/home/global_header/index.tsx @@ -27,13 +27,15 @@ import { timelineSelectors } from '../../../timelines/store/timeline'; import { useShallowEqualSelector } from '../../../common/hooks/use_selector'; import { getScopeFromPath, showSourcererByPath } from '../../../common/containers/sourcerer'; import { useAddIntegrationsUrl } from '../../../common/hooks/use_add_integrations_url'; +import { AssistantHeaderLink } from './assistant_header_link'; +import { useAssistantAvailability } from '../../../assistant/use_assistant_availability'; const BUTTON_ADD_DATA = i18n.translate('xpack.securitySolution.globalHeader.buttonAddData', { defaultMessage: 'Add integrations', }); /** - * This component uses the reverse portal to add the Add Data and ML job settings buttons on the + * This component uses the reverse portal to add the Add Data, ML job settings, and AI Assistant buttons on the * right hand side of the Kibana global header */ export const GlobalHeader = React.memo( @@ -52,6 +54,8 @@ export const GlobalHeader = React.memo( const { href, onClick } = useAddIntegrationsUrl(); + const { hasAssistantPrivilege } = useAssistantAvailability(); + useEffect(() => { setHeaderActionMenu((element) => { const mount = toMountPoint(, { theme$: theme.theme$ }); @@ -87,6 +91,7 @@ export const GlobalHeader = React.memo( {showSourcerer && !showTimeline && ( )} + {hasAssistantPrivilege && } diff --git a/x-pack/plugins/security_solution/public/assistant/get_comments/index.tsx b/x-pack/plugins/security_solution/public/assistant/get_comments/index.tsx index af644f8a4c5e5b..b6d4d9723d87b8 100644 --- a/x-pack/plugins/security_solution/public/assistant/get_comments/index.tsx +++ b/x-pack/plugins/security_solution/public/assistant/get_comments/index.tsx @@ -10,6 +10,7 @@ import type { Conversation } from '@kbn/elastic-assistant'; import { EuiAvatar, EuiMarkdownFormat, EuiText } from '@elastic/eui'; import React from 'react'; +import { AssistantAvatar } from '@kbn/elastic-assistant'; import { CommentActions } from '../comment_actions'; import * as i18n from './translations'; @@ -57,7 +58,7 @@ export const getComments = ({ timelineAvatar: isUser ? ( ) : ( - + ), timestamp: i18n.AT( message.timestamp.length === 0 ? new Date().toLocaleString() : message.timestamp diff --git a/x-pack/plugins/security_solution/public/common/components/control_columns/row_action/index.tsx b/x-pack/plugins/security_solution/public/common/components/control_columns/row_action/index.tsx index 07a91c754e264a..e2950f3ecf73ea 100644 --- a/x-pack/plugins/security_solution/public/common/components/control_columns/row_action/index.tsx +++ b/x-pack/plugins/security_solution/public/common/components/control_columns/row_action/index.tsx @@ -97,6 +97,7 @@ const RowActionComponent = ({ }, }; + // excluding rule preview page as some sections in new flyout are not applicable when user is creating a new rule if (isSecurityFlyoutEnabled && tableId !== TableId.rulePreview) { openFlyout({ right: { diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/event_details.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/event_details.tsx index 87f450ecb43b49..7d0892d3cbf9dd 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/event_details.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/event_details.tsx @@ -171,8 +171,8 @@ const EventDetailsComponent: React.FC = ({ const goToTableTab = useCallback(() => setSelectedTabId(EventsViewType.tableView), []); const eventFields = useMemo(() => getEnrichmentFields(data), [data]); - const { ruleId } = useBasicDataFromDetailsData(data); - const { rule: maybeRule } = useRuleWithFallback(ruleId); + const basicAlertData = useBasicDataFromDetailsData(data); + const { rule: maybeRule } = useRuleWithFallback(basicAlertData.ruleId); const existingEnrichments = useMemo( () => isAlert @@ -222,6 +222,7 @@ const EventDetailsComponent: React.FC = ({ const endpointResponseActionsEnabled = useIsExperimentalFeatureEnabled( 'endpointResponseActionsEnabled' ); + const summaryTab: EventViewTab | undefined = useMemo( () => isAlert @@ -319,7 +320,9 @@ const EventDetailsComponent: React.FC = ({ )} - + {basicAlertData.ruleId && maybeRule?.note && ( + + )} ), } @@ -332,17 +335,19 @@ const EventDetailsComponent: React.FC = ({ id, handleOnEventClosed, isReadOnly, + threatDetails, renderer, detailsEcsData, isDraggable, goToTableTab, - threatDetails, + maybeRule?.investigation_fields, + maybeRule?.note, showThreatSummary, hostRisk, userRisk, allEnrichments, isEnrichmentsLoading, - maybeRule, + basicAlertData, ] ); diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/investigation_guide_view.test.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/investigation_guide_view.test.tsx index c6c10dc0417e1d..c1a57c6a9ab770 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/investigation_guide_view.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/investigation_guide_view.test.tsx @@ -8,27 +8,17 @@ import React from 'react'; import { render } from '@testing-library/react'; import { InvestigationGuideView } from './investigation_guide_view'; -import { useRuleWithFallback } from '../../../detection_engine/rule_management/logic/use_rule_with_fallback'; - -const mockUseRuleWithFallback = useRuleWithFallback as jest.Mock; -jest.mock('../../../detection_engine/rule_management/logic/use_rule_with_fallback'); +import type { GetBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; const defaultProps = { - data: [ - { - category: 'kibana', - field: 'kibana.alert.rule.uuid', - values: ['rule-uuid'], - originalValue: ['rule-uuid'], - isObjectArray: false, - }, - ], + basicData: { + ruleId: 'rule-id', + } as unknown as GetBasicDataFromDetailsData, + ruleNote: 'test note', }; describe('Investigation guide view', () => { it('should render title and clamped investigation guide (with read more/read less) by default', () => { - mockUseRuleWithFallback.mockReturnValue({ rule: { note: 'test note' } }); - const { getByTestId, queryByTestId } = render(); expect(getByTestId('summary-view-guide')).toBeInTheDocument(); @@ -37,8 +27,6 @@ describe('Investigation guide view', () => { }); it('should render full investigation guide when showFullView is true', () => { - mockUseRuleWithFallback.mockReturnValue({ rule: { note: 'test note' } }); - const { getByTestId, queryByTestId } = render( ); @@ -47,19 +35,6 @@ describe('Investigation guide view', () => { expect(queryByTestId('investigation-guide-clamped')).not.toBeInTheDocument(); }); - it('should not render investigation guide when rule id is not available', () => { - const { queryByTestId } = render(); - expect(queryByTestId('investigation-guide-clamped')).not.toBeInTheDocument(); - expect(queryByTestId('investigation-guide-full-view')).not.toBeInTheDocument(); - }); - - it('should not render investigation guide button when investigation guide is not available', () => { - mockUseRuleWithFallback.mockReturnValue({ rule: {} }); - const { queryByTestId } = render(); - expect(queryByTestId('investigation-guide-clamped')).not.toBeInTheDocument(); - expect(queryByTestId('investigation-guide-full-view')).not.toBeInTheDocument(); - }); - it('should not render investigation guide title when showTitle is false', () => { const { queryByTestId } = render( diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/investigation_guide_view.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/investigation_guide_view.tsx index 7230dd2c21e671..cb3eb321bd3fab 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/investigation_guide_view.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/investigation_guide_view.tsx @@ -9,12 +9,9 @@ import { EuiSpacer, EuiTitle, EuiText } from '@elastic/eui'; import React, { createContext } from 'react'; import styled from 'styled-components'; import type { GetBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; -import { useBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; import * as i18n from './translations'; -import { useRuleWithFallback } from '../../../detection_engine/rule_management/logic/use_rule_with_fallback'; import { MarkdownRenderer } from '../markdown_editor'; import { LineClamp } from '../line_clamp'; -import type { TimelineEventsDetailsItem } from '../../../../common/search_strategy'; export const Indent = styled.div` padding: 0 8px; @@ -25,9 +22,13 @@ export const BasicAlertDataContext = createContext = ({ - data, + basicData, + ruleNote, showFullView = false, showTitle = true, }) => { - const basicAlertData = useBasicDataFromDetailsData(data); - const { rule: maybeRule } = useRuleWithFallback(basicAlertData.ruleId); - - if (!basicAlertData.ruleId || !maybeRule?.note) { - return null; - } - return ( - + {showTitle && ( <> @@ -68,12 +63,12 @@ const InvestigationGuideViewComponent: React.FC = ( {showFullView ? ( - {maybeRule.note} + {ruleNote} ) : ( - {maybeRule.note} + {ruleNote} )} diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/table/investigate_in_timeline_button.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/table/investigate_in_timeline_button.tsx index ec957dadd4c650..ad464585ec682e 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/table/investigate_in_timeline_button.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/table/investigate_in_timeline_button.tsx @@ -7,6 +7,7 @@ import React, { useMemo, useCallback } from 'react'; import { EuiButton, EuiButtonEmpty } from '@elastic/eui'; +import type { IconType } from '@elastic/eui'; import type { Filter } from '@kbn/es-query'; import { useDispatch } from 'react-redux'; @@ -31,11 +32,21 @@ export interface InvestigateInTimelineButtonProps { timeRange?: TimeRange; keepDataView?: boolean; isDisabled?: boolean; + iconType?: IconType; } export const InvestigateInTimelineButton: React.FunctionComponent< InvestigateInTimelineButtonProps -> = ({ asEmptyButton, children, dataProviders, filters, timeRange, keepDataView, ...rest }) => { +> = ({ + asEmptyButton, + children, + dataProviders, + filters, + timeRange, + keepDataView, + iconType, + ...rest +}) => { const dispatch = useDispatch(); const getDataViewsSelector = useMemo( @@ -113,6 +124,7 @@ export const InvestigateInTimelineButton: React.FunctionComponent< onClick={configureAndOpenTimeline} flush="right" size="xs" + iconType={iconType} > {children} diff --git a/x-pack/plugins/security_solution/public/common/components/header_actions/action_icon_item.tsx b/x-pack/plugins/security_solution/public/common/components/header_actions/action_icon_item.tsx index 33ce078fe31df8..d45631a0dc450e 100644 --- a/x-pack/plugins/security_solution/public/common/components/header_actions/action_icon_item.tsx +++ b/x-pack/plugins/security_solution/public/common/components/header_actions/action_icon_item.tsx @@ -7,7 +7,13 @@ import type { MouseEvent } from 'react'; import React from 'react'; -import { EuiContextMenuItem, EuiButtonIcon, EuiToolTip, EuiText } from '@elastic/eui'; +import { + EuiContextMenuItem, + EuiButtonIcon, + EuiToolTip, + EuiText, + EuiButtonEmpty, +} from '@elastic/eui'; import { EventsTdContent } from '../../../timelines/components/timeline/styles'; import { DEFAULT_ACTION_BUTTON_WIDTH } from '.'; @@ -20,7 +26,7 @@ interface ActionIconItemProps { isDisabled?: boolean; onClick?: (event: MouseEvent) => void; children?: React.ReactNode; - buttonType?: 'text' | 'icon'; + buttonType?: 'text' | 'icon' | 'emptyButton'; } const ActionIconItemComponent: React.FC = ({ @@ -67,6 +73,17 @@ const ActionIconItemComponent: React.FC = ({ )} + {buttonType === 'emptyButton' && ( + + {content} + + )} ); diff --git a/x-pack/plugins/security_solution/public/common/components/markdown_editor/renderer.tsx b/x-pack/plugins/security_solution/public/common/components/markdown_editor/renderer.tsx index b51d1ad78680c3..431b9b0051f5e0 100644 --- a/x-pack/plugins/security_solution/public/common/components/markdown_editor/renderer.tsx +++ b/x-pack/plugins/security_solution/public/common/components/markdown_editor/renderer.tsx @@ -7,7 +7,7 @@ import React, { memo, useMemo } from 'react'; import { cloneDeep } from 'lodash/fp'; -import type { EuiLinkAnchorProps } from '@elastic/eui'; +import type { EuiLinkAnchorProps, EuiTextProps } from '@elastic/eui'; import { EuiMarkdownFormat, EuiCallOut, EuiLink, EuiSpacer } from '@elastic/eui'; import unified from 'unified'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -21,9 +21,10 @@ import * as i18n from './translations'; interface Props { children: string; disableLinks?: boolean; + textSize?: EuiTextProps['size']; } -const MarkdownRendererComponent: React.FC = ({ children, disableLinks }) => { +const MarkdownRendererComponent: React.FC = ({ children, disableLinks, textSize = 'm' }) => { const MarkdownLinkProcessingComponent: React.FC = useMemo( // eslint-disable-next-line react/display-name () => (props) => , @@ -97,6 +98,7 @@ const MarkdownRendererComponent: React.FC = ({ children, disableLinks }) {children} diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx index a02c299109cce1..12ca5b5683f68e 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx @@ -164,6 +164,14 @@ const FalsePositives = ({ falsePositives }: { falsePositives: string[] }) => ( ); +interface InvestigationFieldsProps { + investigationFields: string[]; +} + +const InvestigationFields = ({ investigationFields }: InvestigationFieldsProps) => ( + +); + interface LicenseProps { license: string; } @@ -208,13 +216,10 @@ interface TagsProps { const Tags = ({ tags }: TagsProps) => ; -// eslint-disable-next-line complexity -const prepareAboutSectionListItems = ( - rule: Partial -): EuiDescriptionListProps['listItems'] => { +const prepareAboutSectionListItems = (rule: RuleResponse): EuiDescriptionListProps['listItems'] => { const aboutSectionListItems: EuiDescriptionListProps['listItems'] = []; - if (rule.author) { + if (rule.author.length > 0) { aboutSectionListItems.push({ title: i18n.AUTHOR_FIELD_LABEL, description: , @@ -228,14 +233,12 @@ const prepareAboutSectionListItems = ( }); } - if (rule.severity) { - aboutSectionListItems.push({ - title: i18n.SEVERITY_FIELD_LABEL, - description: , - }); - } + aboutSectionListItems.push({ + title: i18n.SEVERITY_FIELD_LABEL, + description: , + }); - if (rule.severity_mapping && rule.severity_mapping.length > 0) { + if (rule.severity_mapping.length > 0) { aboutSectionListItems.push( ...rule.severity_mapping .filter((severityMappingItem) => severityMappingItem.field !== '') @@ -248,14 +251,12 @@ const prepareAboutSectionListItems = ( ); } - if (rule.risk_score) { - aboutSectionListItems.push({ - title: i18n.RISK_SCORE_FIELD_LABEL, - description: , - }); - } + aboutSectionListItems.push({ + title: i18n.RISK_SCORE_FIELD_LABEL, + description: , + }); - if (rule.risk_score_mapping && rule.risk_score_mapping.length > 0) { + if (rule.risk_score_mapping.length > 0) { aboutSectionListItems.push( ...rule.risk_score_mapping .filter((riskScoreMappingItem) => riskScoreMappingItem.field !== '') @@ -268,20 +269,27 @@ const prepareAboutSectionListItems = ( ); } - if (rule.references && rule.references.length > 0) { + if (rule.references.length > 0) { aboutSectionListItems.push({ title: i18n.REFERENCES_FIELD_LABEL, description: , }); } - if (rule.false_positives && rule.false_positives.length > 0) { + if (rule.false_positives.length > 0) { aboutSectionListItems.push({ title: i18n.FALSE_POSITIVES_FIELD_LABEL, description: , }); } + if (rule.investigation_fields && rule.investigation_fields.length > 0) { + aboutSectionListItems.push({ + title: i18n.INVESTIGATION_FIELDS_FIELD_LABEL, + description: , + }); + } + if (rule.license) { aboutSectionListItems.push({ title: i18n.LICENSE_FIELD_LABEL, @@ -296,7 +304,7 @@ const prepareAboutSectionListItems = ( }); } - if (rule.threat && rule.threat.length > 0) { + if (rule.threat.length > 0) { aboutSectionListItems.push({ title: i18n.THREAT_FIELD_LABEL, description: , @@ -317,7 +325,7 @@ const prepareAboutSectionListItems = ( }); } - if (rule.tags && rule.tags.length > 0) { + if (rule.tags.length > 0) { aboutSectionListItems.push({ title: i18n.TAGS_FIELD_LABEL, description: , @@ -328,7 +336,7 @@ const prepareAboutSectionListItems = ( }; export interface RuleAboutSectionProps { - rule: Partial; + rule: RuleResponse; } export const RuleAboutSection = ({ rule }: RuleAboutSectionProps) => { diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx index 4839e7f2dc48f0..8957ebe1ff9d59 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx @@ -8,25 +8,99 @@ import React from 'react'; import { isEmpty } from 'lodash/fp'; import styled from 'styled-components'; -import { EuiDescriptionList, EuiText, EuiFlexGrid, EuiFlexItem, EuiFlexGroup } from '@elastic/eui'; +import { + EuiDescriptionList, + EuiText, + EuiFlexGrid, + EuiFlexItem, + EuiFlexGroup, + EuiLoadingSpinner, + EuiBadge, +} from '@elastic/eui'; import type { EuiDescriptionListProps } from '@elastic/eui'; import type { Type, ThreatMapping as ThreatMappingType, } from '@kbn/securitysolution-io-ts-alerting-types'; +import type { Filter } from '@kbn/es-query'; +import type { SavedQuery } from '@kbn/data-plugin/public'; +import { mapAndFlattenFilters } from '@kbn/data-plugin/public'; import { FieldIcon } from '@kbn/react-field'; import { castEsToKbnFieldTypeName } from '@kbn/field-types'; +import { FilterBadgeGroup } from '@kbn/unified-search-plugin/public'; import type { RuleResponse } from '../../../../../common/api/detection_engine/model/rule_schema/rule_schemas'; import type { Threshold as ThresholdType } from '../../../../../common/api/detection_engine/model/rule_schema/specific_attributes/threshold_attributes'; import type { RequiredFieldArray } from '../../../../../common/api/detection_engine/model/rule_schema/common_attributes'; import { assertUnreachable } from '../../../../../common/utility_types'; import * as descriptionStepI18n from '../../../../detections/components/rules/description_step/translations'; -import { MlJobsDescription } from '../../../../detections/components/rules/ml_jobs_description/ml_jobs_description'; import { RelatedIntegrationsDescription } from '../../../../detections/components/rules/related_integrations/integrations_description'; +import { useGetSavedQuery } from '../../../../detections/pages/detection_engine/rules/use_get_saved_query'; import * as threatMatchI18n from '../../../../common/components/threat_match/translations'; +import * as timelinesI18n from '../../../../timelines/components/timeline/translations'; +import { useRuleIndexPattern } from '../../../rule_creation_ui/pages/form'; +import { DataSourceType } from '../../../../detections/pages/detection_engine/rules/types'; +import { convertHistoryStartToSize } from '../../../../detections/pages/detection_engine/rules/helpers'; +import { MlJobLink } from '../../../../detections/components/rules/ml_job_link/ml_job_link'; +import { useSecurityJobs } from '../../../../common/components/ml_popover/hooks/use_security_jobs'; import { BadgeList } from './badge_list'; import * as i18n from './translations'; +interface SavedQueryNameProps { + savedQueryName: string; +} + +const SavedQueryName = ({ savedQueryName }: SavedQueryNameProps) => ( + {savedQueryName} +); + +const EuiBadgeWrap = styled(EuiBadge)` + .euiBadge__text { + white-space: pre-wrap !important; + } +`; + +interface FiltersProps { + filters: Filter[]; + dataViewId?: string; + index?: string[]; +} + +const Filters = ({ filters, dataViewId, index }: FiltersProps) => { + const { indexPattern } = useRuleIndexPattern({ + dataSourceType: dataViewId ? DataSourceType.DataView : DataSourceType.IndexPatterns, + index: index ?? [], + dataViewId, + }); + + const flattenedFilters = mapAndFlattenFilters(filters); + + return ( + + {flattenedFilters.map((filter, idx) => ( + + + {indexPattern != null ? ( + + ) : ( + + )} + + + ))} + + ); +}; + +const QueryContent = styled.div` + white-space: pre-wrap; +`; + +interface QueryProps { + query: string; +} + +const Query = ({ query }: QueryProps) => {query}; + interface IndexProps { index: string[]; } @@ -53,6 +127,36 @@ const Threshold = ({ threshold }: ThresholdProps) => ( ); +interface AnomalyThresholdProps { + anomalyThreshold: number; +} + +const AnomalyThreshold = ({ anomalyThreshold }: AnomalyThresholdProps) => ( + {anomalyThreshold} +); + +interface MachineLearningJobListProps { + jobIds: string[]; +} + +const MachineLearningJobList = ({ jobIds }: MachineLearningJobListProps) => { + const { jobs } = useSecurityJobs(); + + const relevantJobs = jobs.filter((job) => jobIds.includes(job.id)); + + return ( + <> + {relevantJobs.map((job) => ( + + ))} + + ); +}; + const getRuleTypeDescription = (ruleType: Type) => { switch (ruleType) { case 'machine_learning': @@ -94,7 +198,7 @@ interface RequiredFieldsProps { const RequiredFields = ({ requiredFields }: RequiredFieldsProps) => ( {requiredFields.map((rF, index) => ( - + { return {description}; }; +interface NewTermsFieldsProps { + newTermsFields: string[]; +} + +const NewTermsFields = ({ newTermsFields }: NewTermsFieldsProps) => ( + +); + +interface HistoryWindowSizeProps { + historyWindowStart?: string; +} + +const HistoryWindowSize = ({ historyWindowStart }: HistoryWindowSizeProps) => { + const size = historyWindowStart ? convertHistoryStartToSize(historyWindowStart) : '7d'; + + return {size}; +}; + +// eslint-disable-next-line complexity const prepareDefinitionSectionListItems = ( - rule: Partial + rule: RuleResponse, + savedQuery?: SavedQuery ): EuiDescriptionListProps['listItems'] => { const definitionSectionListItems: EuiDescriptionListProps['listItems'] = []; @@ -181,21 +305,62 @@ const prepareDefinitionSectionListItems = ( }); } - if (rule.type) { + if (savedQuery) { + definitionSectionListItems.push({ + title: descriptionStepI18n.SAVED_QUERY_NAME_LABEL, + description: , + }); + + if (savedQuery.attributes.filters) { + definitionSectionListItems.push({ + title: descriptionStepI18n.SAVED_QUERY_FILTERS_LABEL, + description: , + }); + } + } + + if ('filters' in rule && rule.filters && rule.filters.length > 0) { + definitionSectionListItems.push({ + title: savedQuery + ? descriptionStepI18n.SAVED_QUERY_FILTERS_LABEL + : descriptionStepI18n.FILTERS_LABEL, + description: ( + + ), + }); + } + + if ('query' in rule && rule.query) { + definitionSectionListItems.push({ + title: savedQuery ? descriptionStepI18n.SAVED_QUERY_LABEL : descriptionStepI18n.QUERY_LABEL, + description: , + }); + } + + definitionSectionListItems.push({ + title: i18n.RULE_TYPE_FIELD_LABEL, + description: , + }); + + if ('anomaly_threshold' in rule && rule.anomaly_threshold) { definitionSectionListItems.push({ - title: i18n.RULE_TYPE_FIELD_LABEL, - description: , + title: i18n.ANOMALY_THRESHOLD_FIELD_LABEL, + description: , }); } if ('machine_learning_job_id' in rule) { definitionSectionListItems.push({ title: i18n.MACHINE_LEARNING_JOB_ID_FIELD_LABEL, - description: , + description: , }); } - if (rule.related_integrations && rule.related_integrations.length > 0) { + if (rule.related_integrations.length > 0) { definitionSectionListItems.push({ title: i18n.RELATED_INTEGRATIONS_FIELD_LABEL, description: ( @@ -204,19 +369,19 @@ const prepareDefinitionSectionListItems = ( }); } - if (rule.required_fields && rule.required_fields.length > 0) { + if (rule.required_fields.length > 0) { definitionSectionListItems.push({ title: i18n.REQUIRED_FIELDS_FIELD_LABEL, description: , }); } - if (rule.timeline_title) { - definitionSectionListItems.push({ - title: i18n.TIMELINE_TITLE_FIELD_LABEL, - description: , - }); - } + definitionSectionListItems.push({ + title: i18n.TIMELINE_TITLE_FIELD_LABEL, + description: ( + + ), + }); if ('threshold' in rule && rule.threshold) { definitionSectionListItems.push({ @@ -239,15 +404,58 @@ const prepareDefinitionSectionListItems = ( }); } + if ('threat_filters' in rule && rule.threat_filters && rule.threat_filters.length > 0) { + definitionSectionListItems.push({ + title: savedQuery + ? descriptionStepI18n.SAVED_QUERY_FILTERS_LABEL + : descriptionStepI18n.FILTERS_LABEL, + description: ( + + ), + }); + } + + if ('threat_query' in rule && rule.threat_query) { + definitionSectionListItems.push({ + title: savedQuery + ? descriptionStepI18n.SAVED_QUERY_LABEL + : descriptionStepI18n.THREAT_QUERY_LABEL, + description: , + }); + } + + if ('new_terms_fields' in rule && rule.new_terms_fields && rule.new_terms_fields.length > 0) { + definitionSectionListItems.push({ + title: i18n.NEW_TERMS_FIELDS_FIELD_LABEL, + description: , + }); + } + + if (rule.type === 'new_terms' || 'history_window_start' in rule) { + definitionSectionListItems.push({ + title: i18n.HISTORY_WINDOW_SIZE_FIELD_LABEL, + description: , + }); + } + return definitionSectionListItems; }; export interface RuleDefinitionSectionProps { - rule: Partial; + rule: RuleResponse; } export const RuleDefinitionSection = ({ rule }: RuleDefinitionSectionProps) => { - const definitionSectionListItems = prepareDefinitionSectionListItems(rule); + const { savedQuery } = useGetSavedQuery({ + savedQueryId: rule.type === 'saved_query' ? rule.saved_id : '', + ruleType: rule.type, + }); + + const definitionSectionListItems = prepareDefinitionSectionListItems(rule, savedQuery); return (
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_details_flyout.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_details_flyout.tsx index 9cd5a751c5c585..e4a596f6264bb9 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_details_flyout.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_details_flyout.tsx @@ -7,6 +7,8 @@ import React, { useMemo, useState, useEffect } from 'react'; import styled from 'styled-components'; +import { css } from '@emotion/css'; +import { euiThemeVars } from '@kbn/ui-theme'; import { EuiButton, EuiButtonEmpty, @@ -20,7 +22,7 @@ import { EuiFlexGroup, EuiFlexItem, } from '@elastic/eui'; -import type { EuiTabbedContentTab } from '@elastic/eui'; +import type { EuiTabbedContentTab, EuiTabbedContentProps } from '@elastic/eui'; import type { RuleResponse } from '../../../../../common/api/detection_engine/model/rule_schema/rule_schemas'; import { RuleOverviewTab, useOverviewTabSections } from './rule_overview_tab'; @@ -37,7 +39,7 @@ const StyledEuiFlyoutBody = styled(EuiFlyoutBody)` .euiFlyoutBody__overflowContent { flex: 1; overflow: hidden; - padding: ${({ theme }) => `0 ${theme.eui.euiSizeL} ${theme.eui.euiSizeM}`}; + padding: ${({ theme }) => `0 ${theme.eui.euiSizeL} 0`}; } } `; @@ -79,8 +81,27 @@ const StyledEuiTabbedContent = styled(EuiTabbedContent)` } `; +/* + * Fixes tabs to the top and allows the content to scroll. + */ +const ScrollableFlyoutTabbedContent = (props: EuiTabbedContentProps) => ( + + + + + +); + +const tabPaddingClassName = css` + padding: 0 ${euiThemeVars.euiSizeM} ${euiThemeVars.euiSizeXL} ${euiThemeVars.euiSizeM}; +`; + +const TabContentPadding: React.FC = ({ children }) => ( +
{children}
+); + interface RuleDetailsFlyoutProps { - rule: Partial; + rule: RuleResponse; actionButtonLabel: string; isActionButtonDisabled: boolean; onActionButtonClick: (ruleId: string) => void; @@ -101,11 +122,13 @@ export const RuleDetailsFlyout = ({ id: 'overview', name: i18n.OVERVIEW_TAB_LABEL, content: ( - + + + ), }), [rule, expandedOverviewSections, toggleOverviewSection] @@ -115,7 +138,11 @@ export const RuleDetailsFlyout = ({ () => ({ id: 'investigationGuide', name: i18n.INVESTIGATION_GUIDE_TAB_LABEL, - content: , + content: ( + + + + ), }), [rule.note] ); @@ -151,17 +178,17 @@ export const RuleDetailsFlyout = ({ paddingSize="l" > - +

{rule.name}

- - - - - + diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_investigation_guide_tab.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_investigation_guide_tab.tsx index 6824714e070b5c..e6d01d1fca588e 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_investigation_guide_tab.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_investigation_guide_tab.tsx @@ -6,9 +6,7 @@ */ import React from 'react'; -import { css } from '@emotion/react'; import { EuiSpacer } from '@elastic/eui'; -import { euiThemeVars } from '@kbn/ui-theme'; import { MarkdownRenderer } from '../../../../common/components/markdown_editor'; import type { InvestigationGuide } from '../../../../../common/api/detection_engine/model/rule_schema/common_attributes'; @@ -18,13 +16,9 @@ interface RuleInvestigationGuideTabProps { export const RuleInvestigationGuideTab = ({ note }: RuleInvestigationGuideTabProps) => { return ( -
+ <> - {note} -
+ {note} + ); }; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_overview_tab.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_overview_tab.tsx index ed54f5e8ce68cc..aa9b42abe6ba7f 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_overview_tab.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_overview_tab.tsx @@ -6,8 +6,6 @@ */ import React, { useState, useMemo, useCallback } from 'react'; -import { css } from '@emotion/react'; -import { euiThemeVars } from '@kbn/ui-theme'; import { EuiTitle, EuiAccordion, @@ -88,7 +86,7 @@ const ExpandableSection = ({ title, isOpen, toggle, children }: ExpandableSectio }; interface RuleOverviewTabProps { - rule: Partial; + rule: RuleResponse; expandedOverviewSections: Record; toggleOverviewSection: Record void>; } @@ -98,11 +96,7 @@ export const RuleOverviewTab = ({ expandedOverviewSections, toggleOverviewSection, }: RuleOverviewTabProps) => ( -
+ <> - {rule.setup && ( <> + - )} -
+ ); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_schedule_section.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_schedule_section.tsx index 866fbdfdee9395..e7d2bbaeb831d5 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_schedule_section.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_schedule_section.tsx @@ -27,25 +27,22 @@ const From = ({ from, interval }: FromProps) => ( ); export interface RuleScheduleSectionProps { - rule: Partial; + rule: RuleResponse; } export const RuleScheduleSection = ({ rule }: RuleScheduleSectionProps) => { const ruleSectionListItems = []; - if (rule.interval) { - ruleSectionListItems.push({ + ruleSectionListItems.push( + { title: i18n.INTERVAL_FIELD_LABEL, description: , - }); - } - - if (rule.interval && rule.from) { - ruleSectionListItems.push({ + }, + { title: i18n.FROM_FIELD_LABEL, description: , - }); - } + } + ); return (
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_setup_guide_section.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_setup_guide_section.tsx index 1fe5c5bfedd358..b6a358349a1177 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_setup_guide_section.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_setup_guide_section.tsx @@ -16,7 +16,7 @@ interface RuleSetupGuideSectionProps { export const RuleSetupGuideSection = ({ setup }: RuleSetupGuideSectionProps) => { return (
- {setup} + {setup}
); }; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/translations.ts index 8164a83950502b..55b0edc254d731 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/translations.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/translations.ts @@ -126,6 +126,13 @@ export const FALSE_POSITIVES_FIELD_LABEL = i18n.translate( } ); +export const INVESTIGATION_FIELDS_FIELD_LABEL = i18n.translate( + 'xpack.securitySolution.detectionEngine.ruleDetails.investigationFieldsFieldLabel', + { + defaultMessage: 'Custom highlighted fields', + } +); + export const LICENSE_FIELD_LABEL = i18n.translate( 'xpack.securitySolution.detectionEngine.ruleDetails.licenseFieldLabel', { @@ -203,6 +210,13 @@ export const MACHINE_LEARNING_JOB_ID_FIELD_LABEL = i18n.translate( } ); +export const ANOMALY_THRESHOLD_FIELD_LABEL = i18n.translate( + 'xpack.securitySolution.detectionEngine.ruleDetails.anomalyThresholdFieldLabel', + { + defaultMessage: 'Anomaly score threshold', + } +); + export const RELATED_INTEGRATIONS_FIELD_LABEL = i18n.translate( 'xpack.securitySolution.detectionEngine.ruleDetails.relatedIntegrationsFieldLabel', { @@ -245,6 +259,20 @@ export const THREAT_FILTERS_FIELD_LABEL = i18n.translate( } ); +export const NEW_TERMS_FIELDS_FIELD_LABEL = i18n.translate( + 'xpack.securitySolution.detectionEngine.ruleDetails.newTermsFieldsFieldLabel', + { + defaultMessage: 'Fields', + } +); + +export const HISTORY_WINDOW_SIZE_FIELD_LABEL = i18n.translate( + 'xpack.securitySolution.detectionEngine.ruleDetails.historyWindowSizeFieldLabel', + { + defaultMessage: 'History Window Size', + } +); + export const INTERVAL_FIELD_LABEL = i18n.translate( 'xpack.securitySolution.detectionEngine.ruleDetails.intervalFieldLabel', { diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/use_rule_details_flyout.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/use_rule_details_flyout.tsx index 7aff5b7fb38f33..ccce517db5b551 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/use_rule_details_flyout.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/use_rule_details_flyout.tsx @@ -7,44 +7,41 @@ import React, { useCallback } from 'react'; import { invariant } from '../../../../../common/utils/invariant'; -import type { - RuleInstallationInfoForReview, - RuleSignatureId, -} from '../../../../../common/api/detection_engine'; -import type { DiffableRule } from '../../../../../common/api/detection_engine/prebuilt_rules/model/diff/diffable_rule/diffable_rule'; +import type { RuleObjectId } from '../../../../../common/api/detection_engine'; +import type { RuleResponse } from '../../../../../common/api/detection_engine/model/rule_schema'; export interface RuleDetailsFlyoutState { - flyoutRule: RuleInstallationInfoForReview | null; + previewedRule: RuleResponse | null; } export interface RuleDetailsFlyoutActions { - openFlyoutForRuleId: (ruleId: RuleSignatureId) => void; - closeFlyout: () => void; + openRulePreview: (ruleId: RuleObjectId) => void; + closeRulePreview: () => void; } export const useRuleDetailsFlyout = ( - rules: DiffableRule[] + rules: RuleResponse[] ): RuleDetailsFlyoutState & RuleDetailsFlyoutActions => { - const [flyoutRule, setFlyoutRule] = React.useState(null); + const [previewedRule, setRuleForPreview] = React.useState(null); - const openFlyoutForRuleId = useCallback( - (ruleId: RuleSignatureId) => { - const ruleToShowInFlyout = rules.find((rule) => rule.rule_id === ruleId); + const openRulePreview = useCallback( + (ruleId: RuleObjectId) => { + const ruleToShowInFlyout = rules.find((rule) => { + return rule.id === ruleId; + }); invariant(ruleToShowInFlyout, `Rule with id ${ruleId} not found`); - if (ruleToShowInFlyout) { - setFlyoutRule(ruleToShowInFlyout); - } + setRuleForPreview(ruleToShowInFlyout); }, - [rules, setFlyoutRule] + [rules, setRuleForPreview] ); - const closeFlyout = useCallback(() => { - setFlyoutRule(null); + const closeRulePreview = useCallback(() => { + setRuleForPreview(null); }, []); return { - openFlyoutForRuleId, - closeFlyout, - flyoutRule, + openRulePreview, + closeRulePreview, + previewedRule, }; }; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_flyout.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_flyout.tsx deleted file mode 100644 index e62246897a1903..00000000000000 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_flyout.tsx +++ /dev/null @@ -1,37 +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 { useAddPrebuiltRulesTableContext } from './add_prebuilt_rules_table_context'; -import { RuleDetailsFlyout } from '../../../../rule_management/components/rule_details/rule_details_flyout'; -import type { RuleResponse } from '../../../../../../common/api/detection_engine/model/rule_schema/rule_schemas'; -import { diffableRuleToRuleResponse } from '../../../../../../common/detection_engine/diffable_rule_to_rule_response'; -import * as i18n from './translations'; - -export const AddPrebuiltRulesFlyout = () => { - const { - state: { flyoutRule, isFlyoutInstallButtonDisabled }, - actions: { installOneRule, closeFlyout }, - } = useAddPrebuiltRulesTableContext(); - - if (flyoutRule == null) { - return null; - } - - const ruleResponse: Partial = diffableRuleToRuleResponse(flyoutRule); - - return ( - - ); -}; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_table.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_table.tsx index 029f31f19a6883..e64645e967cc21 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_table.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_table.tsx @@ -22,7 +22,6 @@ import { AddPrebuiltRulesTableNoItemsMessage } from './add_prebuilt_rules_no_ite import { useAddPrebuiltRulesTableContext } from './add_prebuilt_rules_table_context'; import { AddPrebuiltRulesTableFilters } from './add_prebuilt_rules_table_filters'; import { useAddPrebuiltRulesTableColumns } from './use_add_prebuilt_rules_table_columns'; -import { AddPrebuiltRulesFlyout } from './add_prebuilt_rules_flyout'; /** * Table Component for displaying new rules that are available to be installed @@ -97,8 +96,6 @@ export const AddPrebuiltRulesTable = React.memo(() => { data-test-subj="add-prebuilt-rules-table" columns={rulesColumns} /> - - ) } diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_table_context.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_table_context.tsx index 9b7fd830a4f4be..870025a9aa5f8d 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_table_context.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/add_prebuilt_rules_table_context.tsx @@ -9,10 +9,7 @@ import type { Dispatch, SetStateAction } from 'react'; import React, { createContext, useCallback, useContext, useMemo, useState } from 'react'; import { useFetchPrebuiltRulesStatusQuery } from '../../../../rule_management/api/hooks/prebuilt_rules/use_fetch_prebuilt_rules_status_query'; import { useIsUpgradingSecurityPackages } from '../../../../rule_management/logic/use_upgrade_security_packages'; -import type { - RuleInstallationInfoForReview, - RuleSignatureId, -} from '../../../../../../common/api/detection_engine'; +import type { RuleSignatureId } from '../../../../../../common/api/detection_engine'; import { invariant } from '../../../../../../common/utils/invariant'; import { usePerformInstallAllRules, @@ -22,16 +19,19 @@ import { usePrebuiltRulesInstallReview } from '../../../../rule_management/logic import type { AddPrebuiltRulesTableFilterOptions } from './use_filter_prebuilt_rules_to_install'; import { useFilterPrebuiltRulesToInstall } from './use_filter_prebuilt_rules_to_install'; import { useRuleDetailsFlyout } from '../../../../rule_management/components/rule_details/use_rule_details_flyout'; +import type { RuleResponse } from '../../../../../../common/api/detection_engine/model/rule_schema/rule_schemas'; +import { RuleDetailsFlyout } from '../../../../rule_management/components/rule_details/rule_details_flyout'; +import * as i18n from './translations'; export interface AddPrebuiltRulesTableState { /** * Rules available to be installed */ - rules: RuleInstallationInfoForReview[]; + rules: RuleResponse[]; /** * Rules to display in table after applying filters */ - filteredRules: RuleInstallationInfoForReview[]; + filteredRules: RuleResponse[]; /** * Currently selected table filter */ @@ -68,17 +68,7 @@ export interface AddPrebuiltRulesTableState { /** * Rule rows selected in EUI InMemory Table */ - selectedRules: RuleInstallationInfoForReview[]; - /** - * Rule that is currently displayed in the flyout or null if flyout is closed - */ - flyoutRule: RuleInstallationInfoForReview | null; - /** - * Is true when the install button in the flyout is disabled - * (e.g. when the rule is already being installed or when the table is being refetched) - * - **/ - isFlyoutInstallButtonDisabled: boolean; + selectedRules: RuleResponse[]; } export interface AddPrebuiltRulesTableActions { @@ -87,9 +77,8 @@ export interface AddPrebuiltRulesTableActions { installAllRules: () => void; installSelectedRules: () => void; setFilterOptions: Dispatch>; - selectRules: (rules: RuleInstallationInfoForReview[]) => void; - openFlyoutForRuleId: (ruleId: RuleSignatureId) => void; - closeFlyout: () => void; + selectRules: (rules: RuleResponse[]) => void; + openRulePreview: (ruleId: RuleSignatureId) => void; } export interface AddPrebuiltRulesContextType { @@ -107,7 +96,7 @@ export const AddPrebuiltRulesTableContextProvider = ({ children, }: AddPrebuiltRulesTableContextProviderProps) => { const [loadingRules, setLoadingRules] = useState([]); - const [selectedRules, setSelectedRules] = useState([]); + const [selectedRules, setSelectedRules] = useState([]); const [filterOptions, setFilterOptions] = useState({ filter: '', @@ -144,9 +133,9 @@ export const AddPrebuiltRulesTableContextProvider = ({ const filteredRules = useFilterPrebuiltRulesToInstall({ filterOptions, rules }); - const { openFlyoutForRuleId, closeFlyout, flyoutRule } = useRuleDetailsFlyout(filteredRules); - const isFlyoutInstallButtonDisabled = Boolean( - (flyoutRule?.rule_id && loadingRules.includes(flyoutRule.rule_id)) || + const { openRulePreview, closeRulePreview, previewedRule } = useRuleDetailsFlyout(filteredRules); + const canPreviewedRuleBeInstalled = Boolean( + (previewedRule?.rule_id && loadingRules.includes(previewedRule.rule_id)) || isRefetching || isUpgradingSecurityPackages ); @@ -199,17 +188,9 @@ export const AddPrebuiltRulesTableContextProvider = ({ installSelectedRules, reFetchRules: refetch, selectRules: setSelectedRules, - openFlyoutForRuleId, - closeFlyout, + openRulePreview, }), - [ - installAllRules, - installOneRule, - installSelectedRules, - refetch, - openFlyoutForRuleId, - closeFlyout, - ] + [installAllRules, installOneRule, installSelectedRules, refetch, openRulePreview] ); const providerValue = useMemo(() => { @@ -226,8 +207,6 @@ export const AddPrebuiltRulesTableContextProvider = ({ isUpgradingSecurityPackages, selectedRules, lastUpdated: dataUpdatedAt, - flyoutRule, - isFlyoutInstallButtonDisabled, }, actions, }; @@ -243,14 +222,23 @@ export const AddPrebuiltRulesTableContextProvider = ({ isUpgradingSecurityPackages, selectedRules, dataUpdatedAt, - flyoutRule, - isFlyoutInstallButtonDisabled, actions, ]); return ( - {children} + <> + {children} + {previewedRule && ( + + )} + ); }; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_add_prebuilt_rules_table_columns.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_add_prebuilt_rules_table_columns.tsx index e384226213b23f..275dc1276cb5ae 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_add_prebuilt_rules_table_columns.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_add_prebuilt_rules_table_columns.tsx @@ -15,15 +15,17 @@ import { IntegrationsPopover } from '../../../../../detections/components/rules/ import { SeverityBadge } from '../../../../../detections/components/rules/severity_badge'; import * as i18n from '../../../../../detections/pages/detection_engine/rules/translations'; import type { Rule } from '../../../../rule_management/logic'; -import type { RuleInstallationInfoForReview } from '../../../../../../common/api/detection_engine/prebuilt_rules'; import { useUserData } from '../../../../../detections/components/user_info'; import { hasUserCRUDPermission } from '../../../../../common/utils/privileges'; import type { AddPrebuiltRulesTableActions } from './add_prebuilt_rules_table_context'; import { useAddPrebuiltRulesTableContext } from './add_prebuilt_rules_table_context'; -import type { RuleSignatureId } from '../../../../../../common/api/detection_engine/model/rule_schema'; +import type { + RuleSignatureId, + RuleResponse, +} from '../../../../../../common/api/detection_engine/model/rule_schema'; import { getNormalizedSeverity } from '../helpers'; -export type TableColumn = EuiBasicTableColumn; +export type TableColumn = EuiBasicTableColumn; interface RuleNameProps { name: string; @@ -32,13 +34,13 @@ interface RuleNameProps { const RuleName = ({ name, ruleId }: RuleNameProps) => { const { - actions: { openFlyoutForRuleId }, + actions: { openRulePreview }, } = useAddPrebuiltRulesTableContext(); return ( { - openFlyoutForRuleId(ruleId); + openRulePreview(ruleId); }} > {name} @@ -49,8 +51,8 @@ const RuleName = ({ name, ruleId }: RuleNameProps) => { export const RULE_NAME_COLUMN: TableColumn = { field: 'name', name: i18n.COLUMN_RULE, - render: (value: RuleInstallationInfoForReview['name'], rule: RuleInstallationInfoForReview) => ( - + render: (value: RuleResponse['name'], rule: RuleResponse) => ( + ), sortable: true, truncateText: true, @@ -62,7 +64,7 @@ const TAGS_COLUMN: TableColumn = { field: 'tags', name: null, align: 'center', - render: (tags: RuleInstallationInfoForReview['tags']) => { + render: (tags: RuleResponse['tags']) => { if (tags == null || tags.length === 0) { return null; } @@ -91,7 +93,7 @@ const INTEGRATIONS_COLUMN: TableColumn = { field: 'related_integrations', name: null, align: 'center', - render: (integrations: RuleInstallationInfoForReview['related_integrations']) => { + render: (integrations: RuleResponse['related_integrations']) => { if (integrations == null || integrations.length === 0) { return null; } @@ -159,7 +161,7 @@ export const useAddPrebuiltRulesTableColumns = (): TableColumn[] => { field: 'severity', name: i18n.COLUMN_SEVERITY, render: (value: Rule['severity']) => , - sortable: ({ severity }: RuleInstallationInfoForReview) => getNormalizedSeverity(severity), + sortable: ({ severity }: RuleResponse) => getNormalizedSeverity(severity), truncateText: true, width: '12%', }, diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_filter_prebuilt_rules_to_install.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_filter_prebuilt_rules_to_install.ts index a870b56e30732d..245d879fa1c51e 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_filter_prebuilt_rules_to_install.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_filter_prebuilt_rules_to_install.ts @@ -6,7 +6,7 @@ */ import { useMemo } from 'react'; -import type { RuleInstallationInfoForReview } from '../../../../../../common/api/detection_engine/prebuilt_rules'; +import type { RuleResponse } from '../../../../../../common/api/detection_engine/model/rule_schema'; import type { FilterOptions } from '../../../../rule_management/logic/types'; export type AddPrebuiltRulesTableFilterOptions = Pick; @@ -15,7 +15,7 @@ export const useFilterPrebuiltRulesToInstall = ({ rules, filterOptions, }: { - rules: RuleInstallationInfoForReview[]; + rules: RuleResponse[]; filterOptions: AddPrebuiltRulesTableFilterOptions; }) => { const filteredRules = useMemo(() => { diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_flyout.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_flyout.tsx deleted file mode 100644 index 4749af8e1d7857..00000000000000 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_flyout.tsx +++ /dev/null @@ -1,37 +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 { useUpgradePrebuiltRulesTableContext } from './upgrade_prebuilt_rules_table_context'; -import { RuleDetailsFlyout } from '../../../../rule_management/components/rule_details/rule_details_flyout'; -import type { RuleResponse } from '../../../../../../common/api/detection_engine/model/rule_schema/rule_schemas'; -import { diffableRuleToRuleResponse } from '../../../../../../common/detection_engine/diffable_rule_to_rule_response'; -import * as i18n from './translations'; - -export const UpgradePrebuiltRulesFlyout = () => { - const { - state: { flyoutRule, isFlyoutInstallButtonDisabled }, - actions: { upgradeOneRule, closeFlyout }, - } = useUpgradePrebuiltRulesTableContext(); - - if (flyoutRule == null) { - return null; - } - - const ruleResponse: Partial = diffableRuleToRuleResponse(flyoutRule); - - return ( - - ); -}; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_table.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_table.tsx index fc91cbd6ccf6ca..c1468b458e339d 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_table.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_table.tsx @@ -23,7 +23,6 @@ import { UpgradePrebuiltRulesTableButtons } from './upgrade_prebuilt_rules_table import { useUpgradePrebuiltRulesTableContext } from './upgrade_prebuilt_rules_table_context'; import { UpgradePrebuiltRulesTableFilters } from './upgrade_prebuilt_rules_table_filters'; import { useUpgradePrebuiltRulesTableColumns } from './use_upgrade_prebuilt_rules_table_columns'; -import { UpgradePrebuiltRulesFlyout } from './upgrade_prebuilt_rules_flyout'; const NO_ITEMS_MESSAGE = ( { data-test-subj="rules-upgrades-table" columns={rulesColumns} /> - - ) } diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_table_context.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_table_context.tsx index 0577292a84fea3..1f99b3f65fffd3 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_table_context.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/upgrade_prebuilt_rules_table_context.tsx @@ -23,6 +23,8 @@ import type { UpgradePrebuiltRulesTableFilterOptions } from './use_filter_prebui import { useFilterPrebuiltRulesToUpgrade } from './use_filter_prebuilt_rules_to_upgrade'; import { useAsyncConfirmation } from '../rules_table/use_async_confirmation'; import { useRuleDetailsFlyout } from '../../../../rule_management/components/rule_details/use_rule_details_flyout'; +import { RuleDetailsFlyout } from '../../../../rule_management/components/rule_details/rule_details_flyout'; +import * as i18n from './translations'; import { MlJobUpgradeModal } from '../../../../../detections/components/modals/ml_job_upgrade_modal'; @@ -73,16 +75,6 @@ export interface UpgradePrebuiltRulesTableState { * Rule rows selected in EUI InMemory Table */ selectedRules: RuleUpgradeInfoForReview[]; - /** - * Rule that is currently displayed in the flyout or null if flyout is closed - */ - flyoutRule: RuleUpgradeInfoForReview['rule'] | null; - /** - * Is true when the upgrade button in the flyout is disabled - * (e.g. when the rule is already being upgrade or when the table is being refetched) - * - **/ - isFlyoutInstallButtonDisabled: boolean; } export interface UpgradePrebuiltRulesTableActions { @@ -92,8 +84,7 @@ export interface UpgradePrebuiltRulesTableActions { upgradeAllRules: () => void; setFilterOptions: Dispatch>; selectRules: (rules: RuleUpgradeInfoForReview[]) => void; - openFlyoutForRuleId: (ruleId: RuleSignatureId) => void; - closeFlyout: () => void; + openRulePreview: (ruleId: string) => void; } export interface UpgradePrebuiltRulesContextType { @@ -141,11 +132,11 @@ export const UpgradePrebuiltRulesTableContextProvider = ({ const filteredRules = useFilterPrebuiltRulesToUpgrade({ filterOptions, rules }); - const { openFlyoutForRuleId, closeFlyout, flyoutRule } = useRuleDetailsFlyout( + const { openRulePreview, closeRulePreview, previewedRule } = useRuleDetailsFlyout( filteredRules.map((upgradeInfo) => upgradeInfo.target_rule) ); - const isFlyoutInstallButtonDisabled = Boolean( - (flyoutRule?.rule_id && loadingRules.includes(flyoutRule.rule_id)) || + const canPreviewedRuleBeUpgraded = Boolean( + (previewedRule?.rule_id && loadingRules.includes(previewedRule.rule_id)) || isRefetching || isUpgradingSecurityPackages ); @@ -176,7 +167,7 @@ export const UpgradePrebuiltRulesTableContextProvider = ({ await upgradeSpecificRulesRequest([ { rule_id: ruleId, - version: rule.diff.fields.version?.target_version ?? rule.rule.version, + version: rule.diff.fields.version?.target_version ?? rule.current_rule.version, revision: rule.revision, }, ]); @@ -190,7 +181,7 @@ export const UpgradePrebuiltRulesTableContextProvider = ({ const upgradeSelectedRules = useCallback(async () => { const rulesToUpgrade = selectedRules.map((rule) => ({ rule_id: rule.rule_id, - version: rule.diff.fields.version?.target_version ?? rule.rule.version, + version: rule.diff.fields.version?.target_version ?? rule.current_rule.version, revision: rule.revision, })); setLoadingRules((prev) => [...prev, ...rulesToUpgrade.map((r) => r.rule_id)]); @@ -227,17 +218,9 @@ export const UpgradePrebuiltRulesTableContextProvider = ({ upgradeAllRules, setFilterOptions, selectRules: setSelectedRules, - openFlyoutForRuleId, - closeFlyout, + openRulePreview, }), - [ - refetch, - upgradeOneRule, - upgradeSelectedRules, - upgradeAllRules, - openFlyoutForRuleId, - closeFlyout, - ] + [refetch, upgradeOneRule, upgradeSelectedRules, upgradeAllRules, openRulePreview] ); const providerValue = useMemo(() => { @@ -254,8 +237,6 @@ export const UpgradePrebuiltRulesTableContextProvider = ({ selectedRules, loadingRules, lastUpdated: dataUpdatedAt, - flyoutRule, - isFlyoutInstallButtonDisabled, }, actions, }; @@ -272,21 +253,30 @@ export const UpgradePrebuiltRulesTableContextProvider = ({ selectedRules, loadingRules, dataUpdatedAt, - flyoutRule, - isFlyoutInstallButtonDisabled, actions, ]); return ( - {isUpgradeModalVisible && ( - - )} - {children} + <> + {isUpgradeModalVisible && ( + + )} + {children} + {previewedRule && ( + + )} + ); }; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_filter_prebuilt_rules_to_upgrade.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_filter_prebuilt_rules_to_upgrade.ts index 715810b7a4fd94..342a1e6e8768ed 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_filter_prebuilt_rules_to_upgrade.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_filter_prebuilt_rules_to_upgrade.ts @@ -20,13 +20,13 @@ export const useFilterPrebuiltRulesToUpgrade = ({ }) => { const filteredRules = useMemo(() => { const { filter, tags } = filterOptions; - return rules.filter(({ rule }) => { - if (filter && !rule.name.toLowerCase().includes(filter.toLowerCase())) { + return rules.filter((ruleInfo) => { + if (filter && !ruleInfo.current_rule.name.toLowerCase().includes(filter.toLowerCase())) { return false; } if (tags && tags.length > 0) { - return tags.every((tag) => rule.tags.includes(tag)); + return tags.every((tag) => ruleInfo.current_rule.tags.includes(tag)); } return true; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_upgrade_prebuilt_rules_table_columns.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_upgrade_prebuilt_rules_table_columns.tsx index ad110c223b630d..054d77cb5e4412 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_upgrade_prebuilt_rules_table_columns.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_upgrade_prebuilt_rules_table_columns.tsx @@ -32,13 +32,13 @@ interface RuleNameProps { const RuleName = ({ name, ruleId }: RuleNameProps) => { const { - actions: { openFlyoutForRuleId }, + actions: { openRulePreview }, } = useUpgradePrebuiltRulesTableContext(); return ( { - openFlyoutForRuleId(ruleId); + openRulePreview(ruleId); }} > {name} @@ -47,11 +47,12 @@ const RuleName = ({ name, ruleId }: RuleNameProps) => { }; const RULE_NAME_COLUMN: TableColumn = { - field: 'rule.name', + field: 'current_rule.name', name: i18n.COLUMN_RULE, - render: (value: RuleUpgradeInfoForReview['rule']['name'], rule: RuleUpgradeInfoForReview) => ( - - ), + render: ( + value: RuleUpgradeInfoForReview['current_rule']['name'], + rule: RuleUpgradeInfoForReview + ) => , sortable: true, truncateText: true, width: '60%', @@ -59,7 +60,7 @@ const RULE_NAME_COLUMN: TableColumn = { }; const TAGS_COLUMN: TableColumn = { - field: 'rule.tags', + field: 'current_rule.tags', name: null, align: 'center', render: (tags: Rule['tags']) => { @@ -88,7 +89,7 @@ const TAGS_COLUMN: TableColumn = { }; const INTEGRATIONS_COLUMN: TableColumn = { - field: 'rule.related_integrations', + field: 'current_rule.related_integrations', name: null, align: 'center', render: (integrations: Rule['related_integrations']) => { @@ -144,7 +145,7 @@ export const useUpgradePrebuiltRulesTableColumns = (): TableColumn[] => { ...(showRelatedIntegrations ? [INTEGRATIONS_COLUMN] : []), TAGS_COLUMN, { - field: 'rule.risk_score', + field: 'current_rule.risk_score', name: i18n.COLUMN_RISK_SCORE, render: (value: Rule['risk_score']) => ( @@ -156,10 +157,10 @@ export const useUpgradePrebuiltRulesTableColumns = (): TableColumn[] => { width: '85px', }, { - field: 'rule.severity', + field: 'current_rule.severity', name: i18n.COLUMN_SEVERITY, render: (value: Rule['severity']) => , - sortable: ({ rule: { severity } }: RuleUpgradeInfoForReview) => + sortable: ({ current_rule: { severity } }: RuleUpgradeInfoForReview) => getNormalizedSeverity(severity), truncateText: true, width: '12%', diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/investigate_in_timeline_action.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/investigate_in_timeline_action.tsx index db7a284f569ebf..0b1168e91a7f16 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/investigate_in_timeline_action.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/investigate_in_timeline_action.tsx @@ -18,7 +18,7 @@ import { useInvestigateInTimeline } from './use_investigate_in_timeline'; interface InvestigateInTimelineActionProps { ecsRowData?: Ecs | null; ariaLabel?: string; - buttonType?: 'text' | 'icon'; + buttonType?: 'text' | 'icon' | 'emptyButton'; onInvestigateInTimelineAlertClick?: () => void; } diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/threat_description.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/description_step/threat_description.tsx index f36c57db1bc814..375113977c9f8b 100644 --- a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/threat_description.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/rules/description_step/threat_description.tsx @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { EuiFlexItem, EuiLink, EuiFlexGroup, EuiSpacer, EuiButtonEmpty } from '@elastic/eui'; +import { EuiFlexItem, EuiLink, EuiFlexGroup, EuiButtonEmpty } from '@elastic/eui'; import React, { useEffect, useState } from 'react'; import styled from 'styled-components'; import type { BuildThreatDescription } from './types'; @@ -120,7 +120,6 @@ export const ThreatEuiFlexGroup = ({ label, threat }: BuildThreatDescription) => ); })} - ); }; diff --git a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/helpers.tsx b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/helpers.tsx index 7ef797d64eeb0f..78c81f5c9b1d53 100644 --- a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/helpers.tsx +++ b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/helpers.tsx @@ -144,7 +144,7 @@ export const getDefineStepsData = (rule: Rule): DefineStepRule => ({ rule.alert_suppression?.missing_fields_strategy ?? DEFAULT_SUPPRESSION_MISSING_FIELDS_STRATEGY, }); -const convertHistoryStartToSize = (relativeTime: string) => { +export const convertHistoryStartToSize = (relativeTime: string) => { if (relativeTime.startsWith('now-')) { return relativeTime.substring(4); } else { diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.test.tsx index 7759d7fc4159cf..dcd8c5884c6fb2 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.test.tsx @@ -14,15 +14,13 @@ import { useShowRelatedAlertsByAncestry } from '../../shared/hooks/use_show_rela import { useShowRelatedAlertsBySameSourceEvent } from '../../shared/hooks/use_show_related_alerts_by_same_source_event'; import { useShowRelatedAlertsBySession } from '../../shared/hooks/use_show_related_alerts_by_session'; import { useShowRelatedCases } from '../../shared/hooks/use_show_related_cases'; +import { useShowSuppressedAlerts } from '../../shared/hooks/use_show_suppressed_alerts'; import { CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TABLE_TEST_ID, - CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID, CORRELATIONS_DETAILS_BY_SESSION_SECTION_TABLE_TEST_ID, - CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID, CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TABLE_TEST_ID, - CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID, CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID, - CORRELATIONS_DETAILS_CASES_SECTION_TEST_ID, + CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID, CORRELATIONS_DETAILS_TEST_ID, } from './test_ids'; import { useFetchRelatedAlertsBySession } from '../../shared/hooks/use_fetch_related_alerts_by_session'; @@ -30,6 +28,7 @@ import { useFetchRelatedAlertsByAncestry } from '../../shared/hooks/use_fetch_re import { useFetchRelatedAlertsBySameSourceEvent } from '../../shared/hooks/use_fetch_related_alerts_by_same_source_event'; import { useFetchRelatedCases } from '../../shared/hooks/use_fetch_related_cases'; import { mockContextValue } from '../mocks/mock_context'; +import { EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID } from '../../shared/components/test_ids'; jest.mock('react-router-dom', () => { const actual = jest.requireActual('react-router-dom'); @@ -39,6 +38,7 @@ jest.mock('../../shared/hooks/use_show_related_alerts_by_ancestry'); jest.mock('../../shared/hooks/use_show_related_alerts_by_same_source_event'); jest.mock('../../shared/hooks/use_show_related_alerts_by_session'); jest.mock('../../shared/hooks/use_show_related_cases'); +jest.mock('../../shared/hooks/use_show_suppressed_alerts'); jest.mock('../../shared/hooks/use_fetch_related_alerts_by_session'); jest.mock('../../shared/hooks/use_fetch_related_alerts_by_ancestry'); jest.mock('../../shared/hooks/use_fetch_related_alerts_by_same_source_event'); @@ -54,6 +54,11 @@ const renderCorrelationDetails = () => { ); }; +const CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_TITLE_TEST_ID = + EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID( + CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID + ); + describe('CorrelationsDetails', () => { beforeEach(() => { jest.clearAllMocks(); @@ -70,6 +75,7 @@ describe('CorrelationsDetails', () => { .mocked(useShowRelatedAlertsBySession) .mockReturnValue({ show: true, entityId: 'entityId' }); jest.mocked(useShowRelatedCases).mockReturnValue(true); + jest.mocked(useShowSuppressedAlerts).mockReturnValue({ show: true, alertSuppressionCount: 1 }); (useFetchRelatedAlertsByAncestry as jest.Mock).mockReturnValue({ loading: false, @@ -102,6 +108,7 @@ describe('CorrelationsDetails', () => { expect(getByTestId(CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TABLE_TEST_ID)).toBeInTheDocument(); expect(getByTestId(CORRELATIONS_DETAILS_BY_SESSION_SECTION_TABLE_TEST_ID)).toBeInTheDocument(); expect(getByTestId(CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_TITLE_TEST_ID)).toBeInTheDocument(); }); it('should render no section and show error message if show values are false', () => { @@ -115,13 +122,23 @@ describe('CorrelationsDetails', () => { .mocked(useShowRelatedAlertsBySession) .mockReturnValue({ show: false, entityId: 'entityId' }); jest.mocked(useShowRelatedCases).mockReturnValue(false); + jest.mocked(useShowSuppressedAlerts).mockReturnValue({ show: false, alertSuppressionCount: 0 }); const { getByTestId, queryByTestId } = renderCorrelationDetails(); - expect(queryByTestId(CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID)).not.toBeInTheDocument(); - expect(queryByTestId(CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID)).not.toBeInTheDocument(); - expect(queryByTestId(CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID)).not.toBeInTheDocument(); - expect(queryByTestId(CORRELATIONS_DETAILS_CASES_SECTION_TEST_ID)).not.toBeInTheDocument(); + expect( + queryByTestId(CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TABLE_TEST_ID) + ).not.toBeInTheDocument(); + expect( + queryByTestId(CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TABLE_TEST_ID) + ).not.toBeInTheDocument(); + expect( + queryByTestId(CORRELATIONS_DETAILS_BY_SESSION_SECTION_TABLE_TEST_ID) + ).not.toBeInTheDocument(); + expect(queryByTestId(CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID)).not.toBeInTheDocument(); + expect( + queryByTestId(CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_TITLE_TEST_ID) + ).not.toBeInTheDocument(); expect(getByTestId(`${CORRELATIONS_DETAILS_TEST_ID}Error`)).toBeInTheDocument(); }); @@ -130,12 +147,22 @@ describe('CorrelationsDetails', () => { jest.mocked(useShowRelatedAlertsBySameSourceEvent).mockReturnValue({ show: true }); jest.mocked(useShowRelatedAlertsBySession).mockReturnValue({ show: true }); jest.mocked(useShowRelatedCases).mockReturnValue(false); + jest.mocked(useShowSuppressedAlerts).mockReturnValue({ show: false, alertSuppressionCount: 0 }); const { queryByTestId } = renderCorrelationDetails(); - expect(queryByTestId(CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID)).not.toBeInTheDocument(); - expect(queryByTestId(CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID)).not.toBeInTheDocument(); - expect(queryByTestId(CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID)).not.toBeInTheDocument(); - expect(queryByTestId(CORRELATIONS_DETAILS_CASES_SECTION_TEST_ID)).not.toBeInTheDocument(); + expect( + queryByTestId(CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TABLE_TEST_ID) + ).not.toBeInTheDocument(); + expect( + queryByTestId(CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TABLE_TEST_ID) + ).not.toBeInTheDocument(); + expect( + queryByTestId(CORRELATIONS_DETAILS_BY_SESSION_SECTION_TABLE_TEST_ID) + ).not.toBeInTheDocument(); + expect(queryByTestId(CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID)).not.toBeInTheDocument(); + expect( + queryByTestId(CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_TITLE_TEST_ID) + ).not.toBeInTheDocument(); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.tsx index 7929b4d1130769..0e6e9277797109 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; -import { EuiSpacer } from '@elastic/eui'; +import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { CORRELATIONS_ERROR_MESSAGE } from './translations'; import { CORRELATIONS_DETAILS_TEST_ID } from './test_ids'; import { RelatedAlertsBySession } from './related_alerts_by_session'; @@ -14,11 +14,12 @@ import { RelatedAlertsBySameSourceEvent } from './related_alerts_by_same_source_ import { RelatedCases } from './related_cases'; import { useShowRelatedCases } from '../../shared/hooks/use_show_related_cases'; import { useShowRelatedAlertsByAncestry } from '../../shared/hooks/use_show_related_alerts_by_ancestry'; - +import { useShowSuppressedAlerts } from '../../shared/hooks/use_show_suppressed_alerts'; import { useLeftPanelContext } from '../context'; import { useShowRelatedAlertsBySameSourceEvent } from '../../shared/hooks/use_show_related_alerts_by_same_source_event'; import { useShowRelatedAlertsBySession } from '../../shared/hooks/use_show_related_alerts_by_session'; import { RelatedAlertsByAncestry } from './related_alerts_by_ancestry'; +import { SuppressedAlerts } from './suppressed_alerts'; export const CORRELATIONS_TAB_ID = 'correlations-details'; @@ -43,34 +44,59 @@ export const CorrelationsDetails: React.FC = () => { }); const { show: showAlertsBySession, entityId } = useShowRelatedAlertsBySession({ getFieldsData }); const showCases = useShowRelatedCases(); + const { show: showSuppressedAlerts, alertSuppressionCount } = useShowSuppressedAlerts({ + getFieldsData, + }); const canShowAtLeastOneInsight = - showAlertsByAncestry || showSameSourceAlerts || showAlertsBySession || showCases; + showAlertsByAncestry || + showSameSourceAlerts || + showAlertsBySession || + showCases || + showSuppressedAlerts; return ( <> {canShowAtLeastOneInsight ? ( - <> - {showAlertsByAncestry && documentId && indices && ( - + + {showSuppressedAlerts && ( + + + + )} + {showCases && ( + + + )} - - - {showSameSourceAlerts && originalEventId && ( - + + + )} - - - {showAlertsBySession && entityId && ( - + + + )} - - - - {showCases && } - + {showAlertsByAncestry && documentId && indices && ( + + + + )} + ) : (
{CORRELATIONS_ERROR_MESSAGE} diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.test.tsx index 2b680b3ab071ff..3d36a54e728e2b 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.test.tsx @@ -7,6 +7,7 @@ import React from 'react'; import { render } from '@testing-library/react'; +import { TestProviders } from '../../../common/mock'; import { EuiBasicTable } from '@elastic/eui'; import { CorrelationsDetailsAlertsTable, columns } from './correlations_details_alerts_table'; import { usePaginatedAlerts } from '../hooks/use_paginated_alerts'; @@ -17,7 +18,11 @@ jest.mock('@elastic/eui', () => ({ EuiBasicTable: jest.fn(() =>
), })); -describe('AlertsTable', () => { +const TEST_ID = 'TEST'; +const scopeId = 'scopeId'; +const eventId = 'eventId'; + +describe('CorrelationsDetailsAlertsTable', () => { const alertIds = ['id1', 'id2', 'id3']; beforeEach(() => { @@ -59,7 +64,19 @@ describe('AlertsTable', () => { }); it('renders EuiBasicTable with correct props', () => { - render(); + const { getByTestId } = render( + + + + ); + expect(getByTestId(`${TEST_ID}InvestigateInTimeline`)).toBeInTheDocument(); expect(jest.mocked(usePaginatedAlerts)).toHaveBeenCalled(); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx index 5db38fcbaee54f..dbb39b25c79ef8 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx @@ -7,16 +7,21 @@ import React, { type FC, useMemo, useCallback } from 'react'; import { type Criteria, EuiBasicTable, formatDate } from '@elastic/eui'; - import { Severity } from '@kbn/securitysolution-io-ts-alerting-types'; +import type { Filter } from '@kbn/es-query'; import { isRight } from 'fp-ts/lib/Either'; import { ALERT_REASON, ALERT_RULE_NAME } from '@kbn/rule-data-utils'; +import type { DataProvider } from '../../../../common/types'; import { SeverityBadge } from '../../../detections/components/rules/severity_badge'; import { usePaginatedAlerts } from '../hooks/use_paginated_alerts'; import * as i18n from './translations'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; +import { InvestigateInTimelineButton } from '../../../common/components/event_details/table/investigate_in_timeline_button'; +import { ACTION_INVESTIGATE_IN_TIMELINE } from '../../../detections/components/alerts_table/translations'; +import { getDataProvider } from '../../../common/components/event_details/table/use_action_cell_data_provider'; export const TIMESTAMP_DATE_FORMAT = 'MMM D, YYYY @ HH:mm:ss.SSS'; +const dataProviderLimit = 5; export const columns = [ { @@ -60,6 +65,14 @@ export interface CorrelationsDetailsAlertsTableProps { * Ids of alerts to display in the table */ alertIds: string[] | undefined; + /** + * Maintain backwards compatibility // TODO remove when possible + */ + scopeId: string; + /** + * Id of the document + */ + eventId: string; /** * Data test subject string for testing */ @@ -73,6 +86,8 @@ export const CorrelationsDetailsAlertsTable: FC { const { @@ -110,11 +125,35 @@ export const CorrelationsDetailsAlertsTable: FC= dataProviderLimit + ); + const dataProviders = useMemo( + () => (shouldUseFilters ? null : getDataProviders(scopeId, eventId, alertIds)), + [alertIds, shouldUseFilters, scopeId, eventId] + ); + const filters: Filter[] | null = useMemo( + () => (shouldUseFilters ? getFilters(alertIds) : null), + [alertIds, shouldUseFilters] + ); + return ( + + {ACTION_INVESTIGATE_IN_TIMELINE} + +
+ ), }} content={{ error }} expand={{ @@ -135,3 +174,45 @@ export const CorrelationsDetailsAlertsTable: FC ); }; + +const getFilters = (alertIds?: string[]) => { + if (alertIds && alertIds.length) { + return [ + { + meta: { + alias: i18n.CORRELATIONS_DETAILS_TABLE_FILTER, + type: 'phrases', + key: '_id', + params: [...alertIds], + negate: false, + disabled: false, + value: alertIds.join(), + }, + query: { + bool: { + should: alertIds.map((id) => { + return { + match_phrase: { + _id: id, + }, + }; + }), + minimum_should_match: 1, + }, + }, + }, + ]; + } + return null; +}; + +const getDataProviders = (scopeId: string, eventId: string, alertIds?: string[]) => { + if (alertIds && alertIds.length) { + return alertIds.reduce((result, alertId, index) => { + const id = `${scopeId}-${eventId}-event.id-${index}-${alertId}`; + result.push(getDataProvider('_id', id, alertId)); + return result; + }, []); + } + return null; +}; diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.test.tsx new file mode 100644 index 00000000000000..4de5f29bd7ea22 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.test.tsx @@ -0,0 +1,90 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { InvestigationGuide } from './investigation_guide'; +import { LeftPanelContext } from '../context'; +import { TestProviders } from '../../../common/mock'; +import { + INVESTIGATION_GUIDE_LOADING_TEST_ID, + INVESTIGATION_GUIDE_NO_DATA_TEST_ID, +} from './test_ids'; +import { mockContextValue } from '../mocks/mock_context'; +import { useInvestigationGuide } from '../../shared/hooks/use_investigation_guide'; + +jest.mock('../../shared/hooks/use_investigation_guide'); + +const renderInvestigationGuide = (context: LeftPanelContext = mockContextValue) => ( + + + + + +); + +describe('', () => { + it('should render investigation guide', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + loading: false, + error: false, + basicAlertData: { ruleId: 'ruleId' }, + ruleNote: 'test note', + }); + const { queryByTestId } = render(renderInvestigationGuide()); + expect(queryByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(INVESTIGATION_GUIDE_LOADING_TEST_ID)).not.toBeInTheDocument(); + }); + + it('should render loading', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + loading: true, + }); + const { getByTestId } = render(renderInvestigationGuide()); + expect(getByTestId(INVESTIGATION_GUIDE_LOADING_TEST_ID)).toBeInTheDocument(); + }); + + it('should render no data message when there is no ruleId', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + basicAlertData: {}, + ruleNote: 'test note', + }); + const { getByTestId } = render(renderInvestigationGuide()); + expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toBeInTheDocument(); + }); + + it('should render no data message when there is no rule note', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + basicAlertData: { ruleId: 'ruleId' }, + ruleNote: undefined, + }); + const { getByTestId } = render(renderInvestigationGuide()); + expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toBeInTheDocument(); + }); + + it('should render null when dataFormattedForFieldBrowser is null', () => { + const mockContext = { + ...mockContextValue, + dataFormattedForFieldBrowser: null, + }; + (useInvestigationGuide as jest.Mock).mockReturnValue({ + loading: false, + error: false, + }); + const { container } = render(renderInvestigationGuide(mockContext)); + expect(container).toBeEmptyDOMElement(); + }); + + it('should render null useInvestigationGuide errors out', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + loading: false, + error: true, + }); + const { container } = render(renderInvestigationGuide()); + expect(container).toBeEmptyDOMElement(); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.tsx new file mode 100644 index 00000000000000..f0278eb86da53b --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.tsx @@ -0,0 +1,80 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import { EuiFlexGroup, EuiFlexItem, EuiLink, EuiLoadingSpinner } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { useInvestigationGuide } from '../../shared/hooks/use_investigation_guide'; +import { useLeftPanelContext } from '../context'; +import { + INVESTIGATION_GUIDE_LOADING_TEST_ID, + INVESTIGATION_GUIDE_NO_DATA_TEST_ID, +} from './test_ids'; +import { InvestigationGuideView } from '../../../common/components/event_details/investigation_guide_view'; + +/** + * Investigation guide displayed in the left panel. + * Renders a message saying the guide hasn't been set up or the full investigation guide. + */ +export const InvestigationGuide: React.FC = () => { + const { dataFormattedForFieldBrowser } = useLeftPanelContext(); + + const { loading, error, basicAlertData, ruleNote } = useInvestigationGuide({ + dataFormattedForFieldBrowser, + }); + + if (!dataFormattedForFieldBrowser || error) { + return null; + } + + if (loading) { + return ( + + + + + + ); + } + + return ( + <> + {basicAlertData.ruleId && ruleNote ? ( + + ) : ( +
+ + + + ), + }} + /> +
+ )} + + ); +}; + +InvestigationGuide.displayName = 'InvestigationGuide'; diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx index 1201ef514ac9fd..a5f2883b676af9 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx @@ -7,21 +7,16 @@ import { render } from '@testing-library/react'; import React from 'react'; -import { getSummaryRows } from '../../../common/components/event_details/get_alert_summary_rows'; import { LeftPanelContext } from '../context'; import { PrevalenceDetails } from './prevalence_details'; import { + PREVALENCE_DETAILS_LOADING_TEST_ID, PREVALENCE_DETAILS_TABLE_ERROR_TEST_ID, PREVALENCE_DETAILS_TABLE_TEST_ID, } from './test_ids'; -import { useFetchFieldValuePairByEventType } from '../../shared/hooks/use_fetch_field_value_pair_by_event_type'; -import { useFetchFieldValuePairWithAggregation } from '../../shared/hooks/use_fetch_field_value_pair_with_aggregation'; -import { useFetchUniqueByField } from '../../shared/hooks/use_fetch_unique_by_field'; +import { usePrevalence } from '../../shared/hooks/use_prevalence'; -jest.mock('../../../common/components/event_details/get_alert_summary_rows'); -jest.mock('../../shared/hooks/use_fetch_field_value_pair_by_event_type'); -jest.mock('../../shared/hooks/use_fetch_field_value_pair_with_aggregation'); -jest.mock('../../shared/hooks/use_fetch_unique_by_field'); +jest.mock('../../shared/hooks/use_prevalence'); const panelContextValue = { eventId: 'event id', @@ -31,33 +26,31 @@ const panelContextValue = { } as unknown as LeftPanelContext; describe('PrevalenceDetails', () => { - jest.mocked(useFetchFieldValuePairByEventType).mockReturnValue({ - loading: false, - error: false, - count: 1, - }); - jest.mocked(useFetchFieldValuePairWithAggregation).mockReturnValue({ - loading: false, - error: false, - count: 1, - }); - jest.mocked(useFetchUniqueByField).mockReturnValue({ - loading: false, - error: false, - count: 1, - }); - it('should render the table', () => { - const mockSummaryRow = { - title: 'test', - description: { - data: { - field: 'field', + const field1 = 'field1'; + const field2 = 'field2'; + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [ + { + field: field1, + value: 'value1', + alertCount: 1, + docCount: 1, + hostPrevalence: 0.05, + userPrevalence: 0.1, }, - values: ['value'], - }, - }; - (getSummaryRows as jest.Mock).mockReturnValue([mockSummaryRow]); + { + field: field2, + value: 'value2', + alertCount: 1, + docCount: 1, + hostPrevalence: 0.5, + userPrevalence: 0.05, + }, + ], + }); const { getByTestId } = render( @@ -68,8 +61,28 @@ describe('PrevalenceDetails', () => { expect(getByTestId(PREVALENCE_DETAILS_TABLE_TEST_ID)).toBeInTheDocument(); }); - it('should render the error message if no highlighted fields', () => { - jest.mocked(getSummaryRows).mockReturnValue([]); + it('should render loading', () => { + (usePrevalence as jest.Mock).mockReturnValue({ + loading: true, + error: false, + data: [], + }); + + const { getByTestId } = render( + + + + ); + + expect(getByTestId(PREVALENCE_DETAILS_LOADING_TEST_ID)).toBeInTheDocument(); + }); + + it('should render error if call errors out', () => { + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: true, + data: [], + }); const { getByTestId } = render( @@ -79,4 +92,64 @@ describe('PrevalenceDetails', () => { expect(getByTestId(PREVALENCE_DETAILS_TABLE_ERROR_TEST_ID)).toBeInTheDocument(); }); + + it('should render error if event is null', () => { + const contextValue = { + ...panelContextValue, + eventId: null, + } as unknown as LeftPanelContext; + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: true, + data: [], + }); + + const { getByTestId } = render( + + + + ); + + expect(getByTestId(PREVALENCE_DETAILS_TABLE_ERROR_TEST_ID)).toBeInTheDocument(); + }); + + it('should render error if dataFormattedForFieldBrowser is null', () => { + const contextValue = { + ...panelContextValue, + dataFormattedForFieldBrowser: null, + }; + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: true, + data: [], + }); + + const { getByTestId } = render( + + + + ); + + expect(getByTestId(PREVALENCE_DETAILS_TABLE_ERROR_TEST_ID)).toBeInTheDocument(); + }); + + it('should render error if browserFields is null', () => { + const contextValue = { + ...panelContextValue, + browserFields: null, + }; + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: true, + data: [], + }); + + const { getByTestId } = render( + + + + ); + + expect(getByTestId(PREVALENCE_DETAILS_TABLE_ERROR_TEST_ID)).toBeInTheDocument(); + }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx index 504d2d2c9232fe..eeadf1362c71e3 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx @@ -5,102 +5,118 @@ * 2.0. */ -import React, { useMemo } from 'react'; -import type { EuiBasicTableColumn } from '@elastic/eui'; -import { EuiBasicTable, EuiEmptyPrompt } from '@elastic/eui'; +import React, { useState } from 'react'; +import type { EuiBasicTableColumn, OnTimeChangeProps } from '@elastic/eui'; +import { + EuiEmptyPrompt, + EuiFlexGroup, + EuiFlexItem, + EuiInMemoryTable, + EuiLoadingSpinner, + EuiPanel, + EuiSpacer, + EuiSuperDatePicker, +} from '@elastic/eui'; +import type { PrevalenceData } from '../../shared/hooks/use_prevalence'; +import { usePrevalence } from '../../shared/hooks/use_prevalence'; import { ERROR_MESSAGE, ERROR_TITLE } from '../../shared/translations'; import { + HOST_TITLE, PREVALENCE_ERROR_MESSAGE, PREVALENCE_TABLE_ALERT_COUNT_COLUMN_TITLE, + PREVALENCE_TABLE_COUNT_COLUMN_TITLE, PREVALENCE_TABLE_DOC_COUNT_COLUMN_TITLE, - PREVALENCE_TABLE_HOST_PREVALENCE_COLUMN_TITLE, - PREVALENCE_TABLE_NAME_COLUMN_TITLE, - PREVALENCE_TABLE_TYPE_COLUMN_TITLE, - PREVALENCE_TABLE_USER_PREVALENCE_COLUMN_TITLE, + PREVALENCE_TABLE_VALUE_COLUMN_TITLE, + PREVALENCE_TABLE_PREVALENCE_COLUMN_TITLE, + PREVALENCE_TABLE_FIELD_COLUMN_TITLE, + USER_TITLE, + PREVALENCE_NO_DATA_MESSAGE, } from './translations'; import { + PREVALENCE_DETAILS_LOADING_TEST_ID, PREVALENCE_DETAILS_TABLE_ALERT_COUNT_CELL_TEST_ID, PREVALENCE_DETAILS_TABLE_DOC_COUNT_CELL_TEST_ID, PREVALENCE_DETAILS_TABLE_ERROR_TEST_ID, PREVALENCE_DETAILS_TABLE_HOST_PREVALENCE_CELL_TEST_ID, - PREVALENCE_DETAILS_TABLE_NAME_CELL_TEST_ID, - PREVALENCE_DETAILS_TABLE_TEST_ID, - PREVALENCE_DETAILS_TABLE_TYPE_CELL_TEST_ID, + PREVALENCE_DETAILS_TABLE_VALUE_CELL_TEST_ID, + PREVALENCE_DETAILS_TABLE_FIELD_CELL_TEST_ID, PREVALENCE_DETAILS_TABLE_USER_PREVALENCE_CELL_TEST_ID, + PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID, + PREVALENCE_DETAILS_DATE_PICKER_TEST_ID, + PREVALENCE_DETAILS_TABLE_TEST_ID, } from './test_ids'; -import { PrevalenceDetailsCountCell } from './prevalence_details_count_cell'; -import type { AlertSummaryRow } from '../../../common/components/event_details/helpers'; -import { PrevalenceDetailsPrevalenceCell } from './prevalence_details_prevalence_cell'; -import { getSummaryRows } from '../../../common/components/event_details/get_alert_summary_rows'; import { useLeftPanelContext } from '../context'; -import { EventKind } from '../../shared/hooks/use_fetch_field_value_pair_by_event_type'; - -interface PrevalenceDetailsTableCell { - highlightedField: { name: string; values: string[] }; -} export const PREVALENCE_TAB_ID = 'prevalence-details'; +const DEFAULT_FROM = 'now-30d'; +const DEFAULT_TO = 'now'; -const columns: Array> = [ +const columns: Array> = [ { - field: 'type', - name: PREVALENCE_TABLE_TYPE_COLUMN_TITLE, - 'data-test-subj': PREVALENCE_DETAILS_TABLE_TYPE_CELL_TEST_ID, + field: 'field', + name: PREVALENCE_TABLE_FIELD_COLUMN_TITLE, + 'data-test-subj': PREVALENCE_DETAILS_TABLE_FIELD_CELL_TEST_ID, }, { - field: 'name', - name: PREVALENCE_TABLE_NAME_COLUMN_TITLE, - 'data-test-subj': PREVALENCE_DETAILS_TABLE_NAME_CELL_TEST_ID, + field: 'value', + name: PREVALENCE_TABLE_VALUE_COLUMN_TITLE, + 'data-test-subj': PREVALENCE_DETAILS_TABLE_VALUE_CELL_TEST_ID, }, { field: 'alertCount', - name: PREVALENCE_TABLE_ALERT_COUNT_COLUMN_TITLE, - 'data-test-subj': PREVALENCE_DETAILS_TABLE_ALERT_COUNT_CELL_TEST_ID, - render: (data: PrevalenceDetailsTableCell) => ( - + name: ( + + {PREVALENCE_TABLE_ALERT_COUNT_COLUMN_TITLE} + {PREVALENCE_TABLE_COUNT_COLUMN_TITLE} + ), + 'data-test-subj': PREVALENCE_DETAILS_TABLE_ALERT_COUNT_CELL_TEST_ID, + width: '10%', }, { field: 'docCount', - name: PREVALENCE_TABLE_DOC_COUNT_COLUMN_TITLE, - 'data-test-subj': PREVALENCE_DETAILS_TABLE_DOC_COUNT_CELL_TEST_ID, - render: (data: PrevalenceDetailsTableCell) => ( - + name: ( + + {PREVALENCE_TABLE_DOC_COUNT_COLUMN_TITLE} + {PREVALENCE_TABLE_COUNT_COLUMN_TITLE} + ), + 'data-test-subj': PREVALENCE_DETAILS_TABLE_DOC_COUNT_CELL_TEST_ID, + width: '10%', }, { field: 'hostPrevalence', - name: PREVALENCE_TABLE_HOST_PREVALENCE_COLUMN_TITLE, + name: ( + + {HOST_TITLE} + {PREVALENCE_TABLE_PREVALENCE_COLUMN_TITLE} + + ), 'data-test-subj': PREVALENCE_DETAILS_TABLE_HOST_PREVALENCE_CELL_TEST_ID, - render: (data: PrevalenceDetailsTableCell) => ( - + render: (hostPrevalence: number) => ( + <> + {Math.round(hostPrevalence * 100)} + {'%'} + ), + width: '10%', }, { field: 'userPrevalence', - name: PREVALENCE_TABLE_USER_PREVALENCE_COLUMN_TITLE, + name: ( + + {USER_TITLE} + {PREVALENCE_TABLE_PREVALENCE_COLUMN_TITLE} + + ), 'data-test-subj': PREVALENCE_DETAILS_TABLE_USER_PREVALENCE_CELL_TEST_ID, - render: (data: PrevalenceDetailsTableCell) => ( - + render: (userPrevalence: number) => ( + <> + {Math.round(userPrevalence * 100)} + {'%'} + ), + width: '10%', }, ]; @@ -108,40 +124,40 @@ const columns: Array> = [ * Prevalence table displayed in the document details expandable flyout left section under the Insights tab */ export const PrevalenceDetails: React.FC = () => { - const { browserFields, dataFormattedForFieldBrowser, eventId, scopeId, investigationFields } = + const { browserFields, dataFormattedForFieldBrowser, eventId, investigationFields } = useLeftPanelContext(); - const data = useMemo(() => { - const summaryRows = getSummaryRows({ - browserFields: browserFields || {}, - data: dataFormattedForFieldBrowser || [], - eventId, - scopeId, - investigationFields, - isReadOnly: false, - }); + const [start, setStart] = useState(DEFAULT_FROM); + const [end, setEnd] = useState(DEFAULT_TO); - const getCellRenderFields = (summaryRow: AlertSummaryRow): PrevalenceDetailsTableCell => ({ - highlightedField: { - name: summaryRow.description.data.field, - values: summaryRow.description.values || [], - }, - }); + const onTimeChange = ({ start: s, end: e }: OnTimeChangeProps) => { + setStart(s); + setEnd(e); + }; - return (summaryRows || []).map((summaryRow) => { - const fields = getCellRenderFields(summaryRow); - return { - type: summaryRow.description.data.field, - name: summaryRow.description.values, - alertCount: fields, - docCount: fields, - hostPrevalence: fields, - userPrevalence: fields, - }; - }); - }, [browserFields, investigationFields, dataFormattedForFieldBrowser, eventId, scopeId]); + const { loading, error, data } = usePrevalence({ + dataFormattedForFieldBrowser, + investigationFields, + interval: { + from: start, + to: end, + }, + }); + + if (loading) { + return ( + + + + + + ); + } - if (!eventId || !dataFormattedForFieldBrowser || !browserFields || !data || data.length === 0) { + if (!eventId || !dataFormattedForFieldBrowser || !browserFields || error) { return ( { } return ( - + <> + + + + {data.length > 0 ? ( + + ) : ( +
+ {PREVALENCE_NO_DATA_MESSAGE} +
+ )} +
+ ); }; diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_count_cell.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_count_cell.test.tsx deleted file mode 100644 index 5b81565ec2804d..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_count_cell.test.tsx +++ /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 { render } from '@testing-library/react'; -import React from 'react'; -import { - EventKind, - useFetchFieldValuePairByEventType, -} from '../../shared/hooks/use_fetch_field_value_pair_by_event_type'; -import { - PREVALENCE_DETAILS_COUNT_CELL_ERROR_TEST_ID, - PREVALENCE_DETAILS_COUNT_CELL_LOADING_TEST_ID, - PREVALENCE_DETAILS_COUNT_CELL_VALUE_TEST_ID, -} from './test_ids'; -import { PrevalenceDetailsCountCell } from './prevalence_details_count_cell'; - -jest.mock('../../shared/hooks/use_fetch_field_value_pair_by_event_type'); - -const highlightedField = { - name: 'field', - values: ['values'], -}; -const type = { - eventKind: EventKind.signal, - include: true, -}; - -describe('PrevalenceDetailsAlertCountCell', () => { - it('should show loading spinner', () => { - jest.mocked(useFetchFieldValuePairByEventType).mockReturnValue({ - loading: true, - error: false, - count: 0, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(PREVALENCE_DETAILS_COUNT_CELL_LOADING_TEST_ID)).toBeInTheDocument(); - }); - - it('should return error icon', () => { - jest.mocked(useFetchFieldValuePairByEventType).mockReturnValue({ - loading: false, - error: true, - count: 0, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(PREVALENCE_DETAILS_COUNT_CELL_ERROR_TEST_ID)).toBeInTheDocument(); - }); - - it('should show count value with eventKind undefined', () => { - jest.mocked(useFetchFieldValuePairByEventType).mockReturnValue({ - loading: false, - error: false, - count: 1, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(PREVALENCE_DETAILS_COUNT_CELL_VALUE_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(PREVALENCE_DETAILS_COUNT_CELL_VALUE_TEST_ID)).toHaveTextContent('1'); - }); - - it('should show count value with eventKind passed via props', () => { - jest.mocked(useFetchFieldValuePairByEventType).mockReturnValue({ - loading: false, - error: false, - count: 1, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(PREVALENCE_DETAILS_COUNT_CELL_VALUE_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(PREVALENCE_DETAILS_COUNT_CELL_VALUE_TEST_ID)).toHaveTextContent('1'); - }); -}); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_count_cell.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_count_cell.tsx deleted file mode 100644 index a2e3959a9b1c60..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_count_cell.tsx +++ /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 type { VFC } from 'react'; -import React from 'react'; -import { EuiIcon, EuiLoadingSpinner } from '@elastic/eui'; -import { - PREVALENCE_DETAILS_COUNT_CELL_ERROR_TEST_ID, - PREVALENCE_DETAILS_COUNT_CELL_LOADING_TEST_ID, - PREVALENCE_DETAILS_COUNT_CELL_VALUE_TEST_ID, -} from './test_ids'; -import type { EventType } from '../../shared/hooks/use_fetch_field_value_pair_by_event_type'; -import { useFetchFieldValuePairByEventType } from '../../shared/hooks/use_fetch_field_value_pair_by_event_type'; - -export interface PrevalenceDetailsCountCellProps { - /** - * The highlighted field name and values - * */ - highlightedField: { name: string; values: string[] }; - /** - * Limit the search to include or exclude a specific value for the event.kind field - * (alert, asset, enrichment, event, metric, state, pipeline_error, signal) - */ - type: EventType; -} - -/** - * Component displaying a value in many PrevalenceDetails table cells. It is used for the third and fourth columns, - * which display the number of alerts and documents for a given field/value pair. - * For the doc columns, type should "signal" for its eventKind property, and exclude set to true. - * For the alert columns, type should have "signal" for its eventKind property, and include should be true. - */ -export const PrevalenceDetailsCountCell: VFC = ({ - highlightedField, - type, -}) => { - const { loading, error, count } = useFetchFieldValuePairByEventType({ - highlightedField, - type, - }); - - if (loading) { - return ; - } - - if (error) { - return ( - - ); - } - - return
{count}
; -}; - -PrevalenceDetailsCountCell.displayName = 'PrevalenceDetailsCountCell'; diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_prevalence_cell.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_prevalence_cell.test.tsx deleted file mode 100644 index b4bf809665f982..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_prevalence_cell.test.tsx +++ /dev/null @@ -1,161 +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 { render } from '@testing-library/react'; -import React from 'react'; -import { - PREVALENCE_DETAILS_PREVALENCE_CELL_ERROR_TEST_ID, - PREVALENCE_DETAILS_PREVALENCE_CELL_LOADING_TEST_ID, - PREVALENCE_DETAILS_PREVALENCE_CELL_VALUE_TEST_ID, -} from './test_ids'; -import { PrevalenceDetailsPrevalenceCell } from './prevalence_details_prevalence_cell'; -import { useFetchFieldValuePairWithAggregation } from '../../shared/hooks/use_fetch_field_value_pair_with_aggregation'; -import { useFetchUniqueByField } from '../../shared/hooks/use_fetch_unique_by_field'; - -jest.mock('../../shared/hooks/use_fetch_field_value_pair_with_aggregation'); -jest.mock('../../shared/hooks/use_fetch_unique_by_field'); - -const highlightedField = { - name: 'field', - values: ['values'], -}; -const aggregationField = 'aggregationField'; - -describe('PrevalenceDetailsAlertCountCell', () => { - it('should show loading spinner when useFetchFieldValuePairWithAggregation loading', () => { - jest.mocked(useFetchFieldValuePairWithAggregation).mockReturnValue({ - loading: true, - error: false, - count: 0, - }); - jest.mocked(useFetchUniqueByField).mockReturnValue({ - loading: false, - error: false, - count: 0, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(PREVALENCE_DETAILS_PREVALENCE_CELL_LOADING_TEST_ID)).toBeInTheDocument(); - }); - - it('should show loading spinner when useFetchUniqueByField loading', () => { - jest.mocked(useFetchFieldValuePairWithAggregation).mockReturnValue({ - loading: false, - error: false, - count: 0, - }); - jest.mocked(useFetchUniqueByField).mockReturnValue({ - loading: true, - error: false, - count: 0, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(PREVALENCE_DETAILS_PREVALENCE_CELL_LOADING_TEST_ID)).toBeInTheDocument(); - }); - - it('should return null if useFetchFieldValuePairWithAggregation errors out', () => { - jest.mocked(useFetchFieldValuePairWithAggregation).mockReturnValue({ - loading: false, - error: true, - count: 0, - }); - jest.mocked(useFetchUniqueByField).mockReturnValue({ - loading: false, - error: false, - count: 0, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(PREVALENCE_DETAILS_PREVALENCE_CELL_ERROR_TEST_ID)).toBeInTheDocument(); - }); - - it('should return null if useFetchUniqueByField errors out', () => { - jest.mocked(useFetchFieldValuePairWithAggregation).mockReturnValue({ - loading: false, - error: false, - count: 0, - }); - jest.mocked(useFetchUniqueByField).mockReturnValue({ - loading: false, - error: true, - count: 0, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(PREVALENCE_DETAILS_PREVALENCE_CELL_ERROR_TEST_ID)).toBeInTheDocument(); - }); - - it('should return null if prevalence is infinite', () => { - jest.mocked(useFetchFieldValuePairWithAggregation).mockReturnValue({ - loading: false, - error: false, - count: 0, - }); - jest.mocked(useFetchUniqueByField).mockReturnValue({ - loading: false, - error: false, - count: 0, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(PREVALENCE_DETAILS_PREVALENCE_CELL_ERROR_TEST_ID)).toBeInTheDocument(); - }); - - it('should show prevalence value', () => { - jest.mocked(useFetchFieldValuePairWithAggregation).mockReturnValue({ - loading: false, - error: false, - count: 1, - }); - jest.mocked(useFetchUniqueByField).mockReturnValue({ - loading: false, - error: false, - count: 1, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(PREVALENCE_DETAILS_PREVALENCE_CELL_VALUE_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(PREVALENCE_DETAILS_PREVALENCE_CELL_VALUE_TEST_ID)).toHaveTextContent('1'); - }); -}); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_prevalence_cell.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_prevalence_cell.tsx deleted file mode 100644 index 9c05bc8e8ea328..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details_prevalence_cell.tsx +++ /dev/null @@ -1,78 +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 { VFC } from 'react'; -import React from 'react'; -import { EuiIcon, EuiLoadingSpinner } from '@elastic/eui'; -import { - PREVALENCE_DETAILS_PREVALENCE_CELL_ERROR_TEST_ID, - PREVALENCE_DETAILS_PREVALENCE_CELL_LOADING_TEST_ID, - PREVALENCE_DETAILS_PREVALENCE_CELL_VALUE_TEST_ID, -} from './test_ids'; -import { useFetchFieldValuePairWithAggregation } from '../../shared/hooks/use_fetch_field_value_pair_with_aggregation'; -import { useFetchUniqueByField } from '../../shared/hooks/use_fetch_unique_by_field'; - -export interface PrevalenceDetailsPrevalenceCellProps { - /** - * The highlighted field name and values - * */ - highlightedField: { name: string; values: string[] }; - /** - * The aggregation field - */ - aggregationField: string; -} - -/** - * Component displaying a value in many PrevalenceDetails table cells. It is used for the fifth and sixth columns, - * which displays the prevalence percentage for host.name and user.name fields. - */ -export const PrevalenceDetailsPrevalenceCell: VFC = ({ - highlightedField, - aggregationField, -}) => { - const { - loading: aggregationLoading, - error: aggregationError, - count: aggregationCount, - } = useFetchFieldValuePairWithAggregation({ - highlightedField, - aggregationField, - }); - - const { - loading: uniqueLoading, - error: uniqueError, - count: uniqueCount, - } = useFetchUniqueByField({ field: aggregationField }); - - if (aggregationLoading || uniqueLoading) { - return ( - - ); - } - - const prevalence = aggregationCount / uniqueCount; - if (aggregationError || uniqueError || !isFinite(prevalence)) { - return ( - - ); - } - - return ( -
- {Math.round(prevalence * 100)} - {'%'} -
- ); -}; - -PrevalenceDetailsPrevalenceCell.displayName = 'PrevalenceDetailsPrevalenceCell'; diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.test.tsx index 2346c568cd8f8e..c54b76468841ba 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.test.tsx @@ -7,6 +7,7 @@ import React from 'react'; import { render } from '@testing-library/react'; +import { TestProviders } from '../../../common/mock'; import { CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TABLE_TEST_ID, CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID, @@ -26,6 +27,7 @@ jest.mock('../hooks/use_paginated_alerts'); const documentId = 'documentId'; const indices = ['index1']; const scopeId = 'scopeId'; +const eventId = 'eventId'; const TOGGLE_ICON = EXPANDABLE_PANEL_TOGGLE_ICON_TEST_ID( CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID @@ -73,11 +75,21 @@ describe('', () => { }); const { getByTestId } = render( - + + + ); expect(getByTestId(TOGGLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_TEXT)).toBeInTheDocument(); + expect( + getByTestId(`${CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID}InvestigateInTimeline`) + ).toBeInTheDocument(); expect(getByTestId(CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TABLE_TEST_ID)).toBeInTheDocument(); }); @@ -88,7 +100,14 @@ describe('', () => { }); const { container } = render( - + + + ); expect(container).toBeEmptyDOMElement(); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.tsx index b144d7e8b47d04..517f62ef590ba0 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.tsx @@ -24,6 +24,10 @@ export interface RelatedAlertsByAncestryProps { * Maintain backwards compatibility // TODO remove when possible */ scopeId: string; + /** + * Id of the document + */ + eventId: string; } /** @@ -33,6 +37,7 @@ export const RelatedAlertsByAncestry: React.VFC = documentId, indices, scopeId, + eventId, }) => { const { loading, error, data, dataCount } = useFetchRelatedAlertsByAncestry({ documentId, @@ -50,6 +55,8 @@ export const RelatedAlertsByAncestry: React.VFC = title={title} loading={loading} alertIds={data} + scopeId={scopeId} + eventId={eventId} data-test-subj={CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID} /> ); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.test.tsx index bde789ab08f945..77dbe5ef21a2c9 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.test.tsx @@ -7,6 +7,7 @@ import React from 'react'; import { render } from '@testing-library/react'; +import { TestProviders } from '../../../common/mock'; import { CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID, CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TABLE_TEST_ID, @@ -25,6 +26,7 @@ jest.mock('../hooks/use_paginated_alerts'); const originalEventId = 'originalEventId'; const scopeId = 'scopeId'; +const eventId = 'eventId'; const TOGGLE_ICON = EXPANDABLE_PANEL_TOGGLE_ICON_TEST_ID( CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID @@ -72,11 +74,20 @@ describe('', () => { }); const { getByTestId } = render( - + + + ); expect(getByTestId(TOGGLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_TEXT)).toBeInTheDocument(); + expect( + getByTestId(`${CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID}InvestigateInTimeline`) + ).toBeInTheDocument(); expect(getByTestId(CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TABLE_TEST_ID)).toBeInTheDocument(); }); @@ -87,7 +98,13 @@ describe('', () => { }); const { container } = render( - + + + ); expect(container).toBeEmptyDOMElement(); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.tsx index 6ca1b245e88be7..eea480301043f6 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.tsx @@ -20,6 +20,10 @@ export interface RelatedAlertsBySameSourceEventProps { * Maintain backwards compatibility // TODO remove when possible */ scopeId: string; + /** + * Id of the document + */ + eventId: string; } /** @@ -28,6 +32,7 @@ export interface RelatedAlertsBySameSourceEventProps { export const RelatedAlertsBySameSourceEvent: React.VFC = ({ originalEventId, scopeId, + eventId, }) => { const { loading, error, data, dataCount } = useFetchRelatedAlertsBySameSourceEvent({ originalEventId, @@ -44,6 +49,8 @@ export const RelatedAlertsBySameSourceEvent: React.VFC ); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.test.tsx index fca466ed169b1d..de1725eef64c90 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.test.tsx @@ -7,6 +7,7 @@ import React from 'react'; import { render } from '@testing-library/react'; +import { TestProviders } from '../../../common/mock'; import { CORRELATIONS_DETAILS_BY_SESSION_SECTION_TABLE_TEST_ID, CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID, @@ -25,6 +26,7 @@ jest.mock('../hooks/use_paginated_alerts'); const entityId = 'entityId'; const scopeId = 'scopeId'; +const eventId = 'eventId'; const TOGGLE_ICON = EXPANDABLE_PANEL_TOGGLE_ICON_TEST_ID( CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID @@ -72,11 +74,16 @@ describe('', () => { }); const { getByTestId } = render( - + + + ); expect(getByTestId(TOGGLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_TEXT)).toBeInTheDocument(); + expect( + getByTestId(`${CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID}InvestigateInTimeline`) + ).toBeInTheDocument(); expect(getByTestId(CORRELATIONS_DETAILS_BY_SESSION_SECTION_TABLE_TEST_ID)).toBeInTheDocument(); }); @@ -86,7 +93,11 @@ describe('', () => { error: true, }); - const { container } = render(); + const { container } = render( + + + + ); expect(container).toBeEmptyDOMElement(); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.tsx index 9e12a06b5eada8..726390529fe637 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.tsx @@ -20,6 +20,10 @@ export interface RelatedAlertsBySessionProps { * Maintain backwards compatibility // TODO remove when possible */ scopeId: string; + /** + * Id of the document + */ + eventId: string; } /** @@ -28,6 +32,7 @@ export interface RelatedAlertsBySessionProps { export const RelatedAlertsBySession: React.VFC = ({ entityId, scopeId, + eventId, }) => { const { loading, error, data, dataCount } = useFetchRelatedAlertsBySession({ entityId, @@ -44,6 +49,8 @@ export const RelatedAlertsBySession: React.VFC = ({ title={title} loading={loading} alertIds={data} + scopeId={scopeId} + eventId={eventId} data-test-subj={CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID} /> ); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.test.tsx new file mode 100644 index 00000000000000..646cbb2fc9bd5b --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.test.tsx @@ -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 React from 'react'; +import { render } from '@testing-library/react'; +import { TestProviders } from '../../../common/mock'; +import { + CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID, + SUPPRESSED_ALERTS_SECTION_TECHNICAL_PREVIEW_TEST_ID, +} from './test_ids'; +import { SuppressedAlerts } from './suppressed_alerts'; +import { + EXPANDABLE_PANEL_HEADER_TITLE_ICON_TEST_ID, + EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID, + EXPANDABLE_PANEL_TOGGLE_ICON_TEST_ID, +} from '../../shared/components/test_ids'; +import { LeftPanelContext } from '../context'; +import { mockContextValue } from '../mocks/mock_context'; + +const mockDataAsNestedObject = { + _id: 'testId', +}; + +const TOGGLE_ICON = EXPANDABLE_PANEL_TOGGLE_ICON_TEST_ID( + CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID +); +const TITLE_ICON = EXPANDABLE_PANEL_HEADER_TITLE_ICON_TEST_ID( + CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID +); +const TITLE_TEXT = EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID( + CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID +); +const INVESTIGATE_IN_TIMELINE_BUTTON_TEST_ID = `${CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID}InvestigateInTimeline`; + +describe('', () => { + it('should render zero component correctly', () => { + const { getByTestId, queryByTestId } = render( + + + + + + ); + + expect(getByTestId(TITLE_ICON)).toBeInTheDocument(); + expect(getByTestId(TITLE_TEXT)).toHaveTextContent('0 suppressed alert'); + expect(queryByTestId(INVESTIGATE_IN_TIMELINE_BUTTON_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(TOGGLE_ICON)).not.toBeInTheDocument(); + expect(getByTestId(SUPPRESSED_ALERTS_SECTION_TECHNICAL_PREVIEW_TEST_ID)).toBeInTheDocument(); + }); + + it('should render single component correctly', () => { + const { getByTestId, queryByTestId } = render( + + + + + + ); + + expect(getByTestId(TITLE_ICON)).toBeInTheDocument(); + expect(getByTestId(TITLE_TEXT)).toHaveTextContent('1 suppressed alert'); + expect(getByTestId(INVESTIGATE_IN_TIMELINE_BUTTON_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(TOGGLE_ICON)).not.toBeInTheDocument(); + expect(getByTestId(SUPPRESSED_ALERTS_SECTION_TECHNICAL_PREVIEW_TEST_ID)).toBeInTheDocument(); + }); + + it('should render multiple component correctly', () => { + const { getByTestId, queryByTestId } = render( + + + + + + ); + + expect(getByTestId(TITLE_ICON)).toBeInTheDocument(); + expect(getByTestId(TITLE_TEXT)).toHaveTextContent('2 suppressed alerts'); + expect(getByTestId(INVESTIGATE_IN_TIMELINE_BUTTON_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(TOGGLE_ICON)).not.toBeInTheDocument(); + expect(getByTestId(SUPPRESSED_ALERTS_SECTION_TECHNICAL_PREVIEW_TEST_ID)).toBeInTheDocument(); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.tsx new file mode 100644 index 00000000000000..9b543e23f6535c --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.tsx @@ -0,0 +1,74 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs'; +import { EuiBetaBadge, EuiFlexItem, EuiFlexGroup } from '@elastic/eui'; +import { CORRELATIONS_SUPPRESSED_ALERTS } from '../../shared/translations'; +import { ExpandablePanel } from '../../shared/components/expandable_panel'; +import { + CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID, + SUPPRESSED_ALERTS_SECTION_TECHNICAL_PREVIEW_TEST_ID, +} from './test_ids'; +import { SUPPRESSED_ALERTS_COUNT_TECHNICAL_PREVIEW } from '../../../common/components/event_details/insights/translations'; +import { InvestigateInTimelineAction } from '../../../detections/components/alerts_table/timeline_actions/investigate_in_timeline_action'; + +export interface SuppressedAlertsProps { + /** + * An object with top level fields from the ECS object + */ + dataAsNestedObject: Ecs | null; + /** + * Value of the kibana.alert.suppression.doc_count field + */ + alertSuppressionCount: number; +} + +/** + * Displays number of suppressed alerts and investigate in timeline icon + */ +export const SuppressedAlerts: React.VFC = ({ + dataAsNestedObject, + alertSuppressionCount, +}) => { + const title = ( + + + {`${alertSuppressionCount} ${CORRELATIONS_SUPPRESSED_ALERTS(alertSuppressionCount)}`} + + + + + + ); + + const headerContent = alertSuppressionCount > 0 && ( +
+ +
+ ); + + return ( + + ); +}; + +SuppressedAlerts.displayName = 'SuppressedAlerts'; diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/test_ids.ts b/x-pack/plugins/security_solution/public/flyout/left/components/test_ids.ts index c90b61762a0cd0..6c736770544bd4 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/test_ids.ts +++ b/x-pack/plugins/security_solution/public/flyout/left/components/test_ids.ts @@ -6,6 +6,7 @@ */ /* Visualization tab */ + const PREFIX = 'securitySolutionDocumentDetailsFlyout' as const; export const ANALYZER_GRAPH_TEST_ID = `${PREFIX}AnalyzerGraph` as const; @@ -17,11 +18,14 @@ export const SESSION_VIEW_ERROR_TEST_ID = `${PREFIX}SessionViewError` as const; /* Prevalence */ +export const PREVALENCE_DETAILS_DATE_PICKER_TEST_ID = + `${PREFIX}PrevalenceDetailsDatePicker` as const; export const PREVALENCE_DETAILS_TABLE_TEST_ID = `${PREFIX}PrevalenceDetailsTable` as const; -export const PREVALENCE_DETAILS_TABLE_TYPE_CELL_TEST_ID = - `${PREFIX}PrevalenceDetailsTableTypeCell` as const; -export const PREVALENCE_DETAILS_TABLE_NAME_CELL_TEST_ID = - `${PREFIX}PrevalenceDetailsTableNameCell` as const; +export const PREVALENCE_DETAILS_LOADING_TEST_ID = `${PREFIX}PrevalenceDetailsLoading` as const; +export const PREVALENCE_DETAILS_TABLE_FIELD_CELL_TEST_ID = + `${PREFIX}PrevalenceDetailsTableFieldCell` as const; +export const PREVALENCE_DETAILS_TABLE_VALUE_CELL_TEST_ID = + `${PREFIX}PrevalenceDetailsTableValueCell` as const; export const PREVALENCE_DETAILS_TABLE_ALERT_COUNT_CELL_TEST_ID = `${PREFIX}PrevalenceDetailsTableAlertCountCell` as const; export const PREVALENCE_DETAILS_TABLE_DOC_COUNT_CELL_TEST_ID = @@ -30,19 +34,10 @@ export const PREVALENCE_DETAILS_TABLE_HOST_PREVALENCE_CELL_TEST_ID = `${PREFIX}PrevalenceDetailsTableHostPrevalenceCell` as const; export const PREVALENCE_DETAILS_TABLE_USER_PREVALENCE_CELL_TEST_ID = `${PREFIX}PrevalenceDetailsTableUserPrevalenceCell` as const; -export const PREVALENCE_DETAILS_TABLE_ERROR_TEST_ID = `${PREFIX}PrevalenceDetailsTable` as const; -export const PREVALENCE_DETAILS_COUNT_CELL_LOADING_TEST_ID = - `${PREFIX}PrevalenceDetailsCountCellLoading` as const; -export const PREVALENCE_DETAILS_COUNT_CELL_ERROR_TEST_ID = - `${PREFIX}PrevalenceDetailsCountCellError` as const; -export const PREVALENCE_DETAILS_COUNT_CELL_VALUE_TEST_ID = - `${PREFIX}PrevalenceDetailsCountCellValue` as const; -export const PREVALENCE_DETAILS_PREVALENCE_CELL_LOADING_TEST_ID = - `${PREFIX}PrevalenceDetailsPrevalenceCellLoading` as const; -export const PREVALENCE_DETAILS_PREVALENCE_CELL_ERROR_TEST_ID = - `${PREFIX}PrevalenceDetailsPrevalenceCellError` as const; -export const PREVALENCE_DETAILS_PREVALENCE_CELL_VALUE_TEST_ID = - `${PREFIX}PrevalenceDetailsPrevalenceCellValue` as const; +export const PREVALENCE_DETAILS_TABLE_ERROR_TEST_ID = + `${PREFIX}PrevalenceDetailsTableError` as const; +export const PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID = + `${PREFIX}PrevalenceDetailsTableNoData` as const; /* Entities */ @@ -78,6 +73,13 @@ export const CORRELATIONS_DETAILS_CASES_SECTION_TEST_ID = `${CORRELATIONS_DETAILS_TEST_ID}CasesSection` as const; export const CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID = `${CORRELATIONS_DETAILS_CASES_SECTION_TEST_ID}Table` as const; +export const CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID = + `${CORRELATIONS_DETAILS_TEST_ID}SuppressedAlertsSection` as const; +export const SUPPRESSED_ALERTS_SECTION_TECHNICAL_PREVIEW_TEST_ID = + `${CORRELATIONS_DETAILS_TEST_ID}SuppressedAlertsSectionTechnicalPreview` as const; export const RESPONSE_BASE_TEST_ID = `${PREFIX}Responses` as const; export const RESPONSE_DETAILS_TEST_ID = `${RESPONSE_BASE_TEST_ID}Details` as const; export const RESPONSE_EMPTY_TEST_ID = `${RESPONSE_BASE_TEST_ID}Empty` as const; + +export const INVESTIGATION_GUIDE_LOADING_TEST_ID = `${PREFIX}InvestigationGuideLoading`; +export const INVESTIGATION_GUIDE_NO_DATA_TEST_ID = `${PREFIX}NoData`; diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/translations.ts b/x-pack/plugins/security_solution/public/flyout/left/components/translations.ts index 0961c41b33a79d..dbd0cd21e129c9 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/translations.ts +++ b/x-pack/plugins/security_solution/public/flyout/left/components/translations.ts @@ -99,45 +99,52 @@ export const PREVALENCE_ERROR_MESSAGE = i18n.translate( } ); -export const PREVALENCE_TABLE_TYPE_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableTypeColumnTitle', +export const PREVALENCE_NO_DATA_MESSAGE = i18n.translate( + 'xpack.securitySolution.flyout.prevalenceNoDataMessage', { - defaultMessage: 'Type', + defaultMessage: 'No prevalence data available', } ); -export const PREVALENCE_TABLE_NAME_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableNameColumnTitle', +export const PREVALENCE_TABLE_FIELD_COLUMN_TITLE = i18n.translate( + 'xpack.securitySolution.flyout.prevalenceTableFieldColumnTitle', { - defaultMessage: 'Name', + defaultMessage: 'Field', + } +); + +export const PREVALENCE_TABLE_VALUE_COLUMN_TITLE = i18n.translate( + 'xpack.securitySolution.flyout.prevalenceTableValueColumnTitle', + { + defaultMessage: 'Value', } ); export const PREVALENCE_TABLE_ALERT_COUNT_COLUMN_TITLE = i18n.translate( 'xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle', { - defaultMessage: 'Alert count', + defaultMessage: 'Alert', } ); export const PREVALENCE_TABLE_DOC_COUNT_COLUMN_TITLE = i18n.translate( 'xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle', { - defaultMessage: 'Doc count', + defaultMessage: 'Document', } ); -export const PREVALENCE_TABLE_HOST_PREVALENCE_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableHostPrevalenceColumnTitle', +export const PREVALENCE_TABLE_COUNT_COLUMN_TITLE = i18n.translate( + 'xpack.securitySolution.flyout.prevalenceTableCountColumnTitle', { - defaultMessage: 'Host prevalence', + defaultMessage: 'count', } ); -export const PREVALENCE_TABLE_USER_PREVALENCE_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableUserPrevalenceColumnTitle', +export const PREVALENCE_TABLE_PREVALENCE_COLUMN_TITLE = i18n.translate( + 'xpack.securitySolution.flyout.prevalenceTablePrevalenceColumnTitle', { - defaultMessage: 'User prevalence', + defaultMessage: 'prevalence', } ); @@ -191,26 +198,9 @@ export const CORRELATIONS_CASE_NAME_COLUMN_TITLE = i18n.translate( } ); -export const ANCESTRY_ALERTS_HEADING = (count: number) => - i18n.translate('xpack.securitySolution.flyout.correlations.ancestryAlertsHeading', { - defaultMessage: '{count, plural, one {# alert} other {# alerts}} related by ancestry', - values: { count }, - }); - -export const SOURCE_ALERTS_HEADING = (count: number) => - i18n.translate('xpack.securitySolution.flyout.correlations.sourceAlertsHeading', { - defaultMessage: '{count, plural, one {# alert} other {# alerts}} related by source event', - values: { count }, - }); - -export const SESSION_ALERTS_HEADING = (count: number) => - i18n.translate('xpack.securitySolution.flyout.correlations.sessionAlertsHeading', { - defaultMessage: '{count, plural, one {# alert} other {# alerts}} related by session', - values: { count }, - }); - -export const RELATED_CASES_HEADING = (count: number) => - i18n.translate('xpack.securitySolution.flyout.correlations.relatedCasesHeading', { - defaultMessage: '{count} related {count, plural, one {case} other {cases}}', - values: { count }, - }); +export const CORRELATIONS_DETAILS_TABLE_FILTER = i18n.translate( + 'xpack.securitySolution.flyout.correlations.correlationsDetailsTableFilter', + { + defaultMessage: 'Correlations Details Table Alert IDs', + } +); diff --git a/x-pack/plugins/security_solution/public/flyout/left/tabs/investigation_tab.tsx b/x-pack/plugins/security_solution/public/flyout/left/tabs/investigation_tab.tsx index c3bfb4733c0c41..ce0629d790b2b6 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/tabs/investigation_tab.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/tabs/investigation_tab.tsx @@ -7,8 +7,8 @@ import React, { memo } from 'react'; import { EuiPanel } from '@elastic/eui'; +import { InvestigationGuide } from '../components/investigation_guide'; import { INVESTIGATION_TAB_CONTENT_TEST_ID } from './test_ids'; -import { InvestigationGuideView } from '../../../common/components/event_details/investigation_guide_view'; import { useLeftPanelContext } from '../context'; /** @@ -16,17 +16,13 @@ import { useLeftPanelContext } from '../context'; */ export const InvestigationTab: React.FC = memo(() => { const { dataFormattedForFieldBrowser } = useLeftPanelContext(); - if (dataFormattedForFieldBrowser === null) { + if (dataFormattedForFieldBrowser == null) { return null; } return ( - + ); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.test.tsx index c151f140787699..664b90a54b7673 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.test.tsx @@ -18,6 +18,7 @@ import { INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SAME_SOURCE_EVENT_TEST_ID, INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SESSION_TEST_ID, INSIGHTS_CORRELATIONS_RELATED_CASES_TEST_ID, + INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID, INSIGHTS_CORRELATIONS_TEST_ID, SUMMARY_ROW_VALUE_TEST_ID, } from './test_ids'; @@ -25,6 +26,7 @@ import { useShowRelatedAlertsByAncestry } from '../../shared/hooks/use_show_rela import { useShowRelatedAlertsBySameSourceEvent } from '../../shared/hooks/use_show_related_alerts_by_same_source_event'; import { useShowRelatedAlertsBySession } from '../../shared/hooks/use_show_related_alerts_by_session'; import { useShowRelatedCases } from '../../shared/hooks/use_show_related_cases'; +import { useShowSuppressedAlerts } from '../../shared/hooks/use_show_suppressed_alerts'; import { useFetchRelatedAlertsByAncestry } from '../../shared/hooks/use_fetch_related_alerts_by_ancestry'; import { useFetchRelatedAlertsBySameSourceEvent } from '../../shared/hooks/use_fetch_related_alerts_by_same_source_event'; import { useFetchRelatedAlertsBySession } from '../../shared/hooks/use_fetch_related_alerts_by_session'; @@ -40,6 +42,7 @@ jest.mock('../../shared/hooks/use_show_related_alerts_by_ancestry'); jest.mock('../../shared/hooks/use_show_related_alerts_by_same_source_event'); jest.mock('../../shared/hooks/use_show_related_alerts_by_session'); jest.mock('../../shared/hooks/use_show_related_cases'); +jest.mock('../../shared/hooks/use_show_suppressed_alerts'); jest.mock('../../shared/hooks/use_fetch_related_alerts_by_session'); jest.mock('../../shared/hooks/use_fetch_related_alerts_by_ancestry'); jest.mock('../../shared/hooks/use_fetch_related_alerts_by_same_source_event'); @@ -56,6 +59,9 @@ const TITLE_TEXT_TEST_ID = EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID( INSIGHTS_CORRELATIONS_TEST_ID ); +const SUPPRESSED_ALERTS_TEST_ID = SUMMARY_ROW_VALUE_TEST_ID( + INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID +); const RELATED_ALERTS_BY_ANCESTRY_TEST_ID = SUMMARY_ROW_VALUE_TEST_ID( INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_ANCESTRY_TEST_ID ); @@ -92,6 +98,7 @@ describe('', () => { jest.mocked(useShowRelatedAlertsBySameSourceEvent).mockReturnValue({ show: false }); jest.mocked(useShowRelatedAlertsBySession).mockReturnValue({ show: false }); jest.mocked(useShowRelatedCases).mockReturnValue(false); + jest.mocked(useShowSuppressedAlerts).mockReturnValue({ show: false, alertSuppressionCount: 0 }); const { getByTestId, queryByTestId } = render(renderCorrelationsOverview(panelContextValue)); expect(queryByTestId(TOGGLE_ICON_TEST_ID)).not.toBeInTheDocument(); @@ -111,6 +118,7 @@ describe('', () => { .mocked(useShowRelatedAlertsBySession) .mockReturnValue({ show: true, entityId: 'entityId' }); jest.mocked(useShowRelatedCases).mockReturnValue(true); + jest.mocked(useShowSuppressedAlerts).mockReturnValue({ show: true, alertSuppressionCount: 1 }); (useFetchRelatedAlertsByAncestry as jest.Mock).mockReturnValue({ loading: false, @@ -138,6 +146,7 @@ describe('', () => { expect(getByTestId(RELATED_ALERTS_BY_SAME_SOURCE_EVENT_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RELATED_ALERTS_BY_SESSION_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RELATED_CASES_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(SUPPRESSED_ALERTS_TEST_ID)).toBeInTheDocument(); }); it('should hide rows and show error message if show values are false', () => { @@ -151,12 +160,14 @@ describe('', () => { .mocked(useShowRelatedAlertsBySession) .mockReturnValue({ show: false, entityId: 'entityId' }); jest.mocked(useShowRelatedCases).mockReturnValue(false); + jest.mocked(useShowSuppressedAlerts).mockReturnValue({ show: false, alertSuppressionCount: 0 }); const { getByTestId, queryByTestId } = render(renderCorrelationsOverview(panelContextValue)); expect(queryByTestId(RELATED_ALERTS_BY_ANCESTRY_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(RELATED_ALERTS_BY_SAME_SOURCE_EVENT_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(RELATED_ALERTS_BY_SESSION_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(RELATED_CASES_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(SUPPRESSED_ALERTS_TEST_ID)).not.toBeInTheDocument(); expect(getByTestId(CORRELATIONS_ERROR_TEST_ID)).toBeInTheDocument(); }); @@ -165,12 +176,14 @@ describe('', () => { jest.mocked(useShowRelatedAlertsBySameSourceEvent).mockReturnValue({ show: true }); jest.mocked(useShowRelatedAlertsBySession).mockReturnValue({ show: true }); jest.mocked(useShowRelatedCases).mockReturnValue(false); + jest.mocked(useShowSuppressedAlerts).mockReturnValue({ show: false, alertSuppressionCount: 0 }); const { queryByTestId } = render(renderCorrelationsOverview(panelContextValue)); expect(queryByTestId(RELATED_ALERTS_BY_ANCESTRY_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(RELATED_ALERTS_BY_SAME_SOURCE_EVENT_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(RELATED_ALERTS_BY_SESSION_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(RELATED_CASES_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(SUPPRESSED_ALERTS_TEST_ID)).not.toBeInTheDocument(); }); it('should navigate to the left section Insights tab when clicking on button', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx index 39cefa2ac1c21b..750d260bbf21f4 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx @@ -15,6 +15,8 @@ import { useShowRelatedAlertsBySameSourceEvent } from '../../shared/hooks/use_sh import { RelatedAlertsBySameSourceEvent } from './related_alerts_by_same_source_event'; import { RelatedAlertsByAncestry } from './related_alerts_by_ancestry'; import { useShowRelatedAlertsByAncestry } from '../../shared/hooks/use_show_related_alerts_by_ancestry'; +import { SuppressedAlerts } from './suppressed_alerts'; +import { useShowSuppressedAlerts } from '../../shared/hooks/use_show_suppressed_alerts'; import { RelatedCases } from './related_cases'; import { useShowRelatedCases } from '../../shared/hooks/use_show_related_cases'; import { INSIGHTS_CORRELATIONS_TEST_ID } from './test_ids'; @@ -68,9 +70,16 @@ export const CorrelationsOverview: React.FC = () => { }); const { show: showAlertsBySession, entityId } = useShowRelatedAlertsBySession({ getFieldsData }); const showCases = useShowRelatedCases(); + const { show: showSuppressedAlerts, alertSuppressionCount } = useShowSuppressedAlerts({ + getFieldsData, + }); const canShowAtLeastOneInsight = - showAlertsByAncestry || showSameSourceAlerts || showAlertsBySession || showCases; + showAlertsByAncestry || + showSameSourceAlerts || + showAlertsBySession || + showCases || + showSuppressedAlerts; return ( { > {canShowAtLeastOneInsight ? ( - {showAlertsByAncestry && documentId && indices && ( - + {showSuppressedAlerts && ( + )} + {showCases && } {showSameSourceAlerts && originalEventId && ( )} {showAlertsBySession && entityId && ( )} - {showCases && } + {showAlertsByAncestry && documentId && indices && ( + + )} ) : (
{CORRELATIONS_ERROR}
diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.test.tsx index ed9d2cd6237093..0d8ed18d83a437 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.test.tsx @@ -11,11 +11,11 @@ import { RightPanelContext } from '../context'; import { HIGHLIGHTED_FIELDS_DETAILS_TEST_ID, HIGHLIGHTED_FIELDS_TITLE_TEST_ID } from './test_ids'; import { HighlightedFields } from './highlighted_fields'; import { mockDataFormattedForFieldBrowser } from '../mocks/mock_context'; -import { useHighlightedFields } from '../hooks/use_highlighted_fields'; +import { useHighlightedFields } from '../../shared/hooks/use_highlighted_fields'; import { TestProviders } from '../../../common/mock'; import { useRuleWithFallback } from '../../../detection_engine/rule_management/logic/use_rule_with_fallback'; -jest.mock('../hooks/use_highlighted_fields'); +jest.mock('../../shared/hooks/use_highlighted_fields'); jest.mock('../../../detection_engine/rule_management/logic/use_rule_with_fallback'); describe('', () => { @@ -27,15 +27,11 @@ describe('', () => { const panelContextValue = { dataFormattedForFieldBrowser: mockDataFormattedForFieldBrowser, } as unknown as RightPanelContext; - (useHighlightedFields as jest.Mock).mockReturnValue([ - { - field: 'field', - description: { - field: 'field', - values: ['value'], - }, + (useHighlightedFields as jest.Mock).mockReturnValue({ + field: { + values: ['value'], }, - ]); + }); const { getByTestId } = render( @@ -53,7 +49,7 @@ describe('', () => { const panelContextValue = { dataFormattedForFieldBrowser: mockDataFormattedForFieldBrowser, } as unknown as RightPanelContext; - (useHighlightedFields as jest.Mock).mockReturnValue([]); + (useHighlightedFields as jest.Mock).mockReturnValue({}); const { container } = render( @@ -68,15 +64,11 @@ describe('', () => { const panelContextValue = { dataFormattedForFieldBrowser: null, } as unknown as RightPanelContext; - (useHighlightedFields as jest.Mock).mockReturnValue([ - { - field: 'field', - description: { - field: 'field', - values: ['value'], - }, + (useHighlightedFields as jest.Mock).mockReturnValue({ + field: { + values: ['value'], }, - ]); + }); const { container } = render( diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.tsx index f02682721ee5c0..79f75ba7ff861b 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.tsx @@ -6,9 +6,10 @@ */ import type { FC } from 'react'; -import React from 'react'; +import React, { useMemo } from 'react'; import type { EuiBasicTableColumn } from '@elastic/eui'; import { EuiFlexGroup, EuiFlexItem, EuiInMemoryTable, EuiPanel, EuiTitle } from '@elastic/eui'; +import { convertHighlightedFieldsToTableRow } from '../../shared/utils/highlighted_fields_helpers'; import { useRuleWithFallback } from '../../../detection_engine/rule_management/logic/use_rule_with_fallback'; import { useBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; import { HighlightedFieldsCell } from './highlighted_fields_cell'; @@ -17,7 +18,6 @@ import { SecurityCellActions, SecurityCellActionsTrigger, } from '../../../common/components/cell_actions'; -import type { UseHighlightedFieldsResult } from '../hooks/use_highlighted_fields'; import { HIGHLIGHTED_FIELDS_DETAILS_TEST_ID, HIGHLIGHTED_FIELDS_TITLE_TEST_ID } from './test_ids'; import { HIGHLIGHTED_FIELDS_FIELD_COLUMN, @@ -25,14 +25,30 @@ import { HIGHLIGHTED_FIELDS_VALUE_COLUMN, } from './translations'; import { useRightPanelContext } from '../context'; -import { useHighlightedFields } from '../hooks/use_highlighted_fields'; +import { useHighlightedFields } from '../../shared/hooks/use_highlighted_fields'; -const columns: Array> = [ +export interface HighlightedFieldsTableRow { + /** + * Highlighted field name (overrideField or if null, falls back to id) + */ + field: string; + description: { + /** + * Highlighted field name (overrideField or if null, falls back to id) + */ + field: string; + /** + * Highlighted field value + */ + values: string[] | null | undefined; + }; +} + +const columns: Array> = [ { field: 'field', name: HIGHLIGHTED_FIELDS_FIELD_COLUMN, 'data-test-subj': 'fieldCell', - width: '125px', }, { field: 'description', @@ -66,8 +82,12 @@ export const HighlightedFields: FC = () => { dataFormattedForFieldBrowser, investigationFields: maybeRule?.investigation_fields ?? [], }); + const items = useMemo( + () => convertHighlightedFieldsToTableRow(highlightedFields), + [highlightedFields] + ); - if (!dataFormattedForFieldBrowser || highlightedFields.length === 0) { + if (!dataFormattedForFieldBrowser || items.length === 0) { return null; } @@ -80,7 +100,7 @@ export const HighlightedFields: FC = () => { - + diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.test.tsx new file mode 100644 index 00000000000000..ecac8547c6a511 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.test.tsx @@ -0,0 +1,94 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { InvestigationGuide } from './investigation_guide'; +import { RightPanelContext } from '../context'; +import { + INVESTIGATION_GUIDE_BUTTON_TEST_ID, + INVESTIGATION_GUIDE_LOADING_TEST_ID, + INVESTIGATION_GUIDE_NO_DATA_TEST_ID, +} from './test_ids'; +import { mockContextValue } from '../mocks/mock_right_panel_context'; +import { mockFlyoutContextValue } from '../../shared/mocks/mock_flyout_context'; +import { ExpandableFlyoutContext } from '@kbn/expandable-flyout/src/context'; +import { useInvestigationGuide } from '../../shared/hooks/use_investigation_guide'; + +jest.mock('../../shared/hooks/use_investigation_guide'); + +const renderInvestigationGuide = (context: RightPanelContext = mockContextValue) => ( + + + + + +); + +describe('', () => { + it('should render investigation guide button correctly', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + loading: false, + error: false, + basicAlertData: { ruleId: 'ruleId' }, + ruleNote: 'test note', + }); + const { getByTestId } = render(renderInvestigationGuide()); + expect(getByTestId(INVESTIGATION_GUIDE_BUTTON_TEST_ID)).toBeInTheDocument(); + }); + + it('should render loading', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + loading: true, + }); + const { getByTestId } = render(renderInvestigationGuide()); + expect(getByTestId(INVESTIGATION_GUIDE_LOADING_TEST_ID)).toBeInTheDocument(); + }); + + it('should render no data message when there is no ruleId', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + basicAlertData: {}, + ruleNote: 'test note', + }); + const { getByTestId } = render(renderInvestigationGuide()); + expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toBeInTheDocument(); + }); + + it('should render no data message when there is no rule note', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + basicAlertData: { ruleId: 'ruleId' }, + ruleNote: undefined, + }); + const { getByTestId } = render(renderInvestigationGuide()); + expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toBeInTheDocument(); + }); + + it('should not render investigation guide button when dataFormattedForFieldBrowser is null', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + loading: false, + error: false, + show: false, + }); + const mockContext = { + ...mockContextValue, + dataFormattedForFieldBrowser: null, + }; + const { container } = render(renderInvestigationGuide(mockContext)); + expect(container).toBeEmptyDOMElement(); + }); + + it('should render null when useInvestigationGuide errors out', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + loading: false, + error: true, + show: false, + }); + + const { container } = render(renderInvestigationGuide()); + expect(container).toBeEmptyDOMElement(); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.tsx new file mode 100644 index 00000000000000..4816577495c70b --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.tsx @@ -0,0 +1,94 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React, { useCallback } from 'react'; +import { EuiButton, EuiFlexGroup, EuiFlexItem, EuiLoadingSpinner, EuiTitle } from '@elastic/eui'; +import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { useInvestigationGuide } from '../../shared/hooks/use_investigation_guide'; +import { useRightPanelContext } from '../context'; +import { LeftPanelKey, LeftPanelInvestigationTab } from '../../left'; +import { + INVESTIGATION_GUIDE_BUTTON_TEST_ID, + INVESTIGATION_GUIDE_LOADING_TEST_ID, + INVESTIGATION_GUIDE_NO_DATA_TEST_ID, + INVESTIGATION_GUIDE_TEST_ID, +} from './test_ids'; +import { + INVESTIGATION_GUIDE_BUTTON, + INVESTIGATION_GUIDE_NO_DATA, + INVESTIGATION_GUIDE_TITLE, +} from './translations'; + +/** + * Render either the investigation guide button that opens Investigation section in the left panel, + * or a no-data message if investigation guide hasn't been set up on the rule + */ +export const InvestigationGuide: React.FC = () => { + const { openLeftPanel } = useExpandableFlyoutContext(); + const { eventId, indexName, scopeId, dataFormattedForFieldBrowser } = useRightPanelContext(); + + const { loading, error, basicAlertData, ruleNote } = useInvestigationGuide({ + dataFormattedForFieldBrowser, + }); + + const goToInvestigationsTab = useCallback(() => { + openLeftPanel({ + id: LeftPanelKey, + path: { + tab: LeftPanelInvestigationTab, + }, + params: { + id: eventId, + indexName, + scopeId, + }, + }); + }, [eventId, indexName, openLeftPanel, scopeId]); + + if (!dataFormattedForFieldBrowser || error) { + return null; + } + + if (loading) { + return ( + + + + + + ); + } + + return ( + + + +
{INVESTIGATION_GUIDE_TITLE}
+
+
+ + {basicAlertData.ruleId && ruleNote ? ( + + {INVESTIGATION_GUIDE_BUTTON} + + ) : ( +
+ {INVESTIGATION_GUIDE_NO_DATA} +
+ )} +
+
+ ); +}; + +InvestigationGuide.displayName = 'InvestigationGuideButton'; diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide_button.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide_button.test.tsx deleted file mode 100644 index faf5ac6fe8e094..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide_button.test.tsx +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; -import { render } from '@testing-library/react'; -import { InvestigationGuideButton } from './investigation_guide_button'; -import { RightPanelContext } from '../context'; -import { INVESTIGATION_GUIDE_BUTTON_TEST_ID } from './test_ids'; -import { mockContextValue } from '../mocks/mock_right_panel_context'; -import { mockFlyoutContextValue } from '../../shared/mocks/mock_flyout_context'; -import { ExpandableFlyoutContext } from '@kbn/expandable-flyout/src/context'; -import { useRuleWithFallback } from '../../../detection_engine/rule_management/logic/use_rule_with_fallback'; - -const mockUseRuleWithFallback = useRuleWithFallback as jest.Mock; -jest.mock('../../../detection_engine/rule_management/logic/use_rule_with_fallback'); - -describe('', () => { - it('should render investigation guide button correctly', () => { - mockUseRuleWithFallback.mockReturnValue({ rule: { note: 'test note' } }); - const { getByTestId } = render( - - - - - - ); - expect(getByTestId(INVESTIGATION_GUIDE_BUTTON_TEST_ID)).toBeInTheDocument(); - }); - - it('should not render investigation guide button when dataFormattedForFieldBrowser is null', () => { - const { container } = render( - - - - - - ); - - expect(container).toBeEmptyDOMElement(); - }); - - it('should not render investigation guide button when rule id is null', () => { - const { container } = render( - - - - - - ); - expect(container).toBeEmptyDOMElement(); - }); - - it('should not render investigation guide button when investigation guide is not available', () => { - mockUseRuleWithFallback.mockReturnValue({ rule: {} }); - const { container } = render( - - - - - - ); - expect(container).toBeEmptyDOMElement(); - }); -}); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide_button.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide_button.tsx deleted file mode 100644 index ce9eb79c903b3d..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide_button.tsx +++ /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 React, { useCallback } from 'react'; -import { EuiButton } from '@elastic/eui'; -import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; -import { useRightPanelContext } from '../context'; -import { useRuleWithFallback } from '../../../detection_engine/rule_management/logic/use_rule_with_fallback'; -import { useBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; -import { LeftPanelKey, LeftPanelInvestigationTab } from '../../left'; -import { INVESTIGATION_GUIDE_BUTTON_TEST_ID } from './test_ids'; -import { INVESTIGATION_GUIDE_TITLE } from './translations'; - -/** - * Investigation guide button that opens Investigation section in the left panel - */ -export const InvestigationGuideButton: React.FC = () => { - const { openLeftPanel } = useExpandableFlyoutContext(); - const { eventId, indexName, scopeId, dataFormattedForFieldBrowser } = useRightPanelContext(); - - const { ruleId } = useBasicDataFromDetailsData(dataFormattedForFieldBrowser); - const { rule: maybeRule } = useRuleWithFallback(ruleId); - - const goToInvestigationsTab = useCallback(() => { - openLeftPanel({ - id: LeftPanelKey, - path: { - tab: LeftPanelInvestigationTab, - }, - params: { - id: eventId, - indexName, - scopeId, - }, - }); - }, [eventId, indexName, openLeftPanel, scopeId]); - - if (!dataFormattedForFieldBrowser || !ruleId || !maybeRule?.note) { - return null; - } - return ( - - {INVESTIGATION_GUIDE_TITLE} - - ); -}; - -InvestigationGuideButton.displayName = 'InvestigationGuideButton'; diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.tsx index b0b021d1bd60cf..655aa13ea177b5 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.tsx @@ -12,7 +12,7 @@ import { ExpandableSection } from './expandable_section'; import { HighlightedFields } from './highlighted_fields'; import { INVESTIGATION_SECTION_TEST_ID } from './test_ids'; import { INVESTIGATION_TITLE } from './translations'; -import { InvestigationGuideButton } from './investigation_guide_button'; +import { InvestigationGuide } from './investigation_guide'; export interface DescriptionSectionProps { /** * Boolean to allow the component to be expanded or collapsed on first render @@ -30,7 +30,7 @@ export const InvestigationSection: VFC = ({ expanded = title={INVESTIGATION_TITLE} data-test-subj={INVESTIGATION_SECTION_TEST_ID} > - + diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.test.tsx index abf08209ec5498..96abc4689771e1 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.test.tsx @@ -13,152 +13,187 @@ import { INSIGHTS_PREVALENCE_TEST_ID } from './test_ids'; import { LeftPanelInsightsTab, LeftPanelKey } from '../../left'; import React from 'react'; import { PrevalenceOverview } from './prevalence_overview'; -import { usePrevalence } from '../hooks/use_prevalence'; -import { PrevalenceOverviewRow } from './prevalence_overview_row'; -import { useFetchFieldValuePairWithAggregation } from '../../shared/hooks/use_fetch_field_value_pair_with_aggregation'; -import { useFetchUniqueByField } from '../../shared/hooks/use_fetch_unique_by_field'; import { PREVALENCE_TAB_ID } from '../../left/components/prevalence_details'; -import type { BrowserFields, TimelineEventsDetailsItem } from '@kbn/timelines-plugin/common'; import { EXPANDABLE_PANEL_HEADER_TITLE_ICON_TEST_ID, EXPANDABLE_PANEL_HEADER_TITLE_LINK_TEST_ID, EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID, + EXPANDABLE_PANEL_LOADING_TEST_ID, EXPANDABLE_PANEL_TOGGLE_ICON_TEST_ID, } from '../../shared/components/test_ids'; +import { usePrevalence } from '../../shared/hooks/use_prevalence'; +import { mockContextValue } from '../mocks/mock_right_panel_context'; -jest.mock('../../shared/hooks/use_fetch_field_value_pair_with_aggregation'); -jest.mock('../../shared/hooks/use_fetch_unique_by_field'); -jest.mock('../hooks/use_prevalence'); +jest.mock('../../shared/hooks/use_prevalence'); const TOGGLE_ICON_TEST_ID = EXPANDABLE_PANEL_TOGGLE_ICON_TEST_ID(INSIGHTS_PREVALENCE_TEST_ID); const TITLE_LINK_TEST_ID = EXPANDABLE_PANEL_HEADER_TITLE_LINK_TEST_ID(INSIGHTS_PREVALENCE_TEST_ID); const TITLE_ICON_TEST_ID = EXPANDABLE_PANEL_HEADER_TITLE_ICON_TEST_ID(INSIGHTS_PREVALENCE_TEST_ID); const TITLE_TEXT_TEST_ID = EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID(INSIGHTS_PREVALENCE_TEST_ID); -const highlightedField = { - name: 'field', - values: ['values'], -}; -const panelContextValue = ( - eventId: string | null, - browserFields: BrowserFields | null, - dataFormattedForFieldBrowser: TimelineEventsDetailsItem[] | null -) => - ({ - eventId, - indexName: 'indexName', - browserFields, - dataFormattedForFieldBrowser, - scopeId: 'scopeId', - } as unknown as RightPanelContext); - -const renderPrevalenceOverview = (contextValue: RightPanelContext) => ( +const flyoutContextValue = { + openLeftPanel: jest.fn(), +} as unknown as ExpandableFlyoutContext; + +const renderPrevalenceOverview = (contextValue: RightPanelContext = mockContextValue) => ( - - - + + + + + ); describe('', () => { it('should render wrapper component', () => { - (useFetchFieldValuePairWithAggregation as jest.Mock).mockReturnValue({ - loading: false, - error: false, - count: 1, - }); - (useFetchUniqueByField as jest.Mock).mockReturnValue({ + (usePrevalence as jest.Mock).mockReturnValue({ loading: false, error: false, - count: 10, + data: [], }); - (usePrevalence as jest.Mock).mockReturnValue([]); - const { getByTestId, queryByTestId } = render( - renderPrevalenceOverview(panelContextValue('eventId', {}, [])) - ); + const { getByTestId, queryByTestId } = render(renderPrevalenceOverview()); expect(queryByTestId(TOGGLE_ICON_TEST_ID)).not.toBeInTheDocument(); expect(getByTestId(TITLE_LINK_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(TITLE_LINK_TEST_ID)).toHaveTextContent('Prevalence'); expect(getByTestId(TITLE_ICON_TEST_ID)).toBeInTheDocument(); expect(queryByTestId(TITLE_TEXT_TEST_ID)).not.toBeInTheDocument(); }); - it('should render component', () => { - (useFetchFieldValuePairWithAggregation as jest.Mock).mockReturnValue({ + it('should render loading', () => { + (usePrevalence as jest.Mock).mockReturnValue({ + loading: true, + error: false, + data: [], + }); + + const { getByTestId } = render(renderPrevalenceOverview()); + + expect( + getByTestId(EXPANDABLE_PANEL_LOADING_TEST_ID(INSIGHTS_PREVALENCE_TEST_ID)) + ).toBeInTheDocument(); + }); + + it('should render no-data message', () => { + (usePrevalence as jest.Mock).mockReturnValue({ loading: false, error: false, - count: 1, + data: [], }); - (useFetchUniqueByField as jest.Mock).mockReturnValue({ + + const { getByTestId } = render(renderPrevalenceOverview()); + + expect(getByTestId(`${INSIGHTS_PREVALENCE_TEST_ID}Error`)).toBeInTheDocument(); + }); + + it('should render only data with prevalence less than 10%', () => { + const field1 = 'field1'; + const field2 = 'field2'; + (usePrevalence as jest.Mock).mockReturnValue({ loading: false, error: false, - count: 10, + data: [ + { + field: field1, + value: 'value1', + alertCount: 1, + docCount: 1, + hostPrevalence: 0.05, + userPrevalence: 0.1, + }, + { + field: field2, + value: 'value2', + alertCount: 1, + docCount: 1, + hostPrevalence: 0.5, + userPrevalence: 0.05, + }, + ], }); - (usePrevalence as jest.Mock).mockReturnValue([ - , - ]); - const { getByTestId } = render(renderPrevalenceOverview(panelContextValue('eventId', {}, []))); + const { queryByTestId, getByTestId } = render(renderPrevalenceOverview()); expect(getByTestId(TITLE_LINK_TEST_ID)).toHaveTextContent('Prevalence'); - const iconDataTestSubj = 'testIcon'; - const valueDataTestSubj = 'testValue'; - expect(getByTestId(iconDataTestSubj)).toBeInTheDocument(); - expect(getByTestId(valueDataTestSubj)).toBeInTheDocument(); + const iconDataTestSubj1 = `${INSIGHTS_PREVALENCE_TEST_ID}${field1}Icon`; + const valueDataTestSubj1 = `${INSIGHTS_PREVALENCE_TEST_ID}${field1}Value`; + expect(getByTestId(iconDataTestSubj1)).toBeInTheDocument(); + expect(getByTestId(valueDataTestSubj1)).toBeInTheDocument(); + expect(getByTestId(valueDataTestSubj1)).toHaveTextContent('field1, value1 is uncommon'); + + const iconDataTestSubj2 = `${INSIGHTS_PREVALENCE_TEST_ID}${field2}Icon`; + const valueDataTestSubj2 = `${INSIGHTS_PREVALENCE_TEST_ID}${field2}Value`; + expect(queryByTestId(iconDataTestSubj2)).not.toBeInTheDocument(); + expect(queryByTestId(valueDataTestSubj2)).not.toBeInTheDocument(); }); it('should render null if eventId is null', () => { - (usePrevalence as jest.Mock).mockReturnValue([]); + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + }); + const contextValue = { + ...mockContextValue, + eventId: null, + } as unknown as RightPanelContext; - const { container } = render(renderPrevalenceOverview(panelContextValue(null, {}, []))); + const { container } = render(renderPrevalenceOverview(contextValue)); expect(container).toBeEmptyDOMElement(); }); it('should render null if browserFields is null', () => { - (usePrevalence as jest.Mock).mockReturnValue([]); + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + }); + const contextValue = { + ...mockContextValue, + browserFields: null, + }; - const { container } = render(renderPrevalenceOverview(panelContextValue('eventId', null, []))); + const { container } = render(renderPrevalenceOverview(contextValue)); expect(container).toBeEmptyDOMElement(); }); it('should render null if dataFormattedForFieldBrowser is null', () => { - (usePrevalence as jest.Mock).mockReturnValue([]); + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + }); + const contextValue = { + ...mockContextValue, + dataFormattedForFieldBrowser: null, + }; - const { container } = render(renderPrevalenceOverview(panelContextValue('eventId', {}, null))); + const { container } = render(renderPrevalenceOverview(contextValue)); expect(container).toBeEmptyDOMElement(); }); it('should navigate to left section Insights tab when clicking on button', () => { - (useFetchFieldValuePairWithAggregation as jest.Mock).mockReturnValue({ + (usePrevalence as jest.Mock).mockReturnValue({ loading: false, error: false, - count: 1, + data: [ + { + field: 'field1', + value: 'value1', + alertCount: 1, + docCount: 1, + hostPrevalence: 0.05, + userPrevalence: 0.1, + }, + ], }); - (useFetchUniqueByField as jest.Mock).mockReturnValue({ - loading: false, - error: false, - count: 10, - }); - (usePrevalence as jest.Mock).mockReturnValue([ - , - ]); - const flyoutContextValue = { - openLeftPanel: jest.fn(), - } as unknown as ExpandableFlyoutContext; - - const { getByTestId } = render( - - - - - - - - ); + + const { getByTestId } = render(renderPrevalenceOverview()); getByTestId(TITLE_LINK_TEST_ID).click(); expect(flyoutContextValue.openLeftPanel).toHaveBeenCalledWith({ @@ -166,7 +201,7 @@ describe('', () => { path: { tab: LeftPanelInsightsTab, subTab: PREVALENCE_TAB_ID }, params: { id: 'eventId', - indexName: 'indexName', + indexName: 'index', scopeId: 'scopeId', }, }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx index b017b4b9225a41..309925c21d98b7 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx @@ -6,21 +6,25 @@ */ import type { FC } from 'react'; -import React, { useCallback } from 'react'; +import React, { useCallback, useMemo } from 'react'; import { EuiFlexGroup } from '@elastic/eui'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; -import { usePrevalence } from '../hooks/use_prevalence'; +import { usePrevalence } from '../../shared/hooks/use_prevalence'; import { INSIGHTS_PREVALENCE_TEST_ID } from './test_ids'; import { useRightPanelContext } from '../context'; -import { PREVALENCE_TITLE } from './translations'; +import { PREVALENCE_NO_DATA, PREVALENCE_ROW_UNCOMMON, PREVALENCE_TITLE } from './translations'; import { LeftPanelKey, LeftPanelInsightsTab } from '../../left'; import { PREVALENCE_TAB_ID } from '../../left/components/prevalence_details'; +import { InsightsSummaryRow } from './insights_summary_row'; + +const PERCENTAGE_THRESHOLD = 0.1; // we show the prevalence if its value is below 10% +const DEFAULT_FROM = 'now-30d'; +const DEFAULT_TO = 'now'; /** * Prevalence section under Insights section, overview tab. - * The component fetches the necessary data, then pass it down to the InsightsSubSection component for loading and error state, - * and the SummaryPanel component for data rendering. + * The component fetches the necessary data at once. The loading and error states are handled by the ExpandablePanel component. */ export const PrevalenceOverview: FC = () => { const { @@ -48,14 +52,27 @@ export const PrevalenceOverview: FC = () => { }); }, [eventId, openLeftPanel, indexName, scopeId]); - const prevalenceRows = usePrevalence({ - eventId, - browserFields, + const { loading, error, data } = usePrevalence({ dataFormattedForFieldBrowser, investigationFields, - scopeId, + interval: { + from: DEFAULT_FROM, + to: DEFAULT_TO, + }, }); + // only show data if the host prevalence is below 10% + const uncommonData = useMemo( + () => + data.filter( + (d) => + isFinite(d.hostPrevalence) && + d.hostPrevalence > 0 && + d.hostPrevalence < PERCENTAGE_THRESHOLD + ), + [data] + ); + if (!eventId || !browserFields || !dataFormattedForFieldBrowser) { return null; } @@ -67,10 +84,21 @@ export const PrevalenceOverview: FC = () => { callback: goToCorrelationsTab, iconType: 'arrowStart', }} + content={{ loading, error }} data-test-subj={INSIGHTS_PREVALENCE_TEST_ID} > - {prevalenceRows} + {uncommonData.length > 0 ? ( + uncommonData.map((d) => ( + + )) + ) : ( +
{PREVALENCE_NO_DATA}
+ )}
); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview_row.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview_row.test.tsx deleted file mode 100644 index 6398a55b50cdda..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview_row.test.tsx +++ /dev/null @@ -1,108 +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 { render } from '@testing-library/react'; -import React from 'react'; -import { PrevalenceOverviewRow } from './prevalence_overview_row'; -import { useFetchFieldValuePairWithAggregation } from '../../shared/hooks/use_fetch_field_value_pair_with_aggregation'; -import { useFetchUniqueByField } from '../../shared/hooks/use_fetch_unique_by_field'; - -jest.mock('../../shared/hooks/use_fetch_field_value_pair_with_aggregation'); -jest.mock('../../shared/hooks/use_fetch_unique_by_field'); - -const highlightedField = { - name: 'field', - values: ['values'], -}; -const dataTestSubj = 'test'; -const iconDataTestSubj = 'testIcon'; -const valueDataTestSubj = 'testValue'; -const colorDataTestSubj = 'testColor'; -const loadingDataTestSubj = 'testLoading'; - -describe('', () => { - it('should display row if prevalence is below or equal threshold', () => { - (useFetchFieldValuePairWithAggregation as jest.Mock).mockReturnValue({ - loading: false, - error: false, - count: 1, - }); - (useFetchUniqueByField as jest.Mock).mockReturnValue({ - loading: false, - error: false, - count: 10, - }); - - const { getByTestId, getAllByText, queryByTestId } = render( - - ); - - const { name, values } = highlightedField; - - expect(getByTestId(iconDataTestSubj)).toBeInTheDocument(); - expect(getByTestId(valueDataTestSubj)).toBeInTheDocument(); - expect(getAllByText(`${name}, ${values} is uncommon`)).toHaveLength(1); - expect(queryByTestId(colorDataTestSubj)).not.toBeInTheDocument(); - }); - - it('should not display row if prevalence is higher than threshold', () => { - (useFetchFieldValuePairWithAggregation as jest.Mock).mockReturnValue({ - loading: false, - error: false, - count: 1, - }); - (useFetchUniqueByField as jest.Mock).mockReturnValue({ - loading: false, - error: false, - count: 2, - }); - - const { queryAllByAltText } = render( - - ); - - expect(queryAllByAltText('is uncommon')).toHaveLength(0); - }); - - it('should not display row if error retrieving data', () => { - (useFetchFieldValuePairWithAggregation as jest.Mock).mockReturnValue({ - loading: false, - error: true, - count: 0, - }); - (useFetchUniqueByField as jest.Mock).mockReturnValue({ - loading: false, - error: true, - count: 0, - }); - - const { queryAllByAltText } = render( - - ); - - expect(queryAllByAltText('is uncommon')).toHaveLength(0); - }); - - it('should display loading', () => { - (useFetchFieldValuePairWithAggregation as jest.Mock).mockReturnValue({ - loading: true, - error: false, - count: 1, - }); - (useFetchUniqueByField as jest.Mock).mockReturnValue({ - loading: false, - error: false, - count: 10, - }); - - const { getByTestId } = render( - - ); - - expect(getByTestId(loadingDataTestSubj)).toBeInTheDocument(); - }); -}); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview_row.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview_row.tsx deleted file mode 100644 index 12e44a42220db6..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview_row.tsx +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import type { VFC } from 'react'; -import React from 'react'; -import { PREVALENCE_ROW_UNCOMMON } from './translations'; -import { useFetchFieldValuePairWithAggregation } from '../../shared/hooks/use_fetch_field_value_pair_with_aggregation'; -import { useFetchUniqueByField } from '../../shared/hooks/use_fetch_unique_by_field'; -import { InsightsSummaryRow } from './insights_summary_row'; - -const HOST_FIELD = 'host.name'; -const PERCENTAGE_THRESHOLD = 0.1; // we show the prevalence if its value is below 10% - -export interface PrevalenceOverviewRowProps { - /** - * The highlighted field name and values - * */ - highlightedField: { name: string; values: string[] }; - /** - * Prefix data-test-subj because this component will be used in multiple places - */ - ['data-test-subj']?: string; -} - -/** - * Retrieves the unique hosts for the field/value pair as well as the total number of unique hosts, - * calculate the prevalence. If the prevalence is higher than 0.1, the row will render null. - */ -export const PrevalenceOverviewRow: VFC = ({ - highlightedField, - 'data-test-subj': dataTestSubj, -}) => { - const { - loading: hostsLoading, - error: hostsError, - count: hostsCount, - } = useFetchFieldValuePairWithAggregation({ - highlightedField, - aggregationField: HOST_FIELD, - }); - - const { - loading: uniqueHostsLoading, - error: uniqueHostsError, - count: uniqueHostsCount, - } = useFetchUniqueByField({ field: HOST_FIELD }); - - const { name, values } = highlightedField; - - // prevalence is number of host(s) where the field/value pair was found divided by the total number of hosts in the environment - const prevalence = hostsCount / uniqueHostsCount; - const loading = hostsLoading || uniqueHostsLoading; - const error = hostsError || uniqueHostsError; - const text = `${name}, ${values} ${PREVALENCE_ROW_UNCOMMON}`; - - // we do not want to render the row is the prevalence is Infinite, 0 or above the decided threshold - const shouldNotRender = - isFinite(prevalence) && (prevalence === 0 || prevalence > PERCENTAGE_THRESHOLD); - - return ( - - ); -}; - -PrevalenceOverviewRow.displayName = 'PrevalenceOverviewRow'; diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_same_source.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_same_source_event.test.tsx similarity index 100% rename from x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_same_source.test.tsx rename to x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_same_source_event.test.tsx diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.test.tsx new file mode 100644 index 00000000000000..585e8f02ace03a --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.test.tsx @@ -0,0 +1,54 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { + SUMMARY_ROW_ICON_TEST_ID, + SUMMARY_ROW_VALUE_TEST_ID, + INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID, + SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID, +} from './test_ids'; +import { SuppressedAlerts } from './suppressed_alerts'; + +const ICON_TEST_ID = SUMMARY_ROW_ICON_TEST_ID(INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID); +const VALUE_TEST_ID = SUMMARY_ROW_VALUE_TEST_ID(INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID); + +describe('', () => { + it('should render zero suppressed alert correctly', () => { + const { getByTestId } = render(); + + expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); + const value = getByTestId(VALUE_TEST_ID); + expect(value).toBeInTheDocument(); + expect(value).toHaveTextContent('0 suppressed alert'); + expect(getByTestId(VALUE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID)).toBeInTheDocument(); + }); + + it('should render single suppressed alert correctly', () => { + const { getByTestId } = render(); + + expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); + const value = getByTestId(VALUE_TEST_ID); + expect(value).toBeInTheDocument(); + expect(value).toHaveTextContent('1 suppressed alert'); + expect(getByTestId(VALUE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID)).toBeInTheDocument(); + }); + + it('should render multiple suppressed alerts row correctly', () => { + const { getByTestId } = render(); + + expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); + const value = getByTestId(VALUE_TEST_ID); + expect(value).toBeInTheDocument(); + expect(value).toHaveTextContent('2 suppressed alerts'); + expect(getByTestId(VALUE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID)).toBeInTheDocument(); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.tsx new file mode 100644 index 00000000000000..4732d43cadff9c --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.tsx @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { EuiFlexGroup, EuiFlexItem, EuiBetaBadge } from '@elastic/eui'; +import { + INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID, + SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID, +} from './test_ids'; +import { CORRELATIONS_SUPPRESSED_ALERTS } from '../../shared/translations'; +import { InsightsSummaryRow } from './insights_summary_row'; +import { SUPPRESSED_ALERTS_COUNT_TECHNICAL_PREVIEW } from '../../../common/components/event_details/insights/translations'; +import { TECHNICAL_PREVIEW_MESSAGE } from './translations'; + +export interface SuppressedAlertsProps { + /** + * Value of the kibana.alert.suppression.doc_count field + */ + alertSuppressionCount: number; +} + +/** + * Show related alerts by ancestry in summary row + */ +export const SuppressedAlerts: React.VFC = ({ alertSuppressionCount }) => { + return ( + + + + + + + + + ); +}; + +SuppressedAlerts.displayName = 'SuppressedAlerts'; diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/test_ids.ts b/x-pack/plugins/security_solution/public/flyout/right/components/test_ids.ts index be0ff9257c6a05..0d7bac7493e6ad 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/test_ids.ts +++ b/x-pack/plugins/security_solution/public/flyout/right/components/test_ids.ts @@ -63,8 +63,11 @@ export const HIGHLIGHTED_FIELDS_LINKED_CELL_TEST_ID = export const HIGHLIGHTED_FIELDS_AGENT_STATUS_CELL_TEST_ID = 'securitySolutionDocumentDetailsFlyoutHighlightedFieldsAgentStatusCell'; -export const INVESTIGATION_GUIDE_BUTTON_TEST_ID = - 'securitySolutionDocumentDetailsFlyoutInvestigationGuideButton'; +export const INVESTIGATION_GUIDE_TEST_ID = + 'securitySolutionDocumentDetailsFlyoutInvestigationGuide'; +export const INVESTIGATION_GUIDE_BUTTON_TEST_ID = `${INVESTIGATION_GUIDE_TEST_ID}Button`; +export const INVESTIGATION_GUIDE_LOADING_TEST_ID = `${INVESTIGATION_GUIDE_TEST_ID}Loading`; +export const INVESTIGATION_GUIDE_NO_DATA_TEST_ID = `${INVESTIGATION_GUIDE_TEST_ID}NoData`; /* Insights section */ @@ -103,6 +106,10 @@ export const INSIGHTS_THREAT_INTELLIGENCE_CONTAINER_TEST_ID = `${INSIGHTS_THREAT export const INSIGHTS_CORRELATIONS_TEST_ID = 'securitySolutionDocumentDetailsFlyoutInsightsCorrelations'; +export const INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID = + 'securitySolutionDocumentDetailsFlyoutInsightsCorrelationsSupressedAlerts'; +export const SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID = + 'securitySolutionDocumentDetailsFlyoutSupressedAlertsTechnicalPreview'; export const INSIGHTS_CORRELATIONS_RELATED_CASES_TEST_ID = 'securitySolutionDocumentDetailsFlyoutInsightsCorrelationsRelatedCases'; export const INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SESSION_TEST_ID = @@ -116,8 +123,6 @@ export const INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_ANCESTRY_TEST_ID = export const INSIGHTS_PREVALENCE_TEST_ID = 'securitySolutionDocumentDetailsFlyoutInsightsPrevalence'; -export const INSIGHTS_PREVALENCE_ROW_TEST_ID = - 'securitySolutionDocumentDetailsFlyoutInsightsPrevalenceRow'; /* Visualizations section */ diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts b/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts index 0f2268ff569ba7..24df07b0064012 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts +++ b/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts @@ -157,6 +157,11 @@ export const PREVALENCE_TITLE = i18n.translate( { defaultMessage: 'Prevalence' } ); +export const PREVALENCE_NO_DATA = i18n.translate( + 'xpack.securitySolution.flyout.documentDetails.prevalenceNoData', + { defaultMessage: 'No field/value pairs are uncommon' } +); + export const THREAT_MATCH_DETECTED = i18n.translate( 'xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatch', { @@ -214,12 +219,26 @@ export const SHARE = i18n.translate('xpack.securitySolution.flyout.documentDetai }); export const INVESTIGATION_GUIDE_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.investigationGuideText', + 'xpack.securitySolution.flyout.documentDetails.investigationGuideTitle', { defaultMessage: 'Investigation guide', } ); +export const INVESTIGATION_GUIDE_BUTTON = i18n.translate( + 'xpack.securitySolution.flyout.documentDetails.investigationGuideButton', + { + defaultMessage: 'Show investigation guide', + } +); + +export const INVESTIGATION_GUIDE_NO_DATA = i18n.translate( + 'xpack.securitySolution.flyout.documentDetails.investigationGuideNoData', + { + defaultMessage: 'An investigation guide has not been created for this rule.', + } +); + export const SESSION_PREVIEW_TITLE = i18n.translate( 'xpack.securitySolution.flyout.documentDetails.sessionPreview.title', { @@ -280,3 +299,11 @@ export const RESPONSE_TITLE = i18n.translate( export const RESPONSE_EMPTY = i18n.translate('xpack.securitySolution.flyout.response.empty', { defaultMessage: 'There are no response actions defined for this event.', }); + +export const TECHNICAL_PREVIEW_MESSAGE = i18n.translate( + 'xpack.securitySolution.flyout.documentDetails.technicalPreviewMessage', + { + defaultMessage: + 'This functionality is in technical preview and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.', + } +); diff --git a/x-pack/plugins/security_solution/public/flyout/right/hooks/use_prevalence.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/hooks/use_prevalence.test.tsx deleted file mode 100644 index aff691037d435e..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/right/hooks/use_prevalence.test.tsx +++ /dev/null @@ -1,53 +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 { ReactElement } from 'react'; -import { getSummaryRows } from '../../../common/components/event_details/get_alert_summary_rows'; -import { usePrevalence } from './use_prevalence'; -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; -import { mockDataFormattedForFieldBrowser } from '../mocks/mock_context'; - -jest.mock('../../../common/components/event_details/get_alert_summary_rows'); - -const eventId = 'eventId'; -const browserFields = null; -const dataFormattedForFieldBrowser = mockDataFormattedForFieldBrowser; -const scopeId = 'scopeId'; - -describe('usePrevalence', () => { - let hookResult: RenderHookResult; - - it('should return 1 row to render', () => { - const mockSummaryRow = { - title: 'test', - description: { - data: { - field: 'field', - }, - values: ['value'], - }, - }; - (getSummaryRows as jest.Mock).mockReturnValue([mockSummaryRow]); - - hookResult = renderHook(() => - usePrevalence({ browserFields, dataFormattedForFieldBrowser, eventId, scopeId }) - ); - - expect(hookResult.result.current.length).toEqual(1); - }); - - it('should return empty true', () => { - (getSummaryRows as jest.Mock).mockReturnValue([]); - - hookResult = renderHook(() => - usePrevalence({ browserFields, dataFormattedForFieldBrowser, eventId, scopeId }) - ); - - expect(hookResult.result.current.length).toEqual(0); - }); -}); diff --git a/x-pack/plugins/security_solution/public/flyout/right/hooks/use_prevalence.tsx b/x-pack/plugins/security_solution/public/flyout/right/hooks/use_prevalence.tsx deleted file mode 100644 index 5121e166e9a73b..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/right/hooks/use_prevalence.tsx +++ /dev/null @@ -1,83 +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 { BrowserFields, TimelineEventsDetailsItem } from '@kbn/timelines-plugin/common'; -import type { ReactElement } from 'react'; -import React, { useMemo } from 'react'; -import { getSummaryRows } from '../../../common/components/event_details/get_alert_summary_rows'; -import { PrevalenceOverviewRow } from '../components/prevalence_overview_row'; -import { INSIGHTS_PREVALENCE_ROW_TEST_ID } from '../components/test_ids'; - -export interface UsePrevalenceParams { - /** - * Id of the document - */ - eventId: string; - /** - * An object containing fields by type - */ - browserFields: BrowserFields | null; - /** - * An array of field objects with category and value - */ - dataFormattedForFieldBrowser: TimelineEventsDetailsItem[] | null; - /** - * Maintain backwards compatibility // TODO remove when possible - */ - scopeId: string; - /** - * User defined fields to highlight (defined on rule) - */ - investigationFields?: string[]; -} - -/** - * This hook retrieves the highlighted fields from the {@link getSummaryRows} method, then iterates through them - * and generate a {@link PrevalenceOverviewRow} for each. - * We use a callback method passed down to the {@link PrevalenceOverviewRow} component to know when it's rendered as null. - * We need to let the parent know when all the {@link PrevalenceOverviewRow} are null, so it can hide then entire section. - */ -export const usePrevalence = ({ - eventId, - browserFields, - dataFormattedForFieldBrowser, - investigationFields, - scopeId, -}: UsePrevalenceParams): ReactElement[] => { - // retrieves the highlighted fields - const summaryRows = useMemo( - () => - getSummaryRows({ - browserFields: browserFields || {}, - data: dataFormattedForFieldBrowser || [], - investigationFields: investigationFields || [], - eventId, - scopeId, - isReadOnly: false, - }), - [browserFields, investigationFields, dataFormattedForFieldBrowser, eventId, scopeId] - ); - - return useMemo( - () => - summaryRows.map((row) => { - const highlightedField = { - name: row.description.data.field, - values: row.description.values || [], - }; - - return ( - - ); - }), - [summaryRows] - ); -}; diff --git a/x-pack/plugins/security_solution/public/flyout/right/index.tsx b/x-pack/plugins/security_solution/public/flyout/right/index.tsx index 1af4450b921ab2..5ed6e6a6f357f1 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/index.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/index.tsx @@ -9,7 +9,7 @@ import type { FC } from 'react'; import React, { memo, useMemo } from 'react'; import type { FlyoutPanelProps, PanelPath } from '@kbn/expandable-flyout'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; -import { EventKind } from '../shared/hooks/use_fetch_field_value_pair_by_event_type'; +import { EventKind } from '../shared/constants/event_kinds'; import { getField } from '../shared/utils'; import { useRightPanelContext } from './context'; import { PanelHeader } from './header'; diff --git a/x-pack/plugins/security_solution/public/flyout/right/mocks/mock_context.ts b/x-pack/plugins/security_solution/public/flyout/right/mocks/mock_context.ts index cdc058569d9d3a..c90a286d1dd97a 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/mocks/mock_context.ts +++ b/x-pack/plugins/security_solution/public/flyout/right/mocks/mock_context.ts @@ -5,7 +5,12 @@ * 2.0. */ -import { ALERT_REASON, ALERT_RISK_SCORE, ALERT_SEVERITY } from '@kbn/rule-data-utils'; +import { + ALERT_REASON, + ALERT_RISK_SCORE, + ALERT_SEVERITY, + ALERT_SUPPRESSION_DOCS_COUNT, +} from '@kbn/rule-data-utils'; /** * Returns mocked data for field (mock this method: x-pack/plugins/security_solution/public/common/hooks/use_get_fields_data.ts) @@ -24,6 +29,8 @@ export const mockGetFieldsData = (field: string): string[] => { return ['user1']; case ALERT_REASON: return ['reason']; + case ALERT_SUPPRESSION_DOCS_COUNT: + return ['1']; default: return []; } diff --git a/x-pack/plugins/security_solution/public/flyout/right/mocks/mock_right_panel_context.ts b/x-pack/plugins/security_solution/public/flyout/right/mocks/mock_right_panel_context.ts index e7593b1eea9e9a..38b69703356c05 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/mocks/mock_right_panel_context.ts +++ b/x-pack/plugins/security_solution/public/flyout/right/mocks/mock_right_panel_context.ts @@ -17,7 +17,7 @@ export const mockContextValue: RightPanelContext = { scopeId: 'scopeId', getFieldsData: mockGetFieldsData, dataFormattedForFieldBrowser: mockDataFormattedForFieldBrowser, - browserFields: null, + browserFields: {}, dataAsNestedObject: null, searchHit: undefined, investigationFields: [], diff --git a/x-pack/plugins/security_solution/public/flyout/shared/components/expandable_panel.tsx b/x-pack/plugins/security_solution/public/flyout/shared/components/expandable_panel.tsx index 1f3ca141ee2310..1de328f5c44b60 100644 --- a/x-pack/plugins/security_solution/public/flyout/shared/components/expandable_panel.tsx +++ b/x-pack/plugins/security_solution/public/flyout/shared/components/expandable_panel.tsx @@ -19,6 +19,7 @@ import { EuiLoadingSpinner, useEuiTheme, } from '@elastic/eui'; +import type { IconType } from '@elastic/eui'; import { css } from '@emotion/react'; export interface ExpandablePanelPanelProps { @@ -26,7 +27,7 @@ export interface ExpandablePanelPanelProps { /** * String value of the title to be displayed in the header of panel */ - title: string; + title: string | React.ReactNode; /** * Callback function to be called when the title is clicked */ @@ -34,9 +35,9 @@ export interface ExpandablePanelPanelProps { /** * Icon string for displaying the specified icon in the header */ - iconType: string; + iconType: IconType; /** - * Optional content and actions to be displayed on the right side of header + * Optional content and actions to be displayed next to header or on the right side of header */ headerContent?: React.ReactNode; }; @@ -106,7 +107,7 @@ export const ExpandablePanel: React.FC = ({ const headerLeftSection = useMemo( () => ( - + { - let hookResult: RenderHookResult< - UseFetchFieldValuePairByEventTypeParams, - UseFetchFieldValuePairByEventTypeResult - >; - (useKibana as jest.Mock).mockReturnValue({ - services: { - data: { search: jest.fn() }, - }, - }); - - it('should return loading true while data is being fetched', () => { - (useQuery as jest.Mock).mockReturnValue({ - isLoading: true, - isError: false, - data: 0, - }); - - hookResult = renderHook(() => useFetchFieldValuePairByEventType({ highlightedField, type })); - - expect(hookResult.result.current.loading).toBeTruthy(); - expect(hookResult.result.current.error).toBeFalsy(); - expect(hookResult.result.current.count).toBe(0); - }); - - it('should return error true when data fetching has errored out', () => { - (useQuery as jest.Mock).mockReturnValue({ - isLoading: false, - isError: true, - data: 0, - }); - - hookResult = renderHook(() => useFetchFieldValuePairByEventType({ highlightedField, type })); - - expect(hookResult.result.current.loading).toBeFalsy(); - expect(hookResult.result.current.error).toBeTruthy(); - expect(hookResult.result.current.count).toBe(0); - }); - - it('should return count on success', () => { - (useQuery as jest.Mock).mockReturnValue({ - isLoading: false, - isError: false, - data: 1, - }); - - hookResult = renderHook(() => useFetchFieldValuePairByEventType({ highlightedField, type })); - - expect(hookResult.result.current.loading).toBeFalsy(); - expect(hookResult.result.current.error).toBeFalsy(); - expect(hookResult.result.current.count).toBe(1); - }); -}); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_field_value_pair_by_event_type.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_field_value_pair_by_event_type.ts deleted file mode 100644 index c1e52b90558e51..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_field_value_pair_by_event_type.ts +++ /dev/null @@ -1,167 +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 { buildEsQuery } from '@kbn/es-query'; -import type { IEsSearchRequest } from '@kbn/data-plugin/public'; -import { useQuery } from '@tanstack/react-query'; -import { createFetchData } from '../utils/fetch_data'; -import { useKibana } from '../../../common/lib/kibana'; -import type { RawResponse } from '../utils/fetch_data'; - -const QUERY_KEY = 'FetchFieldValuePairByEventType'; -const DEFAULT_FROM = 'now-30d'; -const DEFAULT_TO = 'now'; - -export enum EventKind { - alert = 'alert', - asset = 'asset', - enrichment = 'enrichment', - event = 'event', - metric = 'metric', - state = 'state', - pipeline_error = 'pipeline_error', - signal = 'signal', -} - -export interface EventType { - eventKind: EventKind; - include?: boolean; - exclude?: boolean; -} - -export interface UseFetchFieldValuePairByEventTypeParams { - /** - * The highlighted field name and values - * */ - highlightedField: { name: string; values: string[] }; - /** - * Limit the search to include or exclude a specific value for the event.kind field - * (alert, asset, enrichment, event, metric, state, pipeline_error, signal) - */ - type: EventType; -} - -export interface UseFetchFieldValuePairByEventTypeResult { - /** - * Returns true if data is being loaded - */ - loading: boolean; - /** - * Returns true if fetching data has errored out - */ - error: boolean; - /** - * Number of unique hosts found for the field/value pair - */ - count: number; -} - -/** - * Hook to retrieve all the unique hosts in the environment that have the field/value pair, using ReactQuery. - */ -export const useFetchFieldValuePairByEventType = ({ - highlightedField, - type, -}: UseFetchFieldValuePairByEventTypeParams): UseFetchFieldValuePairByEventTypeResult => { - const { - services: { - data: { search: searchService }, - }, - } = useKibana(); - - const { from, to } = { from: DEFAULT_FROM, to: DEFAULT_TO }; - - const { name, values } = highlightedField; - - const req: IEsSearchRequest = buildSearchRequest(name, values, from, to, type); - - const { data, isLoading, isError } = useQuery( - [QUERY_KEY, name, values, from, to, type], - () => createFetchData(searchService, req), - { - select: (res) => res.hits.total, - keepPreviousData: true, - } - ); - - return { - loading: isLoading, - error: isError, - count: data || 0, - }; -}; - -/** - * Build the search request for the field/values pair, for a date range from/to. - * We set the size to 0 as we only care about the total number of documents. - * Passing signalEventKind as true will return only alerts (event.kind === "signal"), otherwise return all other documents (event.kind !== "signal") - */ -const buildSearchRequest = ( - field: string, - values: string[], - from: string, - to: string, - type: EventType -): IEsSearchRequest => { - const query = buildEsQuery( - undefined, - [], - [ - { - query: { - bool: { - must: [ - { - match: { - [field]: values[0], - }, - }, - { - range: { - '@timestamp': { - gte: from, - lte: to, - }, - }, - }, - ...(type.include - ? [ - { - match: { - 'event.kind': type.eventKind, - }, - }, - ] - : []), - ], - ...(type.exclude - ? { - must_not: [ - { - match: { - 'event.kind': type.eventKind, - }, - }, - ], - } - : {}), - }, - }, - meta: {}, - }, - ] - ); - - return { - params: { - body: { - query, - size: 1000, - }, - }, - }; -}; diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_field_value_pair_with_aggregation.test.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_field_value_pair_with_aggregation.test.ts deleted file mode 100644 index 7de92d29cc17e4..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_field_value_pair_with_aggregation.test.ts +++ /dev/null @@ -1,94 +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 { useQuery } from '@tanstack/react-query'; -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; -import { useKibana } from '../../../common/lib/kibana'; -import type { - UseFetchFieldValuePairWithAggregationParams, - UseFetchFieldValuePairWithAggregationResult, -} from './use_fetch_field_value_pair_with_aggregation'; -import { useFetchFieldValuePairWithAggregation } from './use_fetch_field_value_pair_with_aggregation'; - -jest.mock('@tanstack/react-query'); -jest.mock('../../../common/lib/kibana'); - -const highlightedField = { - name: 'field', - values: ['values'], -}; -const aggregationField = 'aggregationField'; - -describe('useFetchFieldValuePairWithAggregation', () => { - let hookResult: RenderHookResult< - UseFetchFieldValuePairWithAggregationParams, - UseFetchFieldValuePairWithAggregationResult - >; - (useKibana as jest.Mock).mockReturnValue({ - services: { - data: { search: jest.fn() }, - }, - }); - - it('should return loading true while data is being fetched', () => { - (useQuery as jest.Mock).mockReturnValue({ - isLoading: true, - isError: false, - data: 0, - }); - - hookResult = renderHook(() => - useFetchFieldValuePairWithAggregation({ - highlightedField, - aggregationField, - }) - ); - - expect(hookResult.result.current.loading).toBeTruthy(); - expect(hookResult.result.current.error).toBeFalsy(); - expect(hookResult.result.current.count).toBe(0); - }); - - it('should return error true when data fetching has errored out', () => { - (useQuery as jest.Mock).mockReturnValue({ - isLoading: false, - isError: true, - data: 0, - }); - - hookResult = renderHook(() => - useFetchFieldValuePairWithAggregation({ - highlightedField, - aggregationField, - }) - ); - - expect(hookResult.result.current.loading).toBeFalsy(); - expect(hookResult.result.current.error).toBeTruthy(); - expect(hookResult.result.current.count).toBe(0); - }); - - it('should return count on success', () => { - (useQuery as jest.Mock).mockReturnValue({ - isLoading: false, - isError: false, - data: 1, - }); - - hookResult = renderHook(() => - useFetchFieldValuePairWithAggregation({ - highlightedField, - aggregationField, - }) - ); - - expect(hookResult.result.current.loading).toBeFalsy(); - expect(hookResult.result.current.error).toBeFalsy(); - expect(hookResult.result.current.count).toBe(1); - }); -}); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_field_value_pair_with_aggregation.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_field_value_pair_with_aggregation.ts deleted file mode 100644 index 16be9931db1f3d..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_field_value_pair_with_aggregation.ts +++ /dev/null @@ -1,122 +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 { buildEsQuery } from '@kbn/es-query'; -import type { IEsSearchRequest } from '@kbn/data-plugin/public'; -import { useQuery } from '@tanstack/react-query'; -import { buildAggregationSearchRequest } from '../utils/build_requests'; -import type { RawAggregatedDataResponse } from '../utils/fetch_data'; -import { AGG_KEY, createFetchData } from '../utils/fetch_data'; -import { useKibana } from '../../../common/lib/kibana'; - -const QUERY_KEY = 'useFetchFieldValuePairWithAggregation'; -const DEFAULT_FROM = 'now-30d'; -const DEFAULT_TO = 'now'; - -export interface UseFetchFieldValuePairWithAggregationParams { - /** - * The highlighted field name and values - * */ - highlightedField: { name: string; values: string[] }; - /** - * Field to aggregate value by - */ - aggregationField: string; -} - -export interface UseFetchFieldValuePairWithAggregationResult { - /** - * Returns true if data is being loaded - */ - loading: boolean; - /** - * Returns true if fetching data has errored out - */ - error: boolean; - /** - * Number of unique hosts found for the field/value pair - */ - count: number; -} - -/** - * Hook to retrieve all the unique documents for the aggregationField in the environment that have the field/value pair, using ReactQuery. - * - * Foe example, passing 'host.name' via the aggregationField props will return the number of unique hosts in the environment that have the field/value pair. - */ -export const useFetchFieldValuePairWithAggregation = ({ - highlightedField, - aggregationField, -}: UseFetchFieldValuePairWithAggregationParams): UseFetchFieldValuePairWithAggregationResult => { - const { - services: { - data: { search: searchService }, - }, - } = useKibana(); - - const { from, to } = { from: DEFAULT_FROM, to: DEFAULT_TO }; - const { name, values } = highlightedField; - - const searchRequest = buildSearchRequest(name, values, from, to, aggregationField); - - const { data, isLoading, isError } = useQuery( - [QUERY_KEY, name, values, from, to, aggregationField], - () => createFetchData(searchService, searchRequest), - { - select: (res) => res.aggregations[AGG_KEY].buckets.length, - keepPreviousData: true, - } - ); - - return { - loading: isLoading, - error: isError, - count: data || 0, - }; -}; - -/** - * Build the search request for the field/values pair, for a date range from/to. - * The request contains aggregation by aggregationField. - */ -const buildSearchRequest = ( - field: string, - values: string[], - from: string, - to: string, - aggregationField: string -): IEsSearchRequest => { - const query = buildEsQuery( - undefined, - [], - [ - { - query: { - bool: { - filter: [ - { - match: { - [field]: values[0], - }, - }, - { - range: { - '@timestamp': { - gte: from, - lte: to, - }, - }, - }, - ], - }, - }, - meta: {}, - }, - ] - ); - return buildAggregationSearchRequest(aggregationField, AGG_KEY, query); -}; diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_prevalence.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_prevalence.ts new file mode 100644 index 00000000000000..804784728c3f7b --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_prevalence.ts @@ -0,0 +1,203 @@ +/* + * Copyright 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 { buildEsQuery } from '@kbn/es-query'; +import type { IEsSearchRequest } from '@kbn/data-plugin/public'; +import { useQuery } from '@tanstack/react-query'; +import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/types'; +import { createFetchData } from '../utils/fetch_data'; +import { useKibana } from '../../../common/lib/kibana'; + +const QUERY_KEY = 'useFetchFieldValuePairWithAggregation'; + +export const FIELD_NAMES_AGG_KEY = 'fieldNames'; +export const EVENT_KIND_AGG_KEY = 'eventKind'; +export const HOST_NAME_AGG_KEY = 'hostName'; +export const USER_NAME_AGG_KEY = 'userName'; +export const HOSTS_AGG_KEY = 'hosts'; +export const USERS_AGG_KEY = 'users'; + +export interface AggregationValue { + doc_count: number; + key: string; +} + +/** + * Interface for a specific aggregation schema with nested aggregations, used in the prevalence components + */ +export interface RawAggregatedDataResponse { + aggregations: { + [FIELD_NAMES_AGG_KEY]: { + buckets: { + [key: string]: { + eventKind: { buckets: AggregationValue[] }; + hostName: { value: number }; + userName: { value: number }; + }; + }; + }; + [HOSTS_AGG_KEY]: { + value: number; + }; + [USERS_AGG_KEY]: { + value: number; + }; + }; +} + +export interface UseFetchPrevalenceParams { + /** + * The highlighted field name and values, already formatted for the query + * */ + highlightedFieldsFilters: Record; + /** + * The from and to values for the query + */ + interval: { from: string; to: string }; +} + +export interface UseFetchPrevalenceResult { + /** + * Returns true if data is being loaded + */ + loading: boolean; + /** + * Returns true if fetching data has errored out + */ + error: boolean; + /** + * Returns the prevalence raw aggregated data + */ + data: RawAggregatedDataResponse | undefined; +} + +/** + * Hook to fetch prevalence data for both the PrevalenceDetails and PrevalenceOverview components. + * Here's how we fetch the data: + * - the query filter is just limiting to the from/to datetime range + * - we do 3 top level aggregations: + * - one for each field/value pairs + * - one for all the unique hosts in the environment + * - one for all the unique users in the environment + * For each field/value pair aggregated, we do 3 sub aggregations: + * - one to retrieve the unique hosts which have the field/value pair + * - one to retrieve the unique users which have the field/value pair + * - one to retrieve how many documents are of the different type of event.kind + * All of these values are then used to calculate the alert count, document count, host and user prevalence values. + */ +export const useFetchPrevalence = ({ + highlightedFieldsFilters, + interval: { from, to }, +}: UseFetchPrevalenceParams): UseFetchPrevalenceResult => { + const { + services: { + data: { search: searchService }, + }, + } = useKibana(); + + const searchRequest = buildSearchRequest(highlightedFieldsFilters, from, to); + + const { data, isLoading, isError } = useQuery( + [QUERY_KEY, highlightedFieldsFilters, from, to], + () => createFetchData(searchService, searchRequest) + ); + + return { + loading: isLoading, + error: isError, + data, + }; +}; + +/** + * Build the search request for the field/values pair, for a date range from/to. + * The request contains aggregation by aggregationField. + */ +const buildSearchRequest = ( + highlightedFieldsFilters: Record, + from: string, + to: string +): IEsSearchRequest => { + const query = buildEsQuery( + undefined, + [], + [ + { + query: { + bool: { + filter: [ + { + range: { + '@timestamp': { + gte: from, + lte: to, + }, + }, + }, + ], + }, + }, + meta: {}, + }, + ] + ); + + return buildAggregationSearchRequest(query, highlightedFieldsFilters); +}; + +const buildAggregationSearchRequest = ( + query: QueryDslQueryContainer, + highlightedFieldsFilters: Record +): IEsSearchRequest => ({ + params: { + body: { + query, + aggs: { + // with this aggregation, we can in a single call retrieve all the values for each field/value pairs + [FIELD_NAMES_AGG_KEY]: { + filters: { + filters: highlightedFieldsFilters, + }, + aggs: { + // this sub aggregation allows us to retrieve all the hosts which have the field/value pair + [HOST_NAME_AGG_KEY]: { + cardinality: { + field: 'host.name', + }, + }, + // this sub aggregation allows us to retrieve all the users which have the field/value pair + [USER_NAME_AGG_KEY]: { + cardinality: { + field: 'user.name', + }, + }, + // we use this sub aggregation to differentiate between alerts (event.kind === 'signal') and documents (event.kind !== 'signal') + [EVENT_KIND_AGG_KEY]: { + terms: { + field: 'event.kind', + size: 10, // there should be only 8 different value for the event.kind field + }, + }, + }, + }, + // retrieve all the unique hosts in the environment + [HOSTS_AGG_KEY]: { + cardinality: { + field: 'host.name', + }, + }, + // retrieve all the unique users in the environment + [USERS_AGG_KEY]: { + cardinality: { + field: 'user.name', + }, + }, + }, + size: 0, + }, + }, +}); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_unique_by_field.test.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_unique_by_field.test.ts deleted file mode 100644 index 556ff4ecb6164b..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_unique_by_field.test.ts +++ /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 { useQuery } from '@tanstack/react-query'; -import type { RenderHookResult } from '@testing-library/react-hooks'; -import { renderHook } from '@testing-library/react-hooks'; -import { useKibana } from '../../../common/lib/kibana'; -import type { - UseFetchUniqueByFieldParams, - UseFetchUniqueByFieldValue, -} from './use_fetch_unique_by_field'; -import { useFetchUniqueByField } from './use_fetch_unique_by_field'; - -jest.mock('@tanstack/react-query'); -jest.mock('../../../common/lib/kibana'); - -const field = 'host.name'; - -describe('useFetchUniqueByField', () => { - let hookResult: RenderHookResult; - (useKibana as jest.Mock).mockReturnValue({ - services: { - data: { search: jest.fn() }, - }, - }); - - it('should return loading true while data is being fetched', () => { - (useQuery as jest.Mock).mockReturnValue({ - isLoading: true, - isError: false, - data: 0, - }); - - hookResult = renderHook(() => useFetchUniqueByField({ field })); - - expect(hookResult.result.current.loading).toBeTruthy(); - expect(hookResult.result.current.error).toBeFalsy(); - expect(hookResult.result.current.count).toBe(0); - }); - - it('should return error true when data fetching has errored out', () => { - (useQuery as jest.Mock).mockReturnValue({ - isLoading: false, - isError: true, - data: 0, - }); - - hookResult = renderHook(() => useFetchUniqueByField({ field })); - - expect(hookResult.result.current.loading).toBeFalsy(); - expect(hookResult.result.current.error).toBeTruthy(); - expect(hookResult.result.current.count).toBe(0); - }); - - it('should return count on success', () => { - (useQuery as jest.Mock).mockReturnValue({ - isLoading: false, - isError: false, - data: 1, - }); - - hookResult = renderHook(() => useFetchUniqueByField({ field })); - - expect(hookResult.result.current.loading).toBeFalsy(); - expect(hookResult.result.current.error).toBeFalsy(); - expect(hookResult.result.current.count).toBe(1); - }); -}); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_unique_by_field.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_unique_by_field.ts deleted file mode 100644 index 74ef08f7a7f285..00000000000000 --- a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_fetch_unique_by_field.ts +++ /dev/null @@ -1,67 +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 { useQuery } from '@tanstack/react-query'; -import type { IEsSearchRequest } from '@kbn/data-plugin/common'; -import type { RawAggregatedDataResponse } from '../utils/fetch_data'; -import { AGG_KEY, createFetchData } from '../utils/fetch_data'; -import { useKibana } from '../../../common/lib/kibana'; -import { buildAggregationSearchRequest } from '../utils/build_requests'; - -const QUERY_KEY = 'useFetchUniqueByField'; - -export interface UseFetchUniqueByFieldParams { - /** - * Field to aggregate by - */ - field: string; -} - -export interface UseFetchUniqueByFieldValue { - /** - * Returns true if data is being loaded - */ - loading: boolean; - /** - * Returns true if fetching data has errored out - */ - error: boolean; - /** - * Number of unique document by field found in the environment - */ - count: number; -} - -/** - * Hook to retrieve all unique documents by field in the environment, using ReactQuery. - * - * For example, passing 'host.name' via the field props will return the number of unique hosts in the environment. - */ -export const useFetchUniqueByField = ({ - field, -}: UseFetchUniqueByFieldParams): UseFetchUniqueByFieldValue => { - const { - services: { - data: { search: searchService }, - }, - } = useKibana(); - const searchRequest: IEsSearchRequest = buildAggregationSearchRequest(field, AGG_KEY); - const { data, isLoading, isError } = useQuery( - [QUERY_KEY, field], - () => createFetchData(searchService, searchRequest), - { - select: (res) => res.aggregations[AGG_KEY].buckets.length, - keepPreviousData: true, - } - ); - - return { - loading: isLoading, - error: isError, - count: data || 0, - }; -}; diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_highlighted_fields.test.tsx b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_highlighted_fields.test.tsx new file mode 100644 index 00000000000000..77890fbd96f4bf --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_highlighted_fields.test.tsx @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { renderHook } from '@testing-library/react-hooks'; + +import { mockDataFormattedForFieldBrowser } from '../mocks/mock_context'; +import { useHighlightedFields } from './use_highlighted_fields'; + +const dataFormattedForFieldBrowser = mockDataFormattedForFieldBrowser; + +describe('useHighlightedFields', () => { + it('should return data', () => { + const hookResult = renderHook(() => useHighlightedFields({ dataFormattedForFieldBrowser })); + expect(hookResult.result.current).toEqual({ + 'kibana.alert.rule.type': { + values: ['query'], + }, + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/right/hooks/use_highlighted_fields.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_highlighted_fields.ts similarity index 75% rename from x-pack/plugins/security_solution/public/flyout/right/hooks/use_highlighted_fields.ts rename to x-pack/plugins/security_solution/public/flyout/shared/hooks/use_highlighted_fields.ts index b9377a6ca85ac8..ab7de04a021ce3 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/hooks/use_highlighted_fields.ts +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_highlighted_fields.ts @@ -26,19 +26,15 @@ export interface UseHighlightedFieldsParams { } export interface UseHighlightedFieldsResult { - /** - * Highlighted field name (label or if null, falls back to id) - */ - field: string; - description: { + [fieldName: string]: { /** - * Highlighted field name (overrideField or if null, falls back to id) + * If the field has a custom override */ - field: string; + overrideField?: string; /** - * Highlighted field value + * Values for the field */ - values: string[] | null | undefined; + values: string[]; }; } @@ -48,8 +44,8 @@ export interface UseHighlightedFieldsResult { export const useHighlightedFields = ({ dataFormattedForFieldBrowser, investigationFields, -}: UseHighlightedFieldsParams): UseHighlightedFieldsResult[] => { - if (!dataFormattedForFieldBrowser) return []; +}: UseHighlightedFieldsParams): UseHighlightedFieldsResult => { + if (!dataFormattedForFieldBrowser) return {}; const eventCategories = getEventCategoriesFromData(dataFormattedForFieldBrowser); @@ -78,19 +74,26 @@ export const useHighlightedFields = ({ highlightedFieldsOverride: investigationFields ?? [], }); - return tableFields.reduce((acc, field) => { + return tableFields.reduce((acc, field) => { const item = dataFormattedForFieldBrowser.find( (data) => data.field === field.id || (field.legacyId && data.field === field.legacyId) ); - if (!item || isEmpty(item.values)) { + if (!item) { + return acc; + } + + // if there aren't any values we can skip this highlighted field + const fieldValues = item.values; + if (!fieldValues || isEmpty(fieldValues)) { return acc; } - // If we found the data by its legacy id we swap the ids to display the correct one + // if we found the data by its legacy id we swap the ids to display the correct one if (item.field === field.legacyId) { field.id = field.legacyId; } + // if the field is agent.id and the event is not an endpoint event we skip it if ( field.id === 'agent.id' && !isAlertFromEndpointEvent({ data: dataFormattedForFieldBrowser }) @@ -98,15 +101,12 @@ export const useHighlightedFields = ({ return acc; } - return [ + return { ...acc, - { - field: field.label ?? field.id, - description: { - field: field.overrideField ?? field.id, - values: item.values, - }, + [field.id]: { + ...(field.overrideField && { overrideField: field.overrideField }), + values: fieldValues, }, - ]; - }, []); + }; + }, {}); }; diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_investigation_guide.test.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_investigation_guide.test.ts new file mode 100644 index 00000000000000..a60fae257a0b91 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_investigation_guide.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 { RenderHookResult } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react-hooks'; +import type { + UseInvestigationGuideParams, + UseInvestigationGuideResult, +} from './use_investigation_guide'; +import { useBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; +import { useRuleWithFallback } from '../../../detection_engine/rule_management/logic/use_rule_with_fallback'; +import { mockDataFormattedForFieldBrowser } from '../mocks/mock_context'; +import { useInvestigationGuide } from './use_investigation_guide'; + +jest.mock('../../../timelines/components/side_panel/event_details/helpers'); +jest.mock('../../../detection_engine/rule_management/logic/use_rule_with_fallback'); + +const dataFormattedForFieldBrowser = mockDataFormattedForFieldBrowser; + +describe('useInvestigationGuide', () => { + let hookResult: RenderHookResult; + + it('should return loading true', () => { + (useBasicDataFromDetailsData as jest.Mock).mockReturnValue({ ruleId: 'ruleId' }); + (useRuleWithFallback as jest.Mock).mockReturnValue({ loading: true }); + + hookResult = renderHook(() => useInvestigationGuide({ dataFormattedForFieldBrowser })); + + expect(hookResult.result.current.loading).toBeTruthy(); + }); + + it('should return error true', () => { + (useBasicDataFromDetailsData as jest.Mock).mockReturnValue({ ruleId: 'ruleId' }); + (useRuleWithFallback as jest.Mock).mockReturnValue({ error: true }); + + hookResult = renderHook(() => useInvestigationGuide({ dataFormattedForFieldBrowser })); + }); + + it('should return basicAlertData and ruleNote', () => { + (useBasicDataFromDetailsData as jest.Mock).mockReturnValue({ ruleId: 'ruleId' }); + (useRuleWithFallback as jest.Mock).mockReturnValue({ + loading: false, + error: false, + basicAlertsData: { ruleId: 'ruleId' }, + rule: { note: 'test note' }, + }); + + hookResult = renderHook(() => useInvestigationGuide({ dataFormattedForFieldBrowser })); + + expect(hookResult.result.current.loading).toBeFalsy(); + expect(hookResult.result.current.error).toBeFalsy(); + expect(hookResult.result.current.basicAlertData).toEqual({ ruleId: 'ruleId' }); + expect(hookResult.result.current.ruleNote).toEqual('test note'); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_investigation_guide.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_investigation_guide.ts new file mode 100644 index 00000000000000..66d2183ad64fe6 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_investigation_guide.ts @@ -0,0 +1,54 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TimelineEventsDetailsItem } from '@kbn/timelines-plugin/common'; +import type { GetBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; +import { useBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; +import { useRuleWithFallback } from '../../../detection_engine/rule_management/logic/use_rule_with_fallback'; + +export interface UseInvestigationGuideParams { + /** + * An array of field objects with category and value + */ + dataFormattedForFieldBrowser: TimelineEventsDetailsItem[] | null; +} + +export interface UseInvestigationGuideResult { + /** + * True if investigation guide data is loading + */ + loading: boolean; + /** + * True if investigation guide data is in error state + */ + error: unknown; + /** + * + */ + basicAlertData: GetBasicDataFromDetailsData; + /** + * + */ + ruleNote: string | undefined; +} + +/** + * Checks if the investigation guide data for a given rule is available to render + */ +export const useInvestigationGuide = ({ + dataFormattedForFieldBrowser, +}: UseInvestigationGuideParams): UseInvestigationGuideResult => { + const basicAlertData = useBasicDataFromDetailsData(dataFormattedForFieldBrowser); + const { loading, error, rule: maybeRule } = useRuleWithFallback(basicAlertData.ruleId); + + return { + loading, + error, + basicAlertData, + ruleNote: maybeRule?.note, + }; +}; diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_prevalence.test.tsx b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_prevalence.test.tsx new file mode 100644 index 00000000000000..5d7bccd74b4246 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_prevalence.test.tsx @@ -0,0 +1,135 @@ +/* + * Copyright 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 { renderHook } from '@testing-library/react-hooks'; + +import { usePrevalence } from './use_prevalence'; +import { mockDataFormattedForFieldBrowser } from '../mocks/mock_context'; +import { useHighlightedFields } from './use_highlighted_fields'; +import { + FIELD_NAMES_AGG_KEY, + HOSTS_AGG_KEY, + useFetchPrevalence, + USERS_AGG_KEY, +} from './use_fetch_prevalence'; + +jest.mock('./use_highlighted_fields'); +jest.mock('./use_fetch_prevalence'); + +const interval = { + from: 'now-30d', + to: 'now', +}; +const dataFormattedForFieldBrowser = mockDataFormattedForFieldBrowser; +const investigationFields = ['host.name', 'user.name']; + +describe('usePrevalence', () => { + it('should return loading true', () => { + (useHighlightedFields as jest.Mock).mockReturnValue({ + 'host.name': { + values: ['host-1'], + }, + }); + (useFetchPrevalence as jest.Mock).mockReturnValue({ + loading: true, + error: false, + data: undefined, + }); + + const hookResult = renderHook(() => + usePrevalence({ interval, dataFormattedForFieldBrowser, investigationFields }) + ); + + expect(hookResult.result.current.loading).toEqual(true); + expect(hookResult.result.current.error).toEqual(false); + expect(hookResult.result.current.data).toEqual([]); + }); + + it('should return error true', () => { + (useHighlightedFields as jest.Mock).mockReturnValue({ + 'host.name': { + values: ['host-1'], + }, + }); + (useFetchPrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: true, + data: undefined, + }); + + const hookResult = renderHook(() => + usePrevalence({ interval, dataFormattedForFieldBrowser, investigationFields }) + ); + + expect(hookResult.result.current.loading).toEqual(false); + expect(hookResult.result.current.error).toEqual(true); + expect(hookResult.result.current.data).toEqual([]); + }); + + it('should return data', () => { + (useHighlightedFields as jest.Mock).mockReturnValue({ + 'host.name': { + values: ['host-1'], + }, + }); + (useFetchPrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: { + aggregations: { + [FIELD_NAMES_AGG_KEY]: { + buckets: { + 'host.name': { + eventKind: { + buckets: [ + { + key: 'signal', + doc_count: 1, + }, + { + key: 'event', + doc_count: 1, + }, + ], + }, + hostName: { + value: 10, + }, + userName: { + value: 20, + }, + }, + }, + }, + [HOSTS_AGG_KEY]: { + value: 100, + }, + [USERS_AGG_KEY]: { + value: 200, + }, + }, + }, + }); + + const hookResult = renderHook(() => + usePrevalence({ interval, dataFormattedForFieldBrowser, investigationFields }) + ); + + expect(hookResult.result.current.loading).toEqual(false); + expect(hookResult.result.current.error).toEqual(false); + expect(hookResult.result.current.data).toEqual([ + { + field: 'host.name', + value: 'host-1', + alertCount: 1, + docCount: 1, + hostPrevalence: 0.1, + userPrevalence: 0.1, + }, + ]); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_prevalence.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_prevalence.ts new file mode 100644 index 00000000000000..a7b110f92e740e --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_prevalence.ts @@ -0,0 +1,148 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TimelineEventsDetailsItem } from '@kbn/timelines-plugin/common'; +import { isArray } from 'lodash/fp'; +import { useMemo } from 'react'; +import { useHighlightedFields } from './use_highlighted_fields'; +import { convertHighlightedFieldsToPrevalenceFilters } from '../utils/highlighted_fields_helpers'; +import type { AggregationValue } from './use_fetch_prevalence'; +import { + EVENT_KIND_AGG_KEY, + FIELD_NAMES_AGG_KEY, + HOST_NAME_AGG_KEY, + HOSTS_AGG_KEY, + useFetchPrevalence, + USER_NAME_AGG_KEY, + USERS_AGG_KEY, +} from './use_fetch_prevalence'; +import { EventKind } from '../constants/event_kinds'; + +export interface PrevalenceData { + field: string; + value: string; + alertCount: number; + docCount: number; + hostPrevalence: number; + userPrevalence: number; +} +export interface UsePrevalenceParams { + /** + * The from and to values for the query + */ + interval: { from: string; to: string }; + /** + * An array of field objects with category and value + */ + dataFormattedForFieldBrowser: TimelineEventsDetailsItem[] | null; + /** + * User defined fields to highlight (defined on the rule) + */ + investigationFields?: string[]; +} + +export interface UsePrevalenceResult { + /** + * Returns true if data is being loaded + */ + loading: boolean; + /** + * Returns true if fetching data has errored out + */ + error: boolean; + /** + * Returns the prevalence data formatted for the EuiInMemoryTable component + */ + data: PrevalenceData[]; +} + +/** + * Hook to fetch the prevalence data, then prepares the data to be consumed by the EuiInMemoryTable component + * in the PrevalenceDetails component + */ +export const usePrevalence = ({ + interval, + dataFormattedForFieldBrowser, + investigationFields, +}: UsePrevalenceParams): UsePrevalenceResult => { + const highlightedFields = useHighlightedFields({ + dataFormattedForFieldBrowser, + investigationFields, + }); + const highlightedFieldsFilters = useMemo( + () => convertHighlightedFieldsToPrevalenceFilters(highlightedFields), + [highlightedFields] + ); + const { data, loading, error } = useFetchPrevalence({ highlightedFieldsFilters, interval }); + + const items: PrevalenceData[] = []; + + if (data && data.aggregations) { + // total number of unique hosts in the environment + const uniqueHostsInEnvironment = data.aggregations[HOSTS_AGG_KEY].value; + + // total number of unique users in the environment + const uniqueUsersInEnvironment = data.aggregations[USERS_AGG_KEY].value; + + const fieldNames = Object.keys(data.aggregations[FIELD_NAMES_AGG_KEY].buckets); + + fieldNames.forEach((fieldName: string) => { + const fieldValue = highlightedFields[fieldName].values; + + // retrieves the number of signals for the current field/value pair + const alertCount = + data.aggregations[FIELD_NAMES_AGG_KEY].buckets[fieldName][EVENT_KIND_AGG_KEY].buckets.find( + (aggregationValue: AggregationValue) => aggregationValue.key === EventKind.signal + )?.doc_count || 0; + + // calculate the number of documents (non-signal) for the current field/value pair + let docCount = 0; + data.aggregations[FIELD_NAMES_AGG_KEY].buckets[fieldName][EVENT_KIND_AGG_KEY].buckets.reduce( + (acc, curr) => { + if (curr.key !== EventKind.signal) { + docCount += curr.doc_count; + } + return acc; + }, + docCount + ); + + // number of unique hosts in which the current field/value pair is present + const uniqueHostsForCurrentFieldValuePair = + data.aggregations[FIELD_NAMES_AGG_KEY].buckets[fieldName][HOST_NAME_AGG_KEY].value; + + // number of unique users in which the current field/value pair is present + const uniqueUsersForCurrentFieldValuePair = + data.aggregations[FIELD_NAMES_AGG_KEY].buckets[fieldName][USER_NAME_AGG_KEY].value; + + // calculate host prevalence + const hostPrevalence = uniqueHostsInEnvironment + ? uniqueHostsForCurrentFieldValuePair / uniqueHostsInEnvironment + : 0; + + // calculate user prevalence + const userPrevalence = uniqueUsersInEnvironment + ? uniqueUsersForCurrentFieldValuePair / uniqueUsersInEnvironment + : 0; + + items.push({ + field: fieldName, + value: isArray(fieldValue) ? fieldValue[0] : fieldValue, + alertCount, + docCount, + hostPrevalence, + userPrevalence, + }); + }); + } + + return { + loading, + error, + data: items, + }; +}; diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_show_suppressed_alerts.test.tsx b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_show_suppressed_alerts.test.tsx new file mode 100644 index 00000000000000..622f37a0997cfa --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_show_suppressed_alerts.test.tsx @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { RenderHookResult } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react-hooks'; +import type { + ShowSuppressedAlertsParams, + ShowSuppressedAlertsResult, +} from './use_show_suppressed_alerts'; +import { useShowSuppressedAlerts } from './use_show_suppressed_alerts'; + +describe('useShowSuppressedAlerts', () => { + let hookResult: RenderHookResult; + + it('should return false if getFieldsData returns null', () => { + const getFieldsData = () => null; + hookResult = renderHook(() => useShowSuppressedAlerts({ getFieldsData })); + + expect(hookResult.result.current).toEqual({ show: false, alertSuppressionCount: 0 }); + }); + + it('should return true if getFieldsData has the correct field', () => { + const getFieldsData = () => '2'; + hookResult = renderHook(() => useShowSuppressedAlerts({ getFieldsData })); + + expect(hookResult.result.current).toEqual({ show: true, alertSuppressionCount: 2 }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_show_suppressed_alerts.ts b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_show_suppressed_alerts.ts new file mode 100644 index 00000000000000..22ed0a0af84a7b --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/hooks/use_show_suppressed_alerts.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. + */ + +import { ALERT_SUPPRESSION_DOCS_COUNT } from '@kbn/rule-data-utils'; +import type { GetFieldsData } from '../../../common/hooks/use_get_fields_data'; + +export interface ShowSuppressedAlertsParams { + /** + * Retrieves searchHit values for the provided field + */ + getFieldsData: GetFieldsData; +} + +export interface ShowSuppressedAlertsResult { + /** + * Returns true if the document has kibana.alert.original_event.id field with values + */ + show: boolean; + /** + * Number of suppressed alerts + */ + alertSuppressionCount: number; +} + +/** + * Returns true if document has kibana.alert.suppression.docs_count field with values + */ +export const useShowSuppressedAlerts = ({ + getFieldsData, +}: ShowSuppressedAlertsParams): ShowSuppressedAlertsResult => { + const alertSuppressionField = getFieldsData(ALERT_SUPPRESSION_DOCS_COUNT); + const alertSuppressionCount = alertSuppressionField ? parseInt(alertSuppressionField[0], 10) : 0; + + return { + show: Boolean(alertSuppressionField), + alertSuppressionCount, + }; +}; diff --git a/x-pack/plugins/security_solution/public/flyout/shared/mocks/mock_context.ts b/x-pack/plugins/security_solution/public/flyout/shared/mocks/mock_context.ts index f1da095bfc1dc2..8280fb64df9275 100644 --- a/x-pack/plugins/security_solution/public/flyout/shared/mocks/mock_context.ts +++ b/x-pack/plugins/security_solution/public/flyout/shared/mocks/mock_context.ts @@ -88,4 +88,18 @@ export const mockDataFormattedForFieldBrowser = [ originalValue: ['process-entity_id'], isObjectArray: false, }, + { + category: 'event', + field: 'event.category', + values: ['registry'], + originalValue: ['registry'], + isObjectArray: false, + }, + { + category: 'kibana', + field: 'kibana.alert.rule.type', + values: ['query'], + originalValue: ['query'], + isObjectArray: false, + }, ]; diff --git a/x-pack/plugins/security_solution/public/flyout/shared/translations.ts b/x-pack/plugins/security_solution/public/flyout/shared/translations.ts index 26e6db71d3857e..b58e106cb26b1b 100644 --- a/x-pack/plugins/security_solution/public/flyout/shared/translations.ts +++ b/x-pack/plugins/security_solution/public/flyout/shared/translations.ts @@ -19,6 +19,12 @@ export const ERROR_MESSAGE = (message: string) => defaultMessage: 'There was an error displaying {message}', }); +export const CORRELATIONS_SUPPRESSED_ALERTS = (count: number) => + i18n.translate('xpack.securitySolution.flyout.documentDetails.correlations.suppressedAlerts', { + defaultMessage: 'suppressed {count, plural, =1 {alert} other {alerts}}', + values: { count }, + }); + export const CORRELATIONS_ANCESTRY_ALERTS = (count: number) => i18n.translate('xpack.securitySolution.flyout.documentDetails.correlations.ancestryAlerts', { defaultMessage: '{count, plural, one {alert} other {alerts}} related by ancestry', diff --git a/x-pack/plugins/security_solution/public/flyout/shared/utils/fetch_data.ts b/x-pack/plugins/security_solution/public/flyout/shared/utils/fetch_data.ts index 3fa079b539fc3c..08dfe620aff2bf 100644 --- a/x-pack/plugins/security_solution/public/flyout/shared/utils/fetch_data.ts +++ b/x-pack/plugins/security_solution/public/flyout/shared/utils/fetch_data.ts @@ -8,28 +8,6 @@ import type { IEsSearchRequest, IKibanaSearchResponse } from '@kbn/data-plugin/common'; import type { ISearchStart } from '@kbn/data-plugin/public'; -export const AGG_KEY = 'aggregation'; - -/** - * Interface for aggregation responses - */ -export interface RawAggregatedDataResponse { - aggregations: { - [AGG_KEY]: { - buckets: unknown[]; - }; - }; -} - -/** - * Interface for non-aggregated responses - */ -export interface RawResponse { - hits: { - total: number; - }; -} - /** * Reusable method that returns a promise wrapping the search functionality of Kibana search service */ diff --git a/x-pack/plugins/security_solution/public/flyout/shared/utils/highlighted_fields_helpers.test.ts b/x-pack/plugins/security_solution/public/flyout/shared/utils/highlighted_fields_helpers.test.ts new file mode 100644 index 00000000000000..f79a7a300eb3e9 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/utils/highlighted_fields_helpers.test.ts @@ -0,0 +1,65 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + convertHighlightedFieldsToPrevalenceFilters, + convertHighlightedFieldsToTableRow, +} from './highlighted_fields_helpers'; + +describe('convertHighlightedFieldsToTableRow', () => { + it('should convert highlighted fields to a table row', () => { + const highlightedFields = { + 'host.name': { + values: ['host-1'], + }, + }; + expect(convertHighlightedFieldsToTableRow(highlightedFields)).toEqual([ + { + field: 'host.name', + description: { + field: 'host.name', + values: ['host-1'], + }, + }, + ]); + }); + + it('should convert take override name over default name', () => { + const highlightedFields = { + 'host.name': { + overrideField: 'host.name-override', + values: ['host-1'], + }, + }; + expect(convertHighlightedFieldsToTableRow(highlightedFields)).toEqual([ + { + field: 'host.name-override', + description: { + field: 'host.name-override', + values: ['host-1'], + }, + }, + ]); + }); +}); + +describe('convertHighlightedFieldsToPrevalenceFilters', () => { + it('should convert highlighted fields to prevalence filters', () => { + const highlightedFields = { + 'host.name': { + values: ['host-1'], + }, + 'user.name': { + values: ['user-1'], + }, + }; + expect(convertHighlightedFieldsToPrevalenceFilters(highlightedFields)).toEqual({ + 'host.name': { match: { 'host.name': 'host-1' } }, + 'user.name': { match: { 'user.name': 'user-1' } }, + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/utils/highlighted_fields_helpers.ts b/x-pack/plugins/security_solution/public/flyout/shared/utils/highlighted_fields_helpers.ts new file mode 100644 index 00000000000000..d44ec666a27bc7 --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/shared/utils/highlighted_fields_helpers.ts @@ -0,0 +1,51 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/types'; +import type { UseHighlightedFieldsResult } from '../hooks/use_highlighted_fields'; +import type { HighlightedFieldsTableRow } from '../../right/components/highlighted_fields'; + +/** + * Converts the highlighted fields to a format that can be consumed by the HighlightedFields component + * @param highlightedFields + */ +export const convertHighlightedFieldsToTableRow = ( + highlightedFields: UseHighlightedFieldsResult +): HighlightedFieldsTableRow[] => { + const fieldNames = Object.keys(highlightedFields); + return fieldNames.map((fieldName) => { + const values = highlightedFields[fieldName].values; + const overrideFieldName = highlightedFields[fieldName].overrideField; + const field = overrideFieldName ? overrideFieldName : fieldName; + + return { + field, + description: { + field, + values, + }, + }; + }); +}; + +/** + * Converts the highlighted fields to a format that can be consumed by the prevalence query + * @param highlightedFields + */ +export const convertHighlightedFieldsToPrevalenceFilters = ( + highlightedFields: UseHighlightedFieldsResult +): Record => { + const fieldNames = Object.keys(highlightedFields); + return fieldNames.reduce((acc, curr) => { + const values = highlightedFields[curr].values; + + return { + ...acc, + [curr]: { match: { [curr]: Array.isArray(values) ? values[0] : values } }, + }; + }, []) as unknown as Record; +}; diff --git a/x-pack/plugins/security_solution/public/timelines/components/graph_overlay/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/graph_overlay/index.tsx index 5a888fccf7b129..7b686f1bbc113a 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/graph_overlay/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/graph_overlay/index.tsx @@ -50,6 +50,7 @@ const OverlayContainer = styled.div` `; const FullScreenOverlayStyles = css` + background-color: ${({ theme }) => `${theme.eui.euiColorEmptyShade};`} position: fixed; top: 0; bottom: 2em; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_installation/review_rule_installation_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_installation/review_rule_installation_route.ts index c93af68f9b9abf..c10ca16fe0874a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_installation/review_rule_installation_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_installation/review_rule_installation_route.ts @@ -9,17 +9,16 @@ import { transformError } from '@kbn/securitysolution-es-utils'; import { REVIEW_RULE_INSTALLATION_URL } from '../../../../../../common/api/detection_engine/prebuilt_rules'; import type { ReviewRuleInstallationResponseBody, - RuleInstallationInfoForReview, RuleInstallationStatsForReview, } from '../../../../../../common/api/detection_engine/prebuilt_rules'; import type { SecuritySolutionPluginRouter } from '../../../../../types'; import { buildSiemResponse } from '../../../routes/utils'; -import { convertRuleToDiffable } from '../../logic/diff/normalization/convert_rule_to_diffable'; import { createPrebuiltRuleAssetsClient } from '../../logic/rule_assets/prebuilt_rule_assets_client'; import { createPrebuiltRuleObjectsClient } from '../../logic/rule_objects/prebuilt_rule_objects_client'; import { fetchRuleVersionsTriad } from '../../logic/rule_versions/fetch_rule_versions_triad'; import type { PrebuiltRuleAsset } from '../../model/rule_assets/prebuilt_rule_asset'; import { getVersionBuckets } from '../../model/rule_versions/get_version_buckets'; +import { convertPrebuiltRuleAssetToRuleResponse } from '../../../rule_management/normalization/rule_converters'; export const reviewRuleInstallationRoute = (router: SecuritySolutionPluginRouter) => { router.versioned @@ -53,7 +52,9 @@ export const reviewRuleInstallationRoute = (router: SecuritySolutionPluginRouter const body: ReviewRuleInstallationResponseBody = { stats: calculateRuleStats(installableRules), - rules: calculateRuleInfos(installableRules), + rules: installableRules.map((prebuiltRuleAsset) => + convertPrebuiltRuleAssetToRuleResponse(prebuiltRuleAsset) + ), }; return response.ok({ body }); @@ -82,9 +83,3 @@ const calculateRuleStats = ( tags: tagsOfRulesToInstall, }; }; - -const calculateRuleInfos = ( - rulesToInstall: PrebuiltRuleAsset[] -): RuleInstallationInfoForReview[] => { - return rulesToInstall.map((rule) => convertRuleToDiffable(rule)); -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_upgrade/review_rule_upgrade_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_upgrade/review_rule_upgrade_route.ts index fc493509fe559c..a383cc2ad92a9b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_upgrade/review_rule_upgrade_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_upgrade/review_rule_upgrade_route.ts @@ -15,6 +15,7 @@ import type { ThreeWayDiff, } from '../../../../../../common/api/detection_engine/prebuilt_rules'; import { invariant } from '../../../../../../common/utils/invariant'; +import type { RuleResponse } from '../../../../../../common/api/detection_engine/model/rule_schema/rule_schemas'; import type { SecuritySolutionPluginRouter } from '../../../../../types'; import { buildSiemResponse } from '../../../routes/utils'; import type { CalculateRuleDiffResult } from '../../logic/diff/calculate_rule_diff'; @@ -23,6 +24,7 @@ import { createPrebuiltRuleAssetsClient } from '../../logic/rule_assets/prebuilt import { createPrebuiltRuleObjectsClient } from '../../logic/rule_objects/prebuilt_rule_objects_client'; import { fetchRuleVersionsTriad } from '../../logic/rule_versions/fetch_rule_versions_triad'; import { getVersionBuckets } from '../../model/rule_versions/get_version_buckets'; +import { convertPrebuiltRuleAssetToRuleResponse } from '../../../rule_management/normalization/rule_converters'; export const reviewRuleUpgradeRoute = (router: SecuritySolutionPluginRouter) => { router.versioned @@ -91,16 +93,21 @@ const calculateRuleInfos = (results: CalculateRuleDiffResult[]): RuleUpgradeInfo return results.map((result) => { const { ruleDiff, ruleVersions } = result; const installedCurrentVersion = ruleVersions.input.current; - const diffableCurrentVersion = ruleVersions.output.current; - const diffableTargetVersion = ruleVersions.output.target; + const targetVersion = ruleVersions.input.target; invariant(installedCurrentVersion != null, 'installedCurrentVersion not found'); + invariant(targetVersion != null, 'targetVersion not found'); + + const targetRule: RuleResponse = { + ...convertPrebuiltRuleAssetToRuleResponse(targetVersion), + id: installedCurrentVersion.id, + }; return { id: installedCurrentVersion.id, rule_id: installedCurrentVersion.rule_id, revision: installedCurrentVersion.revision, - rule: diffableCurrentVersion, - target_rule: diffableTargetVersion, + current_rule: installedCurrentVersion, + target_rule: targetRule, diff: { fields: pickBy>( ruleDiff.fields, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/normalization/rule_converters.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/normalization/rule_converters.ts index ecb379a1dcc2da..385fe889be40a8 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/normalization/rule_converters.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/normalization/rule_converters.ts @@ -8,7 +8,7 @@ import { v4 as uuidv4 } from 'uuid'; import { BadRequestError } from '@kbn/securitysolution-es-utils'; -import { validateNonExact } from '@kbn/securitysolution-io-ts-utils'; +import { validate, validateNonExact } from '@kbn/securitysolution-io-ts-utils'; import { ruleTypeMappings } from '@kbn/securitysolution-rules'; import type { ResolvedSanitizedRule, SanitizedRule } from '@kbn/alerting-plugin/common'; @@ -24,7 +24,6 @@ import type { RequiredFieldArray, SetupGuide, RuleCreateProps, - RuleResponse, TypeSpecificCreateProps, TypeSpecificResponse, } from '../../../../../common/api/detection_engine/model/rule_schema'; @@ -36,6 +35,7 @@ import { SavedQueryPatchParams, ThreatMatchPatchParams, ThresholdPatchParams, + RuleResponse, } from '../../../../../common/api/detection_engine/model/rule_schema'; import { @@ -76,6 +76,11 @@ import type { import { transformFromAlertThrottle, transformToActionFrequency } from './rule_actions'; import { convertAlertSuppressionToCamel, convertAlertSuppressionToSnake } from '../utils/utils'; import { createRuleExecutionSummary } from '../../rule_monitoring'; +import type { PrebuiltRuleAsset } from '../../prebuilt_rules'; + +const DEFAULT_FROM = 'now-6m' as const; +const DEFAULT_TO = 'now' as const; +const DEFAULT_INTERVAL = '5m' as const; // These functions provide conversions from the request API schema to the internal rule schema and from the internal rule schema // to the response API schema. This provides static type-check assurances that the internal schema is in sync with the API schema for @@ -472,7 +477,7 @@ export const convertCreateAPIToInternalSchema = ( ruleId: newRuleId, falsePositives: input.false_positives ?? [], investigationFields: input.investigation_fields ?? [], - from: input.from ?? 'now-6m', + from: input.from ?? DEFAULT_FROM, immutable, license: input.license, outputIndex: input.output_index ?? '', @@ -488,7 +493,7 @@ export const convertCreateAPIToInternalSchema = ( threat: input.threat ?? [], timestampOverride: input.timestamp_override, timestampOverrideFallbackDisabled: input.timestamp_override_fallback_disabled, - to: input.to ?? 'now', + to: input.to ?? DEFAULT_TO, references: input.references ?? [], namespace: input.namespace, note: input.note, @@ -680,3 +685,48 @@ export const internalRuleToAPIResponse = ( execution_summary: executionSummary ?? undefined, }; }; + +export const convertPrebuiltRuleAssetToRuleResponse = ( + prebuiltRuleAsset: PrebuiltRuleAsset +): RuleResponse => { + const prebuiltRuleAssetDefaults = { + enabled: false, + risk_score_mapping: [], + severity_mapping: [], + interval: DEFAULT_INTERVAL, + to: DEFAULT_TO, + from: DEFAULT_FROM, + exceptions_list: [], + false_positives: [], + max_signals: DEFAULT_MAX_SIGNALS, + actions: [], + related_integrations: [], + required_fields: [], + setup: '', + references: [], + threat: [], + tags: [], + author: [], + }; + + const ruleResponseSpecificFields = { + id: uuidv4(), + updated_at: new Date(0).toISOString(), + updated_by: '', + created_at: new Date(0).toISOString(), + created_by: '', + immutable: true, + revision: 1, + }; + + const [rule, error] = validate( + { ...prebuiltRuleAssetDefaults, ...prebuiltRuleAsset, ...ruleResponseSpecificFields }, + RuleResponse + ); + + if (!rule) { + throw new Error(error); + } + + return rule; +}; diff --git a/x-pack/plugins/serverless_search/public/application/components/indexing_api.tsx b/x-pack/plugins/serverless_search/public/application/components/indexing_api.tsx deleted file mode 100644 index c5ae98e8d09f8a..00000000000000 --- a/x-pack/plugins/serverless_search/public/application/components/indexing_api.tsx +++ /dev/null @@ -1,269 +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, { useMemo, useState } from 'react'; - -import { - EuiCallOut, - EuiComboBox, - EuiComboBoxOptionOption, - EuiFlexGroup, - EuiFlexItem, - EuiFormRow, - EuiLink, - EuiPageTemplate, - EuiSpacer, - EuiStat, - EuiText, -} from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { useQuery } from '@tanstack/react-query'; -import { - OverviewPanel, - LanguageClientPanel, - CodeBox, - getLanguageDefinitionCodeSnippet, - getConsoleRequest, -} from '@kbn/search-api-panels'; -import type { - LanguageDefinition, - LanguageDefinitionSnippetArguments, -} from '@kbn/search-api-panels'; - -import { PLUGIN_ID } from '../../../common'; -import { docLinks } from '../../../common/doc_links'; -import { IndexData, FetchIndicesResult } from '../../../common/types'; -import { FETCH_INDICES_PATH } from '../routes'; -import { API_KEY_PLACEHOLDER, ELASTICSEARCH_URL_PLACEHOLDER } from '../constants'; -import { useKibanaServices } from '../hooks/use_kibana'; -import { javascriptDefinition } from './languages/javascript'; -import { languageDefinitions } from './languages/languages'; - -const NoIndicesContent = () => ( - <> - - - - {i18n.translate( - 'xpack.serverlessSearch.content.indexingApi.clientPanel.noIndices.getStartedLink', - { defaultMessage: 'Get started' } - )} - - ), - }} - /> - - -); - -interface IndicesContentProps { - indices: IndexData[]; - isLoading: boolean; - onChange: (selectedOptions: Array>) => void; - selectedIndex?: IndexData; - setSearchValue: (searchValue?: string) => void; -} -const IndicesContent = ({ - indices, - isLoading, - onChange, - selectedIndex, - setSearchValue, -}: IndicesContentProps) => { - const toOption = (index: IndexData) => ({ label: index.name, value: index }); - const options: Array> = indices.map(toOption); - return ( - <> - - - - - - - - - - - - - ); -}; - -export const ElasticsearchIndexingApi = () => { - const { cloud, http, share } = useKibanaServices(); - const [selectedLanguage, setSelectedLanguage] = - useState(javascriptDefinition); - const [indexSearchQuery, setIndexSearchQuery] = useState(undefined); - const [selectedIndex, setSelectedIndex] = useState(undefined); - const elasticsearchURL = useMemo(() => { - return cloud?.elasticsearchUrl ?? ELASTICSEARCH_URL_PLACEHOLDER; - }, [cloud]); - const { data, isLoading, isError } = useQuery({ - queryKey: ['indices', { searchQuery: indexSearchQuery }], - queryFn: async () => { - const query = { - search_query: indexSearchQuery || null, - }; - const result = await http.get(FETCH_INDICES_PATH, { query }); - return result; - }, - }); - const assetBasePath = http.basePath.prepend(`/plugins/${PLUGIN_ID}/assets/`); - - const codeSnippetArguments: LanguageDefinitionSnippetArguments = { - url: elasticsearchURL, - apiKey: API_KEY_PLACEHOLDER, - indexName: selectedIndex?.name, - }; - const showNoIndices = !isLoading && data?.indices?.length === 0 && indexSearchQuery === undefined; - - return ( - - - {isError && ( - - - - )} - - - - - - - {i18n.translate( - 'xpack.serverlessSearch.content.indexingApi.clientPanel.selectClient.heading', - { - defaultMessage: 'Choose one', - } - )} - - - - - - - {languageDefinitions.map((language, index) => ( - - - - ))} - - - - - } - links={ - showNoIndices - ? undefined - : [ - { - label: i18n.translate( - 'xpack.serverlessSearch.content.indexingApi.ingestDocsLink', - { defaultMessage: 'Ingestion documentation' } - ), - href: docLinks.gettingStartedIngest, - }, - ] - } - > - {showNoIndices ? ( - - ) : ( - { - setSelectedIndex(options?.[0]?.value); - }} - setSearchValue={setIndexSearchQuery} - selectedIndex={selectedIndex} - /> - )} - - - - ); -}; diff --git a/x-pack/plugins/serverless_search/public/application/indexing_api.tsx b/x-pack/plugins/serverless_search/public/application/indexing_api.tsx deleted file mode 100644 index ee1d11d4223f86..00000000000000 --- a/x-pack/plugins/serverless_search/public/application/indexing_api.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; -import ReactDOM from 'react-dom'; -import { CoreStart } from '@kbn/core/public'; -import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; -import { I18nProvider } from '@kbn/i18n-react'; -import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; -import { ServerlessSearchContext } from './hooks/use_kibana'; - -export async function renderApp( - element: HTMLElement, - core: CoreStart, - services: ServerlessSearchContext -) { - const { ElasticsearchIndexingApi } = await import('./components/indexing_api'); - const queryClient = new QueryClient(); - ReactDOM.render( - - - - - - - - - - , - element - ); - return () => ReactDOM.unmountComponentAtNode(element); -} diff --git a/x-pack/plugins/serverless_search/public/layout/nav.tsx b/x-pack/plugins/serverless_search/public/layout/nav.tsx index da3ea219ec9eb4..65eb1787a07a96 100644 --- a/x-pack/plugins/serverless_search/public/layout/nav.tsx +++ b/x-pack/plugins/serverless_search/public/layout/nav.tsx @@ -98,13 +98,6 @@ const navigationTree: NavigationTreeDefinition = { }), link: 'management:ingest_pipelines', }, - { - id: 'content_indexing_api', - link: 'serverlessIndexingApi', - title: i18n.translate('xpack.serverlessSearch.nav.content.indexingApi', { - defaultMessage: 'Indexing API', - }), - }, ], }, { diff --git a/x-pack/plugins/serverless_search/public/plugin.ts b/x-pack/plugins/serverless_search/public/plugin.ts index 928ea8706e4429..dfe9cbbc5165c5 100644 --- a/x-pack/plugins/serverless_search/public/plugin.ts +++ b/x-pack/plugins/serverless_search/public/plugin.ts @@ -47,23 +47,6 @@ export class ServerlessSearchPlugin return await renderApp(element, coreStart, { userProfile, ...services }); }, }); - core.application.register({ - id: 'serverlessIndexingApi', - title: i18n.translate('xpack.serverlessSearch.app.indexingApi.title', { - defaultMessage: 'Indexing API', - }), - appRoute: '/app/indexing_api', - async mount({ element }: AppMountParameters) { - const { renderApp } = await import('./application/indexing_api'); - const [coreStart, services] = await core.getStartServices(); - const { security } = services; - docLinks.setDocLinks(coreStart.docLinks.links); - - const userProfile = await security.userProfiles.getCurrent(); - - return await renderApp(element, coreStart, { userProfile, ...services }); - }, - }); core.application.register({ id: 'serverlessConnectors', diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 147738ec2eda07..bfff9d80f7f39e 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -30012,10 +30012,6 @@ "xpack.securitySolution.exceptions.viewer.lastUpdated": "Mis à jour {updated}", "xpack.securitySolution.exceptions.viewer.paginationDetails": "Affichage de {partOne} sur {partTwo}", "xpack.securitySolution.fieldBrowser.descriptionForScreenReaderOnly": "Description pour le champ {field} :", - "xpack.securitySolution.flyout.correlations.ancestryAlertsHeading": "{count, plural, one {# alerte} many {# alertes} other {Alertes #}} associé par ancêtre", - "xpack.securitySolution.flyout.correlations.relatedCasesHeading": "{count} associé {count, plural, one {cas} many {aux cas suivants} other {aux cas suivants}}", - "xpack.securitySolution.flyout.correlations.sessionAlertsHeading": "{count, plural, one {# alerte} many {# alertes} other {Alertes #}} associé(es) par session", - "xpack.securitySolution.flyout.correlations.sourceAlertsHeading": "{count, plural, one {# alerte} many {# alertes} other {Alertes #}} associé(es) par événement source", "xpack.securitySolution.flyout.errorMessage": "Une erreur est survenue lors de l'affichage de {message}", "xpack.securitySolution.flyout.errorTitle": "Impossible d'afficher {title}", "xpack.securitySolution.footer.autoRefreshActiveTooltip": "Lorsque le rafraîchissement automatique est activé, la chronologie vous montre les {numberOfItems} derniers événements qui correspondent à votre requête.", @@ -33295,7 +33291,6 @@ "xpack.securitySolution.flyout.documentDetails.insightsOptions": "Options des informations exploitables", "xpack.securitySolution.flyout.documentDetails.insightsTab": "Informations exploitables", "xpack.securitySolution.flyout.documentDetails.insightsTitle": "Informations exploitables", - "xpack.securitySolution.flyout.documentDetails.investigationGuideText": "Guide d'investigation", "xpack.securitySolution.flyout.documentDetails.investigationSectionTitle": "Investigation", "xpack.securitySolution.flyout.documentDetails.investigationsTab": "Investigation", "xpack.securitySolution.flyout.documentDetails.jsonTab": "JSON", @@ -33338,10 +33333,6 @@ "xpack.securitySolution.flyout.prevalenceErrorMessage": "prévalence", "xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle": "Nombre d'alertes", "xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle": "Compte du document", - "xpack.securitySolution.flyout.prevalenceTableHostPrevalenceColumnTitle": "Prévalence de l’hôte", - "xpack.securitySolution.flyout.prevalenceTableNameColumnTitle": "Nom", - "xpack.securitySolution.flyout.prevalenceTableTypeColumnTitle": "Type", - "xpack.securitySolution.flyout.prevalenceTableUserPrevalenceColumnTitle": "Prévalence de l’utilisateur", "xpack.securitySolution.flyout.response.empty": "Il n’y a pas d’actions de réponse définies pour cet évènement.", "xpack.securitySolution.flyout.response.title": "Réponses", "xpack.securitySolution.flyout.sessionViewErrorMessage": "vue de session", @@ -34705,7 +34696,6 @@ "xpack.serverlessSearch.languages.ruby": "Ruby", "xpack.serverlessSearch.learnMore": "En savoir plus", "xpack.serverlessSearch.nav.content": "Contenu", - "xpack.serverlessSearch.nav.content.indexingApi": "API d’indexation", "xpack.serverlessSearch.nav.content.indices": "Index", "xpack.serverlessSearch.nav.devTools": "Outils de développement", "xpack.serverlessSearch.nav.explore": "Explorer", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index ba3c4157517256..443e6725a422a9 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -30011,10 +30011,6 @@ "xpack.securitySolution.exceptions.viewer.lastUpdated": "{updated}を更新しました", "xpack.securitySolution.exceptions.viewer.paginationDetails": "{partOne}/{partTwo}ページを表示中", "xpack.securitySolution.fieldBrowser.descriptionForScreenReaderOnly": "フィールド{field}の説明:", - "xpack.securitySolution.flyout.correlations.ancestryAlertsHeading": "上位項目に関連する{count, plural, other {#件のアラート}}", - "xpack.securitySolution.flyout.correlations.relatedCasesHeading": "{count}件の関連する{count, plural, other {ケース}}", - "xpack.securitySolution.flyout.correlations.sessionAlertsHeading": "セッションに関連する{count, plural, other {#件のアラート}}", - "xpack.securitySolution.flyout.correlations.sourceAlertsHeading": "ソースイベントに関連する{count, plural, other {#件のアラート}}", "xpack.securitySolution.flyout.errorMessage": "{message}の表示中にエラーが発生しました", "xpack.securitySolution.flyout.errorTitle": "{title}を表示できません", "xpack.securitySolution.footer.autoRefreshActiveTooltip": "自動更新が有効な間、タイムラインはクエリに一致する直近{numberOfItems}件のイベントを表示します。", @@ -33294,7 +33290,6 @@ "xpack.securitySolution.flyout.documentDetails.insightsOptions": "インサイトオプション", "xpack.securitySolution.flyout.documentDetails.insightsTab": "インサイト", "xpack.securitySolution.flyout.documentDetails.insightsTitle": "インサイト", - "xpack.securitySolution.flyout.documentDetails.investigationGuideText": "調査ガイド", "xpack.securitySolution.flyout.documentDetails.investigationSectionTitle": "調査", "xpack.securitySolution.flyout.documentDetails.investigationsTab": "調査", "xpack.securitySolution.flyout.documentDetails.jsonTab": "JSON", @@ -33337,10 +33332,6 @@ "xpack.securitySolution.flyout.prevalenceErrorMessage": "発生率", "xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle": "アラート件数", "xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle": "ドキュメントカウント", - "xpack.securitySolution.flyout.prevalenceTableHostPrevalenceColumnTitle": "ホスト発生率", - "xpack.securitySolution.flyout.prevalenceTableNameColumnTitle": "名前", - "xpack.securitySolution.flyout.prevalenceTableTypeColumnTitle": "型", - "xpack.securitySolution.flyout.prevalenceTableUserPrevalenceColumnTitle": "ユーザー発生率", "xpack.securitySolution.flyout.response.empty": "このイベントに対する対応アクションは定義されていません。", "xpack.securitySolution.flyout.response.title": "対応", "xpack.securitySolution.flyout.sessionViewErrorMessage": "セッションビュー", @@ -34704,7 +34695,6 @@ "xpack.serverlessSearch.languages.ruby": "Ruby", "xpack.serverlessSearch.learnMore": "詳細", "xpack.serverlessSearch.nav.content": "コンテンツ", - "xpack.serverlessSearch.nav.content.indexingApi": "インデックスAPI", "xpack.serverlessSearch.nav.content.indices": "インデックス", "xpack.serverlessSearch.nav.devTools": "開発ツール", "xpack.serverlessSearch.nav.explore": "探索", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index be39a446a11a81..f4f6bf13a8f28c 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -30007,10 +30007,6 @@ "xpack.securitySolution.exceptions.viewer.lastUpdated": "已更新 {updated}", "xpack.securitySolution.exceptions.viewer.paginationDetails": "正在显示 {partOne} 个,共 {partTwo} 个", "xpack.securitySolution.fieldBrowser.descriptionForScreenReaderOnly": "{field} 字段的描述:", - "xpack.securitySolution.flyout.correlations.ancestryAlertsHeading": "{count, plural, other {# 个告警}}与体系相关", - "xpack.securitySolution.flyout.correlations.relatedCasesHeading": "{count} 个相关{count, plural, other {案例}}", - "xpack.securitySolution.flyout.correlations.sessionAlertsHeading": "{count, plural, other {# 个告警}}与会话相关", - "xpack.securitySolution.flyout.correlations.sourceAlertsHeading": "{count, plural, other {# 个告警}}与源事件相关", "xpack.securitySolution.flyout.errorMessage": "显示 {message} 时出现错误", "xpack.securitySolution.flyout.errorTitle": "无法显示 {title}", "xpack.securitySolution.footer.autoRefreshActiveTooltip": "自动刷新已启用时,时间线将显示匹配查询的最近 {numberOfItems} 个事件。", @@ -33290,7 +33286,6 @@ "xpack.securitySolution.flyout.documentDetails.insightsOptions": "洞见选项", "xpack.securitySolution.flyout.documentDetails.insightsTab": "洞见", "xpack.securitySolution.flyout.documentDetails.insightsTitle": "洞见", - "xpack.securitySolution.flyout.documentDetails.investigationGuideText": "调查指南", "xpack.securitySolution.flyout.documentDetails.investigationSectionTitle": "调查", "xpack.securitySolution.flyout.documentDetails.investigationsTab": "调查", "xpack.securitySolution.flyout.documentDetails.jsonTab": "JSON", @@ -33333,10 +33328,6 @@ "xpack.securitySolution.flyout.prevalenceErrorMessage": "普及率", "xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle": "告警计数", "xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle": "文档计数", - "xpack.securitySolution.flyout.prevalenceTableHostPrevalenceColumnTitle": "主机普及率", - "xpack.securitySolution.flyout.prevalenceTableNameColumnTitle": "名称", - "xpack.securitySolution.flyout.prevalenceTableTypeColumnTitle": "类型", - "xpack.securitySolution.flyout.prevalenceTableUserPrevalenceColumnTitle": "用户普及率", "xpack.securitySolution.flyout.response.empty": "没有为此事件定义响应操作。", "xpack.securitySolution.flyout.response.title": "响应", "xpack.securitySolution.flyout.sessionViewErrorMessage": "会话视图", @@ -34700,7 +34691,6 @@ "xpack.serverlessSearch.languages.ruby": "Ruby", "xpack.serverlessSearch.learnMore": "了解详情", "xpack.serverlessSearch.nav.content": "内容", - "xpack.serverlessSearch.nav.content.indexingApi": "正在索引 API", "xpack.serverlessSearch.nav.content.indices": "索引", "xpack.serverlessSearch.nav.devTools": "开发工具", "xpack.serverlessSearch.nav.explore": "浏览", diff --git a/x-pack/test/apm_api_integration/tests/alerts/error_count_threshold.spec.ts b/x-pack/test/apm_api_integration/tests/alerts/error_count_threshold.spec.ts index a3d46aaa0c27f1..e3b0d06fbc5a19 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/error_count_threshold.spec.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/error_count_threshold.spec.ts @@ -123,7 +123,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { ruleTypeId: ApmRuleType.ErrorCount, name: 'Apm error count without kql query', params: { - kqlFilter: '', ...ruleParams, }, actions: [indexAction], @@ -271,7 +270,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { ruleTypeId: ApmRuleType.ErrorCount, name: 'Apm error count with kql query', params: { - kqlFilter: 'service.name: opbeans-php', + searchConfiguration: { + query: { + query: 'service.name: opbeans-php', + language: 'kuery', + }, + }, ...ruleParams, }, actions: [], diff --git a/x-pack/test/apm_api_integration/tests/alerts/preview_chart_error_count.spec.ts b/x-pack/test/apm_api_integration/tests/alerts/preview_chart_error_count.spec.ts index ea2c8c470a70b8..519440746864d8 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/preview_chart_error_count.spec.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/preview_chart_error_count.spec.ts @@ -41,7 +41,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { start: new Date(start).toISOString(), end: new Date(end).toISOString(), interval: '5m', - kqlFilter: 'service.name: synth-go', + searchConfiguration: JSON.stringify({ + query: { + query: 'service.name: synth-go', + language: 'kuery', + }, + }), serviceName: undefined, errorGroupingKey: undefined, environment: 'ENVIRONMENT_ALL', @@ -328,9 +333,14 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: `service.name: synth-go and error.grouping_key: ${getErrorGroupingKey( - 'Error 1' - )}`, + searchConfiguration: JSON.stringify({ + query: { + query: `service.name: synth-go and error.grouping_key: ${getErrorGroupingKey( + 'Error 1' + )}`, + language: 'kuery', + }, + }), }, }, }; @@ -430,9 +440,14 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: `service.name: synth-go and error.grouping_key: ${getErrorGroupingKey( - 'Error 0' - )}`, + searchConfiguration: JSON.stringify({ + query: { + query: `service.name: synth-go and error.grouping_key: ${getErrorGroupingKey( + 'Error 0' + )}`, + language: 'kuery', + }, + }), groupBy: [SERVICE_NAME, SERVICE_ENVIRONMENT, ERROR_GROUP_ID], }, }, @@ -463,7 +478,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: '', + searchConfiguration: JSON.stringify({ + query: { + query: '', + language: 'kuery', + }, + }), }, }, }; @@ -490,7 +510,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: '', + searchConfiguration: JSON.stringify({ + query: { + query: '', + language: 'kuery', + }, + }), groupBy: [SERVICE_NAME, SERVICE_ENVIRONMENT, ERROR_GROUP_ID], }, }, diff --git a/x-pack/test/apm_api_integration/tests/alerts/preview_chart_error_rate.spec.ts b/x-pack/test/apm_api_integration/tests/alerts/preview_chart_error_rate.spec.ts index 8e77035c276962..5175b9eb830443 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/preview_chart_error_rate.spec.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/preview_chart_error_rate.spec.ts @@ -42,7 +42,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { start: new Date(start).toISOString(), end: new Date(end).toISOString(), interval: '5m', - kqlFilter: 'service.name: synth-go and transaction.type: request', + searchConfiguration: JSON.stringify({ + query: { + query: 'service.name: synth-go and transaction.type: request', + language: 'kuery', + }, + }), serviceName: undefined, transactionType: undefined, transactionName: undefined, @@ -351,8 +356,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: - 'service.name: synth-go and transaction.type: request and transaction.name: GET /banana', + searchConfiguration: JSON.stringify({ + query: { + query: + 'service.name: synth-go and transaction.type: request and transaction.name: GET /banana', + language: 'kuery', + }, + }), }, }, }; @@ -376,8 +386,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: - 'service.name: synth-go and transaction.type: request and transaction.name: foo', + searchConfiguration: JSON.stringify({ + query: { + query: + 'service.name: synth-go and transaction.type: request and transaction.name: foo', + language: 'kuery', + }, + }), }, }, }; @@ -472,8 +487,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: - 'service.name: synth-go and transaction.type: request and transaction.name: GET /apple', + searchConfiguration: JSON.stringify({ + query: { + query: + 'service.name: synth-go and transaction.type: request and transaction.name: GET /apple', + language: 'kuery', + }, + }), groupBy: [SERVICE_NAME, SERVICE_ENVIRONMENT, TRANSACTION_TYPE, TRANSACTION_NAME], }, }, @@ -499,7 +519,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: '', + searchConfiguration: JSON.stringify({ + query: { + query: '', + language: 'kuery', + }, + }), }, }, }; @@ -526,7 +551,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: '', + searchConfiguration: JSON.stringify({ + query: { + query: '', + language: 'kuery', + }, + }), groupBy: [SERVICE_NAME, SERVICE_ENVIRONMENT, TRANSACTION_TYPE, TRANSACTION_NAME], }, }, diff --git a/x-pack/test/apm_api_integration/tests/alerts/preview_chart_transaction_duration.spec.ts b/x-pack/test/apm_api_integration/tests/alerts/preview_chart_transaction_duration.spec.ts index d882bd84d11934..d7408e92325606 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/preview_chart_transaction_duration.spec.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/preview_chart_transaction_duration.spec.ts @@ -32,7 +32,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { transactionType: 'request', environment: 'ENVIRONMENT_ALL', interval: '5m', - kqlFilter: '', }, }, }); @@ -43,7 +42,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { start: new Date(start).toISOString(), end: new Date(end).toISOString(), interval: '5m', - kqlFilter: 'service.name: synth-go and transaction.type: request', + searchConfiguration: JSON.stringify({ + query: { + query: 'service.name: synth-go and transaction.type: request', + language: 'kuery', + }, + }), serviceName: undefined, transactionType: undefined, transactionName: undefined, @@ -322,8 +326,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: - 'service.name: synth-go and transaction.type: request and transaction.name: GET /banana', + searchConfiguration: JSON.stringify({ + query: { + query: + 'service.name: synth-go and transaction.type: request and transaction.name: GET /banana', + language: 'kuery', + }, + }), groupBy: [SERVICE_NAME, SERVICE_ENVIRONMENT, TRANSACTION_TYPE], }, }, @@ -348,8 +357,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: - 'service.name: synth-go and transaction.type: request and transaction.name: foo', + searchConfiguration: JSON.stringify({ + query: { + query: + 'service.name: synth-go and transaction.type: request and transaction.name: foo', + language: 'kuery', + }, + }), groupBy: [SERVICE_NAME, SERVICE_ENVIRONMENT, TRANSACTION_TYPE], }, }, @@ -439,8 +453,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: - 'service.name: synth-go and transaction.type: request and transaction.name: GET /apple', + searchConfiguration: JSON.stringify({ + query: { + query: + 'service.name: synth-go and transaction.type: request and transaction.name: GET /apple', + language: 'kuery', + }, + }), groupBy: [SERVICE_NAME, SERVICE_ENVIRONMENT, TRANSACTION_TYPE, TRANSACTION_NAME], }, }, @@ -466,7 +485,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: '', + searchConfiguration: JSON.stringify({ + query: { + query: '', + language: 'kuery', + }, + }), }, }, }; @@ -493,7 +517,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { params: { query: { ...getOptionsWithFilterQuery().params.query, - kqlFilter: '', + searchConfiguration: JSON.stringify({ + query: { + query: '', + language: 'kuery', + }, + }), groupBy: [SERVICE_NAME, SERVICE_ENVIRONMENT, TRANSACTION_TYPE, TRANSACTION_NAME], }, }, 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 1784e9c3100a2a..3dbfa93a69d468 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 @@ -97,7 +97,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { ruleTypeId: ApmRuleType.TransactionDuration, name: 'Apm transaction duration without kql filter', params: { - kqlFilter: '', ...ruleParams, }, actions: [indexAction], @@ -209,8 +208,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { ruleTypeId: ApmRuleType.TransactionDuration, name: 'Apm transaction duration with kql filter', params: { - kqlFilter: - 'service.name: opbeans-node and transaction.type: request and service.environment: production', + searchConfiguration: { + query: { + query: + 'service.name: opbeans-node and transaction.type: request and service.environment: production', + language: 'kuery', + }, + }, ...ruleParams, }, actions: [], 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 658bdd04d6d0e7..e51372f3d8b014 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 @@ -102,7 +102,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { transactionType: 'request', serviceName: 'opbeans-java', environment: 'production', - kqlFilter: '', groupBy: [ 'service.name', 'service.environment', @@ -225,8 +224,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { transactionType: undefined, serviceName: undefined, environment: 'ENVIRONMENT_ALL', - kqlFilter: - 'service.name: opbeans-node and transaction.type: request and service.environment: production', + searchConfiguration: { + query: { + query: + 'service.name: opbeans-node and transaction.type: request and service.environment: production', + language: 'kuery', + }, + }, groupBy: [ 'service.name', 'service.environment', diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_correlations_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_correlations_tab.cy.ts index f2dffdf11c1ac0..b2a9460e4128e1 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_correlations_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_correlations_tab.cy.ts @@ -7,10 +7,12 @@ import { createRule } from '../../../../tasks/api_calls/rules'; import { getNewRule } from '../../../../objects/rule'; import { + CORRELATIONS_ANCESTRY_SECTION_INVESTIGATE_IN_TIMELINE_BUTTON, CORRELATIONS_ANCESTRY_SECTION_TABLE, CORRELATIONS_ANCESTRY_SECTION_TITLE, CORRELATIONS_CASES_SECTION_TABLE, CORRELATIONS_CASES_SECTION_TITLE, + CORRELATIONS_SESSION_SECTION_INVESTIGATE_IN_TIMELINE_BUTTON, CORRELATIONS_SESSION_SECTION_TABLE, CORRELATIONS_SESSION_SECTION_TITLE, DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_CORRELATIONS_BUTTON, @@ -73,6 +75,7 @@ describe( .should('be.visible') .and('contain.text', '1 alert related by ancestry'); cy.get(CORRELATIONS_ANCESTRY_SECTION_TABLE).should('be.visible'); + cy.get(CORRELATIONS_ANCESTRY_SECTION_INVESTIGATE_IN_TIMELINE_BUTTON).should('be.visible'); // TODO get proper data to test this section // cy.get(CORRELATIONS_SOURCE_SECTION).scrollIntoView(); @@ -80,18 +83,27 @@ describe( // .should('be.visible') // .and('contain.text', '0 alerts related by source event'); // cy.get(CORRELATIONS_SOURCE_SECTION_TABLE).should('be.visible'); + // cy.get(CORRELATIONS_SESSION_SECTION_INVESTIGATE_IN_TIMELINE_BUTTON).should('be.visible'); cy.get(CORRELATIONS_SESSION_SECTION_TITLE).scrollIntoView(); cy.get(CORRELATIONS_SESSION_SECTION_TITLE) .should('be.visible') .and('contain.text', '1 alert related by session'); cy.get(CORRELATIONS_SESSION_SECTION_TABLE).should('be.visible'); + cy.get(CORRELATIONS_SESSION_SECTION_INVESTIGATE_IN_TIMELINE_BUTTON).should('be.visible'); cy.get(CORRELATIONS_CASES_SECTION_TITLE).scrollIntoView(); cy.get(CORRELATIONS_CASES_SECTION_TITLE) .should('be.visible') .and('contain.text', '1 related case'); cy.get(CORRELATIONS_CASES_SECTION_TABLE).should('be.visible'); + + // TODO get proper data to test suppressed alerts + // cy.get(CORRELATIONS_SUPPRESSED_ALERTS_TITLE).scrollIntoView(); + // cy.get(CORRELATIONS_SUPPRESSED_ALERTS_TITLE) + // .should('be.visible') + // .and('contain.text', '1 suppressed alert'); + // cy.get(CORRELATIONS_SUPPRESSED_ALERTS_INVESTIGATE_IN_TIMELINE_BUTTON).should('be.visible'); }); } ); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts index 6311b0abb54e46..baff17ce85d033 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts @@ -22,6 +22,7 @@ import { DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_TABLE_HOST_PREVALENCE_CELL, DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_TABLE_USER_PREVALENCE_CELL, DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_TABLE, + DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_DATE_PICKER, } from '../../../../screens/expandable_flyout/alert_details_left_panel_prevalence_tab'; import { cleanKibana } from '../../../../tasks/common'; import { login, visit } from '../../../../tasks/login'; @@ -52,6 +53,8 @@ describe('Alert details expandable flyout left panel prevalence', () => { .should('be.visible') .and('have.text', 'Prevalence'); + cy.get(DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_DATE_PICKER).should('be.visible'); + cy.get(DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_TABLE).should('be.visible'); cy.get(DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_TABLE_TYPE_CELL) .should('contain.text', 'host.name') 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 49d2968a6a568b..6c9f14cbc7a040 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 @@ -169,7 +169,7 @@ describe( cy.get(DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_INVESTIGATION_GUIDE_BUTTON) .should('be.visible') - .and('have.text', 'Investigation guide'); + .and('have.text', 'Show investigation guide'); cy.log('should navigate to left Investigation tab'); @@ -293,7 +293,9 @@ describe( cy.get(DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_INSIGHTS_CORRELATIONS_CONTENT) .should('be.visible') .within(() => { - // TODO the order in which these appear is not deterministic currently, hence this can cause flakiness + // cy.get(DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_INSIGHTS_CORRELATIONS_VALUES_SUPPRESSED_ALERTS) + // .should('be.visible') + // .and('have.text', '1 suppressed alert'); // TODO populate rule with alert suppression cy.get( DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_INSIGHTS_CORRELATIONS_VALUES_RELATED_ALERTS_BY_ANCESTRY ) diff --git a/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_left_panel_correlations_tab.ts b/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_left_panel_correlations_tab.ts index d145e13889fc35..e63d6f0b72a83f 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_left_panel_correlations_tab.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_left_panel_correlations_tab.ts @@ -11,6 +11,7 @@ import { CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID, CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID, CORRELATIONS_DETAILS_CASES_SECTION_TEST_ID, + CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID, } from '@kbn/security-solution-plugin/public/flyout/left/components/test_ids'; import { EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID } from '@kbn/security-solution-plugin/public/flyout/shared/components/test_ids'; import { getDataTestSubjectSelector } from '../../helpers/common'; @@ -27,6 +28,11 @@ export const CORRELATIONS_ANCESTRY_SECTION_TABLE = getDataTestSubjectSelector( `${CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID}Table` ); +export const CORRELATIONS_ANCESTRY_SECTION_INVESTIGATE_IN_TIMELINE_BUTTON = + getDataTestSubjectSelector( + `${CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID}InvestigateInTimeline` + ); + export const CORRELATIONS_SOURCE_SECTION_TITLE = getDataTestSubjectSelector( EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID(CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID) ); @@ -35,6 +41,11 @@ export const CORRELATIONS_SOURCE_SECTION_TABLE = getDataTestSubjectSelector( `${CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID}Table` ); +export const CORRELATIONS_SOURCE_SECTION_INVESTIGATE_IN_TIMELINE_BUTTON = + getDataTestSubjectSelector( + `${CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID}InvestigateInTimeline` + ); + export const CORRELATIONS_SESSION_SECTION_TITLE = getDataTestSubjectSelector( EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID(CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID) ); @@ -43,6 +54,11 @@ export const CORRELATIONS_SESSION_SECTION_TABLE = getDataTestSubjectSelector( `${CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID}Table` ); +export const CORRELATIONS_SESSION_SECTION_INVESTIGATE_IN_TIMELINE_BUTTON = + getDataTestSubjectSelector( + `${CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID}InvestigateInTimeline` + ); + export const CORRELATIONS_CASES_SECTION_TITLE = getDataTestSubjectSelector( EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID(CORRELATIONS_DETAILS_CASES_SECTION_TEST_ID) ); @@ -50,3 +66,12 @@ export const CORRELATIONS_CASES_SECTION_TITLE = getDataTestSubjectSelector( export const CORRELATIONS_CASES_SECTION_TABLE = getDataTestSubjectSelector( `${CORRELATIONS_DETAILS_CASES_SECTION_TEST_ID}Table` ); + +export const CORRELATIONS_SUPPRESSED_ALERTS_TITLE = getDataTestSubjectSelector( + EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID(CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID) +); + +export const CORRELATIONS_SUPPRESSED_ALERTS_INVESTIGATE_IN_TIMELINE_BUTTON = + getDataTestSubjectSelector( + `${CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID}InvestigateInTimeline` + ); diff --git a/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_left_panel_prevalence_tab.ts b/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_left_panel_prevalence_tab.ts index 0b343d4375233b..5ba9a8fafed98a 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_left_panel_prevalence_tab.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_left_panel_prevalence_tab.ts @@ -9,10 +9,11 @@ import { PREVALENCE_DETAILS_TABLE_ALERT_COUNT_CELL_TEST_ID, PREVALENCE_DETAILS_TABLE_DOC_COUNT_CELL_TEST_ID, PREVALENCE_DETAILS_TABLE_HOST_PREVALENCE_CELL_TEST_ID, - PREVALENCE_DETAILS_TABLE_NAME_CELL_TEST_ID, + PREVALENCE_DETAILS_TABLE_VALUE_CELL_TEST_ID, PREVALENCE_DETAILS_TABLE_TEST_ID, - PREVALENCE_DETAILS_TABLE_TYPE_CELL_TEST_ID, + PREVALENCE_DETAILS_TABLE_FIELD_CELL_TEST_ID, PREVALENCE_DETAILS_TABLE_USER_PREVALENCE_CELL_TEST_ID, + PREVALENCE_DETAILS_DATE_PICKER_TEST_ID, } from '@kbn/security-solution-plugin/public/flyout/left/components/test_ids'; import { INSIGHTS_TAB_PREVALENCE_BUTTON_TEST_ID } from '@kbn/security-solution-plugin/public/flyout/left/tabs/test_ids'; import { getDataTestSubjectSelector } from '../../helpers/common'; @@ -20,13 +21,15 @@ import { getDataTestSubjectSelector } from '../../helpers/common'; export const DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_BUTTON = getDataTestSubjectSelector( INSIGHTS_TAB_PREVALENCE_BUTTON_TEST_ID ); +export const DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_DATE_PICKER = + getDataTestSubjectSelector(PREVALENCE_DETAILS_DATE_PICKER_TEST_ID); export const DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_TABLE = getDataTestSubjectSelector( PREVALENCE_DETAILS_TABLE_TEST_ID ); export const DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_TABLE_TYPE_CELL = - getDataTestSubjectSelector(PREVALENCE_DETAILS_TABLE_TYPE_CELL_TEST_ID); + getDataTestSubjectSelector(PREVALENCE_DETAILS_TABLE_FIELD_CELL_TEST_ID); export const DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_TABLE_NAME_CELL = - getDataTestSubjectSelector(PREVALENCE_DETAILS_TABLE_NAME_CELL_TEST_ID); + getDataTestSubjectSelector(PREVALENCE_DETAILS_TABLE_VALUE_CELL_TEST_ID); export const DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_TABLE_ALERT_COUNT_CELL = getDataTestSubjectSelector(PREVALENCE_DETAILS_TABLE_ALERT_COUNT_CELL_TEST_ID); export const DOCUMENT_DETAILS_FLYOUT_INSIGHTS_TAB_PREVALENCE_TABLE_DOC_COUNT_CELL = diff --git a/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_right_panel_json_tab.ts b/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_right_panel_json_tab.ts index f3cd1a262b2810..62fb75d4b82e0f 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_right_panel_json_tab.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/expandable_flyout/alert_details_right_panel_json_tab.ts @@ -6,7 +6,10 @@ */ import { JSON_TAB_CONTENT_TEST_ID } from '@kbn/security-solution-plugin/public/flyout/right/tabs/test_ids'; +import { RIGHT_SECTION } from '@kbn/expandable-flyout/src/components/test_ids'; import { getDataTestSubjectSelector } from '../../helpers/common'; +export const DOCUMENT_DETAILS_FLYOUT_RIGHT_PANEL_CONTENT = + getDataTestSubjectSelector(RIGHT_SECTION); export const DOCUMENT_DETAILS_FLYOUT_JSON_TAB_CONTENT = getDataTestSubjectSelector(JSON_TAB_CONTENT_TEST_ID); 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 538016dfe23f01..7cf96daca6f0c2 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 @@ -37,6 +37,7 @@ import { INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SAME_SOURCE_EVENT_TEST_ID, INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SESSION_TEST_ID, INSIGHTS_CORRELATIONS_RELATED_CASES_TEST_ID, + INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID, INSIGHTS_ENTITIES_TEST_ID, REASON_DETAILS_PREVIEW_BUTTON_TEST_ID, ANALYZER_PREVIEW_TEST_ID, @@ -122,6 +123,10 @@ export const DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_INSIGHTS_CORRELATIONS_HEADER = ); export const DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_INSIGHTS_CORRELATIONS_CONTENT = getDataTestSubjectSelector(EXPANDABLE_PANEL_CONTENT_TEST_ID(INSIGHTS_CORRELATIONS_TEST_ID)); +export const DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_INSIGHTS_CORRELATIONS_VALUES_SUPPRESSED_ALERTS = + getDataTestSubjectSelector( + SUMMARY_ROW_VALUE_TEST_ID(INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID) + ); export const DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_INSIGHTS_CORRELATIONS_VALUES_RELATED_ALERTS_BY_ANCESTRY = getDataTestSubjectSelector( SUMMARY_ROW_VALUE_TEST_ID(INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_ANCESTRY_TEST_ID) diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/expandable_flyout/alert_details_right_panel_json_tab.ts b/x-pack/test/security_solution_cypress/cypress/tasks/expandable_flyout/alert_details_right_panel_json_tab.ts index eee3c446c5a9fe..8affc2c7c4ce9d 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/expandable_flyout/alert_details_right_panel_json_tab.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/expandable_flyout/alert_details_right_panel_json_tab.ts @@ -5,11 +5,11 @@ * 2.0. */ -import { getClassSelector } from '../../helpers/common'; +import { DOCUMENT_DETAILS_FLYOUT_RIGHT_PANEL_CONTENT } from '../../screens/expandable_flyout/alert_details_right_panel_json_tab'; /** * Scroll to x-y positions within the right section of the document details expandable flyout * // TODO revisit this as it seems very fragile: the first element found is the timeline flyout, which isn't visible but still exist in the DOM */ export const scrollWithinDocumentDetailsExpandableFlyoutRightSection = (x: number, y: number) => - cy.get(getClassSelector('euiFlyout')).last().scrollTo(x, y); + cy.get(DOCUMENT_DETAILS_FLYOUT_RIGHT_PANEL_CONTENT).last().scrollTo(x, y); diff --git a/x-pack/test/security_solution_cypress/cypress/tsconfig.json b/x-pack/test/security_solution_cypress/cypress/tsconfig.json index 8ee21e233a223b..30634b2af80526 100644 --- a/x-pack/test/security_solution_cypress/cypress/tsconfig.json +++ b/x-pack/test/security_solution_cypress/cypress/tsconfig.json @@ -43,5 +43,6 @@ "@kbn/fleet-plugin", "@kbn/cases-components", "@kbn/security-solution-plugin", + "@kbn/expandable-flyout", ] }