From aad3a4420135ab3d52ee33be0541fd06a3ad89e4 Mon Sep 17 00:00:00 2001 From: Vadim Kibana <82822460+vadimkibana@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:07:51 +0100 Subject: [PATCH 01/52] [ES|QL] Function location parsing tests (#199466) ## Summary Closes https://github.com/elastic/kibana/issues/199319 After debugging it this morning I realized that there is no bug in the parser, per se. But the bug is in all the places where we cut a slice of text from the source text based on the positions reported in AST. So, this patch does not contain a fix, but just some tests I used for debugging. The ANTLR parser reports positions in Unicode code points, not in UTF-16 offsets (which are used by JavaScript). Which means, given an AST `node`, to find its source text we often do: ```js text.slice(node.location.min, node.location.max + 1); ``` That is not correct because it uses UTF-16 offsets to compute the `.slice()`, which will incorrectly cut text when there are characters that are encoded as two bytes in UTF-16. The correct way is to use Unicode codepoints, which can be done like so: ```js [...text].slice(node.location.min, node.location.max + 1).join(''); ``` ### Checklist Delete any items that are not applicable to this PR. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### For maintainers - [x] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels) --- .../src/parser/__tests__/function.test.ts | 84 +++++++++++++++++++ packages/kbn-esql-ast/src/parser/helpers.ts | 13 ++- 2 files changed, 90 insertions(+), 7 deletions(-) diff --git a/packages/kbn-esql-ast/src/parser/__tests__/function.test.ts b/packages/kbn-esql-ast/src/parser/__tests__/function.test.ts index d05ed36204b17..486feae97f98c 100644 --- a/packages/kbn-esql-ast/src/parser/__tests__/function.test.ts +++ b/packages/kbn-esql-ast/src/parser/__tests__/function.test.ts @@ -8,6 +8,7 @@ */ import { parse } from '..'; +import { EsqlQuery } from '../../query'; import { Walker } from '../../walker'; describe('function AST nodes', () => { @@ -323,3 +324,86 @@ describe('function AST nodes', () => { }); }); }); + +describe('location', () => { + const getFunctionTexts = (src: string) => { + const query = EsqlQuery.fromSrc(src); + const functions = Walker.matchAll(query.ast, { type: 'function' }); + const texts: string[] = functions.map((fn) => { + return [...src].slice(fn.location.min, fn.location.max + 1).join(''); + }); + + return texts; + }; + + it('correctly cuts out function source texts', () => { + const texts = getFunctionTexts( + 'FROM index | LIMIT 1 | STATS agg() | LIMIT 2 | STATS max(a, b, c), max2(d.e)' + ); + + expect(texts).toEqual(['agg()', 'max(a, b, c)', 'max2(d.e)']); + }); + + it('functions in binary expressions', () => { + const texts = getFunctionTexts('FROM index | STATS foo = agg(f1) + agg(f2), a.b = agg(f3)'); + + expect(texts).toEqual([ + 'foo = agg(f1) + agg(f2)', + 'agg(f1) + agg(f2)', + 'agg(f1)', + 'agg(f2)', + 'a.b = agg(f3)', + 'agg(f3)', + ]); + }); + + it('with the simplest comment after function name identifier', () => { + const texts1 = getFunctionTexts('FROM index | STATS agg/* */(1)'); + expect(texts1).toEqual(['agg/* */(1)']); + + const texts2 = getFunctionTexts('FROM index | STATS agg/* A */(a)'); + expect(texts2).toEqual(['agg/* A */(a)']); + + const texts3 = getFunctionTexts('FROM index | STATS agg /* A */ (*)'); + expect(texts3).toEqual(['agg /* A */ (*)']); + }); + + it('with the simplest emoji comment after function name identifier', () => { + const texts = getFunctionTexts('FROM index | STATS agg/* 😎 */(*)'); + expect(texts).toEqual(['agg/* 😎 */(*)']); + }); + + it('with the simplest emoji comment after function name identifier, followed by another arg', () => { + const texts = getFunctionTexts('FROM index | STATS agg/* 😎 */(*), abc'); + expect(texts).toEqual(['agg/* 😎 */(*)']); + }); + + it('simple emoji comment twice', () => { + const texts = getFunctionTexts('FROM index | STATS agg/* 😎 */(*), max/* 😎 */(*)'); + expect(texts).toEqual(['agg/* 😎 */(*)', 'max/* 😎 */(*)']); + }); + + it('with comment and emoji after function name identifier', () => { + const texts = getFunctionTexts('FROM index | STATS agg /* haha 😅 */ (*)'); + + expect(texts).toEqual(['agg /* haha 😅 */ (*)']); + }); + + it('with comment inside argument list', () => { + const texts = getFunctionTexts('FROM index | STATS agg ( /* haha 😅 */ )'); + + expect(texts).toEqual(['agg ( /* haha 😅 */ )']); + }); + + it('with emoji and comment in argument lists', () => { + const texts = getFunctionTexts( + 'FROM index | STATS agg( /* haha 😅 */ max(foo), bar, baz), test( /* asdf */ * /* asdf */)' + ); + + expect(texts).toEqual([ + 'agg( /* haha 😅 */ max(foo), bar, baz)', + 'max(foo)', + 'test( /* asdf */ * /* asdf */)', + ]); + }); +}); diff --git a/packages/kbn-esql-ast/src/parser/helpers.ts b/packages/kbn-esql-ast/src/parser/helpers.ts index f11cb396f2980..528176684418f 100644 --- a/packages/kbn-esql-ast/src/parser/helpers.ts +++ b/packages/kbn-esql-ast/src/parser/helpers.ts @@ -41,17 +41,16 @@ export const formatIdentifierParts = (parts: string[]): string => parts.map(formatIdentifier).join('.'); export const getPosition = ( - token: Pick | null, - lastToken?: Pick | undefined + start: Pick | null, + stop?: Pick | undefined ) => { - if (!token || token.start < 0) { + if (!start || start.start < 0) { return { min: 0, max: 0 }; } - const endFirstToken = token.stop > -1 ? Math.max(token.stop + 1, token.start) : undefined; - const endLastToken = lastToken?.stop; + const endFirstToken = start.stop > -1 ? Math.max(start.stop + 1, start.start) : undefined; return { - min: token.start, - max: endLastToken ?? endFirstToken ?? Infinity, + min: start.start, + max: stop?.stop ?? endFirstToken ?? Infinity, }; }; From cbebdaee030103438ca91f61f7df9be57e701a72 Mon Sep 17 00:00:00 2001 From: James Gowdy Date: Fri, 8 Nov 2024 14:09:52 +0000 Subject: [PATCH 02/52] [ML] Adding missing aria labels to eui button icons (#199447) Fix to stop browser console errors in ML overview page. Also adds some missing translations. ![image](https://github.com/user-attachments/assets/38f3b5b1-8d44-4589-b82f-336150f2395f) --- .../collapsible_panel/collapsible_panel.tsx | 14 ++++++++++++++ .../expandable_section_results.tsx | 7 ++++++- .../application/explorer/alerts/alerts_panel.tsx | 3 +++ .../advanced_detector_modal/function_help.tsx | 13 ++++++++++++- .../components/detector_title/detector_title.tsx | 7 ++++++- .../components/analytics_panel/analytics_panel.tsx | 3 +++ .../anomaly_detection_panel.tsx | 3 +++ .../public/application/overview/overview_page.tsx | 3 +++ 8 files changed, 50 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/ml/public/application/components/collapsible_panel/collapsible_panel.tsx b/x-pack/plugins/ml/public/application/components/collapsible_panel/collapsible_panel.tsx index 903033481bd07..b33d056467d1a 100644 --- a/x-pack/plugins/ml/public/application/components/collapsible_panel/collapsible_panel.tsx +++ b/x-pack/plugins/ml/public/application/components/collapsible_panel/collapsible_panel.tsx @@ -16,6 +16,7 @@ import { } from '@elastic/eui'; import type { PropsWithChildren } from 'react'; import React, { type FC } from 'react'; +import { i18n } from '@kbn/i18n'; import { PanelHeaderItems } from './panel_header_items'; import { useCurrentThemeVars } from '../../contexts/kibana'; @@ -24,6 +25,7 @@ export interface CollapsiblePanelProps { onToggle: (isOpen: boolean) => void; header: React.ReactElement; headerItems?: React.ReactElement[]; + ariaLabel: string; } export const CollapsiblePanel: FC> = ({ @@ -32,6 +34,7 @@ export const CollapsiblePanel: FC> = ({ children, header, headerItems, + ariaLabel, }) => { const { euiTheme } = useCurrentThemeVars(); @@ -51,6 +54,17 @@ export const CollapsiblePanel: FC> = ({ { diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/expandable_section/expandable_section_results.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/expandable_section/expandable_section_results.tsx index d8c20f7f3d6fc..366debdc3fea3 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/expandable_section/expandable_section_results.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/expandable_section/expandable_section_results.tsx @@ -337,7 +337,12 @@ export const ExpandableSectionResults: FC = ({ anchorPosition="upCenter" button={ setIsPopoverVisible(!isPopoverVisible)} diff --git a/x-pack/plugins/ml/public/application/explorer/alerts/alerts_panel.tsx b/x-pack/plugins/ml/public/application/explorer/alerts/alerts_panel.tsx index 4c76ebe628f4f..b9b680a9fbac5 100644 --- a/x-pack/plugins/ml/public/application/explorer/alerts/alerts_panel.tsx +++ b/x-pack/plugins/ml/public/application/explorer/alerts/alerts_panel.tsx @@ -101,6 +101,9 @@ export const AlertsPanel: FC = () => { ); })} + ariaLabel={i18n.translate('xpack.ml.explorer.alertsPanel.ariaLabel', { + defaultMessage: 'alerts panel', + })} > diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/advanced_detector_modal/function_help.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/advanced_detector_modal/function_help.tsx index a72380828a6db..e93b446d486ad 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/advanced_detector_modal/function_help.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/advanced_detector_modal/function_help.tsx @@ -28,7 +28,18 @@ export const FunctionHelpPopover = memo(() => { const onHelpClick = () => setIsHelpOpen((prevIsHelpOpen) => !prevIsHelpOpen); const closeHelp = () => setIsHelpOpen(false); - const helpButton = ; + const helpButton = ( + + ); const columns = [ { diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/detector_title/detector_title.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/detector_title/detector_title.tsx index d153ee2bf2842..439bdc0c4e2f5 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/detector_title/detector_title.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/detector_title/detector_title.tsx @@ -51,7 +51,12 @@ export const DetectorTitle: FC> = ({ onClick={() => deleteDetector(index)} iconType="cross" size="s" - aria-label="Next" + aria-label={i18n.translate( + 'xpack.ml.newJob.wizard.pickFieldsStep.nextButtonAriaLabel', + { + defaultMessage: 'Next', + } + )} /> )} diff --git a/x-pack/plugins/ml/public/application/overview/components/analytics_panel/analytics_panel.tsx b/x-pack/plugins/ml/public/application/overview/components/analytics_panel/analytics_panel.tsx index c94f594f548c5..176633ecfd3a2 100644 --- a/x-pack/plugins/ml/public/application/overview/components/analytics_panel/analytics_panel.tsx +++ b/x-pack/plugins/ml/public/application/overview/components/analytics_panel/analytics_panel.tsx @@ -119,6 +119,9 @@ export const AnalyticsPanel: FC = ({ setLazyJobCount }) => { })} , ]} + ariaLabel={i18n.translate('xpack.ml.overview.analyticsListPanel.ariaLabel', { + defaultMessage: 'data frame analytics panel', + })} > {noDFAJobs ? : null} diff --git a/x-pack/plugins/ml/public/application/overview/components/anomaly_detection_panel/anomaly_detection_panel.tsx b/x-pack/plugins/ml/public/application/overview/components/anomaly_detection_panel/anomaly_detection_panel.tsx index 5e17304fff1c4..42aca6f330a91 100644 --- a/x-pack/plugins/ml/public/application/overview/components/anomaly_detection_panel/anomaly_detection_panel.tsx +++ b/x-pack/plugins/ml/public/application/overview/components/anomaly_detection_panel/anomaly_detection_panel.tsx @@ -209,6 +209,9 @@ export const AnomalyDetectionPanel: FC = ({ anomalyTimelineService, setLa })} , ]} + ariaLabel={i18n.translate('xpack.ml.overview.adJobsPanel.ariaLabel', { + defaultMessage: 'anomaly detection panel', + })} > {noAdJobs ? : null} diff --git a/x-pack/plugins/ml/public/application/overview/overview_page.tsx b/x-pack/plugins/ml/public/application/overview/overview_page.tsx index c66bc6e1ea7e4..57e453b15af73 100644 --- a/x-pack/plugins/ml/public/application/overview/overview_page.tsx +++ b/x-pack/plugins/ml/public/application/overview/overview_page.tsx @@ -112,6 +112,9 @@ export const OverviewPage: FC = () => { })} , ]} + ariaLabel={i18n.translate('xpack.ml.overview.nodesPanel.ariaLabel', { + defaultMessage: 'overview panel', + })} > From 9f514f641d8e41c8807781eaa407c5a9cbca4f95 Mon Sep 17 00:00:00 2001 From: James Gowdy Date: Fri, 8 Nov 2024 14:28:16 +0000 Subject: [PATCH 03/52] [ML] Removing deprecated post data function (#199344) `POST _ml/anomaly_detectors//_data` is being removed from es, it can be removed from kibana too as it is unused. https://www.elastic.co/guide/en/elasticsearch/reference/8.15/ml-post-data.html --- x-pack/plugins/ml/server/lib/ml_client/ml_client.ts | 4 ---- x-pack/plugins/ml/server/lib/ml_client/types.ts | 1 - 2 files changed, 5 deletions(-) diff --git a/x-pack/plugins/ml/server/lib/ml_client/ml_client.ts b/x-pack/plugins/ml/server/lib/ml_client/ml_client.ts index c7bf9ca8bc5d8..aa8bb89c47ea5 100644 --- a/x-pack/plugins/ml/server/lib/ml_client/ml_client.ts +++ b/x-pack/plugins/ml/server/lib/ml_client/ml_client.ts @@ -615,10 +615,6 @@ export function getMlClient( p ); }, - async postData(...p: Parameters) { - await jobIdsCheck('anomaly-detector', p); - return mlClient.postData(...p); - }, async previewDatafeed(...p: Parameters) { await datafeedIdsCheck(p); return mlClient.previewDatafeed(...p); diff --git a/x-pack/plugins/ml/server/lib/ml_client/types.ts b/x-pack/plugins/ml/server/lib/ml_client/types.ts index ca7b36df8f208..d610baa92bc53 100644 --- a/x-pack/plugins/ml/server/lib/ml_client/types.ts +++ b/x-pack/plugins/ml/server/lib/ml_client/types.ts @@ -101,7 +101,6 @@ export type MlClientParams = | Parameters | Parameters | Parameters - | Parameters | Parameters | Parameters | Parameters From 3c976c0b93bc1b0119f71a513b5424dfb598ed6c Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Fri, 8 Nov 2024 15:32:47 +0100 Subject: [PATCH 04/52] Turn on deprecation logs in Jest integration tests (#199095) ## Summary Part of preparing for 9.0 release we monitor test logs to surface deprecated ES usage in Kibana. This PR ensures that all Jest integration test are surfacing these logs by default. --- .../src/create_root.ts | 16 +++++++++++ .../integration_tests/http/logging.test.ts | 27 ++++++++++++++----- .../integration_tests/node/logging.test.ts | 7 +++++ 3 files changed, 43 insertions(+), 7 deletions(-) diff --git a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_root.ts b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_root.ts index e5c18f4781eb0..d2fa6850a8bf8 100644 --- a/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_root.ts +++ b/packages/core/test-helpers/core-test-helpers-kbn-server/src/create_root.ts @@ -43,6 +43,22 @@ const DEFAULTS_SETTINGS = { root: { level: 'off', }, + loggers: [ + { + name: 'root', + level: 'error', + appenders: ['console'], + }, + { + name: 'elasticsearch.deprecation', + level: 'all', + appenders: ['deprecation'], + }, + ], + appenders: { + deprecation: { type: 'console', layout: { type: 'json' } }, + console: { type: 'console', layout: { type: 'pattern' } }, + }, }, plugins: {}, migrations: { skip: false }, diff --git a/src/core/server/integration_tests/http/logging.test.ts b/src/core/server/integration_tests/http/logging.test.ts index 795424a7d30db..54b157c291a49 100644 --- a/src/core/server/integration_tests/http/logging.test.ts +++ b/src/core/server/integration_tests/http/logging.test.ts @@ -28,11 +28,28 @@ describe('request logging', () => { describe('http server response logging', () => { describe('configuration', () => { + let root: ReturnType; + + afterEach(async () => { + await root?.shutdown(); + }); it('does not log with a default config', async () => { - const root = createRoot({ + root = createRoot({ plugins: { initialize: false }, elasticsearch: { skipStartupConnectionCheck: true }, server: { restrictInternalApis: false }, + logging: { + appenders: { + 'test-console': { type: 'console', layout: { type: 'json' } }, + }, + loggers: [ + { + name: 'http.server.response', + appenders: ['test-console'], + level: 'off', + }, + ], + }, }); await root.preboot(); const { http } = await root.setup(); @@ -47,12 +64,10 @@ describe('request logging', () => { await request.get(root, '/ping').expect(200, 'pong'); expect(mockConsoleLog).not.toHaveBeenCalled(); - - await root.shutdown(); }); it('logs at the correct level and with the correct context', async () => { - const root = createRoot({ + root = createRoot({ logging: { appenders: { 'test-console': { @@ -93,8 +108,6 @@ describe('request logging', () => { const [level, logger] = mockConsoleLog.mock.calls[0][0].split('|'); expect(level).toBe('DEBUG'); expect(logger).toBe('http.server.response'); - - await root.shutdown(); }); }); @@ -131,7 +144,7 @@ describe('request logging', () => { }); afterEach(async () => { - await root.shutdown(); + await root?.shutdown(); }); it('handles a GET request', async () => { diff --git a/src/core/server/integration_tests/node/logging.test.ts b/src/core/server/integration_tests/node/logging.test.ts index b505939aef590..5b200a9890b7a 100644 --- a/src/core/server/integration_tests/node/logging.test.ts +++ b/src/core/server/integration_tests/node/logging.test.ts @@ -16,6 +16,13 @@ function createRootWithRoles(roles: string[]) { roles, }, logging: { + loggers: [ + { + name: 'root', + appenders: ['test-console'], + level: 'info', + }, + ], appenders: { 'test-console': { type: 'console', From 6cb3447acc1614b58f6a1f88e9ccbd5d1b0e85e7 Mon Sep 17 00:00:00 2001 From: Gerard Soldevila Date: Fri, 8 Nov 2024 15:36:07 +0100 Subject: [PATCH 05/52] Kibana Sustainable Architecture: Force `visibility: 'private'` for solutions in manifest (#199452) ## Summary Small improvements for the JSON schema for `kibana.jsonc` manifests: * Allow `visibility: 'shared'` only when `group: 'platform'` (thanks @dgieselaar!) * Remove `group: 'common'` option. We don't want users categorising modules as `'common'` (it has the semantic meaning of "not categorised"). --- .../src/kibana_json_v2_schema.ts | 41 +++++++++++++++---- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts b/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts index 30682d763e0b0..a243dbb7598c1 100644 --- a/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts +++ b/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts @@ -49,18 +49,10 @@ export const MANIFEST_V2: JSONSchema = { `, }, group: { - enum: ['common', 'platform', 'observability', 'security', 'search'], + enum: ['platform', 'observability', 'security', 'search'], description: desc` Specifies the group to which this module pertains. `, - default: 'common', - }, - visibility: { - enum: ['private', 'shared'], - description: desc` - Specifies the visibility of this module, i.e. whether it can be accessed by everybody or only modules in the same group - `, - default: 'shared', }, devOnly: { type: 'boolean', @@ -112,6 +104,37 @@ export const MANIFEST_V2: JSONSchema = { type: 'string', }, }, + allOf: [ + { + if: { + properties: { group: { const: 'platform' } }, + }, + then: { + properties: { + visibility: { + enum: ['private', 'shared'], + description: desc` + Specifies the visibility of this module, i.e. whether it can be accessed by everybody or only modules in the same group + `, + default: 'shared', + }, + }, + required: ['visibility'], + }, + else: { + properties: { + visibility: { + const: 'private', + description: desc` + Specifies the visibility of this module, i.e. whether it can be accessed by everybody or only modules in the same group + `, + default: 'private', + }, + }, + required: ['visibility'], + }, + }, + ], oneOf: [ { type: 'object', From 619f330aa9fbcddf2ddd306555a7b5f0d7d3fbd6 Mon Sep 17 00:00:00 2001 From: Yan Savitski Date: Fri, 8 Nov 2024 15:39:03 +0100 Subject: [PATCH 06/52] [Search] [Onboarding] Fix colors for dark theme (#199331) In dark mode, colors are not changed for some components in indexManagement - Change according background color base on theme - Change icons color base on theme image --- .../public/components/quick_stats/quick_stat.tsx | 2 +- .../public/components/quick_stats/quick_stats.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/search_indices/public/components/quick_stats/quick_stat.tsx b/x-pack/plugins/search_indices/public/components/quick_stats/quick_stat.tsx index 006906f8dd295..cdd5f12408480 100644 --- a/x-pack/plugins/search_indices/public/components/quick_stats/quick_stat.tsx +++ b/x-pack/plugins/search_indices/public/components/quick_stats/quick_stat.tsx @@ -70,7 +70,7 @@ export const QuickStat: React.FC = ({ marginRight: euiTheme.size.s, }, '.euiAccordion__triggerWrapper': { - background: euiTheme.colors.ghost, + background: euiTheme.colors.emptyShade, }, '.euiAccordion__children': { borderTop: euiTheme.border.thin, diff --git a/x-pack/plugins/search_indices/public/components/quick_stats/quick_stats.tsx b/x-pack/plugins/search_indices/public/components/quick_stats/quick_stats.tsx index 32590cf3efa47..e051fee17d2e2 100644 --- a/x-pack/plugins/search_indices/public/components/quick_stats/quick_stats.tsx +++ b/x-pack/plugins/search_indices/public/components/quick_stats/quick_stats.tsx @@ -87,7 +87,7 @@ export const QuickStats: React.FC = ({ index, mappings, indexDo open={open} setOpen={setOpen} icon="documents" - iconColor="black" + iconColor={euiTheme.colors.fullShade} title={i18n.translate('xpack.searchIndices.quickStats.document_count_heading', { defaultMessage: 'Document count', })} @@ -115,7 +115,7 @@ export const QuickStats: React.FC = ({ index, mappings, indexDo open={open} setOpen={setOpen} icon="sparkles" - iconColor="black" + iconColor={euiTheme.colors.fullShade} title={i18n.translate('xpack.searchIndices.quickStats.ai_search_heading', { defaultMessage: 'AI Search', })} From 186bf6a6e1194e642437f9cd9f3241d8ad3984d5 Mon Sep 17 00:00:00 2001 From: "elastic-vault-github-plugin-prod[bot]" <150874479+elastic-vault-github-plugin-prod[bot]@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:44:37 +0000 Subject: [PATCH 07/52] Update kubernetes templates for elastic-agent (#199403) Automated by https://buildkite.com/elastic/elastic-agent/builds/13883 Co-authored-by: elasticmachine --- .../server/services/elastic_agent_manifest.ts | 68 ++++++++----------- 1 file changed, 28 insertions(+), 40 deletions(-) diff --git a/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts b/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts index 4bb6bad203e47..e2140947b9d66 100644 --- a/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts +++ b/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts @@ -13,15 +13,15 @@ metadata: name: elastic-agent namespace: kube-system labels: - app: elastic-agent + app.kubernetes.io/name: elastic-agent spec: selector: matchLabels: - app: elastic-agent + app.kubernetes.io/name: elastic-agent template: metadata: labels: - app: elastic-agent + app.kubernetes.io/name: elastic-agent spec: # Tolerations are needed to run Elastic Agent on Kubernetes control-plane nodes. # Agents running on control-plane nodes collect metrics from the control plane components (scheduler, controller manager) of Kubernetes @@ -41,13 +41,11 @@ spec: # args: # - -c # - >- - # mkdir -p /usr/share/elastic-agent/state/inputs.d && - # curl -sL https://github.com/elastic/elastic-agent/archive/9.0.tar.gz | tar xz -C /usr/share/elastic-agent/state/inputs.d --strip=5 "elastic-agent-9.0/deploy/kubernetes/elastic-agent-standalone/templates.d" - # securityContext: - # runAsUser: 0 + # mkdir -p /etc/elastic-agent/inputs.d && + # curl -sL https://github.com/elastic/elastic-agent/archive/9.0.tar.gz | tar xz -C /etc/elastic-agent/inputs.d --strip=5 "elastic-agent-9.0/deploy/kubernetes/elastic-agent-standalone/templates.d" # volumeMounts: - # - name: elastic-agent-state - # mountPath: /usr/share/elastic-agent/state + # - name: external-inputs + # mountPath: /etc/elastic-agent/inputs.d containers: - name: elastic-agent image: docker.elastic.co/beats/elastic-agent:VERSION @@ -76,14 +74,6 @@ spec: value: "false" securityContext: runAsUser: 0 - # The following capabilities are needed for 'Defend for containers' integration (cloud-defend) - # If you are using this integration, please uncomment these lines before applying. - #capabilities: - # add: - # - BPF # (since Linux 5.8) allows loading of BPF programs, create most map types, load BTF, iterate programs and maps. - # - PERFMON # (since Linux 5.8) allows attaching of BPF programs used for performance metrics and observability operations. - # - SYS_RESOURCE # Allow use of special resources or raising of resource limits. Used by 'Defend for Containers' to modify 'rlimit_memlock' - ######################################################################################## # The following capabilities are needed for Universal Profiling. # More fine graded capabilities are only available for newer Linux kernels. # If you are using the Universal Profiling integration, please uncomment these lines before applying. @@ -125,6 +115,9 @@ spec: mountPath: /sys/kernel/debug - name: elastic-agent-state mountPath: /usr/share/elastic-agent/state + # Uncomment if using hints feature + # - name: external-inputs + # mountPath: /usr/share/elastic-agent/state/inputs.d volumes: - name: datastreams configMap: @@ -151,8 +144,8 @@ spec: - name: var-lib hostPath: path: /var/lib - # Needed for 'Defend for containers' integration (cloud-defend) and Universal Profiling - # If you are not using one of these integrations, then these volumes and the corresponding + # Needed for Universal Profiling + # If you are not using this integration, then these volumes and the corresponding # mounts can be removed. - name: sys-kernel-debug hostPath: @@ -163,6 +156,9 @@ spec: hostPath: path: /var/lib/elastic-agent/kube-system/state type: DirectoryOrCreate + # Uncomment if using hints feature + # - name: external-inputs + # emptyDir: {} --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding @@ -210,7 +206,7 @@ kind: ClusterRole metadata: name: elastic-agent labels: - k8s-app: elastic-agent + app.kubernetes.io/name: elastic-agent rules: - apiGroups: [""] resources: @@ -282,7 +278,7 @@ metadata: # Should be the namespace where elastic-agent is running namespace: kube-system labels: - k8s-app: elastic-agent + app.kubernetes.io/name: elastic-agent rules: - apiGroups: - coordination.k8s.io @@ -296,7 +292,7 @@ metadata: name: elastic-agent-kubeadm-config namespace: kube-system labels: - k8s-app: elastic-agent + app.kubernetes.io/name: elastic-agent rules: - apiGroups: [""] resources: @@ -311,7 +307,7 @@ metadata: name: elastic-agent namespace: kube-system labels: - k8s-app: elastic-agent + app.kubernetes.io/name: elastic-agent --- `; @@ -323,15 +319,15 @@ metadata: name: elastic-agent namespace: kube-system labels: - app: elastic-agent + app.kubernetes.io/name: elastic-agent spec: selector: matchLabels: - app: elastic-agent + app.kubernetes.io/name: elastic-agent template: metadata: labels: - app: elastic-agent + app.kubernetes.io/name: elastic-agent spec: # Tolerations are needed to run Elastic Agent on Kubernetes control-plane nodes. # Agents running on control-plane nodes collect metrics from the control plane components (scheduler, controller manager) of Kubernetes @@ -383,14 +379,6 @@ spec: value: "false" securityContext: runAsUser: 0 - # The following capabilities are needed for 'Defend for containers' integration (cloud-defend) - # If you are using this integration, please uncomment these lines before applying. - #capabilities: - # add: - # - BPF # (since Linux 5.8) allows loading of BPF programs, create most map types, load BTF, iterate programs and maps. - # - PERFMON # (since Linux 5.8) allows attaching of BPF programs used for performance metrics and observability operations. - # - SYS_RESOURCE # Allow use of special resources or raising of resource limits. Used by 'Defend for Containers' to modify 'rlimit_memlock' - ######################################################################################## # The following capabilities are needed for Universal Profiling. # More fine graded capabilities are only available for newer Linux kernels. # If you are using the Universal Profiling integration, please uncomment these lines before applying. @@ -459,8 +447,8 @@ spec: hostPath: path: /etc/machine-id type: File - # Needed for 'Defend for containers' integration (cloud-defend) and Universal Profiling - # If you are not using one of these integrations, then these volumes and the corresponding + # Needed for Universal Profiling + # If you are not using this integration, then these volumes and the corresponding # mounts can be removed. - name: sys-kernel-debug hostPath: @@ -518,7 +506,7 @@ kind: ClusterRole metadata: name: elastic-agent labels: - k8s-app: elastic-agent + app.kubernetes.io/name: elastic-agent rules: - apiGroups: [""] resources: @@ -590,7 +578,7 @@ metadata: # Should be the namespace where elastic-agent is running namespace: kube-system labels: - k8s-app: elastic-agent + app.kubernetes.io/name: elastic-agent rules: - apiGroups: - coordination.k8s.io @@ -604,7 +592,7 @@ metadata: name: elastic-agent-kubeadm-config namespace: kube-system labels: - k8s-app: elastic-agent + app.kubernetes.io/name: elastic-agent rules: - apiGroups: [""] resources: @@ -619,6 +607,6 @@ metadata: name: elastic-agent namespace: kube-system labels: - k8s-app: elastic-agent + app.kubernetes.io/name: elastic-agent --- `; From 4a568964e475813b84b09fdd88860325debcf7dc Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Fri, 8 Nov 2024 10:45:09 -0500 Subject: [PATCH 08/52] [Fleet] Remove deprecated topics property for kafka output in favor of topic (#199226) --- oas_docs/bundle.json | 198 ------------------ oas_docs/bundle.serverless.json | 198 ------------------ oas_docs/output/kibana.serverless.yaml | 138 ------------ oas_docs/output/kibana.yaml | 138 ------------ .../check_registered_types.test.ts | 2 +- .../fleet/common/types/models/output.ts | 7 - .../fleet/cypress/screens/fleet_outputs.ts | 2 +- .../edit_output_flyout/index.test.tsx | 4 +- .../use_output_form.test.tsx | 64 ++---- .../edit_output_flyout/use_output_form.tsx | 33 +-- .../fleet/server/saved_objects/index.ts | 13 ++ .../saved_objects/model_versions/outputs.ts | 32 +++ .../agent_policies/full_agent_policy.test.ts | 11 +- .../agent_policies/full_agent_policy.ts | 5 +- .../fleet/server/services/output.test.ts | 4 +- .../plugins/fleet/server/services/output.ts | 1 - .../services/preconfiguration/outputs.ts | 1 - .../fleet/server/types/models/output.ts | 26 --- .../types/models/preconfiguration.test.ts | 2 +- .../apis/outputs/crud.ts | 32 +-- .../apis/policy_secrets.ts | 2 +- 21 files changed, 94 insertions(+), 819 deletions(-) create mode 100644 x-pack/plugins/fleet/server/saved_objects/model_versions/outputs.ts diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index 19094b82be094..cb748564415c2 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -23782,39 +23782,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": true, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": true, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" @@ -24917,39 +24884,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": false, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": false, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" @@ -25978,39 +25912,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": true, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": true, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" @@ -27213,39 +27114,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": true, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": true, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" @@ -28321,39 +28189,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": false, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": false, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" @@ -29379,39 +29214,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": true, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": true, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index bc3d45fe67960..db6678511d529 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -23782,39 +23782,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": true, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": true, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" @@ -24917,39 +24884,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": false, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": false, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" @@ -25978,39 +25912,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": true, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": true, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" @@ -27213,39 +27114,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": true, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": true, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" @@ -28321,39 +28189,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": false, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": false, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" @@ -29379,39 +29214,6 @@ "topic": { "type": "string" }, - "topics": { - "items": { - "additionalProperties": true, - "properties": { - "topic": { - "type": "string" - }, - "when": { - "additionalProperties": true, - "properties": { - "condition": { - "type": "string" - }, - "type": { - "enum": [ - "equals", - "contains", - "regexp" - ], - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "topic" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, "type": { "enum": [ "kafka" diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index 9c9c3797d7dbc..f0c76c3d35f06 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -22419,29 +22419,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: true - type: object - properties: - topic: - type: string - when: - additionalProperties: true - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka @@ -23176,29 +23153,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: false - type: object - properties: - topic: - type: string - when: - additionalProperties: false - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka @@ -23888,29 +23842,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: true - type: object - properties: - topic: - type: string - when: - additionalProperties: true - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka @@ -24710,29 +24641,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: true - type: object - properties: - topic: - type: string - when: - additionalProperties: true - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka @@ -25444,29 +25352,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: false - type: object - properties: - topic: - type: string - when: - additionalProperties: false - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka @@ -26153,29 +26038,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: true - type: object - properties: - topic: - type: string - when: - additionalProperties: true - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index afa0c850be734..017382a14a12e 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -25852,29 +25852,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: true - type: object - properties: - topic: - type: string - when: - additionalProperties: true - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka @@ -26609,29 +26586,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: false - type: object - properties: - topic: - type: string - when: - additionalProperties: false - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka @@ -27321,29 +27275,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: true - type: object - properties: - topic: - type: string - when: - additionalProperties: true - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka @@ -28143,29 +28074,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: true - type: object - properties: - topic: - type: string - when: - additionalProperties: true - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka @@ -28877,29 +28785,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: false - type: object - properties: - topic: - type: string - when: - additionalProperties: false - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka @@ -29586,29 +29471,6 @@ paths: type: number topic: type: string - topics: - items: - additionalProperties: true - type: object - properties: - topic: - type: string - when: - additionalProperties: true - type: object - properties: - condition: - type: string - type: - enum: - - equals - - contains - - regexp - type: string - required: - - topic - minItems: 1 - type: array type: enum: - kafka diff --git a/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts b/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts index 7183dd057f26f..af120096bdb2a 100644 --- a/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts +++ b/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts @@ -122,7 +122,7 @@ describe('checking migration metadata changes on all registered SO types', () => "infrastructure-ui-source": "113182d6895764378dfe7fa9fa027244f3a457c4", "ingest-agent-policies": "5e95e539826a40ad08fd0c1d161da0a4d86ffc6d", "ingest-download-sources": "279a68147e62e4d8858c09ad1cf03bd5551ce58d", - "ingest-outputs": "daafff49255ab700e07491376fe89f04fc998b91", + "ingest-outputs": "55988d5f778bbe0e76caa7e6468707a0a056bdd8", "ingest-package-policies": "53a94064674835fdb35e5186233bcd7052eabd22", "ingest_manager_settings": "111a616eb72627c002029c19feb9e6c439a10505", "inventory-view": "b8683c8e352a286b4aca1ab21003115a4800af83", diff --git a/x-pack/plugins/fleet/common/types/models/output.ts b/x-pack/plugins/fleet/common/types/models/output.ts index 36471c5e95bfd..b47a393013eda 100644 --- a/x-pack/plugins/fleet/common/types/models/output.ts +++ b/x-pack/plugins/fleet/common/types/models/output.ts @@ -127,13 +127,6 @@ export interface KafkaOutput extends NewBaseOutput { random?: boolean; }; topic?: string; - topics?: Array<{ - topic: string; - when?: { - type?: ValueOf; - condition?: string; - }; - }>; headers?: Array<{ key: string; value: string; diff --git a/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts b/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts index 763e6fae1b1ef..5da321c52ba5a 100644 --- a/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts +++ b/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts @@ -66,7 +66,7 @@ export const kafkaOutputBody = { type: 'kafka', is_default: false, hosts: ['example.com:2000'], - topics: [{ topic: 'test' }], + topic: 'test', auth_type: 'user_pass', username: 'kafka', password: 'kafka', diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.test.tsx index e742005a37913..2b343fcdcb574 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.test.tsx @@ -207,7 +207,7 @@ describe('EditOutputFlyout', () => { is_default: false, is_default_monitoring: false, hosts: ['kafka:443'], - topics: [{ topic: 'topic' }], + topic: 'topic', auth_type: 'ssl', version: '1.0.0', ssl: { certificate: 'cert', key: 'key', verification_mode: 'full' }, @@ -247,7 +247,7 @@ describe('EditOutputFlyout', () => { is_default: false, is_default_monitoring: false, hosts: ['kafka:443'], - topics: [{ topic: 'topic' }], + topic: 'topic', auth_type: 'user_pass', version: '1.0.0', username: 'user', diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.test.tsx index cd0b04c33eaf2..e088b21a04c0a 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.test.tsx @@ -12,7 +12,7 @@ import { describe('use_output_form', () => { describe('extractDefaultDynamicKafkaTopics', () => { - it('should return empty array if not topics are passed', () => { + it('should return empty array if not topic are passed', () => { const res = extractDefaultDynamicKafkaTopics({ type: 'kafka', name: 'new', @@ -23,37 +23,25 @@ describe('use_output_form', () => { expect(res).toEqual([]); }); - it('should return empty array if topics have length == 0', () => { + it('should return empty array if topic do not include %{[', () => { const res = extractDefaultDynamicKafkaTopics({ type: 'kafka', name: 'new', is_default: false, is_default_monitoring: false, - topics: [], + topic: 'something', }); expect(res).toEqual([]); }); - it('should return empty array if topics do not include %{[', () => { + it('should return options for combobox if topic include %{[', () => { const res = extractDefaultDynamicKafkaTopics({ type: 'kafka', name: 'new', is_default: false, is_default_monitoring: false, - topics: [{ topic: 'something' }], - }); - - expect(res).toEqual([]); - }); - - it('should return options for combobox if topics include %{[', () => { - const res = extractDefaultDynamicKafkaTopics({ - type: 'kafka', - name: 'new', - is_default: false, - is_default_monitoring: false, - topics: [{ topic: '%{[default.dataset]}' }], + topic: '%{[default.dataset]}', }); expect(res).toEqual([ @@ -64,13 +52,13 @@ describe('use_output_form', () => { ]); }); - it('should return options for combobox if topics include %{[ and some special characters', () => { + it('should return options for combobox if topic include %{[ and some special characters', () => { const res = extractDefaultDynamicKafkaTopics({ type: 'kafka', name: 'new', is_default: false, is_default_monitoring: false, - topics: [{ topic: '%{[@timestamp]}' }], + topic: '%{[@timestamp]}', }); expect(res).toEqual([ @@ -81,13 +69,13 @@ describe('use_output_form', () => { ]); }); - it('should return options for combobox if topics include %{[ and a custom name', () => { + it('should return options for combobox if topic include %{[ and a custom name', () => { const res = extractDefaultDynamicKafkaTopics({ type: 'kafka', name: 'new', is_default: false, is_default_monitoring: false, - topics: [{ topic: '%{[something]}' }], + topic: '%{[something]}', }); expect(res).toEqual([ @@ -100,7 +88,7 @@ describe('use_output_form', () => { }); describe('extractDefaultStaticKafkaTopic', () => { - it('should return empty array if not topics are passed', () => { + it('should return empty array if not topic are passed', () => { const res = extractDefaultStaticKafkaTopic({ type: 'kafka', name: 'new', @@ -111,52 +99,28 @@ describe('use_output_form', () => { expect(res).toEqual(''); }); - it('should return empty array if topics have length == 0', () => { + it('should return empty string if topic include %{[', () => { const res = extractDefaultStaticKafkaTopic({ type: 'kafka', name: 'new', is_default: false, is_default_monitoring: false, - topics: [], + topic: '%{[something]}', }); expect(res).toEqual(''); }); - it('should return empty string if topics include %{[', () => { + it('should return the topic if topic field is defined', () => { const res = extractDefaultStaticKafkaTopic({ type: 'kafka', name: 'new', is_default: false, is_default_monitoring: false, - topics: [{ topic: '%{[something]}' }], - }); - - expect(res).toEqual(''); - }); - - it('should return the topic if topics field is defined', () => { - const res = extractDefaultStaticKafkaTopic({ - type: 'kafka', - name: 'new', - is_default: false, - is_default_monitoring: false, - topics: [{ topic: 'something' }], + topic: 'something', }); expect(res).toEqual('something'); }); - - it('should return the last topic if topics field is defined and has multiple', () => { - const res = extractDefaultStaticKafkaTopic({ - type: 'kafka', - name: 'new', - is_default: false, - is_default_monitoring: false, - topics: [{ topic: 'something_1' }, { topic: 'something_2' }, { topic: 'something_3' }], - }); - - expect(res).toEqual('something_3'); - }); }); }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.tsx index 8526fcdae001a..e47e271872309 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.tsx @@ -162,25 +162,20 @@ function extractKafkaOutputSecrets( } export function extractDefaultStaticKafkaTopic(o: KafkaOutput): string { - if ( - !o?.topics || - o.topics?.length === 0 || - (o.topics && o?.topics.length > 0 && o.topics[0].topic?.includes('%{[')) - ) { + if (o?.topic?.includes('%{[')) { return ''; } - const lastTopic = o.topics[o.topics.length - 1].topic; - return lastTopic || ''; + return o?.topic || ''; } export function extractDefaultDynamicKafkaTopics( o: KafkaOutput ): Array> { - if (!o?.topics || o.topics?.length === 0 || (o.topics && !o.topics[0]?.topic?.includes('%{['))) { + if (!o?.topic || (o?.topic && !o.topic?.includes('%{['))) { return []; } - const matched = o.topics[0].topic.match(/(%\{\[)(\S*)(\]\})/); + const matched = o.topic.match(/(%\{\[)(\S*)(\]\})/); const parsed = matched?.length ? matched[2] : ''; return [ @@ -470,23 +465,23 @@ export function useOutputForm(onSucess: () => void, output?: Output, defaultOupu ); const kafkaTopicsInput = useRadioInput( - kafkaOutput?.topics && kafkaOutput?.topics[0].topic?.includes('%{[') + kafkaOutput?.topic && kafkaOutput?.topic?.includes('%{[') ? kafkaTopicsType.Dynamic : kafkaTopicsType.Static, - isDisabled('topics') + isDisabled('topic') ); const kafkaStaticTopicInput = useInput( extractDefaultStaticKafkaTopic(kafkaOutput), kafkaTopicsInput.value === kafkaTopicsType.Static ? validateKafkaStaticTopic : undefined, - isDisabled('topics') + isDisabled('topic') ); const kafkaDynamicTopicInput = useComboBoxWithCustomInput( 'kafkaDynamicTopicComboBox', extractDefaultDynamicKafkaTopics(kafkaOutput), kafkaTopicsInput.value === kafkaTopicsType.Dynamic ? validateDynamicKafkaTopics : undefined, - isDisabled('topics') + isDisabled('topic') ); const kafkaHeadersInput = useKeyValueInput( @@ -874,19 +869,11 @@ export function useOutputForm(onSucess: () => void, output?: Output, defaultOupu : {}), ...(kafkaTopicsInput.value === kafkaTopicsType.Static && kafkaStaticTopicInput.value ? { - topics: [ - { - topic: kafkaStaticTopicInput.value, - }, - ], + topic: kafkaStaticTopicInput.value, } : kafkaTopicsInput.value === kafkaTopicsType.Dynamic && kafkaDynamicTopicInput.value ? { - topics: [ - { - topic: `%{[${kafkaDynamicTopicInput.value}]}`, - }, - ], + topic: `%{[${kafkaDynamicTopicInput.value}]}`, } : {}), headers: kafkaHeadersInput.value, diff --git a/x-pack/plugins/fleet/server/saved_objects/index.ts b/x-pack/plugins/fleet/server/saved_objects/index.ts index ffb9381f8b30c..706d0686b9845 100644 --- a/x-pack/plugins/fleet/server/saved_objects/index.ts +++ b/x-pack/plugins/fleet/server/saved_objects/index.ts @@ -101,6 +101,7 @@ import { migratePackagePolicySetRequiresRootToV8150, } from './migrations/to_v8_15_0'; import { backfillAgentPolicyToV4 } from './model_versions/agent_policy_v4'; +import { backfillOutputPolicyToV7 } from './model_versions/outputs'; /* * Saved object types and mappings @@ -558,6 +559,18 @@ export const getSavedObjectTypes = ( }, ], }, + '7': { + changes: [ + { + type: 'mappings_deprecation', + deprecatedMappings: ['topics'], + }, + { + type: 'data_backfill', + backfillFn: backfillOutputPolicyToV7, + }, + ], + }, }, migrations: { '7.13.0': migrateOutputToV7130, diff --git a/x-pack/plugins/fleet/server/saved_objects/model_versions/outputs.ts b/x-pack/plugins/fleet/server/saved_objects/model_versions/outputs.ts new file mode 100644 index 0000000000000..ed4e82d1c1ec1 --- /dev/null +++ b/x-pack/plugins/fleet/server/saved_objects/model_versions/outputs.ts @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { SavedObjectModelDataBackfillFn } from '@kbn/core-saved-objects-server'; + +import type { Output } from '../../../common'; + +export const backfillOutputPolicyToV7: SavedObjectModelDataBackfillFn< + Output & { + topics?: Array<{ + topic: string; + when?: { + type?: string; + condition?: string; + }; + }>; + }, + Output +> = (outputDoc) => { + if (outputDoc.attributes.type === 'kafka' && outputDoc.attributes.topics) { + if (!outputDoc.attributes.topic) { + outputDoc.attributes.topic = outputDoc.attributes.topics?.filter((t) => !t.when)?.[0]?.topic; + } + + delete outputDoc.attributes.topics; + } + return outputDoc; +}; diff --git a/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.test.ts b/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.test.ts index 609c560906de2..688320825326a 100644 --- a/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.test.ts +++ b/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.test.ts @@ -1198,16 +1198,7 @@ ssl.test: 123 const policyOutput = transformOutputToFullPolicyOutput({ id: 'id123', hosts: ['test:9999'], - topics: [ - { - topic: 'test', - }, - // Deprecated conditionnal topic - { - topic: 'deprecated', - when: { condition: 'test:100', type: 'equals' }, - }, - ], + topic: 'test', is_default: false, is_default_monitoring: false, name: 'test output', diff --git a/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.ts b/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.ts index 6a586364f31d5..8116856265157 100644 --- a/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.ts +++ b/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.ts @@ -386,15 +386,12 @@ export function transformOutputToFullPolicyOutput( round_robin, hash, topic, - topics, headers, timeout, broker_timeout, required_acks, } = output; - const kafkaTopic = topic ? topic : topics?.filter((t) => !t.when)?.[0]?.topic; - const transformPartition = () => { if (!partition) return {}; switch (partition) { @@ -431,7 +428,7 @@ export function transformOutputToFullPolicyOutput( ...(password ? { password } : {}), ...(sasl ? { sasl } : {}), partition: transformPartition(), - topic: kafkaTopic, + topic, headers: (headers ?? []).filter((item) => item.key !== '' || item.value !== ''), timeout, broker_timeout, diff --git a/x-pack/plugins/fleet/server/services/output.test.ts b/x-pack/plugins/fleet/server/services/output.test.ts index d35701e77f882..f2dab8401e641 100644 --- a/x-pack/plugins/fleet/server/services/output.test.ts +++ b/x-pack/plugins/fleet/server/services/output.test.ts @@ -824,7 +824,7 @@ describe('Output Service', () => { is_default_monitoring: false, name: 'Test', type: 'kafka', - topics: [{ topic: 'test' }], + topic: 'test', }, { id: 'output-test' } ) @@ -1206,7 +1206,6 @@ describe('Output Service', () => { ssl: null, timeout: null, topic: null, - topics: null, headers: null, username: null, version: null, @@ -1330,7 +1329,6 @@ describe('Output Service', () => { sasl: null, timeout: null, topic: null, - topics: null, headers: null, username: null, version: null, diff --git a/x-pack/plugins/fleet/server/services/output.ts b/x-pack/plugins/fleet/server/services/output.ts index b5041d9f1df37..ceecd29562fc9 100644 --- a/x-pack/plugins/fleet/server/services/output.ts +++ b/x-pack/plugins/fleet/server/services/output.ts @@ -919,7 +919,6 @@ class OutputService { target.random = null; target.round_robin = null; target.hash = null; - target.topics = null; target.topic = null; target.headers = null; target.timeout = null; diff --git a/x-pack/plugins/fleet/server/services/preconfiguration/outputs.ts b/x-pack/plugins/fleet/server/services/preconfiguration/outputs.ts index 68b4cf2457e26..9d71e15958480 100644 --- a/x-pack/plugins/fleet/server/services/preconfiguration/outputs.ts +++ b/x-pack/plugins/fleet/server/services/preconfiguration/outputs.ts @@ -318,7 +318,6 @@ async function isPreconfiguredOutputDifferentFromCurrent( isDifferent(existingOutput.round_robin, preconfiguredOutput.round_robin) || isDifferent(existingOutput.hash, preconfiguredOutput.hash) || isDifferent(existingOutput.topic, preconfiguredOutput.topic) || - isDifferent(existingOutput.topics, preconfiguredOutput.topics) || isDifferent(existingOutput.headers, preconfiguredOutput.headers) || isDifferent(existingOutput.timeout, preconfiguredOutput.timeout) || isDifferent(existingOutput.broker_timeout, preconfiguredOutput.broker_timeout) || diff --git a/x-pack/plugins/fleet/server/types/models/output.ts b/x-pack/plugins/fleet/server/types/models/output.ts index 4385f9911e3db..2f02819554d53 100644 --- a/x-pack/plugins/fleet/server/types/models/output.ts +++ b/x-pack/plugins/fleet/server/types/models/output.ts @@ -13,7 +13,6 @@ import { kafkaConnectionType, kafkaPartitionType, kafkaSaslMechanism, - kafkaTopicWhenType, kafkaVerificationModes, outputType, } from '../../../common/constants'; @@ -196,29 +195,6 @@ const LogstashUpdateSchema = { ), }; -/** - * Kafka schemas - */ - -const KafkaTopicsSchema = schema.arrayOf( - schema.object({ - topic: schema.string(), - when: schema.maybe( - schema.object({ - type: schema.maybe( - schema.oneOf([ - schema.literal(kafkaTopicWhenType.Equals), - schema.literal(kafkaTopicWhenType.Contains), - schema.literal(kafkaTopicWhenType.Regexp), - ]) - ), - condition: schema.maybe(schema.string()), - }) - ), - }), - { minSize: 1 } -); - export const KafkaSchema = { ...BaseSchema, type: schema.literal(outputType.Kafka), @@ -303,7 +279,6 @@ export const KafkaSchema = { schema.object({ hash: schema.maybe(schema.string()), random: schema.maybe(schema.boolean()) }) ), topic: schema.maybe(schema.string()), - topics: schema.maybe(KafkaTopicsSchema), headers: schema.maybe( schema.arrayOf(schema.object({ key: schema.string(), value: schema.string() })) ), @@ -335,7 +310,6 @@ const KafkaUpdateSchema = { schema.literal(kafkaAuthType.Kerberos), ]) ), - topics: schema.maybe(KafkaTopicsSchema), }; export const OutputSchema = schema.oneOf([ diff --git a/x-pack/plugins/fleet/server/types/models/preconfiguration.test.ts b/x-pack/plugins/fleet/server/types/models/preconfiguration.test.ts index a436f799fc171..a924ba7c8c7df 100644 --- a/x-pack/plugins/fleet/server/types/models/preconfiguration.test.ts +++ b/x-pack/plugins/fleet/server/types/models/preconfiguration.test.ts @@ -119,7 +119,7 @@ describe('Test preconfiguration schema', () => { type: 'kafka', hosts: ['localhost:9200'], auth_type: 'ssl', - topics: [{ topic: 'topic1' }], + topic: 'topic1', secrets: { password: 'mypassword', ssl: { diff --git a/x-pack/test/fleet_api_integration/apis/outputs/crud.ts b/x-pack/test/fleet_api_integration/apis/outputs/crud.ts index 564259cb49a23..2ba46620ef0d3 100644 --- a/x-pack/test/fleet_api_integration/apis/outputs/crud.ts +++ b/x-pack/test/fleet_api_integration/apis/outputs/crud.ts @@ -445,7 +445,7 @@ export default function (providerContext: FtrProviderContext) { password: 'pass', is_default: true, is_default_monitoring: true, - topics: [{ topic: 'topic1' }], + topic: 'topic1', }) .expect(400); expect(body.message).to.eql( @@ -727,7 +727,7 @@ export default function (providerContext: FtrProviderContext) { type: 'kafka', hosts: ['test.fr:2000'], auth_type: 'ssl', - topics: [{ topic: 'topic1' }], + topic: 'topic1', config_yaml: 'shipper: {}', shipper: { disk_queue_enabled: true, @@ -760,7 +760,7 @@ export default function (providerContext: FtrProviderContext) { type: 'kafka', hosts: ['test.fr:2000'], auth_type: 'ssl', - topics: [{ topic: 'topic1' }], + topic: 'topic1', config_yaml: 'shipper: {}', shipper: { disk_queue_enabled: true, @@ -1107,7 +1107,7 @@ export default function (providerContext: FtrProviderContext) { auth_type: 'user_pass', username: 'user', password: 'pass', - topics: [{ topic: 'topic1' }], + topic: 'topic1', }) .expect(200); @@ -1121,7 +1121,7 @@ export default function (providerContext: FtrProviderContext) { auth_type: 'user_pass', username: 'user', password: 'pass', - topics: [{ topic: 'topic1' }], + topic: 'topic1', broker_timeout: 10, required_acks: 1, client_id: 'Elastic', @@ -1147,7 +1147,7 @@ export default function (providerContext: FtrProviderContext) { auth_type: 'user_pass', username: 'user', password: 'pass', - topics: [{ topic: 'topic1' }], + topic: 'topic1', is_default: true, }) .expect(200); @@ -1160,7 +1160,7 @@ export default function (providerContext: FtrProviderContext) { auth_type: 'user_pass', username: 'user', password: 'pass', - topics: [{ topic: 'topic1' }], + topic: 'topic1', is_default: true, is_default_monitoring: false, broker_timeout: 10, @@ -1388,7 +1388,7 @@ export default function (providerContext: FtrProviderContext) { auth_type: 'user_pass', username: 'user', password: 'pass', - topics: [{ topic: 'topic1' }], + topic: 'topic1', config_yaml: 'shipper: {}', shipper: { disk_queue_enabled: true, @@ -1448,7 +1448,7 @@ export default function (providerContext: FtrProviderContext) { auth_type: 'user_pass', username: 'user', password: 'pass', - topics: [{ topic: 'topic1' }], + topic: 'topic1', config_yaml: 'shipper: {}', shipper: { disk_queue_enabled: true, @@ -1469,7 +1469,7 @@ export default function (providerContext: FtrProviderContext) { type: 'kafka', hosts: ['test.fr:2000'], auth_type: 'ssl', - topics: [{ topic: 'topic1' }], + topic: 'topic1', config_yaml: 'shipper: {}', shipper: { disk_queue_enabled: true, @@ -1501,7 +1501,7 @@ export default function (providerContext: FtrProviderContext) { type: 'kafka', hosts: ['test.fr:2000'], auth_type: 'ssl', - topics: [{ topic: 'topic1' }], + topic: 'topic1', config_yaml: 'shipper: {}', shipper: { disk_queue_enabled: true, @@ -1536,7 +1536,7 @@ export default function (providerContext: FtrProviderContext) { hosts: ['test.fr:2000'], auth_type: 'user_pass', username: 'user', - topics: [{ topic: 'topic1' }], + topic: 'topic1', config_yaml: 'shipper: {}', shipper: { disk_queue_enabled: true, @@ -1811,7 +1811,7 @@ export default function (providerContext: FtrProviderContext) { username: 'user', password: 'pass', is_default: true, - topics: [{ topic: 'topic1' }], + topic: 'topic1', }; before(async () => { @@ -1858,7 +1858,7 @@ export default function (providerContext: FtrProviderContext) { type: 'kafka', hosts: ['test.fr:2000'], auth_type: 'ssl', - topics: [{ topic: 'topic1' }], + topic: 'topic1', config_yaml: 'shipper: {}', shipper: { disk_queue_enabled: true, @@ -1905,7 +1905,7 @@ export default function (providerContext: FtrProviderContext) { type: 'kafka', hosts: ['test.fr:2000'], auth_type: 'ssl', - topics: [{ topic: 'topic1' }], + topic: 'topic1', config_yaml: '', compression: 'none', client_id: 'Elastic', @@ -1943,7 +1943,7 @@ export default function (providerContext: FtrProviderContext) { .expect(200); expect(updateRes.body.item.type).to.eql('logstash'); - expect(updateRes.body.item.topics).to.eql(null); + expect(updateRes.body.item.topic).to.eql(null); await supertest .delete(`/api/fleet/outputs/${outputWithSecretsId}`) diff --git a/x-pack/test/fleet_api_integration/apis/policy_secrets.ts b/x-pack/test/fleet_api_integration/apis/policy_secrets.ts index ce08126bf29d3..0f7215e9d204b 100644 --- a/x-pack/test/fleet_api_integration/apis/policy_secrets.ts +++ b/x-pack/test/fleet_api_integration/apis/policy_secrets.ts @@ -231,7 +231,7 @@ export default function (providerContext: FtrProviderContext) { hosts: ['test.fr:2000'], auth_type: 'user_pass', username: 'user', - topics: [{ topic: 'topic1' }], + topic: 'topic1', config_yaml: 'shipper: {}', shipper: { disk_queue_enabled: true, From d677153844ed99d81cc59cdfca002854d3de766d Mon Sep 17 00:00:00 2001 From: Charis Kalpakis <39087493+fake-haris@users.noreply.github.com> Date: Fri, 8 Nov 2024 17:50:49 +0200 Subject: [PATCH 09/52] Fix ess deployment agnostic tests --- .../dataset_quality/integrations.ts | 40 +++++++++++++------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/dataset_quality/integrations.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/dataset_quality/integrations.ts index 33b3fccbea8a1..7b2ff3f7897ee 100644 --- a/x-pack/test/api_integration/deployment_agnostic/apis/observability/dataset_quality/integrations.ts +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/dataset_quality/integrations.ts @@ -47,6 +47,7 @@ export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { describe('Integrations', () => { let adminRoleAuthc: RoleCredentials; let supertestAdminWithCookieCredentials: SupertestWithRoleScopeType; + let preExistingIntegrations: string[]; before(async () => { adminRoleAuthc = await samlAuth.createM2mApiKeyWithRoleScope('admin'); @@ -57,6 +58,12 @@ export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { withInternalHeaders: true, } ); + + preExistingIntegrations = ( + await callApiAs({ + roleScopedSupertestWithCookieCredentials: supertestAdminWithCookieCredentials, + }) + ).integrations.map((integration: Integration) => integration.name); }); after(async () => { @@ -80,13 +87,18 @@ export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { roleScopedSupertestWithCookieCredentials: supertestAdminWithCookieCredentials, }); - expect(body.integrations.map((integration: Integration) => integration.name)).to.eql([ - 'synthetics', - 'system', - ]); + expect(body.integrations.map((integration: Integration) => integration.name).sort()).to.eql( + preExistingIntegrations.concat(['synthetics', 'system']).sort() + ); - expect(body.integrations[0].datasets).not.empty(); - expect(body.integrations[1].datasets).not.empty(); + expect( + body.integrations.find((integration: Integration) => integration.name === 'synthetics') + ?.datasets + ).not.empty(); + expect( + body.integrations.find((integration: Integration) => integration.name === 'system') + ?.datasets + ).not.empty(); }); after( @@ -113,13 +125,17 @@ export default function ({ getService }: DeploymentAgnosticFtrProviderContext) { roleScopedSupertestWithCookieCredentials: supertestAdminWithCookieCredentials, }); - expect(body.integrations.map((integration: Integration) => integration.name)).to.eql([ - 'my.custom.integration', - ]); + expect(body.integrations.map((integration: Integration) => integration.name).sort()).to.eql( + preExistingIntegrations.concat('my.custom.integration').sort() + ); - expect(body.integrations[0].datasets).to.eql({ - 'my.custom.integration': 'My.custom.integration', - }); + expect( + Object.entries( + body.integrations.find( + (integration: Integration) => integration.name === 'my.custom.integration' + ).datasets + ).sort() + ).to.eql(Object.entries({ 'my.custom.integration': 'My.custom.integration' }).sort()); }); after( From 3dfe062cae698cfbf202b812acd96d2176866cce Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Fri, 8 Nov 2024 16:53:36 +0100 Subject: [PATCH 10/52] [Fleet] fix create package policy test (#199477) ## Summary Enabling flaky create package policy test, fixing failures Closes https://github.com/elastic/kibana/issues/196463 Closes https://github.com/elastic/kibana/issues/196464 Closes https://github.com/elastic/kibana/issues/196465 Closes https://github.com/elastic/kibana/issues/196466 Closes https://github.com/elastic/kibana/issues/196467 Closes https://github.com/elastic/kibana/issues/196468 Closes https://github.com/elastic/kibana/issues/196469 --- .../single_page_layout/index.test.tsx | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx index ff89db3e0c842..db223fee26bf2 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx @@ -52,7 +52,7 @@ jest.mock('../../../../hooks', () => { sendGetStatus: jest .fn() .mockResolvedValue({ data: { isReady: true, missing_requirements: [] } }), - sendGetAgentStatus: jest.fn().mockResolvedValue({ data: { results: { total: 0 } } }), + sendGetAgentStatus: jest.fn().mockResolvedValue({ data: { results: { active: 0 } } }), useGetAgentPolicies: jest.fn().mockReturnValue({ data: { items: [ @@ -154,14 +154,7 @@ afterAll(() => { consoleDebugMock.mockRestore(); }); -// FLAKY: https://github.com/elastic/kibana/issues/196463 -// FLAKY: https://github.com/elastic/kibana/issues/196464 -// FLAKY: https://github.com/elastic/kibana/issues/196465 -// FLAKY: https://github.com/elastic/kibana/issues/196466 -// FLAKY: https://github.com/elastic/kibana/issues/196467 -// FLAKY: https://github.com/elastic/kibana/issues/196468 -// FLAKY: https://github.com/elastic/kibana/issues/196469 -describe.skip('When on the package policy create page', () => { +describe('When on the package policy create page', () => { afterEach(() => { jest.clearAllMocks(); }); @@ -534,7 +527,7 @@ describe.skip('When on the package policy create page', () => { (sendCreateAgentPolicy as jest.MockedFunction).mockClear(); (sendCreatePackagePolicy as jest.MockedFunction).mockClear(); (sendGetAgentStatus as jest.MockedFunction).mockResolvedValue({ - data: { results: { total: 0 } }, + data: { results: { active: 0 } }, }); }); @@ -584,7 +577,7 @@ describe.skip('When on the package policy create page', () => { test('should show modal if agent policy has agents', async () => { (sendGetAgentStatus as jest.MockedFunction).mockResolvedValue({ - data: { results: { total: 1 } }, + data: { results: { active: 1 } }, }); await act(async () => { @@ -787,7 +780,7 @@ describe.skip('When on the package policy create page', () => { test('should not show confirmation modal', async () => { (sendGetAgentStatus as jest.MockedFunction).mockResolvedValueOnce({ - data: { results: { total: 1 } }, + data: { results: { active: 1 } }, }); await act(async () => { @@ -854,8 +847,8 @@ describe.skip('When on the package policy create page', () => { expect(sendGetOneAgentPolicy).not.toHaveBeenCalled(); expect(sendCreateAgentPolicy).toHaveBeenCalledWith( expect.objectContaining({ - monitoring_enabled: ['logs', 'metrics', 'traces'], - name: 'Agent policy 1', + monitoring_enabled: ['logs', 'metrics'], + name: 'Agentless policy for nginx-1', }), { withSysMonitoring: true } ); @@ -868,7 +861,7 @@ describe.skip('When on the package policy create page', () => { test('should create agentless agent policy and package policy when in cloud and agentless API url is set', async () => { fireEvent.click(renderResult.getByTestId(SETUP_TECHNOLOGY_SELECTOR_TEST_SUBJ)); - fireEvent.click(renderResult.getByText('Agentless')); + fireEvent.click(renderResult.getAllByText('Agentless')[0]); await act(async () => { fireEvent.click(renderResult.getByText(/Save and continue/).closest('button')!); }); @@ -879,7 +872,7 @@ describe.skip('When on the package policy create page', () => { name: 'Agentless policy for nginx-1', supports_agentless: true, }), - { withSysMonitoring: false } + { withSysMonitoring: true } ); expect(sendCreatePackagePolicy).toHaveBeenCalled(); @@ -894,7 +887,7 @@ describe.skip('When on the package policy create page', () => { const mockApiCalls = (http: MockedFleetStartServices['http']) => { http.get.mockImplementation(async (path: any) => { if (path === '/api/fleet/agents/setup') { - return Promise.resolve({ data: { results: { total: 0 } } }); + return Promise.resolve({ data: { results: { active: 0 } } }); } if (path === '/api/fleet/package_policies') { return Promise.resolve({ data: { items: [] } }); From cd8229445f80ff192853ff3d1d8e3a4d3d54a7eb Mon Sep 17 00:00:00 2001 From: Davis McPhee Date: Fri, 8 Nov 2024 12:05:13 -0400 Subject: [PATCH 11/52] [Discover] Replace nested EuiFlyoutBody with EuiPanel in example profile (#199414) ## Summary Just a minor cleanup from #198637. ### Checklist - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels) - [ ] This will appear in the **Release Notes** and follow the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- .../example/example_data_source_profile/profile.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/discover/public/context_awareness/profile_providers/example/example_data_source_profile/profile.tsx b/src/plugins/discover/public/context_awareness/profile_providers/example/example_data_source_profile/profile.tsx index 1fe833ba99afe..46ecce387e877 100644 --- a/src/plugins/discover/public/context_awareness/profile_providers/example/example_data_source_profile/profile.tsx +++ b/src/plugins/discover/public/context_awareness/profile_providers/example/example_data_source_profile/profile.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { EuiBadge, EuiLink, EuiFlyout, EuiFlyoutBody } from '@elastic/eui'; +import { EuiBadge, EuiLink, EuiFlyout, EuiPanel } from '@elastic/eui'; import { AppMenuActionId, AppMenuActionType, @@ -89,12 +89,12 @@ export const createExampleDataSourceProfileProvider = (): DataSourceProfileProvi title: 'Example', order: 0, component: () => ( - +
Example Doc View
                     {context.formatRecord(params.record.flattened)}
                   
-
+ ), }); From d6f5824d1c1b925c26934af998c7cde3c97c5711 Mon Sep 17 00:00:00 2001 From: florent-leborgne Date: Fri, 8 Nov 2024 17:27:03 +0100 Subject: [PATCH 12/52] [Docs] Fix collapsibles in RNs (#199508) This PR fixes some formatting in the release notes and upgrade notes --- docs/CHANGELOG.asciidoc | 4 ++-- docs/upgrade-notes.asciidoc | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index f030de4645e3f..dccad6f918c6a 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -94,7 +94,7 @@ Deprecated functionality does not have an immediate impact on your application, you make the necessary updates after you upgrade to 8.16.0. [discrete] -* The Logs Stream is now hidden by default in favor of the Logs Explorer app. +.The Logs Stream is now hidden by default in favor of the Logs Explorer app. [%collapsible] ==== *Details* + @@ -105,7 +105,7 @@ You can still show the Logs Stream app again by navigating to Stack Management > ==== [discrete] -* Deprecates the Observability AI Assistant specific advanced setting `observability:aiAssistantLogsIndexPattern`. +.Deprecates the Observability AI Assistant specific advanced setting `observability:aiAssistantLogsIndexPattern`. [%collapsible] ==== *Details* + diff --git a/docs/upgrade-notes.asciidoc b/docs/upgrade-notes.asciidoc index 1b1a76ccfcbaa..a0c2d6c1afccb 100644 --- a/docs/upgrade-notes.asciidoc +++ b/docs/upgrade-notes.asciidoc @@ -1725,19 +1725,16 @@ When you create *Lens* visualization, the default for the *Legend width* is now [discrete] [[deprecation-192003]] -* Deprecated the Observability AI Assistant specific advanced setting `observability:aiAssistantLogsIndexPattern`. (8.16) +.Deprecated the Observability AI Assistant specific advanced setting `observability:aiAssistantLogsIndexPattern`. (8.16) [%collapsible] ==== *Details* + The Observability AI Assistant specific advanced setting for Logs index patterns `observability:aiAssistantLogsIndexPattern` is deprecated and no longer used. The AI Assistant will now use the existing **Log sources** setting `observability:logSources` instead. For more information, refer to ({kibana-pull}192003[#192003]). - -//*Impact* + -//!!TODO!! ==== [discrete] [[deprecation-194519]] -* The Logs Stream was hidden by default in favor of the Logs Explorer app. (8.16) +.The Logs Stream was hidden by default in favor of the Logs Explorer app. (8.16) [%collapsible] ==== *Details* + From 4b6b1c3effaf9918f8332a21af42409092fd8ed5 Mon Sep 17 00:00:00 2001 From: Charlotte Alexandra Wilson Date: Fri, 8 Nov 2024 16:33:50 +0000 Subject: [PATCH 13/52] Make all risk score decimal places consistent (#198450) ## Summary This PR updates risk scores to use formatter to 2DP instead of basic Math.round for consistency and accuracy. ![image](https://github.com/user-attachments/assets/ede600ef-acd3-463b-8f0f-8f527271836e) ![image](https://github.com/user-attachments/assets/a49f2a01-e05a-4077-8397-cff18da7cfa5) ![image](https://github.com/user-attachments/assets/599d3bcb-118f-4e32-94e6-ff4aa0a60fa8) With reverted alert score, showing user and host risk scores still have formatting: ![image](https://github.com/user-attachments/assets/94cb4d9e-a468-4cb7-b162-74762b134436) --- .../components/entity_analytics_risk_score/columns.tsx | 3 ++- .../entity_store/hooks/use_entities_list_columns.tsx | 3 ++- .../components/host_risk_score_table/columns.tsx | 3 ++- .../components/user_risk_score_table/columns.tsx | 3 ++- .../cypress/e2e/entity_analytics/hosts/host_risk_tab.cy.ts | 4 ++-- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/x-pack/plugins/security_solution/public/entity_analytics/components/entity_analytics_risk_score/columns.tsx b/x-pack/plugins/security_solution/public/entity_analytics/components/entity_analytics_risk_score/columns.tsx index e6ac30f15c5b0..9459953b6d1d0 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/components/entity_analytics_risk_score/columns.tsx +++ b/x-pack/plugins/security_solution/public/entity_analytics/components/entity_analytics_risk_score/columns.tsx @@ -30,6 +30,7 @@ import { SecurityCellActionType, } from '../../../common/components/cell_actions'; import { FormattedRelativePreferenceDate } from '../../../common/components/formatted_date'; +import { formatRiskScore } from '../../common'; type HostRiskScoreColumns = Array>; @@ -128,7 +129,7 @@ export const getRiskScoreColumns = ( if (riskScore != null) { return ( - {Math.round(riskScore)} + {formatRiskScore(riskScore)} ); } diff --git a/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/hooks/use_entities_list_columns.tsx b/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/hooks/use_entities_list_columns.tsx index e603c95b6604a..1da79d3d2cd0e 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/hooks/use_entities_list_columns.tsx +++ b/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/hooks/use_entities_list_columns.tsx @@ -21,6 +21,7 @@ import { type CriticalityLevels } from '../../../../../common/constants'; import { ENTITIES_LIST_TABLE_ID } from '../constants'; import { isUserEntity, sourceFieldToText } from '../helpers'; import { CRITICALITY_LEVEL_TITLE } from '../../asset_criticality/translations'; +import { formatRiskScore } from '../../../common'; export type EntitiesListColumns = [ Columns, @@ -149,7 +150,7 @@ export const useEntitiesListColumns = (): EntitiesListColumns => { if (riskScore != null) { return ( - {Math.round(riskScore)} + {formatRiskScore(riskScore)} ); } diff --git a/x-pack/plugins/security_solution/public/entity_analytics/components/host_risk_score_table/columns.tsx b/x-pack/plugins/security_solution/public/entity_analytics/components/host_risk_score_table/columns.tsx index e1509a03a9a90..ac85589736336 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/components/host_risk_score_table/columns.tsx +++ b/x-pack/plugins/security_solution/public/entity_analytics/components/host_risk_score_table/columns.tsx @@ -23,6 +23,7 @@ import { RiskScoreLevel } from '../severity/common'; import { ENTITY_RISK_LEVEL } from '../risk_score/translations'; import { CELL_ACTIONS_TELEMETRY } from '../risk_score/constants'; import { FormattedRelativePreferenceDate } from '../../../common/components/formatted_date'; +import { formatRiskScore } from '../../common'; export const getHostRiskScoreColumns = ({ dispatchSeverityUpdate, @@ -82,7 +83,7 @@ export const getHostRiskScoreColumns = ({ if (riskScore != null) { return ( - {Math.round(riskScore)} + {formatRiskScore(riskScore)} ); } diff --git a/x-pack/plugins/security_solution/public/entity_analytics/components/user_risk_score_table/columns.tsx b/x-pack/plugins/security_solution/public/entity_analytics/components/user_risk_score_table/columns.tsx index 49eaf7b3cc26b..0cb7960ecabba 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/components/user_risk_score_table/columns.tsx +++ b/x-pack/plugins/security_solution/public/entity_analytics/components/user_risk_score_table/columns.tsx @@ -24,6 +24,7 @@ import { UsersTableType } from '../../../explore/users/store/model'; import { ENTITY_RISK_LEVEL } from '../risk_score/translations'; import { CELL_ACTIONS_TELEMETRY } from '../risk_score/constants'; import { FormattedRelativePreferenceDate } from '../../../common/components/formatted_date'; +import { formatRiskScore } from '../../common'; export const getUserRiskScoreColumns = ({ dispatchSeverityUpdate, @@ -85,7 +86,7 @@ export const getUserRiskScoreColumns = ({ if (riskScore != null) { return ( - {Math.round(riskScore)} + {formatRiskScore(riskScore)} ); } diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/entity_analytics/hosts/host_risk_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/entity_analytics/hosts/host_risk_tab.cy.ts index 2f1b4d4e9eb91..3123bd30cb450 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/entity_analytics/hosts/host_risk_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/entity_analytics/hosts/host_risk_tab.cy.ts @@ -46,7 +46,7 @@ describe('risk tab', { tags: ['@ess'] }, () => { kqlSearch('host.name: "siem-kibana" {enter}'); cy.get(HOST_BY_RISK_TABLE_CELL).eq(4).should('have.text', 'siem-kibana'); cy.get(HOST_BY_RISK_TABLE_CELL).eq(5).should('have.text', 'Mar 10, 2021 @ 14:51:05.766'); - cy.get(HOST_BY_RISK_TABLE_CELL).eq(6).should('have.text', '21'); + cy.get(HOST_BY_RISK_TABLE_CELL).eq(6).should('have.text', '21.00'); cy.get(HOST_BY_RISK_TABLE_CELL).eq(7).should('have.text', 'Low'); }); @@ -93,7 +93,7 @@ describe('risk tab', { tags: ['@ess'] }, () => { kqlSearch('host.name: "siem-kibana" {enter}'); cy.get(HOST_BY_RISK_TABLE_CELL).eq(4).should('have.text', 'siem-kibana'); cy.get(HOST_BY_RISK_TABLE_CELL).eq(5).should('have.text', 'Mar 10, 2021 @ 14:51:05.766'); - cy.get(HOST_BY_RISK_TABLE_CELL).eq(6).should('have.text', '90'); + cy.get(HOST_BY_RISK_TABLE_CELL).eq(6).should('have.text', '90.00'); cy.get(HOST_BY_RISK_TABLE_CELL).eq(7).should('have.text', 'Critical'); }); From a227021302455ce74a1da2fa01b2da071e30897b Mon Sep 17 00:00:00 2001 From: Nick Peihl Date: Fri, 8 Nov 2024 11:35:13 -0500 Subject: [PATCH 14/52] [Dashboard] Public CRUD API MVP (#193067) Closes #[192618](https://github.com/elastic/kibana/issues/192618) Adds public CRUD+List endpoints for the Dashboards API. The schema for the endpoints are generated from Content Management schemas so that the RPC and Public APIs use the same schemas for CRUD operations. A new version (v3) has been added to the Dashboards content management specification that decouples Content from Saved Objects using a translation layer in Content Management. When retrieving a saved object the Content Management layer parses and validates the panelJSON, optionsListJSON, and savedSearchJSON properties against the defines schema and passes the translated content to the consumer (user interface or API). When writing a saved object, the Content Management layer serializes (`JSON.stringify`) the Content object into the saved object schema. So the saved object schema continues to store as stringified JSON, but the user interface and public API see and use the JSON objects. These planned features are out of scope for this PR and may be added in subsequent PRs. 1) https://github.com/elastic/kibana/issues/192758 2) https://github.com/elastic/kibana/issues/192622 Reviewers, please test both UI and endpoints. # cURL examples: First, `yarn start --no-base-path`. Assumes `elastic:changeme` is the username:password. ## Create
Create an empty dashboard with the minimum required properties ``` curl -X POST \ 'http://localhost:5601/api/dashboards/dashboard' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' \ --header 'kbn-xsrf: true' \ --header 'Content-Type: application/json' \ --data-raw '{ "attributes": { "title": "my empty dashboard" } }' ```
Create a dashboard of a specific ID with some ES|QL panels ``` curl -X POST \ 'http://localhost:5601/api/dashboards/dashboard/foo-123' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' \ --header 'kbn-xsrf: true' \ --header 'Content-Type: application/json' \ --data-raw '{ "attributes": { "description": "", "panels": [ { "panelConfig": { "attributes": { "references": [], "state": { "adHocDataViews": { "32eec79c9673ab1b9265f3e422e8f952778f02c82eaf13147a9c0ba86290337a": { "allowHidden": false, "allowNoIndex": false, "fieldFormats": {}, "id": "32eec79c9673ab1b9265f3e422e8f952778f02c82eaf13147a9c0ba86290337a", "name": "kibana_sample_data_ecommerce", "runtimeFieldMap": {}, "sourceFilters": [], "title": "kibana_sample_data_ecommerce", "type": "esql" } }, "datasourceStates": { "textBased": { "indexPatternRefs": [ { "id": "32eec79c9673ab1b9265f3e422e8f952778f02c82eaf13147a9c0ba86290337a", "title": "kibana_sample_data_ecommerce" } ], "layers": { "44866844-8fca-482a-a769-006e7d029b9b": { "columns": [ { "columnId": "6376af5c-fdd1-4d72-a3ec-5686b5049664", "fieldName": "customer_gender", "meta": { "esType": "keyword", "type": "string" } }, { "columnId": "a2e3e039-dff6-4893-9c9d-9f0a816207dd", "fieldName": "taxless_total_price", "meta": { "esType": "double", "type": "number" } } ], "index": "32eec79c9673ab1b9265f3e422e8f952778f02c82eaf13147a9c0ba86290337a", "query": { "esql": "FROM kibana_sample_data_ecommerce | LIMIT 100" } }, "781db49e-f4f1-42e0-975f-7118d2ef7a18": { "columns": [], "index": "32eec79c9673ab1b9265f3e422e8f952778f02c82eaf13147a9c0ba86290337a", "query": { "esql": "FROM kibana_sample_data_ecommerce | LIMIT 100" } } } } }, "filters": [], "query": { "esql": "FROM kibana_sample_data_ecommerce | LIMIT 100" }, "visualization": { "layers": [ { "categoryDisplay": "default", "colorMapping": { "assignments": [], "colorMode": { "type": "categorical" }, "paletteId": "eui_amsterdam_color_blind", "specialAssignments": [ { "color": { "type": "loop" }, "rule": { "type": "other" }, "touched": false } ] }, "layerId": "44866844-8fca-482a-a769-006e7d029b9b", "layerType": "data", "legendDisplay": "default", "metrics": [ "a2e3e039-dff6-4893-9c9d-9f0a816207dd" ], "nestedLegend": false, "numberDisplay": "percent", "primaryGroups": [ "6376af5c-fdd1-4d72-a3ec-5686b5049664" ] } ], "shape": "pie" } }, "title": "Table category & category.keyword & currency & customer_first_name & customer_first_name.keyword", "type": "lens", "visualizationType": "lnsPie" } }, "gridData": { "h": 15, "w": 24, "x": 0, "y": 0 }, "type": "lens" }, { "panelConfig": { "attributes": { "references": [], "state": { "adHocDataViews": { "e3465e67bdeced2befff9f9dca7ecf9c48504cad68a10efd881f4c7dd5ade28a": { "allowHidden": false, "allowNoIndex": false, "fieldFormats": {}, "id": "e3465e67bdeced2befff9f9dca7ecf9c48504cad68a10efd881f4c7dd5ade28a", "name": "kibana_sample_data_logs", "runtimeFieldMap": {}, "sourceFilters": [], "timeFieldName": "@timestamp", "title": "kibana_sample_data_logs", "type": "esql" } }, "datasourceStates": { "textBased": { "indexPatternRefs": [ { "id": "e3465e67bdeced2befff9f9dca7ecf9c48504cad68a10efd881f4c7dd5ade28a", "timeField": "@timestamp", "title": "kibana_sample_data_logs" } ], "layers": { "2e3f211d-289f-4a24-87bb-1ccacd678adb": { "columns": [ { "columnId": "AVG(machine.ram)", "fieldName": "AVG(machine.ram)", "inMetricDimension": true, "meta": { "esType": "double", "type": "number" } }, { "columnId": "machine.os.keyword", "fieldName": "machine.os.keyword", "meta": { "esType": "keyword", "type": "string" } } ], "index": "e3465e67bdeced2befff9f9dca7ecf9c48504cad68a10efd881f4c7dd5ade28a", "query": { "esql": "FROM kibana_sample_data_logs| STATS AVG(machine.ram) BY machine.os.keyword " }, "timeField": "@timestamp" } } } }, "filters": [], "query": { "esql": "FROM kibana_sample_data_logs| STATS AVG(machine.ram) BY machine.os.keyword " }, "visualization": { "axisTitlesVisibilitySettings": { "x": true, "yLeft": true, "yRight": true }, "fittingFunction": "None", "gridlinesVisibilitySettings": { "x": true, "yLeft": true, "yRight": true }, "labelsOrientation": { "x": 0, "yLeft": 0, "yRight": 0 }, "layers": [ { "accessors": [ "AVG(machine.ram)" ], "colorMapping": { "assignments": [], "colorMode": { "type": "categorical" }, "paletteId": "eui_amsterdam_color_blind", "specialAssignments": [ { "color": { "type": "loop" }, "rule": { "type": "other" }, "touched": false } ] }, "layerId": "2e3f211d-289f-4a24-87bb-1ccacd678adb", "layerType": "data", "seriesType": "bar_stacked", "xAccessor": "machine.os.keyword" } ], "legend": { "isVisible": true, "position": "right" }, "preferredSeriesType": "bar_stacked", "tickLabelsVisibilitySettings": { "x": true, "yLeft": true, "yRight": true }, "valueLabels": "hide" } }, "title": "Bar vertical stacked", "type": "lens", "visualizationType": "lnsXY" } }, "gridData": { "h": 15, "w": 24, "x": 24, "y": 0 }, "type": "lens" }, { "panelConfig": { "attributes": { "references": [], "state": { "adHocDataViews": { "5d671714fc025d173ee40f0825b86d59b6e432344593b725be28f1f8f17a8a03": { "allowHidden": false, "allowNoIndex": false, "fieldFormats": {}, "id": "5d671714fc025d173ee40f0825b86d59b6e432344593b725be28f1f8f17a8a03", "name": "kibana_sample_data_flights", "runtimeFieldMap": {}, "sourceFilters": [], "title": "kibana_sample_data_flights", "type": "esql" } }, "datasourceStates": { "textBased": { "indexPatternRefs": [ { "id": "5d671714fc025d173ee40f0825b86d59b6e432344593b725be28f1f8f17a8a03", "title": "kibana_sample_data_flights" } ], "layers": { "4451c40f-b3ef-464e-b3d4-b10469f65c2a": { "columns": [ { "columnId": "AvgDelayMins", "fieldName": "AvgDelayMins", "inMetricDimension": true, "meta": { "esType": "double", "type": "number" } }, { "columnId": "Carrier", "fieldName": "Carrier", "meta": { "esType": "keyword", "type": "string" } } ], "index": "5d671714fc025d173ee40f0825b86d59b6e432344593b725be28f1f8f17a8a03", "query": { "esql": "FROM kibana_sample_data_flights| STATS AvgDelayMins = AVG(FlightDelayMin) BY Carrier " } } } } }, "filters": [], "query": { "esql": "FROM kibana_sample_data_flights| STATS AvgDelayMins = AVG(FlightDelayMin) BY Carrier " }, "visualization": { "breakdownByAccessor": "Carrier", "layerId": "4451c40f-b3ef-464e-b3d4-b10469f65c2a", "layerType": "data", "metricAccessor": "AvgDelayMins", "palette": { "name": "status", "params": { "colorStops": [], "continuity": "all", "maxSteps": 5, "name": "status", "progression": "fixed", "rangeMax": 100, "rangeMin": 0, "rangeType": "percent", "reverse": false, "steps": 3, "stops": [ { "color": "#209280", "stop": 33.33 }, { "color": "#d6bf57", "stop": 66.66 }, { "color": "#cc5642", "stop": 100 } ] }, "type": "palette" } } }, "title": "Bar vertical stacked", "type": "lens", "visualizationType": "lnsMetric" } }, "gridData": { "h": 15, "w": 24, "x": 0, "y": 15 }, "type": "lens" } ], "timeRestore": false, "title": "several es|ql panels", "version": 3 } }' ```
Create a dashboard with a Links panel ``` curl -X POST \ 'http://localhost:5601/api/dashboards/dashboard' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' \ --header 'kbn-xsrf: true' \ --header 'Content-Type: application/json' \ --data-raw '{ "attributes": { "panels": [ { "panelConfig": { "attributes": { "layout": "vertical", "links": [ { "destinationRefName": "link_1981a00f-8120-4c80-b37f-ed38969afe09_dashboard", "id": "1981a00f-8120-4c80-b37f-ed38969afe09", "order": 0, "type": "dashboardLink" }, { "destinationRefName": "link_f2e1a75c-fbca-4f41-a290-d5d89a60a797_dashboard", "id": "f2e1a75c-fbca-4f41-a290-d5d89a60a797", "order": 1, "type": "dashboardLink" }, { "destination": "https://example.com", "id": "63342ea6-f686-42b2-a526-ec0bcf4476b0", "order": 2, "type": "externalLink" } ] }, "enhancements": {}, "id": "abbbaedc-62f5-46ee-9d17-8367dcf4f52b" }, "gridData": { "h": 7, "i": "abbbaedc-62f5-46ee-9d17-8367dcf4f52b", "w": 8, "x": 0, "y": 0 }, "panelIndex": "abbbaedc-62f5-46ee-9d17-8367dcf4f52b", "type": "links" } ], "timeRestore": false, "title": "a links panel", "version": 3 }, "references": [ { "id": "722b74f0-b882-11e8-a6d9-e546fe2bba5f", "name": "abbbaedc-62f5-46ee-9d17-8367dcf4f52b:link_1981a00f-8120-4c80-b37f-ed38969afe09_dashboard", "type": "dashboard" }, { "id": "edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b", "name": "abbbaedc-62f5-46ee-9d17-8367dcf4f52b:link_f2e1a75c-fbca-4f41-a290-d5d89a60a797_dashboard", "type": "dashboard" } ] }' ```
Create a dashboard with a Maps panel ``` curl -X POST \ 'http://localhost:5601/api/dashboards/dashboard' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' \ --header 'kbn-xsrf: true' \ --header 'Content-Type: application/json' \ --data-raw '{ "attributes": { "panels": [ { "panelConfig": { "attributes": { "description": "", "layerListJSON": "[{\"locale\":\"autoselect\",\"sourceDescriptor\":{\"type\":\"EMS_TMS\",\"isAutoSelect\":true,\"lightModeDefault\":\"road_map_desaturated\"},\"id\":\"db63eee8-3dfc-48c6-8c8b-7f2c4e32329d\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"alpha\":1,\"visible\":true,\"style\":{\"type\":\"EMS_VECTOR_TILE\",\"color\":\"\"},\"includeInFitToBounds\":true,\"type\":\"EMS_VECTOR_TILE\"},{\"sourceDescriptor\":{\"geoField\":\"geoip.location\",\"scalingType\":\"MVT\",\"id\":\"9ee192e4-18f0-41b2-b8b7-89eb91d0e529\",\"type\":\"ES_SEARCH\",\"applyGlobalQuery\":true,\"applyGlobalTime\":true,\"applyForceRefresh\":true,\"filterByMapBounds\":true,\"tooltipProperties\":[],\"sortField\":\"\",\"sortOrder\":\"desc\",\"topHitsGroupByTimeseries\":false,\"topHitsSplitField\":\"\",\"topHitsSize\":1,\"indexPatternRefName\":\"layer_1_source_index_pattern\"},\"id\":\"65710bbc-f41c-4fe7-b0c3-a6dbc0613220\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"alpha\":0.75,\"visible\":true,\"style\":{\"type\":\"VECTOR\",\"properties\":{\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"marker\"}},\"fillColor\":{\"type\":\"DYNAMIC\",\"options\":{\"color\":\"Blues\",\"colorCategory\":\"palette_0\",\"field\":{\"name\":\"category.keyword\",\"origin\":\"source\"},\"fieldMetaOptions\":{\"isEnabled\":true,\"sigma\":3},\"type\":\"CATEGORICAL\"}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#41937c\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":0}},\"iconSize\":{\"type\":\"STATIC\",\"options\":{\"size\":6}},\"iconOrientation\":{\"type\":\"STATIC\",\"options\":{\"orientation\":0}},\"labelText\":{\"type\":\"STATIC\",\"options\":{\"value\":\"\"}},\"labelColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#000000\"}},\"labelSize\":{\"type\":\"STATIC\",\"options\":{\"size\":14}},\"labelZoomRange\":{\"options\":{\"useLayerZoomRange\":true,\"minZoom\":0,\"maxZoom\":24}},\"labelBorderColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#FFFFFF\"}},\"symbolizeAs\":{\"options\":{\"value\":\"circle\"}},\"labelBorderSize\":{\"options\":{\"size\":\"SMALL\"}},\"labelPosition\":{\"options\":{\"position\":\"CENTER\"}}},\"isTimeAware\":true},\"includeInFitToBounds\":true,\"type\":\"MVT_VECTOR\",\"joins\":[],\"disableTooltips\":false}]", "mapStateJSON": "{\"adHocDataViews\":[],\"zoom\":1.57,\"center\":{\"lon\":0,\"lat\":19.94277},\"timeFilters\":{\"from\":\"now-7d\",\"to\":\"now\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":60000},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[{\"meta\":{\"disabled\":false,\"negate\":false,\"alias\":\"males only\",\"index\":\"ff959d40-b880-11e8-a6d9-e546fe2bba5f\",\"key\":\"customer_gender\",\"field\":\"customer_gender\",\"params\":{\"query\":\"MALE\"},\"type\":\"phrase\"},\"query\":{\"match_phrase\":{\"customer_gender\":\"MALE\"}},\"$state\":{\"store\":\"appState\"}}],\"settings\":{\"autoFitToDataBounds\":false,\"backgroundColor\":\"#ffffff\",\"customIcons\":[],\"disableInteractive\":false,\"disableTooltipControl\":false,\"hideToolbarOverlay\":false,\"hideLayerControl\":false,\"hideViewControl\":false,\"initialLocation\":\"LAST_SAVED_LOCATION\",\"fixedLocation\":{\"lat\":0,\"lon\":0,\"zoom\":2},\"browserLocation\":{\"zoom\":2},\"keydownScrollZoom\":false,\"maxZoom\":24,\"minZoom\":0,\"showScaleControl\":false,\"showSpatialFilters\":true,\"showTimesliderToggleButton\":true,\"spatialFiltersAlpa\":0.3,\"spatialFiltersFillColor\":\"#DA8B45\",\"spatialFiltersLineColor\":\"#DA8B45\"}}", "title": "", "uiStateJSON": "{\"isLayerTOCOpen\":true,\"openTOCDetails\":[\"65710bbc-f41c-4fe7-b0c3-a6dbc0613220\"]}" }, "enhancements": { "dynamicActions": { "events": [] } }, "hiddenLayers": [], "id": "108b2f72-0101-4e09-b8a9-22f7aa9573b0", "isLayerTOCOpen": false, "mapBuffer": { "maxLat": 85.05113, "maxLon": 180, "minLat": -66.51326, "minLon": -180 }, "mapCenter": { "lat": 19.94277, "lon": 0, "zoom": 1.57 }, "openTOCDetails": [ "65710bbc-f41c-4fe7-b0c3-a6dbc0613220" ] }, "gridData": { "h": 25, "i": "108b2f72-0101-4e09-b8a9-22f7aa9573b0", "w": 38, "x": 0, "y": 0 }, "panelIndex": "108b2f72-0101-4e09-b8a9-22f7aa9573b0", "type": "map" } ], "timeRestore": false, "title": "a maps panel", "version": 3 }, "references": [ { "type": "tag", "id": "662b28f2-71e4-4c04-b4e5-0c6249b1c08a", "name": "tag-ref-662b28f2-71e4-4c04-b4e5-0c6249b1c08a" }, { "name": "108b2f72-0101-4e09-b8a9-22f7aa9573b0:layer_1_source_index_pattern", "type": "index-pattern", "id": "ff959d40-b880-11e8-a6d9-e546fe2bba5f" } ] }' ```
Create a dashboard with a Filter pill and a Field statistics panel ``` curl -X POST \ 'http://localhost:5601/api/dashboards/dashboard' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' \ --header 'kbn-xsrf: true' \ --header 'Content-Type: application/json' \ --data-raw '{ "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSource": { "filter": [ { "$state": { "store": "appState" }, "meta": { "alias": "gnomehouse", "disabled": false, "field": "products.manufacturer.keyword", "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "key": "products.manufacturer.keyword", "negate": false, "params": [ "Gnomehouse", "Gnomehouse mom" ], "type": "phrases" }, "query": { "bool": { "minimum_should_match": 1, "should": [ { "match_phrase": { "products.manufacturer.keyword": "Gnomehouse" } }, { "match_phrase": { "products.manufacturer.keyword": "Gnomehouse mom" } } ] } } } ], "query": { "language": "kuery", "query": "" } } }, "panels": [ { "panelConfig": { "dataViewId": "32eec79c9673ab1b9265f3e422e8f952778f02c82eaf13147a9c0ba86290337a", "enhancements": {}, "id": "3c9dee70-4a01-4c2f-9ccd-0c2812e2a5d4", "query": { "esql": "from kibana_sample_data_ecommerce | limit 10" }, "viewType": "esql" }, "gridData": { "h": 18, "i": "3c9dee70-4a01-4c2f-9ccd-0c2812e2a5d4", "w": 48, "x": 0, "y": 0 }, "panelIndex": "3c9dee70-4a01-4c2f-9ccd-0c2812e2a5d4", "type": "field_stats_table" } ], "timeRestore": false, "title": "field stats panel", "version": 2 }, "references": [ { "id": "32eec79c9673ab1b9265f3e422e8f952778f02c82eaf13147a9c0ba86290337a", "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "type": "index-pattern" }, { "id": "662b28f2-71e4-4c04-b4e5-0c6249b1c08a", "name": "tag-ref-662b28f2-71e4-4c04-b4e5-0c6249b1c08a", "type": "tag" }, { "id": "32eec79c9673ab1b9265f3e422e8f952778f02c82eaf13147a9c0ba86290337a", "name": "3c9dee70-4a01-4c2f-9ccd-0c2812e2a5d4:fieldStatsTableDataViewId", "type": "index-pattern" } ] }' ```
Create a dashboard with a Lens panel ``` curl -X POST \ 'http://localhost:5601/api/dashboards/dashboard/' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' \ --header 'kbn-xsrf: true' \ --header 'Content-Type: application/json' \ --data-raw '{ "attributes": { "title": "a lens panel", "kibanaSavedObjectMeta": { "searchSource": {} }, "timeRestore": false, "panels": [ { "panelConfig": { "attributes": { "title": "", "visualizationType": "lnsDatatable", "type": "lens", "references": [ { "type": "index-pattern", "id": "d3d7af60-4c81-11e8-b3d7-01146121b73d", "name": "indexpattern-datasource-layer-b9789655-f916-4732-9bf2-641a88075210" } ], "state": { "visualization": { "layerId": "b9789655-f916-4732-9bf2-641a88075210", "layerType": "data", "columns": [ { "isTransposed": false, "columnId": "4175e737-76b9-46db-894b-57106a06b9cb" }, { "isTransposed": false, "columnId": "1494f183-3bfa-4602-a780-6a41624f6c69" }, { "isTransposed": false, "columnId": "8eb92ea9-5b76-45a2-865e-d78511c1e506" } ] }, "query": { "query": "", "language": "kuery" }, "filters": [], "datasourceStates": { "formBased": { "layers": { "b9789655-f916-4732-9bf2-641a88075210": { "columns": { "4175e737-76b9-46db-894b-57106a06b9cb": { "label": "Top 5 values of Carrier", "dataType": "string", "operationType": "terms", "scale": "ordinal", "sourceField": "Carrier", "isBucketed": true, "params": { "size": 5, "orderBy": { "type": "column", "columnId": "1494f183-3bfa-4602-a780-6a41624f6c69" }, "orderDirection": "desc", "otherBucket": true, "missingBucket": false, "parentFormat": { "id": "terms" }, "include": [], "exclude": [], "includeIsRegex": false, "excludeIsRegex": false } }, "1494f183-3bfa-4602-a780-6a41624f6c69": { "label": "Count of records", "dataType": "number", "operationType": "count", "isBucketed": false, "scale": "ratio", "sourceField": "___records___", "params": { "emptyAsNull": true } }, "8eb92ea9-5b76-45a2-865e-d78511c1e506": { "label": "Median of AvgTicketPrice", "dataType": "number", "operationType": "median", "sourceField": "AvgTicketPrice", "isBucketed": false, "scale": "ratio", "params": { "emptyAsNull": true } } }, "columnOrder": [ "4175e737-76b9-46db-894b-57106a06b9cb", "1494f183-3bfa-4602-a780-6a41624f6c69", "8eb92ea9-5b76-45a2-865e-d78511c1e506" ], "incompleteColumns": {}, "sampling": 1 } } }, "indexpattern": { "layers": {} }, "textBased": { "layers": {} } }, "internalReferences": [], "adHocDataViews": {} } }, "enhancements": {} }, "gridData": { "x": 0, "y": 0, "w": 24, "h": 15 }, "type": "lens" } ], "options": { "hidePanelTitles": false, "useMargins": true, "syncColors": false, "syncTooltips": true, "syncCursor": true }, "version": 3 }, "references": [ { "type": "index-pattern", "id": "d3d7af60-4c81-11e8-b3d7-01146121b73d", "name": "indexpattern-datasource-layer-b9789655-f916-4732-9bf2-641a88075210" } ] }' ```
Create a dashboard in a specific Space ``` curl -X POST \ 'http://localhost:5601/s/space-1/api/dashboards/dashboard/' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' \ --header 'kbn-xsrf: true' \ --header 'Content-Type: application/json' \ --data-raw '{ "attributes": { "title": "my other demo dashboard", "kibanaSavedObjectMeta": { "searchSource": {} }, "timeRestore": false, "panels": [ { "panelConfig": { "savedVis": { "description": "", "type": "markdown", "params": { "fontSize": 12, "openLinksInNewTab": false, "markdown": "## Sample eCommerce Data\nThis dashboard contains sample data for you to play with. You can view it, search it, and interact with the visualizations. For more information about Kibana, check our [docs](https://www.elastic.co/guide/en/kibana/current/index.html)." }, "uiState": {}, "data": { "aggs": [], "searchSource": { "query": { "query": "", "language": "kuery" }, "filter": [] } } }, "enhancements": {} }, "gridData": { "x": 0, "y": 0, "w": 24, "h": 15, "i": "1" }, "type": "visualization", "version": "7.9.2" } ], "options": { "hidePanelTitles": false, "useMargins": true, "syncColors": false, "syncTooltips": true, "syncCursor": true }, "version": 3 }, "references": [], "spaces": ["space-1"] }' ```
## Update
Update an existing dashboard ``` curl -X PUT \ 'http://localhost:5601/api/dashboards/dashboard/foo-123' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' \ --header 'kbn-xsrf: true' \ --header 'Content-Type: application/json' \ --data-raw '{ "attributes": { "title": "my demo dashboard", "kibanaSavedObjectMeta": { "searchSource": {} }, "timeRestore": false, "panels": [ { "panelConfig": { "savedVis": { "description": "", "type": "markdown", "params": { "fontSize": 12, "openLinksInNewTab": false, "markdown": "## Sample eCommerce Data\nThis dashboard contains sample data for you to play with. You can view it, search it, and interact with the visualizations. For more information about Kibana, check our [docs](https://www.elastic.co/guide/en/kibana/current/index.html).\nWubba lubba dub-dub!" }, "uiState": {}, "data": { "aggs": [], "searchSource": { "query": { "query": "", "language": "kuery" }, "filter": [] } } }, "enhancements": {} }, "gridData": { "x": 0, "y": 0, "w": 24, "h": 15 }, "type": "visualization" } ], "version": 3 }, "references": [] }' ```
## Get / List
Get a dashboard ``` curl -X GET \ 'http://localhost:5601/api/dashboards/dashboard/foo-123' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' ```
Get a paginated list of dashboards ``` curl -X GET \ 'http://localhost:5601/api/dashboards/dashboard' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' ```
## Delete
Delete a dashboard ``` curl -X DELETE \ 'http://localhost:5601/api/dashboards/dashboard/foo-123' \ --user elastic:changeme \ --header 'Accept: */*' \ --header 'elastic-api-version: 2023-10-31' \ --header 'kbn-xsrf: true' ```
## Open API specification
Retrieve the Open API specification ``` curl -X GET \ 'http://localhost:5601/api/oas?pathStartsWith=%2Fapi%2Fdashboard' \ --user elastic:changeme \ --header 'Accept: */*' ```
--------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- src/plugins/controls/common/constants.ts | 18 +- .../controls/common/control_group/types.ts | 18 +- src/plugins/controls/common/index.ts | 6 + src/plugins/controls/common/types.ts | 10 +- .../control_group_renderer.tsx | 18 +- .../get_control_group_factory.tsx | 22 +- .../control_group/init_controls_manager.ts | 15 +- .../utils/initialization_utils.ts | 19 +- .../utils/serialization_utils.ts | 28 +- .../control_group_migrations.test.ts | 6 +- .../control_group/control_group_migrations.ts | 2 +- .../control_group_persistable_state.ts | 2 +- .../control_group_persistence.ts | 51 +- .../control_group_telemetry.test.ts | 15 +- .../control_group/control_group_telemetry.ts | 32 +- .../controls/server/control_group/types.ts | 47 ++ src/plugins/controls/server/index.ts | 11 +- src/plugins/controls/tsconfig.json | 2 +- src/plugins/dashboard/common/bwc/types.ts | 2 +- .../common/content_management/constants.ts | 14 +- .../common/content_management/index.ts | 17 +- .../common/content_management/v1/types.ts | 15 +- .../common/content_management/v2/index.ts | 2 +- .../common/content_management/v2/types.ts | 19 +- .../common/dashboard_container/types.ts | 3 +- .../dashboard_saved_object_references.test.ts | 250 ++++++-- .../dashboard_saved_object_references.ts | 34 +- src/plugins/dashboard/common/index.ts | 11 +- .../common/lib/dashboard_panel_converters.ts | 96 ++- src/plugins/dashboard/common/types.ts | 16 +- .../load_dashboard_history_location_state.ts | 4 +- .../top_nav/share/show_share_modal.test.tsx | 10 +- .../top_nav/share/show_share_modal.tsx | 4 +- .../url/search_sessions_integration.ts | 4 +- .../public/dashboard_app/url/url_utils.ts | 27 +- .../embeddable/api/run_save_functions.tsx | 10 +- .../embeddable/dashboard_container.tsx | 30 +- .../place_clone_panel_strategy.ts | 8 +- .../place_new_panel_strategies.ts | 6 +- .../panel_placement/types.ts | 2 +- .../public/dashboard_container/types.ts | 6 +- .../dashboard_unsaved_listing.tsx | 2 +- .../hooks/use_dashboard_listing_table.tsx | 8 +- .../dashboard_content_management_cache.ts | 8 +- .../check_for_duplicate_dashboard_title.ts | 6 +- .../lib/delete_dashboards.ts | 9 +- .../lib/find_dashboards.ts | 31 +- .../lib/load_dashboard_state.ts | 46 +- .../lib/save_dashboard_state.test.ts | 8 +- .../lib/save_dashboard_state.ts | 60 +- .../lib/update_dashboard_meta.ts | 7 +- .../types.ts | 9 +- .../dashboard/public/services/mocks.ts | 3 +- src/plugins/dashboard/server/api/constants.ts | 12 + .../schema/v2 => api}/index.ts | 6 +- .../dashboard/server/api/register_routes.ts | 327 +++++++++++ .../{schema => }/cm_services.ts | 2 + .../content_management/dashboard_storage.ts | 380 +++++++++++- .../server/content_management/index.ts | 20 + .../content_management/latest.ts | 4 +- .../{schema => }/v1/cm_services.ts | 52 +- .../{schema => }/v1/index.ts | 7 +- .../{schema => }/v2/cm_services.ts | 31 +- .../server/content_management/v2/index.ts | 10 + .../content_management/v3/cm_services.ts | 539 +++++++++++++++++ .../server/content_management/v3/index.ts | 42 ++ .../v3/transform_utils.test.ts | 551 ++++++++++++++++++ .../content_management/v3/transform_utils.ts | 365 ++++++++++++ .../server/content_management/v3/types.ts | 90 +++ .../dashboard_saved_object.ts | 8 +- .../server/dashboard_saved_object/index.ts | 6 +- .../dashboard_saved_object_migrations.test.ts | 7 +- .../migrate_by_value_dashboard_panels.ts | 12 +- .../migrate_extract_panel_references.ts | 26 +- .../migrations/migrate_hidden_titles.ts | 8 +- .../migrate_to_730/migrate_to_730_panels.ts | 4 +- .../migrate_to_730/migrations_730.ts | 2 +- .../migrations/migrate_to_730/types.ts | 10 +- .../migrations/utils.test.ts} | 32 +- .../migrations/utils.ts | 50 ++ .../dashboard_saved_object/schema/index.ts | 11 + .../dashboard_saved_object/schema/latest.ts | 16 + .../dashboard_saved_object/schema/v1/index.ts | 11 + .../dashboard_saved_object/schema/v1/types.ts | 13 + .../dashboard_saved_object/schema/v1/v1.ts | 55 ++ .../dashboard_saved_object/schema/v2/index.ts | 11 + .../dashboard_saved_object/schema/v2/types.ts | 35 ++ .../dashboard_saved_object/schema/v2/v2.ts | 36 ++ src/plugins/dashboard/server/index.ts | 4 + src/plugins/dashboard/server/plugin.ts | 7 + .../server/usage/dashboard_telemetry.test.ts | 2 +- .../server/usage/dashboard_telemetry.ts | 4 +- .../dashboard_telemetry_collection_task.ts | 35 +- src/plugins/links/public/types.ts | 4 +- .../apis/dashboards/create_dashboard/index.ts | 30 + .../apis/dashboards/create_dashboard/main.ts | 216 +++++++ .../dashboards/create_dashboard/validation.ts | 63 ++ .../apis/dashboards/delete_dashboard/index.ts | 29 + .../apis/dashboards/delete_dashboard/main.ts | 42 ++ .../apis/dashboards/get_dashboard/index.ts | 29 + .../apis/dashboards/get_dashboard/main.ts | 34 ++ test/api_integration/apis/dashboards/index.ts | 20 + .../apis/dashboards/list_dashboards/index.ts | 47 ++ .../apis/dashboards/list_dashboards/main.ts | 52 ++ .../apis/dashboards/update_dashboard/index.ts | 29 + .../apis/dashboards/update_dashboard/main.ts | 74 +++ .../dashboards/update_dashboard/validation.ts | 63 ++ test/api_integration/apis/index.ts | 1 + .../apps/dashboard/group3/dashboard_state.ts | 14 +- .../lens/common/embeddable_factory/index.ts | 4 +- .../custom_urls/custom_url_editor/utils.ts | 11 +- .../actions/save_dashboard_modal.tsx | 3 +- .../actions/save_dashboard_modal.tsx | 3 +- .../tabs/dashboards/dashboards.tsx | 4 +- .../routes/get_dashboards_by_tags.ts | 4 +- .../lib/gen_ai/create_gen_ai_dashboard.ts | 8 +- .../lib/gen_ai/gen_ai_dashboard.ts | 4 +- 117 files changed, 4057 insertions(+), 683 deletions(-) create mode 100644 src/plugins/controls/server/control_group/types.ts create mode 100644 src/plugins/dashboard/server/api/constants.ts rename src/plugins/dashboard/server/{content_management/schema/v2 => api}/index.ts (80%) create mode 100644 src/plugins/dashboard/server/api/register_routes.ts rename src/plugins/dashboard/server/content_management/{schema => }/cm_services.ts (94%) rename src/plugins/dashboard/{common => server}/content_management/latest.ts (91%) rename src/plugins/dashboard/server/content_management/{schema => }/v1/cm_services.ts (61%) rename src/plugins/dashboard/server/content_management/{schema => }/v1/index.ts (77%) rename src/plugins/dashboard/server/content_management/{schema => }/v2/cm_services.ts (70%) create mode 100644 src/plugins/dashboard/server/content_management/v2/index.ts create mode 100644 src/plugins/dashboard/server/content_management/v3/cm_services.ts create mode 100644 src/plugins/dashboard/server/content_management/v3/index.ts create mode 100644 src/plugins/dashboard/server/content_management/v3/transform_utils.test.ts create mode 100644 src/plugins/dashboard/server/content_management/v3/transform_utils.ts create mode 100644 src/plugins/dashboard/server/content_management/v3/types.ts rename src/plugins/dashboard/{common/lib/dashboard_panel_converters.test.ts => server/dashboard_saved_object/migrations/utils.test.ts} (82%) create mode 100644 src/plugins/dashboard/server/dashboard_saved_object/migrations/utils.ts create mode 100644 src/plugins/dashboard/server/dashboard_saved_object/schema/index.ts create mode 100644 src/plugins/dashboard/server/dashboard_saved_object/schema/latest.ts create mode 100644 src/plugins/dashboard/server/dashboard_saved_object/schema/v1/index.ts create mode 100644 src/plugins/dashboard/server/dashboard_saved_object/schema/v1/types.ts create mode 100644 src/plugins/dashboard/server/dashboard_saved_object/schema/v1/v1.ts create mode 100644 src/plugins/dashboard/server/dashboard_saved_object/schema/v2/index.ts create mode 100644 src/plugins/dashboard/server/dashboard_saved_object/schema/v2/types.ts create mode 100644 src/plugins/dashboard/server/dashboard_saved_object/schema/v2/v2.ts create mode 100644 test/api_integration/apis/dashboards/create_dashboard/index.ts create mode 100644 test/api_integration/apis/dashboards/create_dashboard/main.ts create mode 100644 test/api_integration/apis/dashboards/create_dashboard/validation.ts create mode 100644 test/api_integration/apis/dashboards/delete_dashboard/index.ts create mode 100644 test/api_integration/apis/dashboards/delete_dashboard/main.ts create mode 100644 test/api_integration/apis/dashboards/get_dashboard/index.ts create mode 100644 test/api_integration/apis/dashboards/get_dashboard/main.ts create mode 100644 test/api_integration/apis/dashboards/index.ts create mode 100644 test/api_integration/apis/dashboards/list_dashboards/index.ts create mode 100644 test/api_integration/apis/dashboards/list_dashboards/main.ts create mode 100644 test/api_integration/apis/dashboards/update_dashboard/index.ts create mode 100644 test/api_integration/apis/dashboards/update_dashboard/main.ts create mode 100644 test/api_integration/apis/dashboards/update_dashboard/validation.ts diff --git a/src/plugins/controls/common/constants.ts b/src/plugins/controls/common/constants.ts index e375a7b2315bc..d1434d4df2ae0 100644 --- a/src/plugins/controls/common/constants.ts +++ b/src/plugins/controls/common/constants.ts @@ -7,11 +7,25 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ +import { ControlGroupChainingSystem } from './control_group'; import { ControlLabelPosition, ControlWidth } from './types'; -export const DEFAULT_CONTROL_WIDTH: ControlWidth = 'medium'; +export const CONTROL_WIDTH_OPTIONS = { SMALL: 'small', MEDIUM: 'medium', LARGE: 'large' } as const; +export const CONTROL_LABEL_POSITION_OPTIONS = { ONE_LINE: 'oneLine', TWO_LINE: 'twoLine' } as const; +export const CONTROL_CHAINING_OPTIONS = { NONE: 'NONE', HIERARCHICAL: 'HIERARCHICAL' } as const; +export const DEFAULT_CONTROL_WIDTH: ControlWidth = CONTROL_WIDTH_OPTIONS.MEDIUM; +export const DEFAULT_CONTROL_LABEL_POSITION: ControlLabelPosition = + CONTROL_LABEL_POSITION_OPTIONS.ONE_LINE; export const DEFAULT_CONTROL_GROW: boolean = true; -export const DEFAULT_CONTROL_LABEL_POSITION: ControlLabelPosition = 'oneLine'; +export const DEFAULT_CONTROL_CHAINING: ControlGroupChainingSystem = + CONTROL_CHAINING_OPTIONS.HIERARCHICAL; +export const DEFAULT_IGNORE_PARENT_SETTINGS = { + ignoreFilters: false, + ignoreQuery: false, + ignoreTimerange: false, + ignoreValidations: false, +} as const; +export const DEFAULT_AUTO_APPLY_SELECTIONS = true; export const TIME_SLIDER_CONTROL = 'timeSlider'; export const RANGE_SLIDER_CONTROL = 'rangeSliderControl'; diff --git a/src/plugins/controls/common/control_group/types.ts b/src/plugins/controls/common/control_group/types.ts index eb47d8b13eb79..ff1e4455046b8 100644 --- a/src/plugins/controls/common/control_group/types.ts +++ b/src/plugins/controls/common/control_group/types.ts @@ -9,10 +9,12 @@ import { DataViewField } from '@kbn/data-views-plugin/common'; import { ControlLabelPosition, DefaultControlState, ParentIgnoreSettings } from '../types'; +import { CONTROL_CHAINING_OPTIONS } from '../constants'; export const CONTROL_GROUP_TYPE = 'control_group'; -export type ControlGroupChainingSystem = 'HIERARCHICAL' | 'NONE'; +export type ControlGroupChainingSystem = + (typeof CONTROL_CHAINING_OPTIONS)[keyof typeof CONTROL_CHAINING_OPTIONS]; export type FieldFilterPredicate = (f: DataViewField) => boolean; @@ -45,15 +47,11 @@ export interface ControlGroupRuntimeState { - panelsJSON: string; // stringified version of ControlSerializedState - ignoreParentSettingsJSON: string; - // In runtime state, we refer to this property as `labelPosition`; - // to avoid migrations, we will continue to refer to this property as `controlStyle` in the serialized state - controlStyle: ControlLabelPosition; - // In runtime state, we refer to the inverse of this property as `autoApplySelections` - // to avoid migrations, we will continue to refer to this property as `showApplySelections` in the serialized state - showApplySelections?: boolean; + extends Omit { + // In runtime state, we refer to this property as `initialChildControlState`, but in + // the serialized state we transform the state object into an array of state objects + // to make it easier for API consumers to add new controls without specifying a uuid key. + controls: Array; } /** diff --git a/src/plugins/controls/common/index.ts b/src/plugins/controls/common/index.ts index dd9c56778bb68..031d3b348272f 100644 --- a/src/plugins/controls/common/index.ts +++ b/src/plugins/controls/common/index.ts @@ -17,9 +17,15 @@ export type { } from './types'; export { + DEFAULT_CONTROL_CHAINING, DEFAULT_CONTROL_GROW, DEFAULT_CONTROL_LABEL_POSITION, DEFAULT_CONTROL_WIDTH, + DEFAULT_IGNORE_PARENT_SETTINGS, + DEFAULT_AUTO_APPLY_SELECTIONS, + CONTROL_WIDTH_OPTIONS, + CONTROL_CHAINING_OPTIONS, + CONTROL_LABEL_POSITION_OPTIONS, OPTIONS_LIST_CONTROL, RANGE_SLIDER_CONTROL, TIME_SLIDER_CONTROL, diff --git a/src/plugins/controls/common/types.ts b/src/plugins/controls/common/types.ts index d3a6261aeb9da..d38ca80cb3815 100644 --- a/src/plugins/controls/common/types.ts +++ b/src/plugins/controls/common/types.ts @@ -7,12 +7,16 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -export type ControlWidth = 'small' | 'medium' | 'large'; -export type ControlLabelPosition = 'twoLine' | 'oneLine'; +import { SerializableRecord } from '@kbn/utility-types'; +import { CONTROL_LABEL_POSITION_OPTIONS, CONTROL_WIDTH_OPTIONS } from './constants'; + +export type ControlWidth = (typeof CONTROL_WIDTH_OPTIONS)[keyof typeof CONTROL_WIDTH_OPTIONS]; +export type ControlLabelPosition = + (typeof CONTROL_LABEL_POSITION_OPTIONS)[keyof typeof CONTROL_LABEL_POSITION_OPTIONS]; export type TimeSlice = [number, number]; -export interface ParentIgnoreSettings { +export interface ParentIgnoreSettings extends SerializableRecord { ignoreFilters?: boolean; ignoreQuery?: boolean; ignoreTimerange?: boolean; diff --git a/src/plugins/controls/public/control_group/control_group_renderer/control_group_renderer.tsx b/src/plugins/controls/public/control_group/control_group_renderer/control_group_renderer.tsx index 6a50c60c4e597..1a05d4b25e22c 100644 --- a/src/plugins/controls/public/control_group/control_group_renderer/control_group_renderer.tsx +++ b/src/plugins/controls/public/control_group/control_group_renderer/control_group_renderer.tsx @@ -19,8 +19,11 @@ import { useSearchApi, type ViewMode as ViewModeType } from '@kbn/presentation-p import type { ControlGroupApi } from '../..'; import { CONTROL_GROUP_TYPE, + DEFAULT_CONTROL_LABEL_POSITION, type ControlGroupRuntimeState, type ControlGroupSerializedState, + DEFAULT_CONTROL_CHAINING, + DEFAULT_AUTO_APPLY_SELECTIONS, } from '../../../common'; import { type ControlGroupStateBuilder, @@ -136,16 +139,19 @@ export const ControlGroupRenderer = ({ ...initialState, editorConfig, }); - const state = { - ...omit(initialState, ['initialChildControlState', 'ignoreParentSettings']), + const state: ControlGroupSerializedState = { + ...omit(initialState, ['initialChildControlState']), editorConfig, - controlStyle: initialState?.labelPosition, - panelsJSON: JSON.stringify(initialState?.initialChildControlState ?? {}), - ignoreParentSettingsJSON: JSON.stringify(initialState?.ignoreParentSettings ?? {}), + autoApplySelections: initialState?.autoApplySelections ?? DEFAULT_AUTO_APPLY_SELECTIONS, + labelPosition: initialState?.labelPosition ?? DEFAULT_CONTROL_LABEL_POSITION, + chainingSystem: initialState?.chainingSystem ?? DEFAULT_CONTROL_CHAINING, + controls: Object.entries(initialState?.initialChildControlState ?? {}).map( + ([controlId, value]) => ({ ...value, id: controlId }) + ), }; if (!cancelled) { - setSerializedState(state as ControlGroupSerializedState); + setSerializedState(state); } })(); return () => { diff --git a/src/plugins/controls/public/control_group/get_control_group_factory.tsx b/src/plugins/controls/public/control_group/get_control_group_factory.tsx index 62af1d1f868a9..c8ee296d8a305 100644 --- a/src/plugins/controls/public/control_group/get_control_group_factory.tsx +++ b/src/plugins/controls/public/control_group/get_control_group_factory.tsx @@ -33,7 +33,11 @@ import type { ControlPanelsState, ParentIgnoreSettings, } from '../../common'; -import { CONTROL_GROUP_TYPE, DEFAULT_CONTROL_LABEL_POSITION } from '../../common'; +import { + CONTROL_GROUP_TYPE, + DEFAULT_CONTROL_CHAINING, + DEFAULT_CONTROL_LABEL_POSITION, +} from '../../common'; import { openDataControlEditor } from '../controls/data_controls/open_data_control_editor'; import { coreServices, dataViewsService } from '../services/kibana_services'; import { ControlGroup } from './components/control_group'; @@ -45,8 +49,6 @@ import { initSelectionsManager } from './selections_manager'; import type { ControlGroupApi } from './types'; import { deserializeControlGroup } from './utils/serialization_utils'; -const DEFAULT_CHAINING_SYSTEM = 'HIERARCHICAL'; - export const getControlGroupEmbeddableFactory = () => { const controlGroupEmbeddableFactory: ReactEmbeddableFactory< ControlGroupSerializedState, @@ -85,7 +87,7 @@ export const getControlGroupEmbeddableFactory = () => { }); const dataViews = new BehaviorSubject(undefined); const chainingSystem$ = new BehaviorSubject( - chainingSystem ?? DEFAULT_CHAINING_SYSTEM + chainingSystem ?? DEFAULT_CONTROL_CHAINING ); const ignoreParentSettings$ = new BehaviorSubject( ignoreParentSettings @@ -108,7 +110,7 @@ export const getControlGroupEmbeddableFactory = () => { chainingSystem: [ chainingSystem$, (next: ControlGroupChainingSystem) => chainingSystem$.next(next), - (a, b) => (a ?? DEFAULT_CHAINING_SYSTEM) === (b ?? DEFAULT_CHAINING_SYSTEM), + (a, b) => (a ?? DEFAULT_CONTROL_CHAINING) === (b ?? DEFAULT_CONTROL_CHAINING), ], ignoreParentSettings: [ ignoreParentSettings$, @@ -187,14 +189,14 @@ export const getControlGroupEmbeddableFactory = () => { }); }, serializeState: () => { - const { panelsJSON, references } = controlsManager.serializeControls(); + const { controls, references } = controlsManager.serializeControls(); return { rawState: { chainingSystem: chainingSystem$.getValue(), - controlStyle: labelPosition$.getValue(), - showApplySelections: !autoApplySelections$.getValue(), - ignoreParentSettingsJSON: JSON.stringify(ignoreParentSettings$.getValue()), - panelsJSON, + labelPosition: labelPosition$.getValue(), + autoApplySelections: autoApplySelections$.getValue(), + ignoreParentSettings: ignoreParentSettings$.getValue(), + controls, }, references, }; diff --git a/src/plugins/controls/public/control_group/init_controls_manager.ts b/src/plugins/controls/public/control_group/init_controls_manager.ts index ee020bf1fbd59..935845327131e 100644 --- a/src/plugins/controls/public/control_group/init_controls_manager.ts +++ b/src/plugins/controls/public/control_group/init_controls_manager.ts @@ -147,9 +147,8 @@ export function initControlsManager( }, serializeControls: () => { const references: Reference[] = []; - const explicitInputPanels: { - [panelId: string]: ControlPanelState & { explicitInput: object }; - } = {}; + + const controls: Array = []; controlsInOrder$.getValue().forEach(({ id }, index) => { const controlApi = getControlApi(id); @@ -166,18 +165,18 @@ export function initControlsManager( references.push(...controlReferences); } - explicitInputPanels[id] = { + controls.push({ grow, order: index, type: controlApi.type, width, - /** Re-add the `explicitInput` layer on serialize so control group saved object retains shape */ - explicitInput: { id, ...rest }, - }; + /** Re-add the `controlConfig` layer on serialize so control group saved object retains shape */ + controlConfig: { id, ...rest }, + }); }); return { - panelsJSON: JSON.stringify(explicitInputPanels), + controls, references, }; }, diff --git a/src/plugins/controls/public/control_group/utils/initialization_utils.ts b/src/plugins/controls/public/control_group/utils/initialization_utils.ts index ea785d05ac735..a35572387e1e1 100644 --- a/src/plugins/controls/public/control_group/utils/initialization_utils.ts +++ b/src/plugins/controls/public/control_group/utils/initialization_utils.ts @@ -7,17 +7,18 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { DEFAULT_CONTROL_LABEL_POSITION, type ControlGroupRuntimeState } from '../../../common'; +import { + type ControlGroupRuntimeState, + DEFAULT_CONTROL_CHAINING, + DEFAULT_CONTROL_LABEL_POSITION, + DEFAULT_AUTO_APPLY_SELECTIONS, + DEFAULT_IGNORE_PARENT_SETTINGS, +} from '../../../common'; export const getDefaultControlGroupRuntimeState = (): ControlGroupRuntimeState => ({ initialChildControlState: {}, labelPosition: DEFAULT_CONTROL_LABEL_POSITION, - chainingSystem: 'HIERARCHICAL', - autoApplySelections: true, - ignoreParentSettings: { - ignoreFilters: false, - ignoreQuery: false, - ignoreTimerange: false, - ignoreValidations: false, - }, + chainingSystem: DEFAULT_CONTROL_CHAINING, + autoApplySelections: DEFAULT_AUTO_APPLY_SELECTIONS, + ignoreParentSettings: DEFAULT_IGNORE_PARENT_SETTINGS, }); diff --git a/src/plugins/controls/public/control_group/utils/serialization_utils.ts b/src/plugins/controls/public/control_group/utils/serialization_utils.ts index ad7dea5827507..0a046244b732f 100644 --- a/src/plugins/controls/public/control_group/utils/serialization_utils.ts +++ b/src/plugins/controls/public/control_group/utils/serialization_utils.ts @@ -16,37 +16,31 @@ import { parseReferenceName } from '../../controls/data_controls/reference_name_ export const deserializeControlGroup = ( state: SerializedPanelState ): ControlGroupRuntimeState => { - const panels = JSON.parse(state.rawState.panelsJSON); - const ignoreParentSettings = JSON.parse(state.rawState.ignoreParentSettingsJSON); + const { controls } = state.rawState; + const controlsMap = Object.fromEntries(controls.map(({ id, ...rest }) => [id, rest])); /** Inject data view references into each individual control */ const references = state.references ?? []; references.forEach((reference) => { const referenceName = reference.name; const { controlId } = parseReferenceName(referenceName); - if (panels[controlId]) { - panels[controlId].dataViewId = reference.id; + if (controlsMap[controlId]) { + controlsMap[controlId].dataViewId = reference.id; } }); - /** Flatten the state of each panel by removing `explicitInput` */ - const flattenedPanels = Object.keys(panels).reduce((prev, panelId) => { - const currentPanel = panels[panelId]; - const currentPanelExplicitInput = panels[panelId].explicitInput; + /** Flatten the state of each control by removing `controlConfig` */ + const flattenedControls = Object.keys(controlsMap).reduce((prev, controlId) => { + const currentControl = controlsMap[controlId]; + const currentControlExplicitInput = controlsMap[controlId].controlConfig; return { ...prev, - [panelId]: { ...omit(currentPanel, 'explicitInput'), ...currentPanelExplicitInput }, + [controlId]: { ...omit(currentControl, 'controlConfig'), ...currentControlExplicitInput }, }; }, {}); return { - ...omit(state.rawState, ['panelsJSON', 'ignoreParentSettingsJSON']), - initialChildControlState: flattenedPanels, - ignoreParentSettings, - autoApplySelections: - typeof state.rawState.showApplySelections === 'boolean' - ? !state.rawState.showApplySelections - : true, // Rename "showApplySelections" to "autoApplySelections" - labelPosition: state.rawState.controlStyle, // Rename "controlStyle" to "labelPosition" + ...state.rawState, + initialChildControlState: flattenedControls, }; }; diff --git a/src/plugins/controls/server/control_group/control_group_migrations.test.ts b/src/plugins/controls/server/control_group/control_group_migrations.test.ts index 69b19225218e3..59643d3aa19c7 100644 --- a/src/plugins/controls/server/control_group/control_group_migrations.test.ts +++ b/src/plugins/controls/server/control_group/control_group_migrations.test.ts @@ -18,10 +18,8 @@ import { import { OptionsListControlState } from '../../common/options_list'; import { mockDataControlState, mockOptionsListControlState } from '../mocks'; import { removeHideExcludeAndHideExists } from './control_group_migrations'; -import { - SerializableControlGroupState, - getDefaultControlGroupState, -} from './control_group_persistence'; +import { getDefaultControlGroupState } from './control_group_persistence'; +import type { SerializableControlGroupState } from './types'; describe('migrate control group', () => { const getOptionsListControl = ( diff --git a/src/plugins/controls/server/control_group/control_group_migrations.ts b/src/plugins/controls/server/control_group/control_group_migrations.ts index a3d3d06aadafc..e737441cde717 100644 --- a/src/plugins/controls/server/control_group/control_group_migrations.ts +++ b/src/plugins/controls/server/control_group/control_group_migrations.ts @@ -14,7 +14,7 @@ import { type SerializedControlState, } from '../../common'; import { OptionsListControlState } from '../../common/options_list'; -import { SerializableControlGroupState } from './control_group_persistence'; +import { SerializableControlGroupState } from './types'; export const makeControlOrdersZeroBased = (state: SerializableControlGroupState) => { if ( diff --git a/src/plugins/controls/server/control_group/control_group_persistable_state.ts b/src/plugins/controls/server/control_group/control_group_persistable_state.ts index d59ffb2161934..9e880242df12b 100644 --- a/src/plugins/controls/server/control_group/control_group_persistable_state.ts +++ b/src/plugins/controls/server/control_group/control_group_persistable_state.ts @@ -20,7 +20,7 @@ import { makeControlOrdersZeroBased, removeHideExcludeAndHideExists, } from './control_group_migrations'; -import type { SerializableControlGroupState } from './control_group_persistence'; +import { SerializableControlGroupState } from './types'; const getPanelStatePrefix = (state: SerializedControlState) => `${state.explicitInput.id}:`; diff --git a/src/plugins/controls/server/control_group/control_group_persistence.ts b/src/plugins/controls/server/control_group/control_group_persistence.ts index e90aa850c6d1a..bcf61b3bcc1b2 100644 --- a/src/plugins/controls/server/control_group/control_group_persistence.ts +++ b/src/plugins/controls/server/control_group/control_group_persistence.ts @@ -9,37 +9,22 @@ import { SerializableRecord } from '@kbn/utility-types'; +import { ControlGroupSavedObjectState, SerializableControlGroupState } from './types'; import { + DEFAULT_CONTROL_CHAINING, DEFAULT_CONTROL_LABEL_POSITION, - type ControlGroupRuntimeState, - type ControlGroupSerializedState, - type ControlPanelState, - type SerializedControlState, + DEFAULT_IGNORE_PARENT_SETTINGS, + DEFAULT_AUTO_APPLY_SELECTIONS, } from '../../common'; export const getDefaultControlGroupState = (): SerializableControlGroupState => ({ panels: {}, labelPosition: DEFAULT_CONTROL_LABEL_POSITION, - chainingSystem: 'HIERARCHICAL', - autoApplySelections: true, - ignoreParentSettings: { - ignoreFilters: false, - ignoreQuery: false, - ignoreTimerange: false, - ignoreValidations: false, - }, + chainingSystem: DEFAULT_CONTROL_CHAINING, + autoApplySelections: DEFAULT_AUTO_APPLY_SELECTIONS, + ignoreParentSettings: DEFAULT_IGNORE_PARENT_SETTINGS, }); -// using SerializableRecord to force type to be read as serializable -export type SerializableControlGroupState = SerializableRecord & - Omit< - ControlGroupRuntimeState, - 'initialChildControlState' | 'ignoreParentSettings' | 'editorConfig' // editor config is not persisted - > & { - ignoreParentSettings: Record; - panels: Record> | {}; - }; - const safeJSONParse = (jsonString?: string): OutType | undefined => { if (!jsonString && typeof jsonString !== 'string') return; try { @@ -49,22 +34,26 @@ const safeJSONParse = (jsonString?: string): OutType | undefined => { } }; -export const controlGroupSerializedStateToSerializableRuntimeState = ( - serializedState: ControlGroupSerializedState +export const controlGroupSavedObjectStateToSerializableRuntimeState = ( + savedObjectState: ControlGroupSavedObjectState ): SerializableControlGroupState => { const defaultControlGroupInput = getDefaultControlGroupState(); return { - chainingSystem: serializedState?.chainingSystem, - labelPosition: serializedState?.controlStyle ?? defaultControlGroupInput.labelPosition, - autoApplySelections: !serializedState?.showApplySelections, - ignoreParentSettings: safeJSONParse(serializedState?.ignoreParentSettingsJSON) ?? {}, - panels: safeJSONParse(serializedState?.panelsJSON) ?? {}, + chainingSystem: + (savedObjectState?.chainingSystem as SerializableControlGroupState['chainingSystem']) ?? + defaultControlGroupInput.chainingSystem, + labelPosition: + (savedObjectState?.controlStyle as SerializableControlGroupState['labelPosition']) ?? + defaultControlGroupInput.labelPosition, + autoApplySelections: !savedObjectState?.showApplySelections, + ignoreParentSettings: safeJSONParse(savedObjectState?.ignoreParentSettingsJSON) ?? {}, + panels: safeJSONParse(savedObjectState?.panelsJSON) ?? {}, }; }; -export const serializableRuntimeStateToControlGroupSerializedState = ( +export const serializableRuntimeStateToControlGroupSavedObjectState = ( serializable: SerializableRecord // It is safe to treat this as SerializableControlGroupState -): ControlGroupSerializedState => { +): ControlGroupSavedObjectState => { return { controlStyle: serializable.labelPosition as SerializableControlGroupState['labelPosition'], chainingSystem: serializable.chainingSystem as SerializableControlGroupState['chainingSystem'], diff --git a/src/plugins/controls/server/control_group/control_group_telemetry.test.ts b/src/plugins/controls/server/control_group/control_group_telemetry.test.ts index da2800a7d744f..3647a23d36a17 100644 --- a/src/plugins/controls/server/control_group/control_group_telemetry.test.ts +++ b/src/plugins/controls/server/control_group/control_group_telemetry.test.ts @@ -7,16 +7,11 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { SerializableRecord } from '@kbn/utility-types'; -import { type ControlGroupSerializedState } from '../../common'; -import { - type ControlGroupTelemetry, - controlGroupTelemetry, - initializeControlGroupTelemetry, -} from './control_group_telemetry'; +import { controlGroupTelemetry, initializeControlGroupTelemetry } from './control_group_telemetry'; +import { ControlGroupSavedObjectState, ControlGroupTelemetry } from './types'; // controls attributes with all settings ignored + 3 options lists + hierarchical chaining + label above -const rawControlAttributes1: SerializableRecord & ControlGroupSerializedState = { +const rawControlAttributes1: ControlGroupSavedObjectState = { controlStyle: 'twoLine', chainingSystem: 'NONE', showApplySelections: true, @@ -27,7 +22,7 @@ const rawControlAttributes1: SerializableRecord & ControlGroupSerializedState = }; // controls attributes with some settings ignored + 2 range sliders, 1 time slider + No chaining + label inline -const rawControlAttributes2: SerializableRecord & ControlGroupSerializedState = { +const rawControlAttributes2: ControlGroupSavedObjectState = { controlStyle: 'oneLine', chainingSystem: 'NONE', showApplySelections: false, @@ -38,7 +33,7 @@ const rawControlAttributes2: SerializableRecord & ControlGroupSerializedState = }; // controls attributes with no settings ignored + 2 options lists, 1 range slider, 1 time slider + hierarchical chaining + label inline -const rawControlAttributes3: SerializableRecord & ControlGroupSerializedState = { +const rawControlAttributes3: ControlGroupSavedObjectState = { controlStyle: 'oneLine', chainingSystem: 'HIERARCHICAL', showApplySelections: false, diff --git a/src/plugins/controls/server/control_group/control_group_telemetry.ts b/src/plugins/controls/server/control_group/control_group_telemetry.ts index 21d1baf40116c..72944202b9550 100644 --- a/src/plugins/controls/server/control_group/control_group_telemetry.ts +++ b/src/plugins/controls/server/control_group/control_group_telemetry.ts @@ -9,31 +9,15 @@ import { PersistableStateService } from '@kbn/kibana-utils-plugin/common'; import { set } from '@kbn/safer-lodash-set'; -import type { ControlGroupSerializedState } from '../../common'; import { - type SerializableControlGroupState, - controlGroupSerializedStateToSerializableRuntimeState, + controlGroupSavedObjectStateToSerializableRuntimeState, getDefaultControlGroupState, } from './control_group_persistence'; - -export interface ControlGroupTelemetry { - total: number; - chaining_system: { - [key: string]: number; - }; - label_position: { - [key: string]: number; - }; - ignore_settings: { - [key: string]: number; - }; - by_type: { - [key: string]: { - total: number; - details: { [key: string]: number }; - }; - }; -} +import { + ControlGroupSavedObjectState, + ControlGroupTelemetry, + SerializableControlGroupState, +} from './types'; export const initializeControlGroupTelemetry = ( statsSoFar: Record @@ -113,8 +97,8 @@ export const controlGroupTelemetry: PersistableStateService['telemetry'] = ( const controlGroupStats = initializeControlGroupTelemetry(stats); const controlGroupState = { ...getDefaultControlGroupState(), - ...controlGroupSerializedStateToSerializableRuntimeState( - state as unknown as ControlGroupSerializedState + ...controlGroupSavedObjectStateToSerializableRuntimeState( + state as unknown as ControlGroupSavedObjectState ), }; if (!controlGroupState) return controlGroupStats; diff --git a/src/plugins/controls/server/control_group/types.ts b/src/plugins/controls/server/control_group/types.ts new file mode 100644 index 0000000000000..9aa0aaddc4a12 --- /dev/null +++ b/src/plugins/controls/server/control_group/types.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { SerializableRecord } from '@kbn/utility-types'; +import { ControlGroupRuntimeState, ControlPanelState, SerializedControlState } from '../../common'; + +// using SerializableRecord to force type to be read as serializable +export type SerializableControlGroupState = SerializableRecord & + Omit< + ControlGroupRuntimeState, + 'initialChildControlState' | 'editorConfig' // editor config is not persisted + > & { + panels: Record> | {}; + }; + +export type ControlGroupSavedObjectState = SerializableRecord & { + chainingSystem: SerializableControlGroupState['chainingSystem']; + controlStyle: SerializableControlGroupState['labelPosition']; + showApplySelections: boolean; + ignoreParentSettingsJSON: string; + panelsJSON: string; +}; + +export interface ControlGroupTelemetry { + total: number; + chaining_system: { + [key: string]: number; + }; + label_position: { + [key: string]: number; + }; + ignore_settings: { + [key: string]: number; + }; + by_type: { + [key: string]: { + total: number; + details: { [key: string]: number }; + }; + }; +} diff --git a/src/plugins/controls/server/index.ts b/src/plugins/controls/server/index.ts index 541d9e2a46204..40261f8a3013e 100644 --- a/src/plugins/controls/server/index.ts +++ b/src/plugins/controls/server/index.ts @@ -13,10 +13,9 @@ export const plugin = async () => { }; export { - controlGroupSerializedStateToSerializableRuntimeState, - serializableRuntimeStateToControlGroupSerializedState, + controlGroupSavedObjectStateToSerializableRuntimeState, + serializableRuntimeStateToControlGroupSavedObjectState, } from './control_group/control_group_persistence'; -export { - type ControlGroupTelemetry, - initializeControlGroupTelemetry, -} from './control_group/control_group_telemetry'; +export { initializeControlGroupTelemetry } from './control_group/control_group_telemetry'; + +export type { ControlGroupTelemetry } from './control_group/types'; diff --git a/src/plugins/controls/tsconfig.json b/src/plugins/controls/tsconfig.json index e1040faecc1b0..41ab33dc18969 100644 --- a/src/plugins/controls/tsconfig.json +++ b/src/plugins/controls/tsconfig.json @@ -38,7 +38,7 @@ "@kbn/field-formats-plugin", "@kbn/presentation-panel-plugin", "@kbn/shared-ux-utility", - "@kbn/std" + "@kbn/std", ], "exclude": ["target/**/*"] } diff --git a/src/plugins/dashboard/common/bwc/types.ts b/src/plugins/dashboard/common/bwc/types.ts index b1b97fa31485d..ae409d143656b 100644 --- a/src/plugins/dashboard/common/bwc/types.ts +++ b/src/plugins/dashboard/common/bwc/types.ts @@ -9,7 +9,7 @@ import type { SavedObjectReference } from '@kbn/core/public'; import type { Serializable } from '@kbn/utility-types'; -import { GridData } from '../content_management'; +import type { GridData } from '../../server/dashboard_saved_object'; interface KibanaAttributes { kibanaSavedObjectMeta: { diff --git a/src/plugins/dashboard/common/content_management/constants.ts b/src/plugins/dashboard/common/content_management/constants.ts index 29c679872a9e0..978271680af12 100644 --- a/src/plugins/dashboard/common/content_management/constants.ts +++ b/src/plugins/dashboard/common/content_management/constants.ts @@ -7,6 +7,18 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -export const LATEST_VERSION = 2; +export const LATEST_VERSION = 3; export const CONTENT_ID = 'dashboard'; + +export const DASHBOARD_GRID_COLUMN_COUNT = 48; +export const DEFAULT_PANEL_WIDTH = DASHBOARD_GRID_COLUMN_COUNT / 2; +export const DEFAULT_PANEL_HEIGHT = 15; + +export const DEFAULT_DASHBOARD_OPTIONS = { + hidePanelTitles: false, + useMargins: true, + syncColors: true, + syncCursor: true, + syncTooltips: true, +} as const; diff --git a/src/plugins/dashboard/common/content_management/index.ts b/src/plugins/dashboard/common/content_management/index.ts index d87d65a61d4f0..b87b54520d7ab 100644 --- a/src/plugins/dashboard/common/content_management/index.ts +++ b/src/plugins/dashboard/common/content_management/index.ts @@ -7,14 +7,13 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -export { LATEST_VERSION, CONTENT_ID } from './constants'; +export { + LATEST_VERSION, + CONTENT_ID, + DASHBOARD_GRID_COLUMN_COUNT, + DEFAULT_PANEL_HEIGHT, + DEFAULT_PANEL_WIDTH, + DEFAULT_DASHBOARD_OPTIONS, +} from './constants'; export type { DashboardContentType } from './types'; - -export type { - GridData, - DashboardItem, - DashboardCrudTypes, - DashboardAttributes, - SavedDashboardPanel, -} from './latest'; diff --git a/src/plugins/dashboard/common/content_management/v1/types.ts b/src/plugins/dashboard/common/content_management/v1/types.ts index 9b7c2973d9713..3b3317c0bd13e 100644 --- a/src/plugins/dashboard/common/content_management/v1/types.ts +++ b/src/plugins/dashboard/common/content_management/v1/types.ts @@ -14,7 +14,7 @@ import type { } from '@kbn/content-management-utils'; import { Serializable } from '@kbn/utility-types'; import { RefreshInterval } from '@kbn/data-plugin/common'; -import { ControlGroupSerializedState } from '@kbn/controls-plugin/common'; +import { ControlGroupChainingSystem, ControlLabelPosition } from '@kbn/controls-plugin/common'; import { DashboardContentType } from '../types'; @@ -62,10 +62,13 @@ export interface SavedDashboardPanel { version?: string; } -type ControlGroupAttributesV1 = Pick< - ControlGroupSerializedState, - 'panelsJSON' | 'chainingSystem' | 'controlStyle' | 'ignoreParentSettingsJSON' ->; +// eslint-disable-next-line @typescript-eslint/consistent-type-definitions +export type ControlGroupAttributesV1 = { + chainingSystem?: ControlGroupChainingSystem; + panelsJSON: string; // stringified version of ControlSerializedState + ignoreParentSettingsJSON: string; + controlStyle?: ControlLabelPosition; +}; /* eslint-disable-next-line @typescript-eslint/consistent-type-definitions */ export type DashboardAttributes = { @@ -77,7 +80,7 @@ export type DashboardAttributes = { description: string; panelsJSON: string; timeFrom?: string; - version: number; + version?: number; timeTo?: string; title: string; kibanaSavedObjectMeta: { diff --git a/src/plugins/dashboard/common/content_management/v2/index.ts b/src/plugins/dashboard/common/content_management/v2/index.ts index b0b10669699cf..bd687ff0dd609 100644 --- a/src/plugins/dashboard/common/content_management/v2/index.ts +++ b/src/plugins/dashboard/common/content_management/v2/index.ts @@ -8,4 +8,4 @@ */ export type { GridData, DashboardItem, SavedDashboardPanel } from '../v1/types'; // no changes made to types from v1 to v2 -export type { DashboardCrudTypes, DashboardAttributes } from './types'; +export type { ControlGroupAttributes, DashboardCrudTypes, DashboardAttributes } from './types'; diff --git a/src/plugins/dashboard/common/content_management/v2/types.ts b/src/plugins/dashboard/common/content_management/v2/types.ts index 3f009b749a2ab..ae2c2a798d813 100644 --- a/src/plugins/dashboard/common/content_management/v2/types.ts +++ b/src/plugins/dashboard/common/content_management/v2/types.ts @@ -12,21 +12,18 @@ import type { SavedObjectCreateOptions, SavedObjectUpdateOptions, } from '@kbn/content-management-utils'; -import { ControlGroupSerializedState } from '@kbn/controls-plugin/common'; import { DashboardContentType } from '../types'; -import { DashboardAttributes as DashboardAttributesV1 } from '../v1/types'; +import { + ControlGroupAttributesV1, + DashboardAttributes as DashboardAttributesV1, +} from '../v1/types'; -type ControlGroupAttributesV2 = Pick< - ControlGroupSerializedState, - | 'panelsJSON' - | 'chainingSystem' - | 'controlStyle' - | 'ignoreParentSettingsJSON' - | 'showApplySelections' ->; +export type ControlGroupAttributes = ControlGroupAttributesV1 & { + showApplySelections?: boolean; +}; export type DashboardAttributes = Omit & { - controlGroupInput?: ControlGroupAttributesV2; + controlGroupInput?: ControlGroupAttributes; }; export type DashboardCrudTypes = ContentManagementCrudTypes< diff --git a/src/plugins/dashboard/common/dashboard_container/types.ts b/src/plugins/dashboard/common/dashboard_container/types.ts index bcb7670f18e12..dd3f7302038c0 100644 --- a/src/plugins/dashboard/common/dashboard_container/types.ts +++ b/src/plugins/dashboard/common/dashboard_container/types.ts @@ -18,8 +18,7 @@ import type { Reference } from '@kbn/content-management-utils'; import { RefreshInterval } from '@kbn/data-plugin/common'; import { KibanaExecutionContext } from '@kbn/core-execution-context-common'; -import { DashboardOptions } from '../types'; -import { GridData } from '../content_management'; +import type { DashboardOptions, GridData } from '../../server/content_management'; export interface DashboardPanelMap { [key: string]: DashboardPanelState; diff --git a/src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.test.ts b/src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.test.ts index 689db61b0cb27..e9bd6aff0fe12 100644 --- a/src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.test.ts +++ b/src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.test.ts @@ -18,7 +18,8 @@ import { createInject, } from '../../dashboard_container/persistable_state/dashboard_container_references'; import { createEmbeddablePersistableStateServiceMock } from '@kbn/embeddable-plugin/common/mocks'; -import { DashboardAttributes } from '../../content_management'; +import type { DashboardAttributes, DashboardItem } from '../../../server/content_management'; +import { DashboardAttributesAndReferences } from '../../types'; const embeddablePersistableStateServiceMock = createEmbeddablePersistableStateServiceMock(); const dashboardInject = createInject(embeddablePersistableStateServiceMock); @@ -44,28 +45,37 @@ const deps: InjectExtractDeps = { }; const commonAttributes: DashboardAttributes = { - kibanaSavedObjectMeta: { searchSourceJSON: '' }, + kibanaSavedObjectMeta: { searchSource: {} }, timeRestore: false, - panelsJSON: '', version: 1, + options: { + hidePanelTitles: false, + useMargins: true, + syncColors: true, + syncCursor: true, + syncTooltips: true, + }, + panels: [], description: '', title: '', }; describe('extractReferences', () => { - test('extracts references from panelsJSON', () => { + test('extracts references from panels', () => { const doc = { id: '1', attributes: { ...commonAttributes, foo: true, - panelsJSON: JSON.stringify([ + panels: [ { panelIndex: 'panel-1', type: 'visualization', id: '1', title: 'Title 1', version: '7.9.1', + gridData: { x: 0, y: 0, w: 1, h: 1, i: 'panel-1' }, + panelConfig: {}, }, { panelIndex: 'panel-2', @@ -73,8 +83,10 @@ describe('extractReferences', () => { id: '2', title: 'Title 2', version: '7.9.1', + gridData: { x: 1, y: 1, w: 2, h: 2, i: 'panel-2' }, + panelConfig: {}, }, - ]), + ], }, references: [], }; @@ -86,9 +98,47 @@ describe('extractReferences', () => { "description": "", "foo": true, "kibanaSavedObjectMeta": Object { - "searchSourceJSON": "", + "searchSource": Object {}, + }, + "options": Object { + "hidePanelTitles": false, + "syncColors": true, + "syncCursor": true, + "syncTooltips": true, + "useMargins": true, }, - "panelsJSON": "[{\\"version\\":\\"7.9.1\\",\\"type\\":\\"visualization\\",\\"panelIndex\\":\\"panel-1\\",\\"embeddableConfig\\":{},\\"title\\":\\"Title 1\\",\\"panelRefName\\":\\"panel_panel-1\\"},{\\"version\\":\\"7.9.1\\",\\"type\\":\\"visualization\\",\\"panelIndex\\":\\"panel-2\\",\\"embeddableConfig\\":{},\\"title\\":\\"Title 2\\",\\"panelRefName\\":\\"panel_panel-2\\"}]", + "panels": Array [ + Object { + "gridData": Object { + "h": 1, + "i": "panel-1", + "w": 1, + "x": 0, + "y": 0, + }, + "panelConfig": Object {}, + "panelIndex": "panel-1", + "panelRefName": "panel_panel-1", + "title": "Title 1", + "type": "visualization", + "version": "7.9.1", + }, + Object { + "gridData": Object { + "h": 2, + "i": "panel-2", + "w": 2, + "x": 1, + "y": 1, + }, + "panelConfig": Object {}, + "panelIndex": "panel-2", + "panelRefName": "panel_panel-2", + "title": "Title 2", + "type": "visualization", + "version": "7.9.1", + }, + ], "timeRestore": false, "title": "", "version": 1, @@ -115,18 +165,18 @@ describe('extractReferences', () => { attributes: { ...commonAttributes, foo: true, - panelsJSON: JSON.stringify([ + panels: [ { id: '1', title: 'Title 1', version: '7.9.1', }, - ]), + ], }, references: [], - }; + } as unknown as DashboardAttributesAndReferences; expect(() => extractReferences(doc, deps)).toThrowErrorMatchingInlineSnapshot( - `"\\"type\\" attribute is missing from panel \\"undefined\\""` + `"\\"type\\" attribute is missing from panel \\"0\\""` ); }); @@ -136,25 +186,49 @@ describe('extractReferences', () => { attributes: { ...commonAttributes, foo: true, - panelsJSON: JSON.stringify([ + panels: [ { type: 'visualization', title: 'Title 1', version: '7.9.1', + gridData: { x: 0, y: 0, w: 1, h: 1, i: 'panel-1' }, + panelConfig: {}, }, - ]), + ], }, references: [], }; - expect(extractReferences(doc, deps)).toMatchInlineSnapshot(` + expect(extractReferences(doc as unknown as DashboardItem, deps)).toMatchInlineSnapshot(` Object { "attributes": Object { "description": "", "foo": true, "kibanaSavedObjectMeta": Object { - "searchSourceJSON": "", + "searchSource": Object {}, + }, + "options": Object { + "hidePanelTitles": false, + "syncColors": true, + "syncCursor": true, + "syncTooltips": true, + "useMargins": true, }, - "panelsJSON": "[{\\"version\\":\\"7.9.1\\",\\"type\\":\\"visualization\\",\\"embeddableConfig\\":{},\\"title\\":\\"Title 1\\"}]", + "panels": Array [ + Object { + "gridData": Object { + "h": 1, + "i": "panel-1", + "w": 1, + "x": 0, + "y": 0, + }, + "panelConfig": Object {}, + "panelIndex": "0", + "title": "Title 1", + "type": "visualization", + "version": "7.9.1", + }, + ], "timeRestore": false, "title": "", "version": 1, @@ -171,18 +245,26 @@ describe('injectReferences', () => { ...commonAttributes, id: '1', title: 'test', - panelsJSON: JSON.stringify([ + panels: [ { + type: 'visualization', panelRefName: 'panel_0', + panelIndex: '0', title: 'Title 1', version: '7.9.0', + gridData: { x: 0, y: 0, w: 1, h: 1, i: '0' }, + panelConfig: {}, }, { + type: 'visualization', panelRefName: 'panel_1', + panelIndex: '1', title: 'Title 2', version: '7.9.0', + gridData: { x: 1, y: 1, w: 2, h: 2, i: '1' }, + panelConfig: {}, }, - ]), + ], }; const references = [ { @@ -203,9 +285,47 @@ describe('injectReferences', () => { "description": "", "id": "1", "kibanaSavedObjectMeta": Object { - "searchSourceJSON": "", + "searchSource": Object {}, }, - "panelsJSON": "[{\\"version\\":\\"7.9.0\\",\\"type\\":\\"visualization\\",\\"embeddableConfig\\":{},\\"title\\":\\"Title 1\\",\\"id\\":\\"1\\"},{\\"version\\":\\"7.9.0\\",\\"type\\":\\"visualization\\",\\"embeddableConfig\\":{},\\"title\\":\\"Title 2\\",\\"id\\":\\"2\\"}]", + "options": Object { + "hidePanelTitles": false, + "syncColors": true, + "syncCursor": true, + "syncTooltips": true, + "useMargins": true, + }, + "panels": Array [ + Object { + "gridData": Object { + "h": 1, + "i": "0", + "w": 1, + "x": 0, + "y": 0, + }, + "id": "1", + "panelConfig": Object {}, + "panelIndex": "0", + "title": "Title 1", + "type": "visualization", + "version": "7.9.0", + }, + Object { + "gridData": Object { + "h": 2, + "i": "1", + "w": 2, + "x": 1, + "y": 1, + }, + "id": "2", + "panelConfig": Object {}, + "panelIndex": "1", + "title": "Title 2", + "type": "visualization", + "version": "7.9.0", + }, + ], "timeRestore": false, "title": "test", "version": 1, @@ -213,7 +333,7 @@ describe('injectReferences', () => { `); }); - test('skips when panelsJSON is missing', () => { + test('skips when panels is missing', () => { const attributes = { id: '1', title: 'test', @@ -222,31 +342,8 @@ describe('injectReferences', () => { expect(newAttributes).toMatchInlineSnapshot(` Object { "id": "1", - "panelsJSON": "[]", - "title": "test", - } - `); - }); - - test('skips when panelsJSON is not an array', () => { - const attributes = { - ...commonAttributes, - id: '1', - panelsJSON: '{}', - title: 'test', - }; - const newAttributes = injectReferences({ attributes, references: [] }, deps); - expect(newAttributes).toMatchInlineSnapshot(` - Object { - "description": "", - "id": "1", - "kibanaSavedObjectMeta": Object { - "searchSourceJSON": "", - }, - "panelsJSON": "[]", - "timeRestore": false, + "panels": Array [], "title": "test", - "version": 1, } `); }); @@ -256,15 +353,23 @@ describe('injectReferences', () => { ...commonAttributes, id: '1', title: 'test', - panelsJSON: JSON.stringify([ + panels: [ { + type: 'visualization', panelRefName: 'panel_0', + panelIndex: '0', title: 'Title 1', + gridData: { x: 0, y: 0, w: 1, h: 1, i: '0' }, + panelConfig: {}, }, { + type: 'visualization', + panelIndex: '1', title: 'Title 2', + gridData: { x: 1, y: 1, w: 2, h: 2, i: '1' }, + panelConfig: {}, }, - ]), + ], }; const references = [ { @@ -279,9 +384,46 @@ describe('injectReferences', () => { "description": "", "id": "1", "kibanaSavedObjectMeta": Object { - "searchSourceJSON": "", + "searchSource": Object {}, + }, + "options": Object { + "hidePanelTitles": false, + "syncColors": true, + "syncCursor": true, + "syncTooltips": true, + "useMargins": true, }, - "panelsJSON": "[{\\"type\\":\\"visualization\\",\\"embeddableConfig\\":{},\\"title\\":\\"Title 1\\",\\"id\\":\\"1\\"},{\\"embeddableConfig\\":{},\\"title\\":\\"Title 2\\"}]", + "panels": Array [ + Object { + "gridData": Object { + "h": 1, + "i": "0", + "w": 1, + "x": 0, + "y": 0, + }, + "id": "1", + "panelConfig": Object {}, + "panelIndex": "0", + "title": "Title 1", + "type": "visualization", + "version": undefined, + }, + Object { + "gridData": Object { + "h": 2, + "i": "1", + "w": 2, + "x": 1, + "y": 1, + }, + "panelConfig": Object {}, + "panelIndex": "1", + "title": "Title 2", + "type": "visualization", + "version": undefined, + }, + ], "timeRestore": false, "title": "test", "version": 1, @@ -294,12 +436,16 @@ describe('injectReferences', () => { ...commonAttributes, id: '1', title: 'test', - panelsJSON: JSON.stringify([ + panels: [ { + panelIndex: '0', panelRefName: 'panel_0', title: 'Title 1', + type: 'visualization', + gridData: { x: 0, y: 0, w: 1, h: 1, i: '0' }, + panelConfig: {}, }, - ]), + ], }; expect(() => injectReferences({ attributes, references: [] }, deps) diff --git a/src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.ts b/src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.ts index 1ede56a2b67a7..9b9290accb513 100644 --- a/src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.ts +++ b/src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.ts @@ -11,11 +11,11 @@ import type { Reference } from '@kbn/content-management-utils'; import { EmbeddablePersistableStateService } from '@kbn/embeddable-plugin/common/types'; import { - convertPanelMapToSavedPanels, - convertSavedPanelsToPanelMap, + convertPanelMapToPanelsArray, + convertPanelsArrayToPanelMap, } from '../../lib/dashboard_panel_converters'; import { DashboardAttributesAndReferences, ParsedDashboardAttributesWithType } from '../../types'; -import { DashboardAttributes, SavedDashboardPanel } from '../../content_management'; +import type { DashboardAttributes } from '../../../server/content_management'; import { createExtract, createInject, @@ -25,20 +25,12 @@ export interface InjectExtractDeps { embeddablePersistableStateService: EmbeddablePersistableStateService; } -function parseDashboardAttributesWithType( - attributes: DashboardAttributes -): ParsedDashboardAttributesWithType { - let parsedPanels = [] as SavedDashboardPanel[]; - if (typeof attributes.panelsJSON === 'string') { - const parsedJSON = JSON.parse(attributes.panelsJSON); - if (Array.isArray(parsedJSON)) { - parsedPanels = parsedJSON as SavedDashboardPanel[]; - } - } - +function parseDashboardAttributesWithType({ + panels, +}: DashboardAttributes): ParsedDashboardAttributesWithType { return { type: 'dashboard', - panels: convertSavedPanelsToPanelMap(parsedPanels), + panels: convertPanelsArrayToPanelMap(panels), } as ParsedDashboardAttributesWithType; } @@ -51,12 +43,12 @@ export function injectReferences( // inject references back into panels via the Embeddable persistable state service. const inject = createInject(deps.embeddablePersistableStateService); const injectedState = inject(parsedAttributes, references) as ParsedDashboardAttributesWithType; - const injectedPanels = convertPanelMapToSavedPanels(injectedState.panels); + const injectedPanels = convertPanelMapToPanelsArray(injectedState.panels); const newAttributes = { ...attributes, - panelsJSON: JSON.stringify(injectedPanels), - } as DashboardAttributes; + panels: injectedPanels, + }; return newAttributes; } @@ -81,12 +73,12 @@ export function extractReferences( references: Reference[]; state: ParsedDashboardAttributesWithType; }; - const extractedPanels = convertPanelMapToSavedPanels(extractedState.panels); + const extractedPanels = convertPanelMapToPanelsArray(extractedState.panels); const newAttributes = { ...attributes, - panelsJSON: JSON.stringify(extractedPanels), - } as DashboardAttributes; + panels: extractedPanels, + }; return { references: [...references, ...extractedReferences], diff --git a/src/plugins/dashboard/common/index.ts b/src/plugins/dashboard/common/index.ts index 8de0c49c41eec..be2cedf889e85 100644 --- a/src/plugins/dashboard/common/index.ts +++ b/src/plugins/dashboard/common/index.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -export type { DashboardOptions, DashboardCapabilities, SharedDashboardState } from './types'; +export type { DashboardCapabilities, SharedDashboardState } from './types'; export type { DashboardPanelMap, @@ -16,9 +16,8 @@ export type { DashboardContainerByReferenceInput, } from './dashboard_container/types'; -export type { DashboardAttributes, SavedDashboardPanel } from './content_management'; - export { + type InjectExtractDeps, injectReferences, extractReferences, } from './dashboard_saved_object/persistable_state/dashboard_saved_object_references'; @@ -31,10 +30,8 @@ export { export { prefixReferencesFromPanel } from './dashboard_container/persistable_state/dashboard_container_references'; export { - convertPanelStateToSavedDashboardPanel, - convertSavedDashboardPanelToPanelState, - convertSavedPanelsToPanelMap, - convertPanelMapToSavedPanels, + convertPanelsArrayToPanelMap, + convertPanelMapToPanelsArray, } from './lib/dashboard_panel_converters'; export const UI_SETTINGS = { diff --git a/src/plugins/dashboard/common/lib/dashboard_panel_converters.ts b/src/plugins/dashboard/common/lib/dashboard_panel_converters.ts index a8c2d1f7c7b87..67317083b445d 100644 --- a/src/plugins/dashboard/common/lib/dashboard_panel_converters.ts +++ b/src/plugins/dashboard/common/lib/dashboard_panel_converters.ts @@ -9,77 +9,63 @@ import { v4 } from 'uuid'; import { omit } from 'lodash'; -import { EmbeddableInput, SavedObjectEmbeddableInput } from '@kbn/embeddable-plugin/common'; +import type { SavedObjectEmbeddableInput } from '@kbn/embeddable-plugin/common'; import type { Reference } from '@kbn/content-management-utils'; -import { DashboardPanelMap, DashboardPanelState } from '..'; -import { SavedDashboardPanel } from '../content_management'; +import type { DashboardPanelMap } from '..'; +import type { DashboardPanel } from '../../server/content_management'; + import { getReferencesForPanelId, prefixReferencesFromPanel, } from '../dashboard_container/persistable_state/dashboard_container_references'; -export function convertSavedDashboardPanelToPanelState< - TEmbeddableInput extends EmbeddableInput | SavedObjectEmbeddableInput = SavedObjectEmbeddableInput ->(savedDashboardPanel: SavedDashboardPanel): DashboardPanelState { - return { - type: savedDashboardPanel.type, - gridData: savedDashboardPanel.gridData, - panelRefName: savedDashboardPanel.panelRefName, - explicitInput: { - id: savedDashboardPanel.panelIndex, - ...(savedDashboardPanel.id !== undefined && { savedObjectId: savedDashboardPanel.id }), - ...(savedDashboardPanel.title !== undefined && { title: savedDashboardPanel.title }), - ...savedDashboardPanel.embeddableConfig, - } as TEmbeddableInput, - - /** - * Version information used to be stored in the panel until 8.11 when it was moved - * to live inside the explicit Embeddable Input. If version information is given here, we'd like to keep it. - * It will be removed on Dashboard save - */ - version: savedDashboardPanel.version, - }; -} - -export function convertPanelStateToSavedDashboardPanel( - panelState: DashboardPanelState, - removeLegacyVersion?: boolean -): SavedDashboardPanel { - const savedObjectId = (panelState.explicitInput as SavedObjectEmbeddableInput).savedObjectId; - return { - /** - * Version information used to be stored in the panel until 8.11 when it was moved to live inside the - * explicit Embeddable Input. If removeLegacyVersion is not passed, we'd like to keep this information for - * the time being. - */ - ...(!removeLegacyVersion ? { version: panelState.version } : {}), - - type: panelState.type, - gridData: panelState.gridData, - panelIndex: panelState.explicitInput.id, - embeddableConfig: omit(panelState.explicitInput, ['id', 'savedObjectId', 'title']), - ...(panelState.explicitInput.title !== undefined && { title: panelState.explicitInput.title }), - ...(savedObjectId !== undefined && { id: savedObjectId }), - ...(panelState.panelRefName !== undefined && { panelRefName: panelState.panelRefName }), - }; -} - -export const convertSavedPanelsToPanelMap = (panels?: SavedDashboardPanel[]): DashboardPanelMap => { +export const convertPanelsArrayToPanelMap = (panels?: DashboardPanel[]): DashboardPanelMap => { const panelsMap: DashboardPanelMap = {}; panels?.forEach((panel, idx) => { - panelsMap![panel.panelIndex ?? String(idx)] = convertSavedDashboardPanelToPanelState(panel); + const panelIndex = panel.panelIndex ?? String(idx); + panelsMap![panel.panelIndex ?? String(idx)] = { + type: panel.type, + gridData: panel.gridData, + panelRefName: panel.panelRefName, + explicitInput: { + id: panelIndex, + ...(panel.id !== undefined && { savedObjectId: panel.id }), + ...(panel.title !== undefined && { title: panel.title }), + ...panel.panelConfig, + }, + version: panel.version, + }; }); return panelsMap; }; -export const convertPanelMapToSavedPanels = ( +export const convertPanelMapToPanelsArray = ( panels: DashboardPanelMap, removeLegacyVersion?: boolean ) => { - return Object.values(panels).map((panel) => - convertPanelStateToSavedDashboardPanel(panel, removeLegacyVersion) - ); + return Object.values(panels).map((panelState) => { + const savedObjectId = (panelState.explicitInput as SavedObjectEmbeddableInput).savedObjectId; + const panelIndex = panelState.explicitInput.id; + return { + /** + * Version information used to be stored in the panel until 8.11 when it was moved to live inside the + * explicit Embeddable Input. If removeLegacyVersion is not passed, we'd like to keep this information for + * the time being. + */ + ...(!removeLegacyVersion ? { version: panelState.version } : {}), + + type: panelState.type, + gridData: panelState.gridData, + panelIndex, + panelConfig: omit(panelState.explicitInput, ['id', 'savedObjectId', 'title']), + ...(panelState.explicitInput.title !== undefined && { + title: panelState.explicitInput.title, + }), + ...(savedObjectId !== undefined && { id: savedObjectId }), + ...(panelState.panelRefName !== undefined && { panelRefName: panelState.panelRefName }), + }; + }); }; /** diff --git a/src/plugins/dashboard/common/types.ts b/src/plugins/dashboard/common/types.ts index b3b4b1e983b29..c8ecc237ed348 100644 --- a/src/plugins/dashboard/common/types.ts +++ b/src/plugins/dashboard/common/types.ts @@ -8,17 +8,9 @@ */ import type { Reference } from '@kbn/content-management-utils'; -import { EmbeddableStateWithType } from '@kbn/embeddable-plugin/common'; -import { DashboardAttributes, SavedDashboardPanel } from './content_management'; -import { DashboardContainerInput, DashboardPanelMap } from './dashboard_container/types'; - -export interface DashboardOptions { - hidePanelTitles: boolean; - useMargins: boolean; - syncColors: boolean; - syncTooltips: boolean; - syncCursor: boolean; -} +import type { EmbeddableStateWithType } from '@kbn/embeddable-plugin/common'; +import type { DashboardContainerInput, DashboardPanelMap } from './dashboard_container/types'; +import type { DashboardAttributes, DashboardPanel } from '../server/content_management'; export interface DashboardCapabilities { showWriteControls: boolean; @@ -32,7 +24,7 @@ export interface DashboardCapabilities { * For BWC reasons, dashboard state is stored with panels as an array instead of a map */ export type SharedDashboardState = Partial< - Omit & { panels: SavedDashboardPanel[] } + Omit & { panels: DashboardPanel[] } >; /** diff --git a/src/plugins/dashboard/public/dashboard_app/locator/load_dashboard_history_location_state.ts b/src/plugins/dashboard/public/dashboard_app/locator/load_dashboard_history_location_state.ts index 73832625cf11f..99aa14fe6225f 100644 --- a/src/plugins/dashboard/public/dashboard_app/locator/load_dashboard_history_location_state.ts +++ b/src/plugins/dashboard/public/dashboard_app/locator/load_dashboard_history_location_state.ts @@ -10,7 +10,7 @@ import { ScopedHistory } from '@kbn/core-application-browser'; import { ForwardedDashboardState } from './locator'; -import { convertSavedPanelsToPanelMap, DashboardContainerInput } from '../../../common'; +import { convertPanelsArrayToPanelMap, DashboardContainerInput } from '../../../common'; export const loadDashboardHistoryLocationState = ( getScopedHistory: () => ScopedHistory @@ -28,6 +28,6 @@ export const loadDashboardHistoryLocationState = ( return { ...restOfState, - ...{ panels: convertSavedPanelsToPanelMap(panels) }, + ...{ panels: convertPanelsArrayToPanelMap(panels) }, }; }; diff --git a/src/plugins/dashboard/public/dashboard_app/top_nav/share/show_share_modal.test.tsx b/src/plugins/dashboard/public/dashboard_app/top_nav/share/show_share_modal.test.tsx index 41c4a55f6ab8d..de7a1584dc9bf 100644 --- a/src/plugins/dashboard/public/dashboard_app/top_nav/share/show_share_modal.test.tsx +++ b/src/plugins/dashboard/public/dashboard_app/top_nav/share/show_share_modal.test.tsx @@ -8,7 +8,7 @@ */ import { Capabilities } from '@kbn/core/public'; -import { convertPanelMapToSavedPanels, DashboardContainerInput } from '../../../../common'; +import { convertPanelMapToPanelsArray, DashboardContainerInput } from '../../../../common'; import { DashboardLocatorParams } from '../../../dashboard_container'; import { shareService } from '../../../services/kibana_services'; @@ -143,7 +143,7 @@ describe('ShowShareModal', () => { ).locatorParams.params; const rawDashboardState = { ...unsavedDashboardState, - panels: convertPanelMapToSavedPanels(unsavedDashboardState.panels), + panels: convertPanelMapToPanelsArray(unsavedDashboardState.panels), }; unsavedStateKeys.forEach((key) => { expect(shareLocatorParams[key]).toStrictEqual( @@ -208,8 +208,8 @@ describe('ShowShareModal', () => { ).locatorParams.params; expect(shareLocatorParams.panels).toBeDefined(); - expect(shareLocatorParams.panels![0].embeddableConfig.changedKey1).toBe('changed'); - expect(shareLocatorParams.panels![1].embeddableConfig.changedKey2).toBe('definitely changed'); - expect(shareLocatorParams.panels![2].embeddableConfig.changedKey3).toBe('should still exist'); + expect(shareLocatorParams.panels![0].panelConfig.changedKey1).toBe('changed'); + expect(shareLocatorParams.panels![1].panelConfig.changedKey2).toBe('definitely changed'); + expect(shareLocatorParams.panels![2].panelConfig.changedKey3).toBe('should still exist'); }); }); diff --git a/src/plugins/dashboard/public/dashboard_app/top_nav/share/show_share_modal.tsx b/src/plugins/dashboard/public/dashboard_app/top_nav/share/show_share_modal.tsx index 5dd56465de920..2e3690e40d4ee 100644 --- a/src/plugins/dashboard/public/dashboard_app/top_nav/share/show_share_modal.tsx +++ b/src/plugins/dashboard/public/dashboard_app/top_nav/share/show_share_modal.tsx @@ -19,7 +19,7 @@ import { ViewMode } from '@kbn/embeddable-plugin/public'; import { i18n } from '@kbn/i18n'; import { getStateFromKbnUrl, setStateToKbnUrl, unhashUrl } from '@kbn/kibana-utils-plugin/public'; -import { convertPanelMapToSavedPanels, DashboardPanelMap } from '../../../../common'; +import { convertPanelMapToPanelsArray, DashboardPanelMap } from '../../../../common'; import { DashboardLocatorParams } from '../../../dashboard_container'; import { getDashboardBackupService, @@ -151,7 +151,7 @@ export function ShowShareModal({ ...latestPanels, ...modifiedPanels, }; - return convertPanelMapToSavedPanels(allUnsavedPanelsMap); + return convertPanelMapToPanelsArray(allUnsavedPanelsMap); })(); if (unsavedDashboardState) { diff --git a/src/plugins/dashboard/public/dashboard_app/url/search_sessions_integration.ts b/src/plugins/dashboard/public/dashboard_app/url/search_sessions_integration.ts index e9ae3d6a15050..0fc8ce7173e6f 100644 --- a/src/plugins/dashboard/public/dashboard_app/url/search_sessions_integration.ts +++ b/src/plugins/dashboard/public/dashboard_app/url/search_sessions_integration.ts @@ -22,7 +22,7 @@ import type { ViewMode } from '@kbn/embeddable-plugin/common'; import { DASHBOARD_APP_LOCATOR } from '@kbn/deeplinks-analytics'; import { SEARCH_SESSION_ID } from '../../dashboard_constants'; import { DashboardLocatorParams } from '../../dashboard_container'; -import { convertPanelMapToSavedPanels } from '../../../common'; +import { convertPanelMapToPanelsArray } from '../../../common'; import { dataService } from '../../services/kibana_services'; import { DashboardApi } from '../../dashboard_api/types'; @@ -93,7 +93,7 @@ function getLocatorParams({ : undefined, panels: savedObjectId ? undefined - : (convertPanelMapToSavedPanels( + : (convertPanelMapToPanelsArray( dashboardApi.panels$.value ) as DashboardLocatorParams['panels']), }; diff --git a/src/plugins/dashboard/public/dashboard_app/url/url_utils.ts b/src/plugins/dashboard/public/dashboard_app/url/url_utils.ts index b748909eac9ac..87faf87b026f8 100644 --- a/src/plugins/dashboard/public/dashboard_app/url/url_utils.ts +++ b/src/plugins/dashboard/public/dashboard_app/url/url_utils.ts @@ -19,24 +19,29 @@ import { DashboardContainerInput, DashboardPanelMap, SharedDashboardState, - convertSavedPanelsToPanelMap, + convertPanelsArrayToPanelMap, } from '../../../common'; -import { SavedDashboardPanel } from '../../../common/content_management'; +import type { DashboardPanel } from '../../../server/content_management'; +import type { SavedDashboardPanel } from '../../../server/dashboard_saved_object'; import { DashboardApi } from '../../dashboard_api/types'; import { DASHBOARD_STATE_STORAGE_KEY, createDashboardEditUrl } from '../../dashboard_constants'; import { migrateLegacyQuery } from '../../services/dashboard_content_management_service/lib/load_dashboard_state'; import { coreServices } from '../../services/kibana_services'; import { getPanelTooOldErrorString } from '../_dashboard_app_strings'; +const panelIsLegacy = (panel: unknown): panel is SavedDashboardPanel => { + return (panel as SavedDashboardPanel).embeddableConfig !== undefined; +}; + /** * We no longer support loading panels from a version older than 7.3 in the URL. * @returns whether or not there is a panel in the URL state saved with a version before 7.3 */ -export const isPanelVersionTooOld = (panels: SavedDashboardPanel[]) => { +export const isPanelVersionTooOld = (panels: DashboardPanel[] | SavedDashboardPanel[]) => { for (const panel of panels) { if ( !panel.gridData || - !panel.embeddableConfig || + !((panel as DashboardPanel).panelConfig || (panel as SavedDashboardPanel).embeddableConfig) || (panel.version && semverSatisfies(panel.version, '<7.3')) ) return true; @@ -58,7 +63,19 @@ function getPanelsMap(appStateInUrl: SharedDashboardState): DashboardPanelMap | return undefined; } - return convertSavedPanelsToPanelMap(appStateInUrl.panels); + // convert legacy embeddableConfig keys to panelConfig + const panels = appStateInUrl.panels.map((panel) => { + if (panelIsLegacy(panel)) { + const { embeddableConfig, ...rest } = panel; + return { + ...rest, + panelConfig: embeddableConfig, + }; + } + return panel; + }); + + return convertPanelsArrayToPanelMap(panels); } /** diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx index 444bac28c9e66..e5355bdb2988c 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx @@ -27,6 +27,7 @@ import { DashboardPanelMap, prefixReferencesFromPanel, } from '../../../../common'; +import type { DashboardAttributes } from '../../../../server/content_management'; import { DASHBOARD_CONTENT_ID, SAVED_OBJECT_POST_TIME } from '../../../dashboard_constants'; import { SaveDashboardReturn, @@ -95,7 +96,11 @@ export async function runQuickSave(this: DashboardContainer) { const { rawState: controlGroupSerializedState, references: extractedReferences } = await controlGroupApi.serializeState(); controlGroupReferences = extractedReferences; - stateToSave = { ...stateToSave, controlGroupInput: controlGroupSerializedState }; + stateToSave = { + ...stateToSave, + controlGroupInput: + controlGroupSerializedState as unknown as DashboardAttributes['controlGroupInput'], + }; } const saveResult = await getDashboardContentManagementService().saveDashboardState({ @@ -186,7 +191,8 @@ export async function runInteractiveSave(this: DashboardContainer, interactionMo controlGroupReferences = references; dashboardStateToSave = { ...dashboardStateToSave, - controlGroupInput: controlGroupSerializedState, + controlGroupInput: + controlGroupSerializedState as unknown as DashboardAttributes['controlGroupInput'], }; } diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx index a6765732c064c..35137075befe4 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx @@ -25,7 +25,7 @@ import { v4 } from 'uuid'; import { METRIC_TYPE } from '@kbn/analytics'; import type { Reference } from '@kbn/content-management-utils'; -import { ControlGroupApi, ControlGroupSerializedState } from '@kbn/controls-plugin/public'; +import { ControlGroupApi } from '@kbn/controls-plugin/public'; import type { KibanaExecutionContext, OverlayRef } from '@kbn/core/public'; import { RefreshInterval } from '@kbn/data-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; @@ -69,12 +69,8 @@ import { LocatorPublic } from '@kbn/share-plugin/common'; import { ExitFullScreenButtonKibanaProvider } from '@kbn/shared-ux-button-exit-full-screen'; import { DASHBOARD_CONTAINER_TYPE, DashboardApi, DashboardLocatorParams } from '../..'; -import { - DashboardAttributes, - DashboardContainerInput, - DashboardPanelMap, - DashboardPanelState, -} from '../../../common'; +import type { DashboardAttributes } from '../../../server/content_management'; +import { DashboardContainerInput, DashboardPanelMap, DashboardPanelState } from '../../../common'; import { getReferencesForControls, getReferencesForPanelId, @@ -887,15 +883,19 @@ export class DashboardContainer public getSerializedStateForControlGroup = () => { return { rawState: this.controlGroupInput - ? (this.controlGroupInput as ControlGroupSerializedState) - : ({ - controlStyle: 'oneLine', + ? this.controlGroupInput + : { + labelPosition: 'oneLine', chainingSystem: 'HIERARCHICAL', - showApplySelections: false, - panelsJSON: '{}', - ignoreParentSettingsJSON: - '{"ignoreFilters":false,"ignoreQuery":false,"ignoreTimerange":false,"ignoreValidations":false}', - } as ControlGroupSerializedState), + autoApplySelections: true, + controls: [], + ignoreParentSettings: { + ignoreFilters: false, + ignoreQuery: false, + ignoreTimerange: false, + ignoreValidations: false, + }, + }, references: getReferencesForControls(this.savedObjectReferences), }; }; diff --git a/src/plugins/dashboard/public/dashboard_container/panel_placement/place_clone_panel_strategy.ts b/src/plugins/dashboard/public/dashboard_container/panel_placement/place_clone_panel_strategy.ts index 8386df50717f3..bdf5a39df34b8 100644 --- a/src/plugins/dashboard/public/dashboard_container/panel_placement/place_clone_panel_strategy.ts +++ b/src/plugins/dashboard/public/dashboard_container/panel_placement/place_clone_panel_strategy.ts @@ -11,7 +11,7 @@ import { cloneDeep, forOwn } from 'lodash'; import { PanelNotFoundError } from '@kbn/embeddable-plugin/public'; import { DashboardPanelState } from '../../../common'; -import { GridData } from '../../../common/content_management'; +import type { GridData } from '../../../server/content_management'; import { PanelPlacementProps, PanelPlacementReturn } from './types'; import { DASHBOARD_GRID_COLUMN_COUNT } from '../../dashboard_constants'; @@ -109,9 +109,9 @@ export function placeClonePanel({ for (let j = position + 1; j < grid.length; j++) { originalPositionInTheGrid = grid[j].i; - const movedPanel = cloneDeep(otherPanels[originalPositionInTheGrid]); - movedPanel.gridData.y = movedPanel.gridData.y + diff; - otherPanels[originalPositionInTheGrid] = movedPanel; + const { gridData, ...movedPanel } = cloneDeep(otherPanels[originalPositionInTheGrid]); + const newGridData = { ...gridData, y: gridData.y + diff }; + otherPanels[originalPositionInTheGrid] = { ...movedPanel, gridData: newGridData }; } return { newPanelPlacement: bottomPlacement.grid, otherPanels }; } diff --git a/src/plugins/dashboard/public/dashboard_container/panel_placement/place_new_panel_strategies.ts b/src/plugins/dashboard/public/dashboard_container/panel_placement/place_new_panel_strategies.ts index 821a5e6eed1c3..a6c0aaba43467 100644 --- a/src/plugins/dashboard/public/dashboard_container/panel_placement/place_new_panel_strategies.ts +++ b/src/plugins/dashboard/public/dashboard_container/panel_placement/place_new_panel_strategies.ts @@ -20,9 +20,9 @@ export const runPanelPlacementStrategy = ( case PanelPlacementStrategy.placeAtTop: const otherPanels = { ...currentPanels }; for (const [id, panel] of Object.entries(currentPanels)) { - const currentPanel = cloneDeep(panel); - currentPanel.gridData.y = currentPanel.gridData.y + height; - otherPanels[id] = currentPanel; + const { gridData, ...currentPanel } = cloneDeep(panel); + const newGridData = { ...gridData, y: gridData.y + height }; + otherPanels[id] = { ...currentPanel, gridData: newGridData }; } return { newPanelPlacement: { x: 0, y: 0, w: width, h: height }, diff --git a/src/plugins/dashboard/public/dashboard_container/panel_placement/types.ts b/src/plugins/dashboard/public/dashboard_container/panel_placement/types.ts index df34a9158c11a..2dd826f9a5821 100644 --- a/src/plugins/dashboard/public/dashboard_container/panel_placement/types.ts +++ b/src/plugins/dashboard/public/dashboard_container/panel_placement/types.ts @@ -10,7 +10,7 @@ import { EmbeddableInput } from '@kbn/embeddable-plugin/public'; import { MaybePromise } from '@kbn/utility-types'; import { DashboardPanelState } from '../../../common'; -import { GridData } from '../../../common/content_management'; +import type { GridData } from '../../../server/content_management'; import { PanelPlacementStrategy } from '../../dashboard_constants'; export interface PanelPlacementSettings { diff --git a/src/plugins/dashboard/public/dashboard_container/types.ts b/src/plugins/dashboard/public/dashboard_container/types.ts index f0b6ea2621abd..cf307924e00fe 100644 --- a/src/plugins/dashboard/public/dashboard_container/types.ts +++ b/src/plugins/dashboard/public/dashboard_container/types.ts @@ -12,8 +12,8 @@ import type { ReduxEmbeddableState } from '@kbn/presentation-util-plugin/public' import { SerializableRecord } from '@kbn/utility-types'; import { ControlGroupRuntimeState } from '@kbn/controls-plugin/public'; -import type { DashboardContainerInput, DashboardOptions } from '../../common'; -import { SavedDashboardPanel } from '../../common/content_management'; +import type { DashboardContainerInput } from '../../common'; +import type { DashboardOptions, DashboardPanel } from '../../server/content_management'; export interface UnsavedPanelState { [key: string]: object | undefined; @@ -101,7 +101,7 @@ export type DashboardLocatorParams = Partial< /** * List of dashboard panels */ - panels?: Array; // used SerializableRecord here to force the GridData type to be read as serializable + panels?: Array; // used SerializableRecord here to force the GridData type to be read as serializable /** * Control group changes diff --git a/src/plugins/dashboard/public/dashboard_listing/dashboard_unsaved_listing.tsx b/src/plugins/dashboard/public/dashboard_listing/dashboard_unsaved_listing.tsx index 0e23583801309..04f40a199e83b 100644 --- a/src/plugins/dashboard/public/dashboard_listing/dashboard_unsaved_listing.tsx +++ b/src/plugins/dashboard/public/dashboard_listing/dashboard_unsaved_listing.tsx @@ -20,7 +20,7 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { ViewMode } from '@kbn/embeddable-plugin/public'; -import { DashboardAttributes } from '../../common/content_management'; +import type { DashboardAttributes } from '../../server/content_management'; import { DASHBOARD_PANELS_UNSAVED_ID, getDashboardBackupService, diff --git a/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.tsx b/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.tsx index 31bfa88120a5e..6c8c8f11d6a13 100644 --- a/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.tsx +++ b/src/plugins/dashboard/public/dashboard_listing/hooks/use_dashboard_listing_table.tsx @@ -17,7 +17,7 @@ import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; import { ViewMode } from '@kbn/embeddable-plugin/public'; import { DashboardContainerInput } from '../../../common'; -import { DashboardItem } from '../../../common/content_management'; +import type { DashboardSearchOut } from '../../../server/content_management'; import { DASHBOARD_CONTENT_ID, SAVED_OBJECT_DELETE_TIME, @@ -42,7 +42,9 @@ type GetDetailViewLink = const SAVED_OBJECTS_LIMIT_SETTING = 'savedObjects:listingLimit'; const SAVED_OBJECTS_PER_PAGE_SETTING = 'savedObjects:perPage'; -const toTableListViewSavedObject = (hit: DashboardItem): DashboardSavedObjectUserContent => { +const toTableListViewSavedObject = ( + hit: DashboardSearchOut['hits'][number] +): DashboardSavedObjectUserContent => { const { title, description, timeRestore } = hit.attributes; return { type: 'dashboard', @@ -51,7 +53,7 @@ const toTableListViewSavedObject = (hit: DashboardItem): DashboardSavedObjectUse createdAt: hit.createdAt, createdBy: hit.createdBy, updatedBy: hit.updatedBy, - references: hit.references, + references: hit.references ?? [], managed: hit.managed, attributes: { title, diff --git a/src/plugins/dashboard/public/services/dashboard_content_management_service/dashboard_content_management_cache.ts b/src/plugins/dashboard/public/services/dashboard_content_management_service/dashboard_content_management_cache.ts index 1b54f9dda9eb4..e72e3f23fdaba 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management_service/dashboard_content_management_cache.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management_service/dashboard_content_management_cache.ts @@ -8,14 +8,14 @@ */ import LRUCache from 'lru-cache'; -import { DashboardCrudTypes } from '../../../common/content_management'; +import type { DashboardGetOut } from '../../../server/content_management'; import { DASHBOARD_CACHE_SIZE, DASHBOARD_CACHE_TTL } from '../../dashboard_constants'; export class DashboardContentManagementCache { - private cache: LRUCache; + private cache: LRUCache; constructor() { - this.cache = new LRUCache({ + this.cache = new LRUCache({ max: DASHBOARD_CACHE_SIZE, maxAge: DASHBOARD_CACHE_TTL, }); @@ -27,7 +27,7 @@ export class DashboardContentManagementCache { } /** Add the fetched dashboard to the cache */ - public addDashboard({ item: dashboard, meta }: DashboardCrudTypes['GetOut']) { + public addDashboard({ item: dashboard, meta }: DashboardGetOut) { this.cache.set(dashboard.id, { meta, item: dashboard, diff --git a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/check_for_duplicate_dashboard_title.ts b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/check_for_duplicate_dashboard_title.ts index 0d12cb446129b..2865663dec3c0 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/check_for_duplicate_dashboard_title.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/check_for_duplicate_dashboard_title.ts @@ -7,8 +7,8 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ +import type { DashboardSearchIn, DashboardSearchOut } from '../../../../server/content_management'; import { DASHBOARD_CONTENT_ID } from '../../../dashboard_constants'; -import { DashboardCrudTypes } from '../../../../common/content_management'; import { extractTitleAndCount } from '../../../dashboard_container/embeddable/api/lib/extract_title_and_count'; import { contentManagementService } from '../../kibana_services'; @@ -54,8 +54,8 @@ export async function checkForDuplicateDashboardTitle({ const [baseDashboardName] = extractTitleAndCount(title); const { hits } = await contentManagementService.client.search< - DashboardCrudTypes['SearchIn'], - DashboardCrudTypes['SearchOut'] + DashboardSearchIn, + DashboardSearchOut >({ contentTypeId: DASHBOARD_CONTENT_ID, query: { diff --git a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/delete_dashboards.ts b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/delete_dashboards.ts index 0be9355ddb606..976a5579b1988 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/delete_dashboards.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/delete_dashboards.ts @@ -7,18 +7,15 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { getDashboardContentManagementCache } from '..'; -import { DashboardCrudTypes } from '../../../../common/content_management'; +import type { DeleteIn, DeleteResult } from '@kbn/content-management-plugin/common'; import { DASHBOARD_CONTENT_ID } from '../../../dashboard_constants'; +import { getDashboardContentManagementCache } from '..'; import { contentManagementService } from '../../kibana_services'; export const deleteDashboards = async (ids: string[]) => { const deletePromises = ids.map((id) => { getDashboardContentManagementCache().deleteDashboard(id); - return contentManagementService.client.delete< - DashboardCrudTypes['DeleteIn'], - DashboardCrudTypes['DeleteOut'] - >({ + return contentManagementService.client.delete({ contentTypeId: DASHBOARD_CONTENT_ID, id, }); diff --git a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/find_dashboards.ts b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/find_dashboards.ts index 2f9a2c2e9a033..4afdefb8d13e1 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/find_dashboards.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/find_dashboards.ts @@ -10,17 +10,20 @@ import type { Reference } from '@kbn/content-management-utils'; import { SavedObjectError, SavedObjectsFindOptionsReference } from '@kbn/core/public'; -import { getDashboardContentManagementCache } from '..'; -import { +import type { DashboardAttributes, - DashboardCrudTypes, - DashboardItem, -} from '../../../../common/content_management'; + DashboardGetIn, + DashboardGetOut, + DashboardSearchIn, + DashboardSearchOut, + DashboardSearchOptions, +} from '../../../../server/content_management'; +import { getDashboardContentManagementCache } from '..'; import { DASHBOARD_CONTENT_ID } from '../../../dashboard_constants'; import { contentManagementService } from '../../kibana_services'; export interface SearchDashboardsArgs { - options?: DashboardCrudTypes['SearchIn']['options']; + options?: DashboardSearchOptions; hasNoReference?: SavedObjectsFindOptionsReference[]; hasReference?: SavedObjectsFindOptionsReference[]; search: string; @@ -29,7 +32,7 @@ export interface SearchDashboardsArgs { export interface SearchDashboardsResponse { total: number; - hits: DashboardItem[]; + hits: DashboardSearchOut['hits']; } export async function searchDashboards({ @@ -42,10 +45,7 @@ export async function searchDashboards({ const { hits, pagination: { total }, - } = await contentManagementService.client.search< - DashboardCrudTypes['SearchIn'], - DashboardCrudTypes['SearchOut'] - >({ + } = await contentManagementService.client.search({ contentTypeId: DASHBOARD_CONTENT_ID, query: { text: search ? `${search}*` : undefined, @@ -84,10 +84,7 @@ export async function findDashboardById(id: string): Promise({ + const response = await contentManagementService.client.get({ contentTypeId: DASHBOARD_CONTENT_ID, id, }); @@ -119,8 +116,8 @@ export async function findDashboardsByIds(ids: string[]): Promise { const { hits } = await contentManagementService.client.search< - DashboardCrudTypes['SearchIn'], - DashboardCrudTypes['SearchOut'] + DashboardSearchIn, + DashboardSearchOut >({ contentTypeId: DASHBOARD_CONTENT_ID, query: { diff --git a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/load_dashboard_state.ts b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/load_dashboard_state.ts index 17102e2fe7d0a..2694411ed001a 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/load_dashboard_state.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/load_dashboard_state.ts @@ -10,19 +10,15 @@ import { has } from 'lodash'; import { v4 as uuidv4 } from 'uuid'; -import { injectSearchSourceReferences, parseSearchSourceJSON } from '@kbn/data-plugin/public'; +import { injectSearchSourceReferences } from '@kbn/data-plugin/public'; import { ViewMode } from '@kbn/embeddable-plugin/public'; import { Filter, Query } from '@kbn/es-query'; import { SavedObjectNotFound } from '@kbn/kibana-utils-plugin/public'; import { cleanFiltersForSerialize } from '@kbn/presentation-util-plugin/public'; import { getDashboardContentManagementCache } from '..'; -import { - convertSavedPanelsToPanelMap, - injectReferences, - type DashboardOptions, -} from '../../../../common'; -import { DashboardCrudTypes } from '../../../../common/content_management'; +import { convertPanelsArrayToPanelMap, injectReferences } from '../../../../common'; +import type { DashboardGetIn, DashboardGetOut } from '../../../../server/content_management'; import { DASHBOARD_CONTENT_ID, DEFAULT_DASHBOARD_INPUT } from '../../../dashboard_constants'; import { contentManagementService, @@ -30,7 +26,11 @@ import { embeddableService, savedObjectsTaggingService, } from '../../kibana_services'; -import type { LoadDashboardFromSavedObjectProps, LoadDashboardReturn } from '../types'; +import type { + DashboardSearchSource, + LoadDashboardFromSavedObjectProps, + LoadDashboardReturn, +} from '../types'; import { convertNumberToDashboardVersion } from './dashboard_versioning'; import { migrateDashboardInput } from './migrate_dashboard_input'; @@ -72,8 +72,8 @@ export const loadDashboardState = async ({ /** * Load the saved object from Content Management */ - let rawDashboardContent: DashboardCrudTypes['GetOut']['item']; - let resolveMeta: DashboardCrudTypes['GetOut']['meta']; + let rawDashboardContent: DashboardGetOut['item']; + let resolveMeta: DashboardGetOut['meta']; const cachedDashboard = dashboardContentManagementCache.fetchDashboard(id); if (cachedDashboard) { @@ -82,7 +82,7 @@ export const loadDashboardState = async ({ } else { /** Otherwise, fetch and load the dashboard from the content management client, and add it to the cache */ const result = await contentManagementService.client - .get({ + .get({ contentTypeId: DASHBOARD_CONTENT_ID, id, }) @@ -127,14 +127,16 @@ export const loadDashboardState = async ({ /** * Create search source and pull filters and query from it. */ - const searchSourceJSON = attributes.kibanaSavedObjectMeta.searchSourceJSON; + let searchSourceValues = attributes.kibanaSavedObjectMeta.searchSource; const searchSource = await (async () => { - if (!searchSourceJSON) { + if (!searchSourceValues) { return await dataSearchService.searchSource.create(); } try { - let searchSourceValues = parseSearchSourceJSON(searchSourceJSON); - searchSourceValues = injectSearchSourceReferences(searchSourceValues as any, references); + searchSourceValues = injectSearchSourceReferences( + searchSourceValues as any, + references + ) as DashboardSearchSource; return await dataSearchService.searchSource.create(searchSourceValues); } catch (error: any) { return await dataSearchService.searchSource.create(); @@ -151,8 +153,8 @@ export const loadDashboardState = async ({ refreshInterval, description, timeRestore, - optionsJSON, - panelsJSON, + options, + panels, timeFrom, version, timeTo, @@ -167,11 +169,7 @@ export const loadDashboardState = async ({ } : undefined; - /** - * Parse panels and options from JSON - */ - const options: DashboardOptions = optionsJSON ? JSON.parse(optionsJSON) : undefined; - const panels = convertSavedPanelsToPanelMap(panelsJSON ? JSON.parse(panelsJSON) : []); + const panelMap = convertPanelsArrayToPanelMap(panels ?? []); const { dashboardInput, anyMigrationRun } = migrateDashboardInput({ ...DEFAULT_DASHBOARD_INPUT, @@ -183,7 +181,7 @@ export const loadDashboardState = async ({ description, timeRange, filters, - panels, + panels: panelMap, query, title, @@ -192,7 +190,7 @@ export const loadDashboardState = async ({ controlGroupInput: attributes.controlGroupInput, - version: convertNumberToDashboardVersion(version), + ...(version && { version: convertNumberToDashboardVersion(version) }), }); return { diff --git a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/save_dashboard_state.test.ts b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/save_dashboard_state.test.ts index 8327397a66068..7e35b0ec1c163 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/save_dashboard_state.test.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/save_dashboard_state.test.ts @@ -95,7 +95,7 @@ describe('Save dashboard state', () => { currentState: { ...getSampleDashboardInput(), title: 'BooThree', - panels: { idOne: { type: 'boop' } }, + panels: { aVerySpecialVeryUniqueId: { type: 'boop' } }, } as unknown as DashboardContainerInput, lastSavedId: 'Boogatoonie', saveOptions: { saveAsCopy: true }, @@ -106,7 +106,11 @@ describe('Save dashboard state', () => { expect(contentManagementService.client.create).toHaveBeenCalledWith( expect.objectContaining({ data: expect.objectContaining({ - panelsJSON: expect.not.stringContaining('neverGonnaGetThisId'), + panels: expect.arrayContaining([ + expect.objectContaining({ + panelIndex: expect.not.stringContaining('aVerySpecialVeryUniqueId'), + }), + ]), }), }) ); diff --git a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/save_dashboard_state.ts b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/save_dashboard_state.ts index 283ed5eed7f5b..27e6a53da1f9a 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/save_dashboard_state.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/save_dashboard_state.ts @@ -13,9 +13,16 @@ import moment, { Moment } from 'moment'; import { extractSearchSourceReferences, RefreshInterval } from '@kbn/data-plugin/public'; import { isFilterPinned } from '@kbn/es-query'; +import type { SavedObjectReference } from '@kbn/core/server'; import { getDashboardContentManagementCache } from '..'; -import { convertPanelMapToSavedPanels, extractReferences } from '../../../../common'; -import { DashboardAttributes, DashboardCrudTypes } from '../../../../common/content_management'; +import { convertPanelMapToPanelsArray, extractReferences } from '../../../../common'; +import type { + DashboardAttributes, + DashboardCreateIn, + DashboardCreateOut, + DashboardUpdateIn, + DashboardUpdateOut, +} from '../../../../server/content_management'; import { generateNewPanelIds } from '../../../../common/lib/dashboard_panel_converters'; import { DASHBOARD_CONTENT_ID } from '../../../dashboard_constants'; import { LATEST_DASHBOARD_CONTAINER_VERSION } from '../../../dashboard_container'; @@ -28,7 +35,7 @@ import { embeddableService, savedObjectsTaggingService, } from '../../kibana_services'; -import { SaveDashboardProps, SaveDashboardReturn } from '../types'; +import { DashboardSearchSource, SaveDashboardProps, SaveDashboardReturn } from '../types'; import { convertDashboardVersionToNumber } from './dashboard_versioning'; export const convertTimeToUTCString = (time?: string | Moment): undefined | string => { @@ -88,33 +95,30 @@ export const saveDashboardState = async ({ // } - /** - * Stringify filters and query into search source JSON - */ - const { searchSourceJSON, searchSourceReferences } = await (async () => { - const searchSource = await dataSearchService.searchSource.create(); - searchSource.setField( + const { searchSource, searchSourceReferences } = await (async () => { + const searchSourceFields = await dataSearchService.searchSource.create(); + searchSourceFields.setField( 'filter', // save only unpinned filters filters.filter((filter) => !isFilterPinned(filter)) ); - searchSource.setField('query', query); - - const rawSearchSourceFields = searchSource.getSerializedFields(); - const [fields, references] = extractSearchSourceReferences(rawSearchSourceFields); - return { searchSourceReferences: references, searchSourceJSON: JSON.stringify(fields) }; + searchSourceFields.setField('query', query); + + const rawSearchSourceFields = searchSourceFields.getSerializedFields(); + const [fields, references] = extractSearchSourceReferences(rawSearchSourceFields) as [ + DashboardSearchSource, + SavedObjectReference[] + ]; + return { searchSourceReferences: references, searchSource: fields }; })(); - /** - * Stringify options and panels - */ - const optionsJSON = JSON.stringify({ + const options = { useMargins, syncColors, syncCursor, syncTooltips, hidePanelTitles, - }); - const panelsJSON = JSON.stringify(convertPanelMapToSavedPanels(panels, true)); + }; + const savedPanels = convertPanelMapToPanelsArray(panels, true); /** * Parse global time filter settings @@ -134,12 +138,12 @@ export const saveDashboardState = async ({ const rawDashboardAttributes: DashboardAttributes = { version: convertDashboardVersionToNumber(LATEST_DASHBOARD_CONTAINER_VERSION), controlGroupInput, - kibanaSavedObjectMeta: { searchSourceJSON }, + kibanaSavedObjectMeta: { searchSource }, description: description ?? '', refreshInterval, timeRestore, - optionsJSON, - panelsJSON, + options, + panels: savedPanels, timeFrom, title, timeTo, @@ -174,10 +178,7 @@ export const saveDashboardState = async ({ try { const result = idToSaveTo - ? await contentManagementService.client.update< - DashboardCrudTypes['UpdateIn'], - DashboardCrudTypes['UpdateOut'] - >({ + ? await contentManagementService.client.update({ id: idToSaveTo, contentTypeId: DASHBOARD_CONTENT_ID, data: attributes, @@ -187,10 +188,7 @@ export const saveDashboardState = async ({ mergeAttributes: false, }, }) - : await contentManagementService.client.create< - DashboardCrudTypes['CreateIn'], - DashboardCrudTypes['CreateOut'] - >({ + : await contentManagementService.client.create({ contentTypeId: DASHBOARD_CONTENT_ID, data: attributes, options: { diff --git a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/update_dashboard_meta.ts b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/update_dashboard_meta.ts index 2fd57738f17aa..90f31cfdc05c6 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/update_dashboard_meta.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management_service/lib/update_dashboard_meta.ts @@ -9,7 +9,7 @@ import { DashboardContainerInput } from '../../../../common'; import { DASHBOARD_CONTENT_ID } from '../../../dashboard_constants'; -import { DashboardCrudTypes } from '../../../../common/content_management'; +import type { DashboardUpdateIn, DashboardUpdateOut } from '../../../../server/content_management'; import { findDashboardsByIds } from './find_dashboards'; import { contentManagementService, savedObjectsTaggingService } from '../../kibana_services'; @@ -35,10 +35,7 @@ export const updateDashboardMeta = async ({ ? savedObjectsTaggingApi.ui.updateTagsReferences(dashboard.references, tags) : dashboard.references; - await contentManagementService.client.update< - DashboardCrudTypes['UpdateIn'], - DashboardCrudTypes['UpdateOut'] - >({ + await contentManagementService.client.update({ contentTypeId: DASHBOARD_CONTENT_ID, id, data: { title, description }, diff --git a/src/plugins/dashboard/public/services/dashboard_content_management_service/types.ts b/src/plugins/dashboard/public/services/dashboard_content_management_service/types.ts index 3294bb06c0d42..0f4fe1c86a56d 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management_service/types.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management_service/types.ts @@ -8,11 +8,12 @@ */ import type { Reference } from '@kbn/content-management-utils'; +import type { Query, SerializedSearchSourceFields } from '@kbn/data-plugin/common'; import { ControlGroupRuntimeState } from '@kbn/controls-plugin/public'; import { SavedObjectSaveOpts } from '@kbn/saved-objects-plugin/public'; import { DashboardContainerInput } from '../../../common'; -import { DashboardAttributes, DashboardCrudTypes } from '../../../common/content_management'; +import type { DashboardAttributes, DashboardGetOut } from '../../../server/content_management'; import { DashboardDuplicateTitleCheckProps } from './lib/check_for_duplicate_dashboard_title'; import { FindDashboardsByIdResponse, @@ -38,7 +39,7 @@ export interface LoadDashboardFromSavedObjectProps { id?: string; } -type DashboardResolveMeta = DashboardCrudTypes['GetOut']['meta']; +type DashboardResolveMeta = DashboardGetOut['meta']; export type SavedDashboardInput = DashboardContainerInput & { /** @@ -54,6 +55,10 @@ export type SavedDashboardInput = DashboardContainerInput & { controlGroupState?: Partial; }; +export type DashboardSearchSource = Omit & { + query?: Query; +}; + export interface LoadDashboardReturn { dashboardFound: boolean; newDashboardCreated?: boolean; diff --git a/src/plugins/dashboard/public/services/mocks.ts b/src/plugins/dashboard/public/services/mocks.ts index 255098ecd8196..c39c665ed55da 100644 --- a/src/plugins/dashboard/public/services/mocks.ts +++ b/src/plugins/dashboard/public/services/mocks.ts @@ -32,7 +32,8 @@ import { urlForwardingPluginMock } from '@kbn/url-forwarding-plugin/public/mocks import { visualizationsPluginMock } from '@kbn/visualizations-plugin/public/mocks'; import { setKibanaServices } from './kibana_services'; -import { DashboardAttributes, DashboardCapabilities } from '../../common'; +import { DashboardAttributes } from '../../server/content_management'; +import { DashboardCapabilities } from '../../common'; import { LoadDashboardReturn } from './dashboard_content_management_service/types'; import { SearchDashboardsResponse } from './dashboard_content_management_service/lib/find_dashboards'; diff --git a/src/plugins/dashboard/server/api/constants.ts b/src/plugins/dashboard/server/api/constants.ts new file mode 100644 index 0000000000000..458165d797869 --- /dev/null +++ b/src/plugins/dashboard/server/api/constants.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +export const PUBLIC_API_VERSION = '2023-10-31'; +export const PUBLIC_API_CONTENT_MANAGEMENT_VERSION = 3; +export const PUBLIC_API_PATH = '/api/dashboards/dashboard'; diff --git a/src/plugins/dashboard/server/content_management/schema/v2/index.ts b/src/plugins/dashboard/server/api/index.ts similarity index 80% rename from src/plugins/dashboard/server/content_management/schema/v2/index.ts rename to src/plugins/dashboard/server/api/index.ts index 66beda1385d00..ccf84609b2b10 100644 --- a/src/plugins/dashboard/server/content_management/schema/v2/index.ts +++ b/src/plugins/dashboard/server/api/index.ts @@ -7,8 +7,4 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -export { - serviceDefinition, - dashboardSavedObjectSchema, - dashboardAttributesSchema, -} from './cm_services'; +export { registerAPIRoutes } from './register_routes'; diff --git a/src/plugins/dashboard/server/api/register_routes.ts b/src/plugins/dashboard/server/api/register_routes.ts new file mode 100644 index 0000000000000..692942e1bd1bb --- /dev/null +++ b/src/plugins/dashboard/server/api/register_routes.ts @@ -0,0 +1,327 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { schema } from '@kbn/config-schema'; +import type { ContentManagementServerSetup } from '@kbn/content-management-plugin/server'; +import type { HttpServiceSetup } from '@kbn/core/server'; +import type { UsageCounter } from '@kbn/usage-collection-plugin/server'; +import type { Logger } from '@kbn/logging'; + +import { CONTENT_ID } from '../../common/content_management'; +import { + PUBLIC_API_PATH, + PUBLIC_API_VERSION, + PUBLIC_API_CONTENT_MANAGEMENT_VERSION, +} from './constants'; +import { + dashboardAttributesSchema, + dashboardGetResultSchema, + dashboardCreateResultSchema, + dashboardSearchResultsSchema, + referenceSchema, +} from '../content_management/v3'; + +interface RegisterAPIRoutesArgs { + http: HttpServiceSetup; + contentManagement: ContentManagementServerSetup; + restCounter?: UsageCounter; + logger: Logger; +} + +const TECHNICAL_PREVIEW_WARNING = + 'This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.'; + +export function registerAPIRoutes({ + http, + contentManagement, + restCounter, + logger, +}: RegisterAPIRoutesArgs) { + const { versioned: versionedRouter } = http.createRouter(); + + // Create API route + const createRoute = versionedRouter.post({ + path: `${PUBLIC_API_PATH}/{id?}`, + access: 'public', + summary: 'Create a dashboard', + description: TECHNICAL_PREVIEW_WARNING, + options: { + tags: ['oas-tag:Dashboards'], + }, + }); + + createRoute.addVersion( + { + version: PUBLIC_API_VERSION, + validate: { + request: { + params: schema.object({ + id: schema.maybe(schema.string()), + }), + body: schema.object({ + attributes: dashboardAttributesSchema, + references: schema.maybe(schema.arrayOf(referenceSchema)), + spaces: schema.maybe(schema.arrayOf(schema.string())), + }), + }, + response: { + 200: { + body: () => dashboardCreateResultSchema, + }, + }, + }, + }, + async (ctx, req, res) => { + const { id } = req.params; + const { attributes, references, spaces: initialNamespaces } = req.body; + const client = contentManagement.contentClient + .getForRequest({ request: req, requestHandlerContext: ctx }) + .for(CONTENT_ID, PUBLIC_API_CONTENT_MANAGEMENT_VERSION); + let result; + try { + ({ result } = await client.create(attributes, { + id, + references, + initialNamespaces, + })); + } catch (e) { + if (e.isBoom && e.output.statusCode === 409) { + return res.conflict({ + body: { + message: `A dashboard with saved object ID ${id} already exists.`, + }, + }); + } + + if (e.isBoom && e.output.statusCode === 403) { + return res.forbidden(); + } + + return res.badRequest(); + } + + return res.ok({ body: result }); + } + ); + + // Update API route + + const updateRoute = versionedRouter.put({ + path: `${PUBLIC_API_PATH}/{id}`, + access: 'public', + summary: `Update an existing dashboard.`, + description: TECHNICAL_PREVIEW_WARNING, + options: { + tags: ['oas-tag:Dashboards'], + }, + }); + + updateRoute.addVersion( + { + version: PUBLIC_API_VERSION, + validate: { + request: { + params: schema.object({ + id: schema.string(), + }), + body: schema.object({ + attributes: dashboardAttributesSchema, + references: schema.maybe(schema.arrayOf(referenceSchema)), + }), + }, + response: { + 200: { + body: () => dashboardCreateResultSchema, + }, + }, + }, + }, + async (ctx, req, res) => { + const { attributes, references } = req.body; + const client = contentManagement.contentClient + .getForRequest({ request: req, requestHandlerContext: ctx }) + .for(CONTENT_ID, PUBLIC_API_CONTENT_MANAGEMENT_VERSION); + let result; + try { + ({ result } = await client.update(req.params.id, attributes, { references })); + } catch (e) { + if (e.isBoom && e.output.statusCode === 404) { + return res.notFound({ + body: { + message: `A dashboard with saved object ID ${req.params.id} was not found.`, + }, + }); + } + if (e.isBoom && e.output.statusCode === 403) { + return res.forbidden(); + } + return res.badRequest(e.message); + } + + return res.created({ body: result }); + } + ); + + // List API route + const listRoute = versionedRouter.get({ + path: `${PUBLIC_API_PATH}`, + access: 'public', + summary: `Get a list of dashboards.`, + description: TECHNICAL_PREVIEW_WARNING, + options: { + tags: ['oas-tag:Dashboards'], + }, + }); + + listRoute.addVersion( + { + version: PUBLIC_API_VERSION, + validate: { + request: { + query: schema.object({ + page: schema.number({ defaultValue: 1 }), + perPage: schema.maybe(schema.number()), + }), + }, + response: { + 200: { + body: () => + schema.object({ + items: schema.arrayOf(dashboardSearchResultsSchema), + total: schema.number(), + }), + }, + }, + }, + }, + async (ctx, req, res) => { + const { page, perPage: limit } = req.query; + const client = contentManagement.contentClient + .getForRequest({ request: req, requestHandlerContext: ctx }) + .for(CONTENT_ID, PUBLIC_API_CONTENT_MANAGEMENT_VERSION); + let result; + try { + // TODO add filtering + ({ result } = await client.search({ cursor: page.toString(), limit })); + } catch (e) { + if (e.isBoom && e.output.statusCode === 403) { + return res.forbidden(); + } + + return res.badRequest(); + } + + const body = { + items: result.hits, + total: result.pagination.total, + }; + return res.ok({ body }); + } + ); + + // Get API route + const getRoute = versionedRouter.get({ + path: `${PUBLIC_API_PATH}/{id}`, + access: 'public', + summary: `Get a dashboard.`, + description: TECHNICAL_PREVIEW_WARNING, + options: { + tags: ['oas-tag:Dashboards'], + }, + }); + + getRoute.addVersion( + { + version: PUBLIC_API_VERSION, + validate: { + request: { + params: schema.object({ + id: schema.string(), + }), + }, + response: { + 200: { + body: () => dashboardGetResultSchema, + }, + }, + }, + }, + async (ctx, req, res) => { + const client = contentManagement.contentClient + .getForRequest({ request: req, requestHandlerContext: ctx }) + .for(CONTENT_ID, PUBLIC_API_CONTENT_MANAGEMENT_VERSION); + let result; + try { + ({ result } = await client.get(req.params.id)); + } catch (e) { + if (e.isBoom && e.output.statusCode === 404) { + return res.notFound({ + body: { + message: `A dashboard with saved object ID ${req.params.id}] was not found.`, + }, + }); + } + + if (e.isBoom && e.output.statusCode === 403) { + return res.forbidden(); + } + + return res.badRequest(e.message); + } + + return res.ok({ body: result }); + } + ); + + // Delete API route + const deleteRoute = versionedRouter.delete({ + path: `${PUBLIC_API_PATH}/{id}`, + access: 'public', + summary: `Delete a dashboard.`, + description: TECHNICAL_PREVIEW_WARNING, + options: { + tags: ['oas-tag:Dashboards'], + }, + }); + + deleteRoute.addVersion( + { + version: PUBLIC_API_VERSION, + validate: { + request: { + params: schema.object({ + id: schema.string(), + }), + }, + }, + }, + async (ctx, req, res) => { + const client = contentManagement.contentClient + .getForRequest({ request: req, requestHandlerContext: ctx }) + .for(CONTENT_ID, PUBLIC_API_CONTENT_MANAGEMENT_VERSION); + try { + await client.delete(req.params.id); + } catch (e) { + if (e.isBoom && e.output.statusCode === 404) { + return res.notFound({ + body: { + message: `A dashboard with saved object ID ${req.params.id} was not found.`, + }, + }); + } + if (e.isBoom && e.output.statusCode === 403) { + return res.forbidden(); + } + return res.badRequest(); + } + + return res.ok(); + } + ); +} diff --git a/src/plugins/dashboard/server/content_management/schema/cm_services.ts b/src/plugins/dashboard/server/content_management/cm_services.ts similarity index 94% rename from src/plugins/dashboard/server/content_management/schema/cm_services.ts rename to src/plugins/dashboard/server/content_management/cm_services.ts index 10fbbd7f44ba8..081d7ad8a39d4 100644 --- a/src/plugins/dashboard/server/content_management/schema/cm_services.ts +++ b/src/plugins/dashboard/server/content_management/cm_services.ts @@ -17,8 +17,10 @@ import type { import { serviceDefinition as v1 } from './v1'; import { serviceDefinition as v2 } from './v2'; +import { serviceDefinition as v3 } from './v3'; export const cmServicesDefinition: { [version: Version]: ServicesDefinition } = { 1: v1, 2: v2, + 3: v3, }; diff --git a/src/plugins/dashboard/server/content_management/dashboard_storage.ts b/src/plugins/dashboard/server/content_management/dashboard_storage.ts index 248979032132a..e65002802989f 100644 --- a/src/plugins/dashboard/server/content_management/dashboard_storage.ts +++ b/src/plugins/dashboard/server/content_management/dashboard_storage.ts @@ -7,23 +7,40 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { SOContentStorage, tagsToFindOptions } from '@kbn/content-management-utils'; -import { SavedObjectsFindOptions } from '@kbn/core-saved-objects-api-server'; +import Boom from '@hapi/boom'; +import { tagsToFindOptions } from '@kbn/content-management-utils'; +import { + SavedObjectsFindOptions, + SavedObjectsFindResult, +} from '@kbn/core-saved-objects-api-server'; import type { Logger } from '@kbn/logging'; -import { CONTENT_ID } from '../../common/content_management'; -import { cmServicesDefinition } from './schema/cm_services'; -import type { DashboardCrudTypes } from '../../common/content_management'; +import { CreateResult, DeleteResult, SearchQuery } from '@kbn/content-management-plugin/common'; +import { StorageContext } from '@kbn/content-management-plugin/server'; +import { DASHBOARD_SAVED_OBJECT_TYPE } from '../dashboard_saved_object'; +import { cmServicesDefinition } from './cm_services'; +import { DashboardSavedObjectAttributes } from '../dashboard_saved_object'; +import { itemAttrsToSavedObjectAttrs, savedObjectToItem } from './latest'; +import type { + DashboardAttributes, + DashboardItem, + DashboardCreateOut, + DashboardCreateOptions, + DashboardGetOut, + DashboardSearchOut, + DashboardUpdateOptions, + DashboardUpdateOut, + DashboardSearchOptions, +} from './latest'; const searchArgsToSOFindOptions = ( - args: DashboardCrudTypes['SearchIn'] + query: SearchQuery, + options: DashboardSearchOptions ): SavedObjectsFindOptions => { - const { query, contentTypeId, options } = args; - return { - type: contentTypeId, + type: DASHBOARD_SAVED_OBJECT_TYPE, searchFields: options?.onlyTitle ? ['title'] : ['title^3', 'description'], - fields: ['description', 'title', 'timeRestore'], + fields: options?.fields ?? ['title', 'description', 'timeRestore'], search: query.text, perPage: query.limit, page: query.cursor ? +query.cursor : undefined, @@ -32,7 +49,16 @@ const searchArgsToSOFindOptions = ( }; }; -export class DashboardStorage extends SOContentStorage { +const savedObjectClientFromRequest = async (ctx: StorageContext) => { + if (!ctx.requestHandlerContext) { + throw new Error('Storage context.requestHandlerContext missing.'); + } + + const { savedObjects } = await ctx.requestHandlerContext.core; + return savedObjects.client; +}; + +export class DashboardStorage { constructor({ logger, throwOnResultValidationError, @@ -40,26 +66,316 @@ export class DashboardStorage extends SOContentStorage { logger: Logger; throwOnResultValidationError: boolean; }) { - super({ - savedObjectType: CONTENT_ID, - cmServicesDefinition, - searchArgsToSOFindOptions, - enableMSearch: true, - allowedSavedObjectAttributes: [ - 'kibanaSavedObjectMeta', - 'controlGroupInput', - 'refreshInterval', - 'description', - 'timeRestore', - 'optionsJSON', - 'panelsJSON', - 'timeFrom', - 'version', - 'timeTo', - 'title', - ], - logger, - throwOnResultValidationError, - }); + this.logger = logger; + this.throwOnResultValidationError = throwOnResultValidationError ?? false; + this.mSearch = { + savedObjectType: DASHBOARD_SAVED_OBJECT_TYPE, + additionalSearchFields: [], + toItemResult: (ctx: StorageContext, savedObject: SavedObjectsFindResult): DashboardItem => { + const transforms = ctx.utils.getTransforms(cmServicesDefinition); + + const { item, error: itemError } = savedObjectToItem( + savedObject as SavedObjectsFindResult, + false + ); + if (itemError) { + throw Boom.badRequest(`Invalid response. ${itemError.message}`); + } + + const validationError = transforms.mSearch.out.result.validate(item); + if (validationError) { + if (this.throwOnResultValidationError) { + throw Boom.badRequest(`Invalid response. ${validationError.message}`); + } else { + this.logger.warn(`Invalid response. ${validationError.message}`); + } + } + + // Validate DB response and DOWN transform to the request version + const { value, error: resultError } = transforms.mSearch.out.result.down< + DashboardItem, + DashboardItem + >( + item, + undefined, // do not override version + { validate: false } // validation is done above + ); + + if (resultError) { + throw Boom.badRequest(`Invalid response. ${resultError.message}`); + } + + return value; + }, + }; + } + + private logger: Logger; + private throwOnResultValidationError: boolean; + + mSearch: { + savedObjectType: string; + toItemResult: (ctx: StorageContext, savedObject: SavedObjectsFindResult) => DashboardItem; + additionalSearchFields?: string[]; + }; + + async get(ctx: StorageContext, id: string): Promise { + const transforms = ctx.utils.getTransforms(cmServicesDefinition); + const soClient = await savedObjectClientFromRequest(ctx); + + // Save data in DB + const { + saved_object: savedObject, + alias_purpose: aliasPurpose, + alias_target_id: aliasTargetId, + outcome, + } = await soClient.resolve(DASHBOARD_SAVED_OBJECT_TYPE, id); + + const { item, error: itemError } = savedObjectToItem(savedObject, false); + if (itemError) { + throw Boom.badRequest(`Invalid response. ${itemError.message}`); + } + + const response = { item, meta: { aliasPurpose, aliasTargetId, outcome } }; + + const validationError = transforms.get.out.result.validate(response); + if (validationError) { + if (this.throwOnResultValidationError) { + throw Boom.badRequest(`Invalid response. ${validationError.message}`); + } else { + this.logger.warn(`Invalid response. ${validationError.message}`); + } + } + + // Validate response and DOWN transform to the request version + const { value, error: resultError } = transforms.get.out.result.down< + DashboardGetOut, + DashboardGetOut + >( + response, + undefined, // do not override version + { validate: false } // validation is done above + ); + + if (resultError) { + throw Boom.badRequest(`Invalid response. ${resultError.message}`); + } + + return value; + } + + async bulkGet(): Promise { + // Not implemented + throw new Error(`[bulkGet] has not been implemented. See DashboardStorage class.`); + } + + async create( + ctx: StorageContext, + data: DashboardAttributes, + options: DashboardCreateOptions + ): Promise { + const transforms = ctx.utils.getTransforms(cmServicesDefinition); + const soClient = await savedObjectClientFromRequest(ctx); + + // Validate input (data & options) & UP transform them to the latest version + const { value: dataToLatest, error: dataError } = transforms.create.in.data.up< + DashboardAttributes, + DashboardAttributes + >(data); + if (dataError) { + throw Boom.badRequest(`Invalid data. ${dataError.message}`); + } + + const { value: optionsToLatest, error: optionsError } = transforms.create.in.options.up< + DashboardCreateOptions, + DashboardCreateOptions + >(options); + if (optionsError) { + throw Boom.badRequest(`Invalid options. ${optionsError.message}`); + } + + const { attributes: soAttributes, error: attributesError } = + itemAttrsToSavedObjectAttrs(dataToLatest); + if (attributesError) { + throw Boom.badRequest(`Invalid data. ${attributesError.message}`); + } + + // Save data in DB + const savedObject = await soClient.create( + DASHBOARD_SAVED_OBJECT_TYPE, + soAttributes, + optionsToLatest + ); + + const { item, error: itemError } = savedObjectToItem(savedObject, false); + if (itemError) { + throw Boom.badRequest(`Invalid response. ${itemError.message}`); + } + + const validationError = transforms.create.out.result.validate({ item }); + if (validationError) { + if (this.throwOnResultValidationError) { + throw Boom.badRequest(`Invalid response. ${validationError.message}`); + } else { + this.logger.warn(`Invalid response. ${validationError.message}`); + } + } + + // Validate DB response and DOWN transform to the request version + const { value, error: resultError } = transforms.create.out.result.down< + CreateResult + >( + { item }, + undefined, // do not override version + { validate: false } // validation is done above + ); + + if (resultError) { + throw Boom.badRequest(`Invalid response. ${resultError.message}`); + } + + return value; + } + + async update( + ctx: StorageContext, + id: string, + data: DashboardAttributes, + options: DashboardUpdateOptions + ): Promise { + const transforms = ctx.utils.getTransforms(cmServicesDefinition); + const soClient = await savedObjectClientFromRequest(ctx); + + // Validate input (data & options) & UP transform them to the latest version + const { value: dataToLatest, error: dataError } = transforms.update.in.data.up< + DashboardAttributes, + DashboardAttributes + >(data); + if (dataError) { + throw Boom.badRequest(`Invalid data. ${dataError.message}`); + } + + const { value: optionsToLatest, error: optionsError } = transforms.update.in.options.up< + DashboardUpdateOptions, + DashboardUpdateOptions + >(options); + if (optionsError) { + throw Boom.badRequest(`Invalid options. ${optionsError.message}`); + } + + const { attributes: soAttributes, error: attributesError } = + itemAttrsToSavedObjectAttrs(dataToLatest); + if (attributesError) { + throw Boom.badRequest(`Invalid data. ${attributesError.message}`); + } + + // Save data in DB + const partialSavedObject = await soClient.update( + DASHBOARD_SAVED_OBJECT_TYPE, + id, + soAttributes, + optionsToLatest + ); + + const { item, error: itemError } = savedObjectToItem(partialSavedObject, true); + if (itemError) { + throw Boom.badRequest(`Invalid response. ${itemError.message}`); + } + + const validationError = transforms.update.out.result.validate({ item }); + if (validationError) { + if (this.throwOnResultValidationError) { + throw Boom.badRequest(`Invalid response. ${validationError.message}`); + } else { + this.logger.warn(`Invalid response. ${validationError.message}`); + } + } + + // Validate DB response and DOWN transform to the request version + const { value, error: resultError } = transforms.update.out.result.down< + DashboardUpdateOut, + DashboardUpdateOut + >( + { item }, + undefined, // do not override version + { validate: false } // validation is done above + ); + + if (resultError) { + throw Boom.badRequest(`Invalid response. ${resultError.message}`); + } + + return value; + } + + async delete( + ctx: StorageContext, + id: string, + // force is necessary to delete saved objects that exist in multiple namespaces + options?: { force: boolean } + ): Promise { + const soClient = await savedObjectClientFromRequest(ctx); + await soClient.delete(DASHBOARD_SAVED_OBJECT_TYPE, id, { force: options?.force ?? false }); + return { success: true }; + } + + async search( + ctx: StorageContext, + query: SearchQuery, + options: DashboardSearchOptions + ): Promise { + const transforms = ctx.utils.getTransforms(cmServicesDefinition); + const soClient = await savedObjectClientFromRequest(ctx); + + // Validate and UP transform the options + const { value: optionsToLatest, error: optionsError } = transforms.search.in.options.up< + DashboardSearchOptions, + DashboardSearchOptions + >(options); + if (optionsError) { + throw Boom.badRequest(`Invalid payload. ${optionsError.message}`); + } + + const soQuery = searchArgsToSOFindOptions(query, optionsToLatest); + // Execute the query in the DB + const soResponse = await soClient.find(soQuery); + const hits = soResponse.saved_objects + .map((so) => { + const { item } = savedObjectToItem(so, false, soQuery.fields); + return item; + }) + // Ignore any saved objects that failed to convert to items. + .filter((item) => item !== null); + const response = { + hits, + pagination: { + total: soResponse.total, + }, + }; + + const validationError = transforms.search.out.result.validate(response); + if (validationError) { + if (this.throwOnResultValidationError) { + throw Boom.badRequest(`Invalid response. ${validationError.message}`); + } else { + this.logger.warn(`Invalid response. ${validationError.message}`); + } + } + + // Validate the response and DOWN transform to the request version + const { value, error: resultError } = transforms.search.out.result.down< + DashboardSearchOut, + DashboardSearchOut + >( + response, + undefined, // do not override version + { validate: false } // validation is done above + ); + + if (resultError) { + throw Boom.badRequest(`Invalid response. ${resultError.message}`); + } + + return value; } } diff --git a/src/plugins/dashboard/server/content_management/index.ts b/src/plugins/dashboard/server/content_management/index.ts index 6539241912671..8ff43345aa9ce 100644 --- a/src/plugins/dashboard/server/content_management/index.ts +++ b/src/plugins/dashboard/server/content_management/index.ts @@ -7,4 +7,24 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ +export type { + ControlGroupAttributes, + GridData, + DashboardPanel, + DashboardAttributes, + DashboardItem, + DashboardGetIn, + DashboardGetOut, + DashboardCreateIn, + DashboardCreateOut, + DashboardCreateOptions, + DashboardSearchIn, + DashboardSearchOut, + DashboardSearchOptions, + DashboardUpdateIn, + DashboardUpdateOut, + DashboardUpdateOptions, + DashboardOptions, +} from './latest'; + export { DashboardStorage } from './dashboard_storage'; diff --git a/src/plugins/dashboard/common/content_management/latest.ts b/src/plugins/dashboard/server/content_management/latest.ts similarity index 91% rename from src/plugins/dashboard/common/content_management/latest.ts rename to src/plugins/dashboard/server/content_management/latest.ts index 82b84de84f8bf..e35d4011f84f0 100644 --- a/src/plugins/dashboard/common/content_management/latest.ts +++ b/src/plugins/dashboard/server/content_management/latest.ts @@ -7,5 +7,5 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -// Latest version is 2 -export * from './v2'; +// Latest version is 3 +export * from './v3'; diff --git a/src/plugins/dashboard/server/content_management/schema/v1/cm_services.ts b/src/plugins/dashboard/server/content_management/v1/cm_services.ts similarity index 61% rename from src/plugins/dashboard/server/content_management/schema/v1/cm_services.ts rename to src/plugins/dashboard/server/content_management/v1/cm_services.ts index f54cf0add822a..0cee0bb23f450 100644 --- a/src/plugins/dashboard/server/content_management/schema/v1/cm_services.ts +++ b/src/plugins/dashboard/server/content_management/v1/cm_services.ts @@ -16,51 +16,7 @@ import { updateOptionsSchema, createResultSchema, } from '@kbn/content-management-utils'; - -export const controlGroupInputSchema = schema - .object({ - panelsJSON: schema.maybe(schema.string()), - controlStyle: schema.maybe(schema.string()), - chainingSystem: schema.maybe(schema.string()), - ignoreParentSettingsJSON: schema.maybe(schema.string()), - }) - .extends({}, { unknowns: 'ignore' }); - -export const dashboardAttributesSchema = schema.object( - { - // General - title: schema.string(), - description: schema.string({ defaultValue: '' }), - - // Search - kibanaSavedObjectMeta: schema.object({ - searchSourceJSON: schema.maybe(schema.string()), - }), - - // Time - timeRestore: schema.maybe(schema.boolean()), - timeFrom: schema.maybe(schema.string()), - timeTo: schema.maybe(schema.string()), - refreshInterval: schema.maybe( - schema.object({ - pause: schema.boolean(), - value: schema.number(), - display: schema.maybe(schema.string()), - section: schema.maybe(schema.number()), - }) - ), - - // Dashboard Content - controlGroupInput: schema.maybe(controlGroupInputSchema), - panelsJSON: schema.string({ defaultValue: '[]' }), - optionsJSON: schema.string({ defaultValue: '{}' }), - - // Legacy - hits: schema.maybe(schema.number()), - version: schema.maybe(schema.number()), - }, - { unknowns: 'forbid' } -); +import { dashboardAttributesSchema } from '../../dashboard_saved_object/schema/v1'; export const dashboardSavedObjectSchema = savedObjectSchema(dashboardAttributesSchema); @@ -84,8 +40,10 @@ const dashboardUpdateOptionsSchema = schema.object({ mergeAttributes: schema.maybe(updateOptionsSchema.mergeAttributes), }); -// Content management service definition. -// We need it for BWC support between different versions of the content +/** + * Content management service definition v1. + * Dashboard attributes in content management version v1 are tightly coupled with the v1 model version saved object schema. + */ export const serviceDefinition: ServicesDefinition = { get: { out: { diff --git a/src/plugins/dashboard/server/content_management/schema/v1/index.ts b/src/plugins/dashboard/server/content_management/v1/index.ts similarity index 77% rename from src/plugins/dashboard/server/content_management/schema/v1/index.ts rename to src/plugins/dashboard/server/content_management/v1/index.ts index c26552457e5f9..163b952218bc8 100644 --- a/src/plugins/dashboard/server/content_management/schema/v1/index.ts +++ b/src/plugins/dashboard/server/content_management/v1/index.ts @@ -7,9 +7,4 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -export { - serviceDefinition, - dashboardSavedObjectSchema, - controlGroupInputSchema, - dashboardAttributesSchema, -} from './cm_services'; +export { serviceDefinition } from './cm_services'; diff --git a/src/plugins/dashboard/server/content_management/schema/v2/cm_services.ts b/src/plugins/dashboard/server/content_management/v2/cm_services.ts similarity index 70% rename from src/plugins/dashboard/server/content_management/schema/v2/cm_services.ts rename to src/plugins/dashboard/server/content_management/v2/cm_services.ts index 9e81945e4c718..3b560b8416731 100644 --- a/src/plugins/dashboard/server/content_management/schema/v2/cm_services.ts +++ b/src/plugins/dashboard/server/content_management/v2/cm_services.ts @@ -7,36 +7,23 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { schema } from '@kbn/config-schema'; import { createResultSchema, objectTypeToGetResultSchema, savedObjectSchema, } from '@kbn/content-management-utils'; import type { ContentManagementServicesDefinition as ServicesDefinition } from '@kbn/object-versioning'; -import { - controlGroupInputSchema as controlGroupInputSchemaV1, - dashboardAttributesSchema as dashboardAttributesSchemaV1, - serviceDefinition as serviceDefinitionV1, -} from '../v1'; - -export const dashboardAttributesSchema = dashboardAttributesSchemaV1.extends( - { - controlGroupInput: schema.maybe( - controlGroupInputSchemaV1.extends( - { - showApplySelections: schema.maybe(schema.boolean()), - }, - { unknowns: 'ignore' } - ) - ), - }, - { unknowns: 'ignore' } -); +import type { DashboardCrudTypes } from '../../../common/content_management/v2'; +import { serviceDefinition as serviceDefinitionV1 } from '../v1'; +import { dashboardAttributesOut as attributesTov3 } from '../v3'; +import { dashboardAttributesSchema } from '../../dashboard_saved_object/schema/v2'; export const dashboardSavedObjectSchema = savedObjectSchema(dashboardAttributesSchema); -// Content management service definition. +/** + * Content management service definition v2. + * Dashboard attributes in content management version v2 are tightly coupled with the v2 model version saved object schema. + */ export const serviceDefinition: ServicesDefinition = { get: { out: { @@ -50,6 +37,7 @@ export const serviceDefinition: ServicesDefinition = { ...serviceDefinitionV1?.create?.in, data: { schema: dashboardAttributesSchema, + up: (data: DashboardCrudTypes['CreateIn']['data']) => attributesTov3(data), }, }, out: { @@ -63,6 +51,7 @@ export const serviceDefinition: ServicesDefinition = { ...serviceDefinitionV1.update?.in, data: { schema: dashboardAttributesSchema, + up: (data: DashboardCrudTypes['UpdateIn']['data']) => attributesTov3(data), }, }, }, diff --git a/src/plugins/dashboard/server/content_management/v2/index.ts b/src/plugins/dashboard/server/content_management/v2/index.ts new file mode 100644 index 0000000000000..163b952218bc8 --- /dev/null +++ b/src/plugins/dashboard/server/content_management/v2/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +export { serviceDefinition } from './cm_services'; diff --git a/src/plugins/dashboard/server/content_management/v3/cm_services.ts b/src/plugins/dashboard/server/content_management/v3/cm_services.ts new file mode 100644 index 0000000000000..e086d1cc1460a --- /dev/null +++ b/src/plugins/dashboard/server/content_management/v3/cm_services.ts @@ -0,0 +1,539 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { v4 as uuidv4 } from 'uuid'; +import { schema, Type } from '@kbn/config-schema'; +import { createOptionsSchemas, updateOptionsSchema } from '@kbn/content-management-utils'; +import type { ContentManagementServicesDefinition as ServicesDefinition } from '@kbn/object-versioning'; +import { + type ControlGroupChainingSystem, + type ControlLabelPosition, + type ControlWidth, + CONTROL_CHAINING_OPTIONS, + CONTROL_LABEL_POSITION_OPTIONS, + CONTROL_WIDTH_OPTIONS, + DEFAULT_CONTROL_CHAINING, + DEFAULT_CONTROL_GROW, + DEFAULT_CONTROL_LABEL_POSITION, + DEFAULT_CONTROL_WIDTH, + DEFAULT_IGNORE_PARENT_SETTINGS, + DEFAULT_AUTO_APPLY_SELECTIONS, +} from '@kbn/controls-plugin/common'; +import { FilterStateStore } from '@kbn/es-query'; +import { SortDirection } from '@kbn/data-plugin/common/search'; +import { + DASHBOARD_GRID_COLUMN_COUNT, + DEFAULT_PANEL_HEIGHT, + DEFAULT_PANEL_WIDTH, + DEFAULT_DASHBOARD_OPTIONS, +} from '../../../common/content_management'; +import { getResultV3ToV2 } from './transform_utils'; + +const apiError = schema.object({ + error: schema.string(), + message: schema.string(), + statusCode: schema.number(), + metadata: schema.maybe(schema.object({}, { unknowns: 'allow' })), +}); + +// This schema should be provided by the controls plugin. Perhaps we can resolve this with the embeddable registry. +// See https://github.com/elastic/kibana/issues/192622 +export const controlGroupInputSchema = schema.object({ + controls: schema.arrayOf( + schema.object( + { + type: schema.string({ meta: { description: 'The type of the control panel.' } }), + controlConfig: schema.maybe(schema.recordOf(schema.string(), schema.any())), + id: schema.string({ + defaultValue: uuidv4(), + meta: { description: 'The unique ID of the control.' }, + }), + order: schema.number({ + meta: { + description: 'The order of the control panel in the control group.', + }, + }), + width: schema.oneOf( + Object.values(CONTROL_WIDTH_OPTIONS).map((value) => schema.literal(value)) as [ + Type + ], + { + defaultValue: DEFAULT_CONTROL_WIDTH, + meta: { description: 'Minimum width of the control panel in the control group.' }, + } + ), + grow: schema.boolean({ + defaultValue: DEFAULT_CONTROL_GROW, + meta: { description: 'Expand width of the control panel to fit available space.' }, + }), + }, + { unknowns: 'allow' } + ), + { + defaultValue: [], + meta: { description: 'An array of control panels and their state in the control group.' }, + } + ), + labelPosition: schema.oneOf( + Object.values(CONTROL_LABEL_POSITION_OPTIONS).map((value) => schema.literal(value)) as [ + Type + ], + { + defaultValue: DEFAULT_CONTROL_LABEL_POSITION, + meta: { + description: 'Position of the labels for controls. For example, "oneLine", "twoLine".', + }, + } + ), + chainingSystem: schema.oneOf( + Object.values(CONTROL_CHAINING_OPTIONS).map((value) => schema.literal(value)) as [ + Type + ], + { + defaultValue: DEFAULT_CONTROL_CHAINING, + meta: { + description: + 'The chaining strategy for multiple controls. For example, "HIERARCHICAL" or "NONE".', + }, + } + ), + enhancements: schema.maybe(schema.recordOf(schema.string(), schema.any())), + ignoreParentSettings: schema.object({ + ignoreFilters: schema.boolean({ + meta: { description: 'Ignore global filters in controls.' }, + defaultValue: DEFAULT_IGNORE_PARENT_SETTINGS.ignoreFilters, + }), + ignoreQuery: schema.boolean({ + meta: { description: 'Ignore the global query bar in controls.' }, + defaultValue: DEFAULT_IGNORE_PARENT_SETTINGS.ignoreQuery, + }), + ignoreTimerange: schema.boolean({ + meta: { description: 'Ignore the global time range in controls.' }, + defaultValue: DEFAULT_IGNORE_PARENT_SETTINGS.ignoreTimerange, + }), + ignoreValidations: schema.boolean({ + meta: { description: 'Ignore validations in controls.' }, + defaultValue: DEFAULT_IGNORE_PARENT_SETTINGS.ignoreValidations, + }), + }), + autoApplySelections: schema.boolean({ + meta: { description: 'Show apply selections button in controls.' }, + defaultValue: DEFAULT_AUTO_APPLY_SELECTIONS, + }), +}); + +const searchSourceSchema = schema.object( + { + type: schema.maybe(schema.string()), + query: schema.maybe( + schema.object({ + query: schema.oneOf([ + schema.string({ + meta: { + description: + 'A text-based query such as Kibana Query Language (KQL) or Lucene query language.', + }, + }), + schema.recordOf(schema.string(), schema.any()), + ]), + language: schema.string({ + meta: { description: 'The query language such as KQL or Lucene.' }, + }), + }) + ), + filter: schema.maybe( + schema.arrayOf( + schema.object( + { + meta: schema.object( + { + alias: schema.maybe(schema.nullable(schema.string())), + disabled: schema.maybe(schema.boolean()), + negate: schema.maybe(schema.boolean()), + controlledBy: schema.maybe(schema.string()), + group: schema.maybe(schema.string()), + index: schema.maybe(schema.string()), + isMultiIndex: schema.maybe(schema.boolean()), + type: schema.maybe(schema.string()), + key: schema.maybe(schema.string()), + params: schema.maybe(schema.any()), + value: schema.maybe(schema.string()), + field: schema.maybe(schema.string()), + }, + { unknowns: 'allow' } + ), + query: schema.maybe(schema.recordOf(schema.string(), schema.any())), + $state: schema.maybe( + schema.object({ + store: schema.oneOf( + [ + schema.literal(FilterStateStore.APP_STATE), + schema.literal(FilterStateStore.GLOBAL_STATE), + ], + { + meta: { + description: + "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + }, + } + ), + }) + ), + }, + { meta: { description: 'A filter for the search source.' } } + ) + ) + ), + sort: schema.maybe( + schema.arrayOf( + schema.recordOf( + schema.string(), + schema.oneOf([ + schema.oneOf([schema.literal(SortDirection.asc), schema.literal(SortDirection.desc)]), + schema.object({ + order: schema.oneOf([ + schema.literal(SortDirection.asc), + schema.literal(SortDirection.desc), + ]), + format: schema.maybe(schema.string()), + }), + schema.object({ + order: schema.oneOf([ + schema.literal(SortDirection.asc), + schema.literal(SortDirection.desc), + ]), + numeric_type: schema.maybe( + schema.oneOf([ + schema.literal('double'), + schema.literal('long'), + schema.literal('date'), + schema.literal('date_nanos'), + ]) + ), + }), + ]) + ) + ) + ), + }, + /** + The Dashboard _should_ only ever uses the query and filters fields on the search + source. But we should be liberal in what we accept, so we allow unknowns. + */ + { defaultValue: {}, unknowns: 'allow' } +); + +export const gridDataSchema = schema.object({ + x: schema.number({ meta: { description: 'The x coordinate of the panel in grid units' } }), + y: schema.number({ meta: { description: 'The y coordinate of the panel in grid units' } }), + w: schema.number({ + defaultValue: DEFAULT_PANEL_WIDTH, + min: 1, + max: DASHBOARD_GRID_COLUMN_COUNT, + meta: { description: 'The width of the panel in grid units' }, + }), + h: schema.number({ + defaultValue: DEFAULT_PANEL_HEIGHT, + min: 1, + meta: { description: 'The height of the panel in grid units' }, + }), + i: schema.string({ + meta: { description: 'The unique identifier of the panel' }, + defaultValue: uuidv4(), + }), +}); + +export const panelSchema = schema.object({ + panelConfig: schema.object( + { + version: schema.maybe( + schema.string({ + meta: { description: 'The version of the embeddable in the panel.' }, + }) + ), + title: schema.maybe(schema.string({ meta: { description: 'The title of the panel' } })), + description: schema.maybe( + schema.string({ meta: { description: 'The description of the panel' } }) + ), + savedObjectId: schema.maybe( + schema.string({ + meta: { description: 'The unique id of the library item to construct the embeddable.' }, + }) + ), + hidePanelTitles: schema.maybe( + schema.boolean({ + defaultValue: false, + meta: { description: 'Set to true to hide the panel title in its container.' }, + }) + ), + enhancements: schema.maybe(schema.recordOf(schema.string(), schema.any())), + }, + { + unknowns: 'allow', + } + ), + id: schema.maybe( + schema.string({ meta: { description: 'The saved object id for by reference panels' } }) + ), + type: schema.string({ meta: { description: 'The embeddable type' } }), + panelRefName: schema.maybe(schema.string()), + gridData: gridDataSchema, + panelIndex: schema.string({ + meta: { description: 'The unique ID of the panel.' }, + defaultValue: schema.siblingRef('gridData.i'), + }), + title: schema.maybe(schema.string({ meta: { description: 'The title of the panel' } })), + version: schema.maybe( + schema.string({ + meta: { + description: + "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + deprecated: true, + }, + }) + ), +}); + +export const optionsSchema = schema.object({ + hidePanelTitles: schema.boolean({ + defaultValue: DEFAULT_DASHBOARD_OPTIONS.hidePanelTitles, + meta: { description: 'Hide the panel titles in the dashboard.' }, + }), + useMargins: schema.boolean({ + defaultValue: DEFAULT_DASHBOARD_OPTIONS.useMargins, + meta: { description: 'Show margins between panels in the dashboard layout.' }, + }), + syncColors: schema.boolean({ + defaultValue: DEFAULT_DASHBOARD_OPTIONS.syncColors, + meta: { description: 'Synchronize colors between related panels in the dashboard.' }, + }), + syncTooltips: schema.boolean({ + defaultValue: DEFAULT_DASHBOARD_OPTIONS.syncTooltips, + meta: { description: 'Synchronize tooltips between related panels in the dashboard.' }, + }), + syncCursor: schema.boolean({ + defaultValue: DEFAULT_DASHBOARD_OPTIONS.syncCursor, + meta: { description: 'Synchronize cursor position between related panels in the dashboard.' }, + }), +}); + +// These are the attributes that are returned in search results +export const searchResultsAttributesSchema = schema.object({ + title: schema.string({ meta: { description: 'A human-readable title for the dashboard' } }), + description: schema.string({ defaultValue: '', meta: { description: 'A short description.' } }), + timeRestore: schema.boolean({ + defaultValue: false, + meta: { description: 'Whether to restore time upon viewing this dashboard' }, + }), +}); + +export const dashboardAttributesSchema = searchResultsAttributesSchema.extends({ + // Search + kibanaSavedObjectMeta: schema.object( + { + searchSource: schema.maybe(searchSourceSchema), + }, + { + meta: { + description: 'A container for various metadata', + }, + defaultValue: {}, + } + ), + // Time + timeFrom: schema.maybe( + schema.string({ meta: { description: 'An ISO string indicating when to restore time from' } }) + ), + timeTo: schema.maybe( + schema.string({ meta: { description: 'An ISO string indicating when to restore time from' } }) + ), + refreshInterval: schema.maybe( + schema.object( + { + pause: schema.boolean({ + meta: { + description: + 'Whether the refresh interval is set to be paused while viewing the dashboard.', + }, + }), + value: schema.number({ + meta: { + description: 'A numeric value indicating refresh frequency in milliseconds.', + }, + }), + display: schema.maybe( + schema.string({ + meta: { + description: + 'A human-readable string indicating the refresh frequency. No longer used.', + deprecated: true, + }, + }) + ), + section: schema.maybe( + schema.number({ + meta: { + description: 'No longer used.', // TODO what is this legacy property? + deprecated: true, + }, + }) + ), + }, + { + meta: { + description: 'A container for various refresh interval settings', + }, + } + ) + ), + + // Dashboard Content + controlGroupInput: schema.maybe(controlGroupInputSchema), + panels: schema.arrayOf(panelSchema, { defaultValue: [] }), + options: optionsSchema, + version: schema.maybe(schema.number({ meta: { deprecated: true } })), +}); + +export const referenceSchema = schema.object( + { + name: schema.string(), + type: schema.string(), + id: schema.string(), + }, + { unknowns: 'forbid' } +); + +export const dashboardItemSchema = schema.object( + { + id: schema.string(), + type: schema.string(), + version: schema.maybe(schema.string()), + createdAt: schema.maybe(schema.string()), + updatedAt: schema.maybe(schema.string()), + createdBy: schema.maybe(schema.string()), + updatedBy: schema.maybe(schema.string()), + managed: schema.maybe(schema.boolean()), + error: schema.maybe(apiError), + attributes: dashboardAttributesSchema, + references: schema.arrayOf(referenceSchema), + namespaces: schema.maybe(schema.arrayOf(schema.string())), + originId: schema.maybe(schema.string()), + }, + { unknowns: 'allow' } +); + +export const dashboardSearchResultsSchema = dashboardItemSchema.extends({ + attributes: searchResultsAttributesSchema, +}); + +export const dashboardSearchOptionsSchema = schema.maybe( + schema.object( + { + onlyTitle: schema.maybe(schema.boolean()), + fields: schema.maybe(schema.arrayOf(schema.string())), + kuery: schema.maybe(schema.string()), + cursor: schema.maybe(schema.number()), + limit: schema.maybe(schema.number()), + }, + { unknowns: 'forbid' } + ) +); + +export const dashboardCreateOptionsSchema = schema.object({ + id: schema.maybe(createOptionsSchemas.id), + overwrite: schema.maybe(createOptionsSchemas.overwrite), + references: schema.maybe(schema.arrayOf(referenceSchema)), + initialNamespaces: schema.maybe(createOptionsSchemas.initialNamespaces), +}); + +export const dashboardUpdateOptionsSchema = schema.object({ + references: schema.maybe(schema.arrayOf(referenceSchema)), + mergeAttributes: schema.maybe(updateOptionsSchema.mergeAttributes), +}); + +export const dashboardGetResultSchema = schema.object( + { + item: dashboardItemSchema, + meta: schema.object( + { + outcome: schema.oneOf([ + schema.literal('exactMatch'), + schema.literal('aliasMatch'), + schema.literal('conflict'), + ]), + aliasTargetId: schema.maybe(schema.string()), + aliasPurpose: schema.maybe( + schema.oneOf([ + schema.literal('savedObjectConversion'), + schema.literal('savedObjectImport'), + ]) + ), + }, + { unknowns: 'forbid' } + ), + }, + { unknowns: 'forbid' } +); + +export const dashboardCreateResultSchema = schema.object( + { + item: dashboardItemSchema, + }, + { unknowns: 'forbid' } +); + +export const serviceDefinition: ServicesDefinition = { + get: { + out: { + result: { + schema: dashboardGetResultSchema, + down: getResultV3ToV2, + }, + }, + }, + create: { + in: { + options: { + schema: dashboardCreateOptionsSchema, + }, + data: { + schema: dashboardAttributesSchema, + }, + }, + out: { + result: { + schema: dashboardCreateResultSchema, + }, + }, + }, + update: { + in: { + options: { + schema: dashboardUpdateOptionsSchema, + }, + data: { + schema: dashboardAttributesSchema, + }, + }, + }, + search: { + in: { + options: { + schema: dashboardSearchOptionsSchema, + }, + }, + }, + mSearch: { + out: { + result: { + schema: dashboardItemSchema, + }, + }, + }, +}; diff --git a/src/plugins/dashboard/server/content_management/v3/index.ts b/src/plugins/dashboard/server/content_management/v3/index.ts new file mode 100644 index 0000000000000..7be9313c3210e --- /dev/null +++ b/src/plugins/dashboard/server/content_management/v3/index.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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +export type { + ControlGroupAttributes, + GridData, + DashboardPanel, + DashboardAttributes, + DashboardItem, + DashboardGetIn, + DashboardGetOut, + DashboardCreateIn, + DashboardCreateOut, + DashboardCreateOptions, + DashboardSearchIn, + DashboardSearchOut, + DashboardSearchOptions, + DashboardUpdateIn, + DashboardUpdateOut, + DashboardUpdateOptions, + DashboardOptions, +} from './types'; +export { + serviceDefinition, + dashboardAttributesSchema, + dashboardGetResultSchema, + dashboardCreateResultSchema, + dashboardItemSchema, + dashboardSearchResultsSchema, + referenceSchema, +} from './cm_services'; +export { + dashboardAttributesOut, + itemAttrsToSavedObjectAttrs, + savedObjectToItem, +} from './transform_utils'; diff --git a/src/plugins/dashboard/server/content_management/v3/transform_utils.test.ts b/src/plugins/dashboard/server/content_management/v3/transform_utils.test.ts new file mode 100644 index 0000000000000..627f1c4211033 --- /dev/null +++ b/src/plugins/dashboard/server/content_management/v3/transform_utils.test.ts @@ -0,0 +1,551 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import type { SavedObject } from '@kbn/core-saved-objects-api-server'; +import type { + DashboardSavedObjectAttributes, + SavedDashboardPanel, +} from '../../dashboard_saved_object'; +import type { DashboardAttributes, DashboardItem } from './types'; +import { + dashboardAttributesOut, + getResultV3ToV2, + itemAttrsToSavedObjectAttrs, + savedObjectToItem, +} from './transform_utils'; +import { + DEFAULT_AUTO_APPLY_SELECTIONS, + DEFAULT_CONTROL_CHAINING, + DEFAULT_CONTROL_GROW, + DEFAULT_CONTROL_LABEL_POSITION, + DEFAULT_CONTROL_WIDTH, + DEFAULT_IGNORE_PARENT_SETTINGS, + ControlLabelPosition, + ControlGroupChainingSystem, + ControlWidth, +} from '@kbn/controls-plugin/common'; +import { DEFAULT_DASHBOARD_OPTIONS } from '../../../common/content_management'; + +describe('dashboardAttributesOut', () => { + const controlGroupInputControlsSo = { + explicitInput: { anyKey: 'some value' }, + type: 'type1', + order: 0, + }; + + const panelsSo: SavedDashboardPanel[] = [ + { + embeddableConfig: { enhancements: {} }, + gridData: { x: 0, y: 0, w: 10, h: 10, i: '1' }, + id: '1', + panelIndex: '1', + panelRefName: 'ref1', + title: 'title1', + type: 'type1', + version: '2', + }, + ]; + + it('should set default values if not provided', () => { + const input: DashboardSavedObjectAttributes = { + controlGroupInput: { + panelsJSON: JSON.stringify({ foo: controlGroupInputControlsSo }), + }, + panelsJSON: JSON.stringify(panelsSo), + optionsJSON: JSON.stringify({ + hidePanelTitles: false, + }), + kibanaSavedObjectMeta: {}, + title: 'my title', + description: 'my description', + }; + expect(dashboardAttributesOut(input)).toEqual({ + controlGroupInput: { + chainingSystem: DEFAULT_CONTROL_CHAINING, + labelPosition: DEFAULT_CONTROL_LABEL_POSITION, + ignoreParentSettings: DEFAULT_IGNORE_PARENT_SETTINGS, + autoApplySelections: DEFAULT_AUTO_APPLY_SELECTIONS, + controls: [ + { + controlConfig: { anyKey: 'some value' }, + grow: DEFAULT_CONTROL_GROW, + id: 'foo', + order: 0, + type: 'type1', + width: DEFAULT_CONTROL_WIDTH, + }, + ], + }, + description: 'my description', + kibanaSavedObjectMeta: {}, + options: { + ...DEFAULT_DASHBOARD_OPTIONS, + hidePanelTitles: false, + }, + panels: [ + { + panelConfig: { enhancements: {} }, + gridData: { x: 0, y: 0, w: 10, h: 10, i: '1' }, + id: '1', + panelIndex: '1', + panelRefName: 'ref1', + title: 'title1', + type: 'type1', + version: '2', + }, + ], + timeRestore: false, + title: 'my title', + }); + }); + + it('should transform full attributes correctly', () => { + const input: DashboardSavedObjectAttributes = { + controlGroupInput: { + panelsJSON: JSON.stringify({ + foo: { + ...controlGroupInputControlsSo, + grow: false, + width: 'small', + }, + }), + ignoreParentSettingsJSON: JSON.stringify({ ignoreFilters: true }), + controlStyle: 'twoLine', + chainingSystem: 'NONE', + showApplySelections: true, + }, + description: 'description', + kibanaSavedObjectMeta: { + searchSourceJSON: JSON.stringify({ query: { query: 'test', language: 'KQL' } }), + }, + optionsJSON: JSON.stringify({ + hidePanelTitles: true, + useMargins: false, + syncColors: false, + syncTooltips: false, + syncCursor: false, + }), + panelsJSON: JSON.stringify(panelsSo), + refreshInterval: { pause: true, value: 1000 }, + timeFrom: 'now-15m', + timeRestore: true, + timeTo: 'now', + title: 'title', + }; + expect(dashboardAttributesOut(input)).toEqual({ + controlGroupInput: { + chainingSystem: 'NONE', + labelPosition: 'twoLine', + ignoreParentSettings: { + ignoreFilters: true, + ignoreQuery: false, + ignoreTimerange: false, + ignoreValidations: false, + }, + autoApplySelections: false, + controls: [ + { + controlConfig: { + anyKey: 'some value', + }, + id: 'foo', + grow: false, + width: 'small', + order: 0, + type: 'type1', + }, + ], + }, + description: 'description', + kibanaSavedObjectMeta: { + searchSource: { query: { query: 'test', language: 'KQL' } }, + }, + options: { + hidePanelTitles: true, + useMargins: false, + syncColors: false, + syncTooltips: false, + syncCursor: false, + }, + panels: [ + { + panelConfig: { + enhancements: {}, + }, + gridData: { + x: 0, + y: 0, + w: 10, + h: 10, + i: '1', + }, + id: '1', + panelIndex: '1', + panelRefName: 'ref1', + title: 'title1', + type: 'type1', + version: '2', + }, + ], + refreshInterval: { + pause: true, + value: 1000, + }, + timeFrom: 'now-15m', + timeRestore: true, + timeTo: 'now', + title: 'title', + }); + }); +}); + +describe('itemAttrsToSavedObjectAttrs', () => { + it('should transform item attributes to saved object attributes correctly', () => { + const input: DashboardAttributes = { + controlGroupInput: { + chainingSystem: 'NONE', + labelPosition: 'twoLine', + controls: [ + { + controlConfig: { anyKey: 'some value' }, + grow: false, + id: 'foo', + order: 0, + type: 'type1', + width: 'small', + }, + ], + ignoreParentSettings: { + ignoreFilters: true, + ignoreQuery: true, + ignoreTimerange: true, + ignoreValidations: true, + }, + autoApplySelections: false, + }, + description: 'description', + kibanaSavedObjectMeta: { searchSource: { query: { query: 'test', language: 'KQL' } } }, + options: { + hidePanelTitles: true, + useMargins: false, + syncColors: false, + syncTooltips: false, + syncCursor: false, + }, + panels: [ + { + gridData: { x: 0, y: 0, w: 10, h: 10, i: '1' }, + id: '1', + panelConfig: { enhancements: {} }, + panelIndex: '1', + panelRefName: 'ref1', + title: 'title1', + type: 'type1', + version: '2', + }, + ], + timeRestore: true, + title: 'title', + refreshInterval: { pause: true, value: 1000 }, + timeFrom: 'now-15m', + timeTo: 'now', + }; + + const output = itemAttrsToSavedObjectAttrs(input); + expect(output).toMatchInlineSnapshot(` + Object { + "attributes": Object { + "controlGroupInput": Object { + "chainingSystem": "NONE", + "controlStyle": "twoLine", + "ignoreParentSettingsJSON": "{\\"ignoreFilters\\":true,\\"ignoreQuery\\":true,\\"ignoreTimerange\\":true,\\"ignoreValidations\\":true}", + "panelsJSON": "{\\"foo\\":{\\"grow\\":false,\\"order\\":0,\\"type\\":\\"type1\\",\\"width\\":\\"small\\",\\"explicitInput\\":{\\"anyKey\\":\\"some value\\",\\"id\\":\\"foo\\"}}}", + "showApplySelections": true, + }, + "description": "description", + "kibanaSavedObjectMeta": Object { + "searchSourceJSON": "{\\"query\\":{\\"query\\":\\"test\\",\\"language\\":\\"KQL\\"}}", + }, + "optionsJSON": "{\\"hidePanelTitles\\":true,\\"useMargins\\":false,\\"syncColors\\":false,\\"syncTooltips\\":false,\\"syncCursor\\":false}", + "panelsJSON": "[{\\"id\\":\\"1\\",\\"panelRefName\\":\\"ref1\\",\\"title\\":\\"title1\\",\\"type\\":\\"type1\\",\\"version\\":\\"2\\",\\"embeddableConfig\\":{\\"enhancements\\":{}},\\"panelIndex\\":\\"1\\",\\"gridData\\":{\\"x\\":0,\\"y\\":0,\\"w\\":10,\\"h\\":10,\\"i\\":\\"1\\"}}]", + "refreshInterval": Object { + "pause": true, + "value": 1000, + }, + "timeFrom": "now-15m", + "timeRestore": true, + "timeTo": "now", + "title": "title", + }, + "error": null, + } + `); + }); + + it('should handle missing optional attributes', () => { + const input: DashboardAttributes = { + title: 'title', + description: 'my description', + timeRestore: false, + panels: [], + options: DEFAULT_DASHBOARD_OPTIONS, + kibanaSavedObjectMeta: {}, + }; + + const output = itemAttrsToSavedObjectAttrs(input); + expect(output).toMatchInlineSnapshot(` + Object { + "attributes": Object { + "description": "my description", + "kibanaSavedObjectMeta": Object { + "searchSourceJSON": "{}", + }, + "optionsJSON": "{\\"hidePanelTitles\\":false,\\"useMargins\\":true,\\"syncColors\\":true,\\"syncCursor\\":true,\\"syncTooltips\\":true}", + "panelsJSON": "[]", + "timeRestore": false, + "title": "title", + }, + "error": null, + } + `); + }); +}); + +describe('savedObjectToItem', () => { + const commonSavedObject: SavedObject = { + references: [], + id: '3d8459d9-0f1a-403d-aa82-6d93713a54b5', + type: 'dashboard', + attributes: {}, + }; + + const getSavedObjectForAttributes = ( + attributes: DashboardSavedObjectAttributes + ): SavedObject => { + return { + ...commonSavedObject, + attributes, + }; + }; + it('should convert saved object to item with all attributes', () => { + const input = getSavedObjectForAttributes({ + title: 'title', + description: 'description', + timeRestore: true, + panelsJSON: JSON.stringify([ + { + embeddableConfig: { enhancements: {} }, + gridData: { x: 0, y: 0, w: 10, h: 10, i: '1' }, + id: '1', + panelIndex: '1', + panelRefName: 'ref1', + title: 'title1', + type: 'type1', + version: '2', + }, + ]), + optionsJSON: JSON.stringify({ + hidePanelTitles: true, + useMargins: false, + syncColors: false, + syncTooltips: false, + syncCursor: false, + }), + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"test","language":"KQL"}}', + }, + }); + + const { item, error } = savedObjectToItem(input, false); + expect(error).toBeNull(); + expect(item).toEqual({ + ...commonSavedObject, + attributes: { + title: 'title', + description: 'description', + timeRestore: true, + panels: [ + { + panelConfig: { enhancements: {} }, + gridData: { x: 0, y: 0, w: 10, h: 10, i: '1' }, + id: '1', + panelIndex: '1', + panelRefName: 'ref1', + title: 'title1', + type: 'type1', + version: '2', + }, + ], + options: { + hidePanelTitles: true, + useMargins: false, + syncColors: false, + syncTooltips: false, + syncCursor: false, + }, + kibanaSavedObjectMeta: { + searchSource: { query: { query: 'test', language: 'KQL' } }, + }, + }, + }); + }); + + it('should handle missing optional attributes', () => { + const input = getSavedObjectForAttributes({ + title: 'title', + description: 'description', + timeRestore: false, + panelsJSON: '[]', + optionsJSON: '{}', + kibanaSavedObjectMeta: {}, + }); + + const { item, error } = savedObjectToItem(input, false); + expect(error).toBeNull(); + expect(item).toEqual({ + ...commonSavedObject, + attributes: { + title: 'title', + description: 'description', + timeRestore: false, + panels: [], + options: DEFAULT_DASHBOARD_OPTIONS, + kibanaSavedObjectMeta: {}, + }, + }); + }); + + it('should handle partial saved object', () => { + const input = { + ...commonSavedObject, + references: undefined, + attributes: { + title: 'title', + description: 'my description', + timeRestore: false, + }, + }; + + const { item, error } = savedObjectToItem(input, true, ['title', 'description']); + expect(error).toBeNull(); + expect(item).toEqual({ + ...commonSavedObject, + references: undefined, + attributes: { + title: 'title', + description: 'my description', + }, + }); + }); + + it('should return an error if attributes can not be parsed', () => { + const input = { + ...commonSavedObject, + references: undefined, + attributes: { + title: 'title', + panelsJSON: 'not stringified json', + }, + }; + const { item, error } = savedObjectToItem(input, true); + expect(item).toBeNull(); + expect(error).not.toBe(null); + }); +}); + +describe('getResultV3ToV2', () => { + const commonAttributes = { + description: 'description', + refreshInterval: { pause: true, value: 1000 }, + timeFrom: 'now-15m', + timeRestore: true, + timeTo: 'now', + title: 'title', + }; + it('should transform a v3 result to a v2 result with all attributes', () => { + const v3Result = { + meta: { outcome: 'exactMatch' as const }, + item: { + id: '1', + type: 'dashboard', + attributes: { + ...commonAttributes, + controlGroupInput: { + chainingSystem: 'NONE' as ControlGroupChainingSystem, + labelPosition: 'twoLine' as ControlLabelPosition, + controls: [ + { + controlConfig: { bizz: 'buzz' }, + grow: false, + order: 0, + id: 'foo', + type: 'type1', + width: 'small' as ControlWidth, + }, + ], + ignoreParentSettings: { + ignoreFilters: true, + ignoreQuery: true, + ignoreTimerange: true, + ignoreValidations: true, + }, + autoApplySelections: false, + }, + kibanaSavedObjectMeta: { searchSource: { query: { query: 'test', language: 'KQL' } } }, + options: { + hidePanelTitles: true, + useMargins: false, + syncColors: false, + syncCursor: false, + syncTooltips: false, + }, + panels: [ + { + id: '1', + type: 'visualization', + panelConfig: { title: 'my panel' }, + gridData: { x: 0, y: 0, w: 15, h: 15, i: 'foo' }, + panelIndex: 'foo', + }, + ], + }, + references: [], + }, + }; + + const output = getResultV3ToV2(v3Result); + + // Common attributes should match between v2 and v3 + expect(output.item.attributes).toMatchObject(commonAttributes); + expect(output.item.attributes.controlGroupInput).toMatchObject({ + chainingSystem: 'NONE', + controlStyle: 'twoLine', + showApplySelections: true, + }); + + // Check transformed attributes + expect(output.item.attributes.controlGroupInput!.panelsJSON).toMatchInlineSnapshot( + `"{\\"foo\\":{\\"grow\\":false,\\"order\\":0,\\"type\\":\\"type1\\",\\"width\\":\\"small\\",\\"explicitInput\\":{\\"bizz\\":\\"buzz\\",\\"id\\":\\"foo\\"}}}"` + ); + expect( + output.item.attributes.controlGroupInput!.ignoreParentSettingsJSON + ).toMatchInlineSnapshot( + `"{\\"ignoreFilters\\":true,\\"ignoreQuery\\":true,\\"ignoreTimerange\\":true,\\"ignoreValidations\\":true}"` + ); + expect(output.item.attributes.kibanaSavedObjectMeta.searchSourceJSON).toMatchInlineSnapshot( + `"{\\"query\\":{\\"query\\":\\"test\\",\\"language\\":\\"KQL\\"}}"` + ); + expect(output.item.attributes.optionsJSON).toMatchInlineSnapshot( + `"{\\"hidePanelTitles\\":true,\\"useMargins\\":false,\\"syncColors\\":false,\\"syncCursor\\":false,\\"syncTooltips\\":false}"` + ); + expect(output.item.attributes.panelsJSON).toMatchInlineSnapshot( + `"[{\\"id\\":\\"1\\",\\"type\\":\\"visualization\\",\\"embeddableConfig\\":{\\"title\\":\\"my panel\\"},\\"panelIndex\\":\\"foo\\",\\"gridData\\":{\\"x\\":0,\\"y\\":0,\\"w\\":15,\\"h\\":15,\\"i\\":\\"foo\\"}}]"` + ); + }); +}); diff --git a/src/plugins/dashboard/server/content_management/v3/transform_utils.ts b/src/plugins/dashboard/server/content_management/v3/transform_utils.ts new file mode 100644 index 0000000000000..843dd59f849f3 --- /dev/null +++ b/src/plugins/dashboard/server/content_management/v3/transform_utils.ts @@ -0,0 +1,365 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { v4 as uuidv4 } from 'uuid'; +import { pick } from 'lodash'; + +import type { Query } from '@kbn/es-query'; +import { + type ControlGroupChainingSystem, + type ControlLabelPosition, + type ControlPanelsState, + type SerializedControlState, + DEFAULT_AUTO_APPLY_SELECTIONS, + DEFAULT_CONTROL_CHAINING, + DEFAULT_CONTROL_GROW, + DEFAULT_CONTROL_LABEL_POSITION, + DEFAULT_CONTROL_WIDTH, + DEFAULT_IGNORE_PARENT_SETTINGS, +} from '@kbn/controls-plugin/common'; +import { SerializedSearchSourceFields, parseSearchSourceJSON } from '@kbn/data-plugin/common'; + +import type { SavedObject, SavedObjectReference } from '@kbn/core-saved-objects-api-server'; +import type { + ControlGroupAttributes, + DashboardAttributes, + DashboardGetOut, + DashboardItem, + DashboardOptions, + ItemAttrsToSavedObjectAttrsReturn, + PartialDashboardItem, + SavedObjectToItemReturn, +} from './types'; +import type { + DashboardSavedObjectAttributes, + SavedDashboardPanel, +} from '../../dashboard_saved_object'; +import type { + ControlGroupAttributes as ControlGroupAttributesV2, + DashboardCrudTypes as DashboardCrudTypesV2, +} from '../../../common/content_management/v2'; +import { DEFAULT_DASHBOARD_OPTIONS } from '../../../common/content_management'; + +function controlGroupInputOut( + controlGroupInput?: DashboardSavedObjectAttributes['controlGroupInput'] +): ControlGroupAttributes | undefined { + if (!controlGroupInput) { + return; + } + const { + panelsJSON, + ignoreParentSettingsJSON, + controlStyle = DEFAULT_CONTROL_LABEL_POSITION, + chainingSystem = DEFAULT_CONTROL_CHAINING, + showApplySelections = !DEFAULT_AUTO_APPLY_SELECTIONS, + } = controlGroupInput; + const controls = panelsJSON + ? Object.entries(JSON.parse(panelsJSON) as ControlPanelsState).map( + ([ + id, + { + explicitInput, + type, + grow = DEFAULT_CONTROL_GROW, + width = DEFAULT_CONTROL_WIDTH, + order, + }, + ]) => ({ + controlConfig: explicitInput, + id, + grow, + order, + type, + width, + }) + ) + : []; + + const { + ignoreFilters = DEFAULT_IGNORE_PARENT_SETTINGS.ignoreFilters, + ignoreQuery = DEFAULT_IGNORE_PARENT_SETTINGS.ignoreQuery, + ignoreTimerange = DEFAULT_IGNORE_PARENT_SETTINGS.ignoreTimerange, + ignoreValidations = DEFAULT_IGNORE_PARENT_SETTINGS.ignoreValidations, + } = ignoreParentSettingsJSON ? JSON.parse(ignoreParentSettingsJSON) : {}; + + // try to maintain a consistent (alphabetical) order of keys + return { + autoApplySelections: !showApplySelections, + chainingSystem: chainingSystem as ControlGroupChainingSystem, + controls, + labelPosition: controlStyle as ControlLabelPosition, + ignoreParentSettings: { ignoreFilters, ignoreQuery, ignoreTimerange, ignoreValidations }, + }; +} + +function kibanaSavedObjectMetaOut( + kibanaSavedObjectMeta: DashboardSavedObjectAttributes['kibanaSavedObjectMeta'] +): DashboardAttributes['kibanaSavedObjectMeta'] { + const { searchSourceJSON } = kibanaSavedObjectMeta; + if (!searchSourceJSON) { + return {}; + } + // Dashboards do not yet support ES|QL (AggregateQuery) in the search source + return { + searchSource: parseSearchSourceJSON(searchSourceJSON) as Omit< + SerializedSearchSourceFields, + 'query' + > & { query?: Query }, + }; +} + +function optionsOut(optionsJSON: string): DashboardAttributes['options'] { + const { + hidePanelTitles = DEFAULT_DASHBOARD_OPTIONS.hidePanelTitles, + useMargins = DEFAULT_DASHBOARD_OPTIONS.useMargins, + syncColors = DEFAULT_DASHBOARD_OPTIONS.syncColors, + syncCursor = DEFAULT_DASHBOARD_OPTIONS.syncCursor, + syncTooltips = DEFAULT_DASHBOARD_OPTIONS.syncTooltips, + } = JSON.parse(optionsJSON) as DashboardOptions; + return { + hidePanelTitles, + useMargins, + syncColors, + syncCursor, + syncTooltips, + }; +} + +function panelsOut(panelsJSON: string): DashboardAttributes['panels'] { + const panels = JSON.parse(panelsJSON) as SavedDashboardPanel[]; + return panels.map( + ({ embeddableConfig, gridData, id, panelIndex, panelRefName, title, type, version }) => ({ + gridData, + id, + panelConfig: embeddableConfig, + panelIndex, + panelRefName, + title, + type, + version, + }) + ); +} + +export function dashboardAttributesOut( + attributes: DashboardSavedObjectAttributes | Partial +): DashboardAttributes | Partial { + const { + controlGroupInput, + description, + kibanaSavedObjectMeta, + optionsJSON, + panelsJSON, + refreshInterval, + timeFrom, + timeRestore, + timeTo, + title, + version, + } = attributes; + // try to maintain a consistent (alphabetical) order of keys + return { + ...(controlGroupInput && { controlGroupInput: controlGroupInputOut(controlGroupInput) }), + ...(description && { description }), + ...(kibanaSavedObjectMeta && { + kibanaSavedObjectMeta: kibanaSavedObjectMetaOut(kibanaSavedObjectMeta), + }), + ...(optionsJSON && { options: optionsOut(optionsJSON) }), + ...(panelsJSON && { panels: panelsOut(panelsJSON) }), + ...(refreshInterval && { + refreshInterval: { pause: refreshInterval.pause, value: refreshInterval.value }, + }), + ...(timeFrom && { timeFrom }), + timeRestore: timeRestore ?? false, + ...(timeTo && { timeTo }), + title, + ...(version && { version }), + }; +} + +function controlGroupInputIn( + controlGroupInput?: ControlGroupAttributes +): DashboardSavedObjectAttributes['controlGroupInput'] | undefined { + if (!controlGroupInput) { + return; + } + const { controls, ignoreParentSettings, labelPosition, chainingSystem, autoApplySelections } = + controlGroupInput; + const updatedControls = Object.fromEntries( + controls.map(({ controlConfig, id = uuidv4(), ...restOfControl }) => { + return [id, { ...restOfControl, explicitInput: { ...controlConfig, id } }]; + }) + ); + return { + chainingSystem, + controlStyle: labelPosition, + ignoreParentSettingsJSON: JSON.stringify(ignoreParentSettings), + panelsJSON: JSON.stringify(updatedControls), + showApplySelections: !autoApplySelections, + }; +} + +function panelsIn( + panels: DashboardAttributes['panels'] +): DashboardSavedObjectAttributes['panelsJSON'] { + const updatedPanels = panels.map(({ panelIndex, gridData, panelConfig, ...restPanel }) => { + const idx = panelIndex ?? uuidv4(); + return { + ...restPanel, + embeddableConfig: panelConfig, + panelIndex: idx, + gridData: { + ...gridData, + i: idx, + }, + }; + }); + + return JSON.stringify(updatedPanels); +} + +function kibanaSavedObjectMetaIn( + kibanaSavedObjectMeta: DashboardAttributes['kibanaSavedObjectMeta'] +) { + const { searchSource } = kibanaSavedObjectMeta; + return { searchSourceJSON: JSON.stringify(searchSource ?? {}) }; +} + +export const getResultV3ToV2 = (result: DashboardGetOut): DashboardCrudTypesV2['GetOut'] => { + const { meta, item } = result; + const { attributes, ...rest } = item; + const { + controlGroupInput, + description, + kibanaSavedObjectMeta, + options, + panels, + refreshInterval, + timeFrom, + timeRestore, + timeTo, + title, + version, + } = attributes; + + const v2Attributes = { + ...(controlGroupInput && { + controlGroupInput: controlGroupInputIn(controlGroupInput) as ControlGroupAttributesV2, + }), + description, + ...(kibanaSavedObjectMeta && { + kibanaSavedObjectMeta: kibanaSavedObjectMetaIn(kibanaSavedObjectMeta), + }), + ...(options && { optionsJSON: JSON.stringify(options) }), + panelsJSON: panels ? panelsIn(panels) : '[]', + refreshInterval, + ...(timeFrom && { timeFrom }), + timeRestore, + ...(timeTo && { timeTo }), + title, + ...(version && { version }), + }; + return { + meta, + item: { + ...rest, + attributes: v2Attributes, + }, + }; +}; + +export const itemAttrsToSavedObjectAttrs = ( + attributes: DashboardAttributes +): ItemAttrsToSavedObjectAttrsReturn => { + try { + const { controlGroupInput, kibanaSavedObjectMeta, options, panels, ...rest } = attributes; + const soAttributes = { + ...rest, + ...(controlGroupInput && { + controlGroupInput: controlGroupInputIn(controlGroupInput), + }), + ...(options && { + optionsJSON: JSON.stringify(options), + }), + ...(panels && { + panelsJSON: panelsIn(panels), + }), + ...(kibanaSavedObjectMeta && { + kibanaSavedObjectMeta: kibanaSavedObjectMetaIn(kibanaSavedObjectMeta), + }), + }; + return { attributes: soAttributes, error: null }; + } catch (e) { + return { attributes: null, error: e }; + } +}; + +type PartialSavedObject = Omit>, 'references'> & { + references: SavedObjectReference[] | undefined; +}; + +export function savedObjectToItem( + savedObject: SavedObject, + partial: false, + allowedAttributes?: string[] +): SavedObjectToItemReturn; + +export function savedObjectToItem( + savedObject: PartialSavedObject, + partial: true, + allowedAttributes?: string[] +): SavedObjectToItemReturn; + +export function savedObjectToItem( + savedObject: + | SavedObject + | PartialSavedObject, + partial: boolean, + allowedAttributes?: string[] +): SavedObjectToItemReturn { + const { + id, + type, + updated_at: updatedAt, + updated_by: updatedBy, + created_at: createdAt, + created_by: createdBy, + attributes, + error, + namespaces, + references, + version, + managed, + } = savedObject; + + try { + const attributesOut = allowedAttributes + ? pick(dashboardAttributesOut(attributes), allowedAttributes) + : dashboardAttributesOut(attributes); + return { + item: { + id, + type, + updatedAt, + updatedBy, + createdAt, + createdBy, + attributes: attributesOut, + error, + namespaces, + references, + version, + managed, + }, + error: null, + }; + } catch (e) { + return { item: null, error: e }; + } +} diff --git a/src/plugins/dashboard/server/content_management/v3/types.ts b/src/plugins/dashboard/server/content_management/v3/types.ts new file mode 100644 index 0000000000000..36f277ff3b268 --- /dev/null +++ b/src/plugins/dashboard/server/content_management/v3/types.ts @@ -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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { TypeOf } from '@kbn/config-schema'; +import { + CreateIn, + GetIn, + SearchIn, + SearchResult, + UpdateIn, +} from '@kbn/content-management-plugin/common'; +import { SavedObjectReference } from '@kbn/core-saved-objects-api-server'; +import { + dashboardItemSchema, + controlGroupInputSchema, + gridDataSchema, + panelSchema, + dashboardAttributesSchema, + dashboardCreateOptionsSchema, + dashboardCreateResultSchema, + dashboardGetResultSchema, + dashboardSearchOptionsSchema, + dashboardSearchResultsSchema, + dashboardUpdateOptionsSchema, + optionsSchema, +} from './cm_services'; +import { CONTENT_ID } from '../../../common/content_management'; +import { DashboardSavedObjectAttributes } from '../../dashboard_saved_object'; + +export type DashboardOptions = TypeOf; + +// Panel config has some defined types but also allows for custom keys added by embeddables +// The schema uses "unknowns: 'allow'" to permit any other keys, but the TypeOf helper does not +// recognize this, so we need to manually extend the type here. +export type DashboardPanel = Omit, 'panelConfig'> & { + panelConfig: TypeOf['panelConfig'] & { [key: string]: any }; +}; +export type DashboardAttributes = Omit, 'panels'> & { + panels: DashboardPanel[]; +}; + +export type DashboardItem = TypeOf; +export type PartialDashboardItem = Omit & { + attributes: Partial; + references: SavedObjectReference[] | undefined; +}; + +export type ControlGroupAttributes = TypeOf; +export type GridData = TypeOf; + +export type DashboardGetIn = GetIn; +export type DashboardGetOut = TypeOf; + +export type DashboardCreateIn = CreateIn; +export type DashboardCreateOut = TypeOf; +export type DashboardCreateOptions = TypeOf; + +export type DashboardUpdateIn = UpdateIn>; +export type DashboardUpdateOut = TypeOf; +export type DashboardUpdateOptions = TypeOf; + +export type DashboardSearchIn = SearchIn; +export type DashboardSearchOptions = TypeOf; +export type DashboardSearchOut = SearchResult>; + +export type SavedObjectToItemReturn = + | { + item: T; + error: null; + } + | { + item: null; + error: Error; + }; + +export type ItemAttrsToSavedObjectAttrsReturn = + | { + attributes: DashboardSavedObjectAttributes; + error: null; + } + | { + attributes: null; + error: Error; + }; diff --git a/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts b/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts index fc551d823377c..3b7f137cc1d96 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts @@ -10,19 +10,21 @@ import { ANALYTICS_SAVED_OBJECT_INDEX } from '@kbn/core-saved-objects-server'; import { SavedObjectsType } from '@kbn/core/server'; -import { dashboardAttributesSchema as dashboardAttributesSchemaV1 } from '../content_management/schema/v1'; -import { dashboardAttributesSchema as dashboardAttributesSchemaV2 } from '../content_management/schema/v2'; +import { dashboardAttributesSchema as dashboardAttributesSchemaV1 } from './schema/v1'; +import { dashboardAttributesSchema as dashboardAttributesSchemaV2 } from './schema/v2'; import { createDashboardSavedObjectTypeMigrations, DashboardSavedObjectTypeMigrationsDeps, } from './migrations/dashboard_saved_object_migrations'; +export const DASHBOARD_SAVED_OBJECT_TYPE = 'dashboard'; + export const createDashboardSavedObjectType = ({ migrationDeps, }: { migrationDeps: DashboardSavedObjectTypeMigrationsDeps; }): SavedObjectsType => ({ - name: 'dashboard', + name: DASHBOARD_SAVED_OBJECT_TYPE, indexPattern: ANALYTICS_SAVED_OBJECT_INDEX, hidden: false, namespaceType: 'multiple-isolated', diff --git a/src/plugins/dashboard/server/dashboard_saved_object/index.ts b/src/plugins/dashboard/server/dashboard_saved_object/index.ts index 912c508f0cedf..23c91f2c6ea35 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/index.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/index.ts @@ -7,4 +7,8 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -export { createDashboardSavedObjectType } from './dashboard_saved_object'; +export { + createDashboardSavedObjectType, + DASHBOARD_SAVED_OBJECT_TYPE, +} from './dashboard_saved_object'; +export type { DashboardSavedObjectAttributes, GridData, SavedDashboardPanel } from './schema'; diff --git a/src/plugins/dashboard/server/dashboard_saved_object/migrations/dashboard_saved_object_migrations.test.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/dashboard_saved_object_migrations.test.ts index 7abb1523e3611..b5f5b6b20b312 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/migrations/dashboard_saved_object_migrations.test.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/dashboard_saved_object_migrations.test.ts @@ -613,12 +613,11 @@ describe('dashboard', () => { expect(newDoc).toMatchInlineSnapshot(` Object { "attributes": Object { - "description": "", "kibanaSavedObjectMeta": Object { "searchSourceJSON": "{\\"query\\":{\\"language\\":\\"kuery\\",\\"query\\":\\"\\"},\\"filter\\":[{\\"query\\":{\\"match_phrase\\":{\\"machine.os.keyword\\":\\"osx\\"}},\\"$state\\":{\\"store\\":\\"appState\\"},\\"meta\\":{\\"type\\":\\"phrase\\",\\"key\\":\\"machine.os.keyword\\",\\"params\\":{\\"query\\":\\"osx\\"},\\"disabled\\":false,\\"negate\\":false,\\"alias\\":null,\\"indexRefName\\":\\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\\"}}]}", }, - "optionsJSON": "{\\"useMargins\\":true,\\"hidePanelTitles\\":false}", - "panelsJSON": "[{\\"version\\":\\"7.9.3\\",\\"type\\":\\"visualization\\",\\"gridData\\":{\\"x\\":0,\\"y\\":0,\\"w\\":24,\\"h\\":15,\\"i\\":\\"82fa0882-9f9e-476a-bbb9-03555e5ced91\\"},\\"panelIndex\\":\\"82fa0882-9f9e-476a-bbb9-03555e5ced91\\",\\"embeddableConfig\\":{\\"enhancements\\":{\\"dynamicActions\\":{\\"events\\":[]}}},\\"panelRefName\\":\\"panel_82fa0882-9f9e-476a-bbb9-03555e5ced91\\"}]", + "optionsJSON": "{\\"hidePanelTitles\\":false,\\"useMargins\\":true,\\"syncColors\\":true,\\"syncCursor\\":true,\\"syncTooltips\\":true}", + "panelsJSON": "[{\\"version\\":\\"7.9.3\\",\\"type\\":\\"visualization\\",\\"panelRefName\\":\\"panel_82fa0882-9f9e-476a-bbb9-03555e5ced91\\",\\"embeddableConfig\\":{\\"enhancements\\":{\\"dynamicActions\\":{\\"events\\":[]}}},\\"panelIndex\\":\\"82fa0882-9f9e-476a-bbb9-03555e5ced91\\",\\"gridData\\":{\\"x\\":0,\\"y\\":0,\\"w\\":24,\\"h\\":15,\\"i\\":\\"82fa0882-9f9e-476a-bbb9-03555e5ced91\\"}}]", "timeRestore": false, "title": "Dashboard A", "version": 1, @@ -710,7 +709,7 @@ describe('dashboard', () => { contextMock ); expect(migratedDoc.attributes.panelsJSON).toMatchInlineSnapshot( - `"[{\\"version\\":\\"7.9.3\\",\\"gridData\\":{\\"x\\":0,\\"y\\":0,\\"w\\":24,\\"h\\":15,\\"i\\":\\"0\\"},\\"panelIndex\\":\\"0\\",\\"embeddableConfig\\":{}},{\\"version\\":\\"7.13.0\\",\\"gridData\\":{\\"x\\":24,\\"y\\":0,\\"w\\":24,\\"h\\":15,\\"i\\":\\"1\\"},\\"panelIndex\\":\\"1\\",\\"embeddableConfig\\":{\\"attributes\\":{\\"byValueThing\\":\\"ThisIsByValue\\"},\\"superCoolKey\\":\\"ONLY 4 BY VALUE EMBEDDABLES THANK YOU VERY MUCH\\"}}]"` + `"[{\\"version\\":\\"7.9.3\\",\\"gridData\\":{\\"x\\":0,\\"y\\":0,\\"w\\":24,\\"h\\":15,\\"i\\":\\"0\\"},\\"panelIndex\\":\\"0\\",\\"embeddableConfig\\":{}},{\\"gridData\\":{\\"x\\":24,\\"y\\":0,\\"w\\":24,\\"h\\":15,\\"i\\":\\"1\\"},\\"panelIndex\\":\\"1\\",\\"embeddableConfig\\":{\\"attributes\\":{\\"byValueThing\\":\\"ThisIsByValue\\"},\\"superCoolKey\\":\\"ONLY 4 BY VALUE EMBEDDABLES THANK YOU VERY MUCH\\"},\\"version\\":\\"7.13.0\\"}]"` ); }); }); diff --git a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_by_value_dashboard_panels.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_by_value_dashboard_panels.ts index 1b1d04cdebf77..0e32e2feec300 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_by_value_dashboard_panels.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_by_value_dashboard_panels.ts @@ -9,8 +9,8 @@ import { CONTROL_GROUP_TYPE } from '@kbn/controls-plugin/common'; import { - controlGroupSerializedStateToSerializableRuntimeState, - serializableRuntimeStateToControlGroupSerializedState, + controlGroupSavedObjectStateToSerializableRuntimeState, + serializableRuntimeStateToControlGroupSavedObjectState, } from '@kbn/controls-plugin/server'; import { Serializable, SerializableRecord } from '@kbn/utility-types'; import { SavedObjectMigrationFn } from '@kbn/core/server'; @@ -20,8 +20,8 @@ import { SavedObjectEmbeddableInput } from '@kbn/embeddable-plugin/common'; import { convertPanelStateToSavedDashboardPanel, convertSavedDashboardPanelToPanelState, -} from '../../../common'; -import { SavedDashboardPanel } from '../../../common/content_management'; +} from './utils'; +import type { SavedDashboardPanel } from '..'; type ValueOrReferenceInput = SavedObjectEmbeddableInput & { attributes?: Serializable; @@ -35,7 +35,7 @@ export const migrateByValueDashboardPanels = const { attributes } = doc; if (attributes?.controlGroupInput) { - const controlGroupState = controlGroupSerializedStateToSerializableRuntimeState( + const controlGroupState = controlGroupSavedObjectStateToSerializableRuntimeState( attributes.controlGroupInput ); const migratedControlGroupInput = migrate({ @@ -43,7 +43,7 @@ export const migrateByValueDashboardPanels = type: CONTROL_GROUP_TYPE, } as SerializableRecord); attributes.controlGroupInput = - serializableRuntimeStateToControlGroupSerializedState(migratedControlGroupInput); + serializableRuntimeStateToControlGroupSavedObjectState(migratedControlGroupInput); } // Skip if panelsJSON is missing otherwise this will cause saved object import to fail when diff --git a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_extract_panel_references.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_extract_panel_references.ts index 1782a63beda5d..091ef21322671 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_extract_panel_references.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_extract_panel_references.ts @@ -7,11 +7,12 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { SavedObjectMigrationFn } from '@kbn/core/server'; +import { SavedObject, SavedObjectMigrationFn } from '@kbn/core/server'; import { extractReferences, injectReferences } from '../../../common'; -import { DashboardAttributes } from '../../../common/content_management'; -import { DashboardSavedObjectTypeMigrationsDeps } from './dashboard_saved_object_migrations'; +import type { DashboardSavedObjectTypeMigrationsDeps } from './dashboard_saved_object_migrations'; +import type { DashboardSavedObjectAttributes } from '../schema'; +import { itemAttrsToSavedObjectAttrs, savedObjectToItem } from '../../content_management/latest'; /** * In 7.8.0 we introduced dashboard drilldowns which are stored inside dashboard saved object as part of embeddable state @@ -26,7 +27,7 @@ import { DashboardSavedObjectTypeMigrationsDeps } from './dashboard_saved_object */ export function createExtractPanelReferencesMigration( deps: DashboardSavedObjectTypeMigrationsDeps -): SavedObjectMigrationFn { +): SavedObjectMigrationFn { return (doc) => { const references = doc.references ?? []; @@ -36,19 +37,32 @@ export function createExtractPanelReferencesMigration( */ const oldNonPanelReferences = references.filter((ref) => !ref.name.startsWith('panel_')); + // Use Content Management to convert the saved object to the DashboardAttributes + // expected by injectReferences + const { item, error: itemError } = savedObjectToItem( + doc as unknown as SavedObject, + false + ); + + if (itemError) throw itemError; + + const parsedAttributes = item.attributes; const injectedAttributes = injectReferences( { - attributes: doc.attributes, + attributes: parsedAttributes, references, }, { embeddablePersistableStateService: deps.embeddable } ); - const { attributes, references: newPanelReferences } = extractReferences( + const { attributes: extractedAttributes, references: newPanelReferences } = extractReferences( { attributes: injectedAttributes, references: [] }, { embeddablePersistableStateService: deps.embeddable } ); + const { attributes, error: attributesError } = itemAttrsToSavedObjectAttrs(extractedAttributes); + if (attributesError) throw attributesError; + return { ...doc, references: [...oldNonPanelReferences, ...newPanelReferences], diff --git a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_hidden_titles.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_hidden_titles.ts index c223ff0bc32a3..77c114315ba1f 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_hidden_titles.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_hidden_titles.ts @@ -7,14 +7,14 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { SavedObjectMigrationFn } from '@kbn/core/server'; -import { EmbeddableInput } from '@kbn/embeddable-plugin/common'; +import type { SavedObjectMigrationFn } from '@kbn/core/server'; +import type { EmbeddableInput } from '@kbn/embeddable-plugin/common'; +import type { SavedDashboardPanel } from '../schema'; import { convertSavedDashboardPanelToPanelState, convertPanelStateToSavedDashboardPanel, -} from '../../../common'; -import { SavedDashboardPanel } from '../../../common/content_management'; +} from './utils'; /** * Before 7.10, hidden panel titles were stored as a blank string on the title attribute. In 7.10, this was replaced diff --git a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrate_to_730_panels.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrate_to_730_panels.ts index ab05f64a2d711..e23ccfd00153d 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrate_to_730_panels.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrate_to_730_panels.ts @@ -13,7 +13,7 @@ import semverSatisfies from 'semver/functions/satisfies'; import { i18n } from '@kbn/i18n'; import type { SerializableRecord } from '@kbn/utility-types'; -import { +import type { SavedDashboardPanel620, SavedDashboardPanel630, SavedDashboardPanel610, @@ -25,7 +25,7 @@ import { RawSavedDashboardPanel640To720, RawSavedDashboardPanel730ToLatest, } from './types'; -import { GridData } from '../../../../common/content_management'; +import type { GridData } from '../../../content_management'; const PANEL_HEIGHT_SCALE_FACTOR = 5; const PANEL_HEIGHT_SCALE_FACTOR_WITH_MARGINS = 4; diff --git a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts index 6af69882b0774..6da3c1510530c 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.ts @@ -49,7 +49,7 @@ export const migrations730 = (doc: DashboardDoc700To720, { log }: SavedObjectMig } try { - const searchSource = JSON.parse(doc.attributes.kibanaSavedObjectMeta.searchSourceJSON); + const searchSource = JSON.parse(doc.attributes.kibanaSavedObjectMeta.searchSourceJSON!); doc.attributes.kibanaSavedObjectMeta.searchSourceJSON = JSON.stringify( moveFiltersToQuery(searchSource) ); diff --git a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/types.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/types.ts index 750fd736c9660..585b9c55d5012 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/types.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/types.ts @@ -10,14 +10,12 @@ import type { Serializable } from '@kbn/utility-types'; import { SavedObjectReference } from '@kbn/core/server'; -import type { - GridData, - DashboardAttributes as CurrentDashboardAttributes, // Dashboard attributes from common are the source of truth for the current version. -} from '../../../../common/content_management'; +import type { GridData } from '../../../content_management'; +import type { DashboardSavedObjectAttributes } from '../../schema'; interface KibanaAttributes { kibanaSavedObjectMeta: { - searchSourceJSON: string; + searchSourceJSON?: string; }; } @@ -45,7 +43,7 @@ interface DashboardAttributesTo720 extends KibanaAttributes { optionsJSON?: string; } -export type DashboardDoc730ToLatest = Doc; +export type DashboardDoc730ToLatest = Doc; export type DashboardDoc700To720 = Doc; diff --git a/src/plugins/dashboard/common/lib/dashboard_panel_converters.test.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/utils.test.ts similarity index 82% rename from src/plugins/dashboard/common/lib/dashboard_panel_converters.test.ts rename to src/plugins/dashboard/server/dashboard_saved_object/migrations/utils.test.ts index f750d95ca2efa..17aca8fef68ce 100644 --- a/src/plugins/dashboard/common/lib/dashboard_panel_converters.test.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/utils.test.ts @@ -7,13 +7,14 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ +import type { EmbeddableInput } from '@kbn/embeddable-plugin/common/types'; +import type { SavedDashboardPanel } from '../schema'; +import type { DashboardPanelState } from '../../../common'; + import { convertSavedDashboardPanelToPanelState, convertPanelStateToSavedDashboardPanel, -} from './dashboard_panel_converters'; -import { SavedDashboardPanel } from '../content_management'; -import { DashboardPanelState } from '../dashboard_container/types'; -import { EmbeddableInput } from '@kbn/embeddable-plugin/common/types'; +} from './utils'; test('convertSavedDashboardPanelToPanelState', () => { const savedDashboardPanel: SavedDashboardPanel = { @@ -148,7 +149,7 @@ test('convertPanelStateToSavedDashboardPanel will not leave title as part of emb expect(converted.title).toBe('title'); }); -test('convertPanelStateToSavedDashboardPanel retains legacy version info when not passed removeLegacyVersion', () => { +test('convertPanelStateToSavedDashboardPanel retains legacy version info', () => { const dashboardPanel: DashboardPanelState = { gridData: { x: 0, @@ -168,24 +169,3 @@ test('convertPanelStateToSavedDashboardPanel retains legacy version info when no const converted = convertPanelStateToSavedDashboardPanel(dashboardPanel); expect(converted.version).toBe('8.10.0'); }); - -test('convertPanelStateToSavedDashboardPanel removes legacy version info when passed removeLegacyVersion', () => { - const dashboardPanel: DashboardPanelState = { - gridData: { - x: 0, - y: 0, - h: 15, - w: 15, - i: '123', - }, - explicitInput: { - id: '123', - title: 'title', - } as EmbeddableInput, - type: 'search', - version: '8.10.0', - }; - - const converted = convertPanelStateToSavedDashboardPanel(dashboardPanel, true); - expect(converted.version).not.toBeDefined(); -}); diff --git a/src/plugins/dashboard/server/dashboard_saved_object/migrations/utils.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/utils.ts new file mode 100644 index 0000000000000..4ed8ec5b8e977 --- /dev/null +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/utils.ts @@ -0,0 +1,50 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { omit } from 'lodash'; +import type { EmbeddableInput, SavedObjectEmbeddableInput } from '@kbn/embeddable-plugin/common'; +import type { SavedDashboardPanel } from '../schema'; +import type { DashboardPanelState } from '../../../common'; + +export function convertSavedDashboardPanelToPanelState< + TEmbeddableInput extends EmbeddableInput | SavedObjectEmbeddableInput = SavedObjectEmbeddableInput +>(savedDashboardPanel: SavedDashboardPanel): DashboardPanelState { + return { + type: savedDashboardPanel.type, + gridData: savedDashboardPanel.gridData, + panelRefName: savedDashboardPanel.panelRefName, + explicitInput: { + id: savedDashboardPanel.panelIndex, + ...(savedDashboardPanel.id !== undefined && { savedObjectId: savedDashboardPanel.id }), + ...(savedDashboardPanel.title !== undefined && { title: savedDashboardPanel.title }), + ...savedDashboardPanel.embeddableConfig, + } as TEmbeddableInput, + version: savedDashboardPanel.version, + }; +} + +export function convertPanelStateToSavedDashboardPanel( + panelState: DashboardPanelState +): SavedDashboardPanel { + const savedObjectId = (panelState.explicitInput as SavedObjectEmbeddableInput).savedObjectId; + const panelIndex = panelState.explicitInput.id; + return { + type: panelState.type, + gridData: { + ...panelState.gridData, + i: panelIndex, + }, + panelIndex, + embeddableConfig: omit(panelState.explicitInput, ['id', 'savedObjectId', 'title']), + ...(panelState.explicitInput.title !== undefined && { title: panelState.explicitInput.title }), + ...(savedObjectId !== undefined && { id: savedObjectId }), + ...(panelState.panelRefName !== undefined && { panelRefName: panelState.panelRefName }), + ...(panelState.version !== undefined && { version: panelState.version }), + }; +} diff --git a/src/plugins/dashboard/server/dashboard_saved_object/schema/index.ts b/src/plugins/dashboard/server/dashboard_saved_object/schema/index.ts new file mode 100644 index 0000000000000..4c50de472f53e --- /dev/null +++ b/src/plugins/dashboard/server/dashboard_saved_object/schema/index.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +export type { DashboardSavedObjectAttributes, GridData, SavedDashboardPanel } from './latest'; +export { dashboardSavedObjectSchema } from './latest'; diff --git a/src/plugins/dashboard/server/dashboard_saved_object/schema/latest.ts b/src/plugins/dashboard/server/dashboard_saved_object/schema/latest.ts new file mode 100644 index 0000000000000..a40e476abe793 --- /dev/null +++ b/src/plugins/dashboard/server/dashboard_saved_object/schema/latest.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +// Latest model version for dashboard saved objects is v2 +export { + dashboardAttributesSchema as dashboardSavedObjectSchema, + type DashboardAttributes as DashboardSavedObjectAttributes, + type GridData, + type SavedDashboardPanel, +} from './v2'; diff --git a/src/plugins/dashboard/server/dashboard_saved_object/schema/v1/index.ts b/src/plugins/dashboard/server/dashboard_saved_object/schema/v1/index.ts new file mode 100644 index 0000000000000..e52a6ca4075ac --- /dev/null +++ b/src/plugins/dashboard/server/dashboard_saved_object/schema/v1/index.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +export type { DashboardAttributes } from './types'; +export { controlGroupInputSchema, dashboardAttributesSchema } from './v1'; diff --git a/src/plugins/dashboard/server/dashboard_saved_object/schema/v1/types.ts b/src/plugins/dashboard/server/dashboard_saved_object/schema/v1/types.ts new file mode 100644 index 0000000000000..8717851845cf7 --- /dev/null +++ b/src/plugins/dashboard/server/dashboard_saved_object/schema/v1/types.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { TypeOf } from '@kbn/config-schema'; +import { dashboardAttributesSchema } from './v1'; + +export type DashboardAttributes = TypeOf; diff --git a/src/plugins/dashboard/server/dashboard_saved_object/schema/v1/v1.ts b/src/plugins/dashboard/server/dashboard_saved_object/schema/v1/v1.ts new file mode 100644 index 0000000000000..63b4cd3c2c10b --- /dev/null +++ b/src/plugins/dashboard/server/dashboard_saved_object/schema/v1/v1.ts @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { schema } from '@kbn/config-schema'; + +export const controlGroupInputSchema = schema + .object({ + panelsJSON: schema.maybe(schema.string()), + controlStyle: schema.maybe(schema.string()), + chainingSystem: schema.maybe(schema.string()), + ignoreParentSettingsJSON: schema.maybe(schema.string()), + }) + .extends({}, { unknowns: 'ignore' }); + +export const dashboardAttributesSchema = schema.object( + { + // General + title: schema.string(), + description: schema.string({ defaultValue: '' }), + + // Search + kibanaSavedObjectMeta: schema.object({ + searchSourceJSON: schema.maybe(schema.string()), + }), + + // Time + timeRestore: schema.maybe(schema.boolean()), + timeFrom: schema.maybe(schema.string()), + timeTo: schema.maybe(schema.string()), + refreshInterval: schema.maybe( + schema.object({ + pause: schema.boolean(), + value: schema.number(), + display: schema.maybe(schema.string()), + section: schema.maybe(schema.number()), + }) + ), + + // Dashboard Content + controlGroupInput: schema.maybe(controlGroupInputSchema), + panelsJSON: schema.string({ defaultValue: '[]' }), + optionsJSON: schema.maybe(schema.string()), + + // Legacy + hits: schema.maybe(schema.number()), + version: schema.maybe(schema.number()), + }, + { unknowns: 'forbid' } +); diff --git a/src/plugins/dashboard/server/dashboard_saved_object/schema/v2/index.ts b/src/plugins/dashboard/server/dashboard_saved_object/schema/v2/index.ts new file mode 100644 index 0000000000000..2fda02230ed69 --- /dev/null +++ b/src/plugins/dashboard/server/dashboard_saved_object/schema/v2/index.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +export type { DashboardAttributes, GridData, SavedDashboardPanel } from './types'; +export { controlGroupInputSchema, dashboardAttributesSchema } from './v2'; diff --git a/src/plugins/dashboard/server/dashboard_saved_object/schema/v2/types.ts b/src/plugins/dashboard/server/dashboard_saved_object/schema/v2/types.ts new file mode 100644 index 0000000000000..e50a27efe2b3b --- /dev/null +++ b/src/plugins/dashboard/server/dashboard_saved_object/schema/v2/types.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { Serializable } from '@kbn/utility-types'; +import { TypeOf } from '@kbn/config-schema'; +import { dashboardAttributesSchema, gridDataSchema } from './v2'; + +export type DashboardAttributes = TypeOf; +export type GridData = TypeOf; + +/** + * A saved dashboard panel parsed directly from the Dashboard Attributes panels JSON + */ +export interface SavedDashboardPanel { + embeddableConfig: { [key: string]: Serializable }; // parsed into the panel's explicitInput + id?: string; // the saved object id for by reference panels + type: string; // the embeddable type + panelRefName?: string; + gridData: GridData; + panelIndex: string; + title?: string; + + /** + * This version key was used to store Kibana version information from versions 7.3.0 -> 8.11.0. + * As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the + * embeddable's input. (embeddableConfig in this type). + */ + version?: string; +} diff --git a/src/plugins/dashboard/server/dashboard_saved_object/schema/v2/v2.ts b/src/plugins/dashboard/server/dashboard_saved_object/schema/v2/v2.ts new file mode 100644 index 0000000000000..dc0ed3eb84cbb --- /dev/null +++ b/src/plugins/dashboard/server/dashboard_saved_object/schema/v2/v2.ts @@ -0,0 +1,36 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { schema } from '@kbn/config-schema'; +import { + controlGroupInputSchema as controlGroupInputSchemaV1, + dashboardAttributesSchema as dashboardAttributesSchemaV1, +} from '../v1'; + +export const controlGroupInputSchema = controlGroupInputSchemaV1.extends( + { + showApplySelections: schema.maybe(schema.boolean()), + }, + { unknowns: 'ignore' } +); + +export const dashboardAttributesSchema = dashboardAttributesSchemaV1.extends( + { + controlGroupInput: schema.maybe(controlGroupInputSchema), + }, + { unknowns: 'ignore' } +); + +export const gridDataSchema = schema.object({ + x: schema.number(), + y: schema.number(), + w: schema.number(), + h: schema.number(), + i: schema.string(), +}); diff --git a/src/plugins/dashboard/server/index.ts b/src/plugins/dashboard/server/index.ts index f76a75cb837b3..94e7ed14378c1 100644 --- a/src/plugins/dashboard/server/index.ts +++ b/src/plugins/dashboard/server/index.ts @@ -26,3 +26,7 @@ export async function plugin(initializerContext: PluginInitializerContext) { } export type { DashboardPluginSetup, DashboardPluginStart } from './types'; +export type { DashboardAttributes } from './content_management'; +export type { DashboardSavedObjectAttributes } from './dashboard_saved_object'; + +export { PUBLIC_API_PATH } from './api/constants'; diff --git a/src/plugins/dashboard/server/plugin.ts b/src/plugins/dashboard/server/plugin.ts index 3218ee85ef383..e3d67ca10716b 100644 --- a/src/plugins/dashboard/server/plugin.ts +++ b/src/plugins/dashboard/server/plugin.ts @@ -30,6 +30,7 @@ import { createDashboardSavedObjectType } from './dashboard_saved_object'; import { CONTENT_ID, LATEST_VERSION } from '../common/content_management'; import { registerDashboardUsageCollector } from './usage/register_collector'; import { dashboardPersistableStateServiceFactory } from './dashboard_container/dashboard_container_embeddable_factory'; +import { registerAPIRoutes } from './api'; interface SetupDeps { embeddable: EmbeddableSetup; @@ -111,6 +112,12 @@ export class DashboardPlugin core.uiSettings.register(getUISettings()); + registerAPIRoutes({ + http: core.http, + contentManagement: plugins.contentManagement, + logger: this.logger, + }); + return {}; } diff --git a/src/plugins/dashboard/server/usage/dashboard_telemetry.test.ts b/src/plugins/dashboard/server/usage/dashboard_telemetry.test.ts index 225ac7743d23c..8f4f94d3621e2 100644 --- a/src/plugins/dashboard/server/usage/dashboard_telemetry.test.ts +++ b/src/plugins/dashboard/server/usage/dashboard_telemetry.test.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { SavedDashboardPanel } from '../../common/content_management'; +import { SavedDashboardPanel } from '../dashboard_saved_object'; import { getEmptyDashboardData, collectPanelsByType } from './dashboard_telemetry'; import { EmbeddableStateWithType } from '@kbn/embeddable-plugin/common'; import { createEmbeddablePersistableStateServiceMock } from '@kbn/embeddable-plugin/common/mocks'; diff --git a/src/plugins/dashboard/server/usage/dashboard_telemetry.ts b/src/plugins/dashboard/server/usage/dashboard_telemetry.ts index 0048e081e6f61..f26de753c12e2 100644 --- a/src/plugins/dashboard/server/usage/dashboard_telemetry.ts +++ b/src/plugins/dashboard/server/usage/dashboard_telemetry.ts @@ -17,7 +17,7 @@ import { import { EmbeddablePersistableStateService } from '@kbn/embeddable-plugin/common'; import { TaskManagerStartContract } from '@kbn/task-manager-plugin/server'; -import { DashboardAttributes, SavedDashboardPanel } from '../../common/content_management'; +import { DashboardSavedObjectAttributes, SavedDashboardPanel } from '../dashboard_saved_object'; import { TASK_ID } from './dashboard_telemetry_collection_task'; import { emptyState, type LatestTaskStateSchema } from './task_state'; @@ -95,7 +95,7 @@ export const collectPanelsByType = ( export const controlsCollectorFactory = (embeddableService: EmbeddablePersistableStateService) => - (attributes: DashboardAttributes, collectorData: DashboardCollectorData) => { + (attributes: DashboardSavedObjectAttributes, collectorData: DashboardCollectorData) => { if (!isEmpty(attributes.controlGroupInput)) { collectorData.controls = embeddableService.telemetry( { diff --git a/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts b/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts index d660af962db57..7eb4cebc39e49 100644 --- a/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts +++ b/src/plugins/dashboard/server/usage/dashboard_telemetry_collection_task.ts @@ -23,9 +23,15 @@ import { collectPanelsByType, getEmptyDashboardData, } from './dashboard_telemetry'; -import { injectReferences } from '../../common'; -import { DashboardAttributesAndReferences } from '../../common/types'; -import { DashboardAttributes, SavedDashboardPanel } from '../../common/content_management'; +import type { + DashboardSavedObjectAttributes, + SavedDashboardPanel, +} from '../dashboard_saved_object'; + +interface DashboardSavedObjectAttributesAndReferences { + attributes: DashboardSavedObjectAttributes; + references: SavedObjectReference[]; +} // This task is responsible for running daily and aggregating all the Dashboard telemerty data // into a single document. This is an effort to make sure the load of fetching/parsing all of the @@ -88,17 +94,18 @@ export function dashboardTaskRunner(logger: Logger, core: CoreSetup, embeddable: async run() { let dashboardData = getEmptyDashboardData(); const controlsCollector = controlsCollectorFactory(embeddable); - const processDashboards = (dashboards: DashboardAttributesAndReferences[]) => { + const processDashboards = (dashboards: DashboardSavedObjectAttributesAndReferences[]) => { for (const dashboard of dashboards) { - const attributes = injectReferences(dashboard, { - embeddablePersistableStateService: embeddable, - }); + // TODO is this injecting references really necessary? + // const attributes = injectReferences(dashboard, { + // embeddablePersistableStateService: embeddable, + // }); - dashboardData = controlsCollector(attributes, dashboardData); + dashboardData = controlsCollector(dashboard.attributes, dashboardData); try { const panels = JSON.parse( - attributes.panelsJSON as string + dashboard.attributes.panelsJSON as string ) as unknown as SavedDashboardPanel[]; collectPanelsByType(panels, dashboardData, embeddable); @@ -129,7 +136,7 @@ export function dashboardTaskRunner(logger: Logger, core: CoreSetup, embeddable: const esClient = await getEsClient(); let result = await esClient.search<{ - dashboard: DashboardAttributes; + dashboard: DashboardSavedObjectAttributes; references: SavedObjectReference[]; }>(searchParams); @@ -144,8 +151,8 @@ export function dashboardTaskRunner(logger: Logger, core: CoreSetup, embeddable: } return undefined; }) - .filter( - (s): s is DashboardAttributesAndReferences => s !== undefined + .filter( + (s): s is DashboardSavedObjectAttributesAndReferences => s !== undefined ) ); @@ -163,8 +170,8 @@ export function dashboardTaskRunner(logger: Logger, core: CoreSetup, embeddable: } return undefined; }) - .filter( - (s): s is DashboardAttributesAndReferences => s !== undefined + .filter( + (s): s is DashboardSavedObjectAttributesAndReferences => s !== undefined ) ); } diff --git a/src/plugins/links/public/types.ts b/src/plugins/links/public/types.ts index 97b1f0254f4ea..df3eb7fc2b514 100644 --- a/src/plugins/links/public/types.ts +++ b/src/plugins/links/public/types.ts @@ -22,7 +22,7 @@ import { DynamicActionsSerializedState } from '@kbn/embeddable-enhanced-plugin/p import { HasSerializedChildState, PresentationContainer } from '@kbn/presentation-containers'; import { LocatorPublic } from '@kbn/share-plugin/common'; import { DashboardLocatorParams, DASHBOARD_CONTAINER_TYPE } from '@kbn/dashboard-plugin/public'; -import { DashboardAttributes } from '@kbn/dashboard-plugin/common'; +import type { DashboardAttributes } from '@kbn/dashboard-plugin/server'; import { CONTENT_ID } from '../common'; import { Link, LinksAttributes, LinksLayoutType } from '../common/content_management'; @@ -73,5 +73,5 @@ export type ResolvedLink = Link & { export interface DashboardItem { id: string; - attributes: DashboardAttributes; + attributes: Pick; } diff --git a/test/api_integration/apis/dashboards/create_dashboard/index.ts b/test/api_integration/apis/dashboards/create_dashboard/index.ts new file mode 100644 index 0000000000000..c9c2f63dd3b8c --- /dev/null +++ b/test/api_integration/apis/dashboards/create_dashboard/index.ts @@ -0,0 +1,30 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService, loadTestFile }: FtrProviderContext) { + const kibanaServer = getService('kibanaServer'); + describe('dashboards - create', () => { + before(async () => { + await kibanaServer.importExport.load( + 'test/api_integration/fixtures/kbn_archiver/saved_objects/basic.json' + ); + }); + + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await kibanaServer.importExport.unload( + 'test/api_integration/fixtures/kbn_archiver/saved_objects/basic.json' + ); + }); + loadTestFile(require.resolve('./main')); + loadTestFile(require.resolve('./validation')); + }); +} diff --git a/test/api_integration/apis/dashboards/create_dashboard/main.ts b/test/api_integration/apis/dashboards/create_dashboard/main.ts new file mode 100644 index 0000000000000..3b8b71f827deb --- /dev/null +++ b/test/api_integration/apis/dashboards/create_dashboard/main.ts @@ -0,0 +1,216 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import expect from '@kbn/expect'; +import { PUBLIC_API_PATH } from '@kbn/dashboard-plugin/server'; +import { DEFAULT_IGNORE_PARENT_SETTINGS } from '@kbn/controls-plugin/common'; +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + describe('main', () => { + it('sets top level default values', async () => { + const title = `foo-${Date.now()}-${Math.random()}`; + + const response = await supertest + .post(PUBLIC_API_PATH) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { + title, + }, + }); + + expect(response.status).to.be(200); + expect(response.body.item.attributes.kibanaSavedObjectMeta.searchSource).to.eql({}); + expect(response.body.item.attributes.panels).to.eql([]); + expect(response.body.item.attributes.timeRestore).to.be(false); + expect(response.body.item.attributes.options).to.eql({ + hidePanelTitles: false, + useMargins: true, + syncColors: true, + syncTooltips: true, + syncCursor: true, + }); + }); + + it('sets panels default values', async () => { + const title = `foo-${Date.now()}-${Math.random()}`; + + const response = await supertest + .post(PUBLIC_API_PATH) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { + title, + panels: [ + { + type: 'visualization', + gridData: { + x: 0, + y: 0, + w: 24, + h: 15, + }, + panelConfig: {}, + }, + ], + }, + }); + + expect(response.status).to.be(200); + expect(response.body.item.attributes.panels).to.be.an('array'); + // panel index is a random uuid when not provided + expect(response.body.item.attributes.panels[0].panelIndex).match(/^[0-9a-f-]{36}$/); + expect(response.body.item.attributes.panels[0].panelIndex).to.eql( + response.body.item.attributes.panels[0].gridData.i + ); + }); + + it('sets controls default values', async () => { + const title = `foo-${Date.now()}-${Math.random()}`; + + const response = await supertest + .post(PUBLIC_API_PATH) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { + title, + controlGroupInput: { + controls: [ + { + type: 'optionsListControl', + order: 0, + width: 'medium', + grow: true, + controlConfig: { + title: 'Origin City', + fieldName: 'OriginCityName', + dataViewId: 'd3d7af60-4c81-11e8-b3d7-01146121b73d', + selectedOptions: [], + enhancements: {}, + }, + }, + ], + }, + }, + }); + + expect(response.status).to.be(200); + // generates a random saved object id + expect(response.body.item.id).match(/^[0-9a-f-]{36}$/); + // saved object stores controls panels as an object, but the API should return as an array + expect(response.body.item.attributes.controlGroupInput.controls).to.be.an('array'); + + expect(response.body.item.attributes.controlGroupInput.ignoreParentSettings).to.eql( + DEFAULT_IGNORE_PARENT_SETTINGS + ); + }); + + it('can create a dashboard with a specific id', async () => { + const title = `foo-${Date.now()}-${Math.random()}`; + const id = `bar-${Date.now()}-${Math.random()}`; + + const response = await supertest + .post(`${PUBLIC_API_PATH}/${id}`) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { title }, + }); + + expect(response.status).to.be(200); + expect(response.body.item.id).to.be(id); + }); + + it('creates a dashboard with references', async () => { + const title = `foo-${Date.now()}-${Math.random()}`; + + const response = await supertest + .post(PUBLIC_API_PATH) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { + title, + panels: [ + { + type: 'visualization', + gridData: { + x: 0, + y: 0, + w: 24, + h: 15, + i: 'bizz', + }, + panelConfig: {}, + panelIndex: 'bizz', + panelRefName: 'panel_bizz', + }, + ], + }, + references: [ + { + name: 'bizz:panel_bizz', + type: 'visualization', + id: 'my-saved-object', + }, + ], + }); + + expect(response.status).to.be(200); + expect(response.body.item.attributes.panels).to.be.an('array'); + }); + + // TODO Maybe move this test to x-pack/test/api_integration/dashboards + it('can create a dashboard in a defined space', async () => { + const title = `foo-${Date.now()}-${Math.random()}`; + + const spaceId = 'space-1'; + + const response = await supertest + .post(`/s/${spaceId}${PUBLIC_API_PATH}`) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { + title, + }, + spaces: [spaceId], + }); + + expect(response.status).to.be(200); + expect(response.body.item.namespaces).to.eql([spaceId]); + }); + + it('return error if provided id already exists', async () => { + const title = `foo-${Date.now()}-${Math.random()}`; + // id is a saved object loaded by the kbn_archiver + const id = 'be3733a0-9efe-11e7-acb3-3dab96693fab'; + + const response = await supertest + .post(`${PUBLIC_API_PATH}/${id}`) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { + title, + }, + }); + + expect(response.status).to.be(409); + expect(response.body.message).to.be( + 'A dashboard with saved object ID be3733a0-9efe-11e7-acb3-3dab96693fab already exists.' + ); + }); + }); +} diff --git a/test/api_integration/apis/dashboards/create_dashboard/validation.ts b/test/api_integration/apis/dashboards/create_dashboard/validation.ts new file mode 100644 index 0000000000000..c7f0917a7180c --- /dev/null +++ b/test/api_integration/apis/dashboards/create_dashboard/validation.ts @@ -0,0 +1,63 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import expect from '@kbn/expect'; +import { PUBLIC_API_PATH } from '@kbn/dashboard-plugin/server'; +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + describe('validation', () => { + it('returns error when attributes object is not provided', async () => { + const response = await supertest + .post(PUBLIC_API_PATH) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({}); + expect(response.status).to.be(400); + expect(response.body.statusCode).to.be(400); + expect(response.body.message).to.be( + '[request body.attributes.title]: expected value of type [string] but got [undefined]' + ); + }); + + it('returns error when title is not provided', async () => { + const response = await supertest + .post(PUBLIC_API_PATH) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: {}, + }); + expect(response.status).to.be(400); + expect(response.body.statusCode).to.be(400); + expect(response.body.message).to.be( + '[request body.attributes.title]: expected value of type [string] but got [undefined]' + ); + }); + + it('returns error if panels is not an array', async () => { + const response = await supertest + .post(PUBLIC_API_PATH) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { + title: 'foo', + panels: {}, + }, + }); + expect(response.status).to.be(400); + expect(response.body.statusCode).to.be(400); + expect(response.body.message).to.be( + '[request body.attributes.panels]: expected value of type [array] but got [Object]' + ); + }); + }); +} diff --git a/test/api_integration/apis/dashboards/delete_dashboard/index.ts b/test/api_integration/apis/dashboards/delete_dashboard/index.ts new file mode 100644 index 0000000000000..41494dfd986d2 --- /dev/null +++ b/test/api_integration/apis/dashboards/delete_dashboard/index.ts @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService, loadTestFile }: FtrProviderContext) { + const kibanaServer = getService('kibanaServer'); + describe('dashboards - delete', () => { + before(async () => { + await kibanaServer.importExport.load( + 'test/api_integration/fixtures/kbn_archiver/saved_objects/basic.json' + ); + }); + + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await kibanaServer.importExport.unload( + 'test/api_integration/fixtures/kbn_archiver/saved_objects/basic.json' + ); + }); + loadTestFile(require.resolve('./main')); + }); +} diff --git a/test/api_integration/apis/dashboards/delete_dashboard/main.ts b/test/api_integration/apis/dashboards/delete_dashboard/main.ts new file mode 100644 index 0000000000000..19ed2b2e1c051 --- /dev/null +++ b/test/api_integration/apis/dashboards/delete_dashboard/main.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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import expect from '@kbn/expect'; +import { PUBLIC_API_PATH } from '@kbn/dashboard-plugin/server'; +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + describe('main', () => { + it('should return 404 for a non-existent dashboard', async () => { + const response = await supertest + .delete(`${PUBLIC_API_PATH}/non-existent-dashboard`) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send(); + + expect(response.status).to.be(404); + expect(response.body).to.eql({ + statusCode: 404, + error: 'Not Found', + message: 'A dashboard with saved object ID non-existent-dashboard was not found.', + }); + }); + + it('should return 200 if the dashboard is deleted', async () => { + const response = await supertest + .delete(`${PUBLIC_API_PATH}/be3733a0-9efe-11e7-acb3-3dab96693fab`) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send(); + + expect(response.status).to.be(200); + }); + }); +} diff --git a/test/api_integration/apis/dashboards/get_dashboard/index.ts b/test/api_integration/apis/dashboards/get_dashboard/index.ts new file mode 100644 index 0000000000000..82ac6f1903cb7 --- /dev/null +++ b/test/api_integration/apis/dashboards/get_dashboard/index.ts @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService, loadTestFile }: FtrProviderContext) { + const kibanaServer = getService('kibanaServer'); + describe('dashboards - get', () => { + before(async () => { + await kibanaServer.importExport.load( + 'test/api_integration/fixtures/kbn_archiver/saved_objects/basic.json' + ); + }); + + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await kibanaServer.importExport.unload( + 'test/api_integration/fixtures/kbn_archiver/saved_objects/basic.json' + ); + }); + loadTestFile(require.resolve('./main')); + }); +} diff --git a/test/api_integration/apis/dashboards/get_dashboard/main.ts b/test/api_integration/apis/dashboards/get_dashboard/main.ts new file mode 100644 index 0000000000000..b6585c0c4f48a --- /dev/null +++ b/test/api_integration/apis/dashboards/get_dashboard/main.ts @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import expect from '@kbn/expect'; +import { PUBLIC_API_PATH } from '@kbn/dashboard-plugin/server'; +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + describe('main', () => { + it('should return 200 with an existing dashboard', async () => { + const response = await supertest + .get(`${PUBLIC_API_PATH}/be3733a0-9efe-11e7-acb3-3dab96693fab`) + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send(); + + expect(response.status).to.be(200); + + expect(response.body.item.id).to.be('be3733a0-9efe-11e7-acb3-3dab96693fab'); + expect(response.body.item.type).to.be('dashboard'); + expect(response.body.item.attributes.title).to.be('Requests'); + + // Does not return unsupported options from the saved object + expect(response.body.item.attributes.options).to.not.have.keys(['darkTheme']); + expect(response.body.item.attributes.refreshInterval).to.not.have.keys(['display']); + }); + }); +} diff --git a/test/api_integration/apis/dashboards/index.ts b/test/api_integration/apis/dashboards/index.ts new file mode 100644 index 0000000000000..f844c02168922 --- /dev/null +++ b/test/api_integration/apis/dashboards/index.ts @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ loadTestFile }: FtrProviderContext) { + describe('dashboards', () => { + loadTestFile(require.resolve('./create_dashboard')); + loadTestFile(require.resolve('./delete_dashboard')); + loadTestFile(require.resolve('./get_dashboard')); + loadTestFile(require.resolve('./update_dashboard')); + loadTestFile(require.resolve('./list_dashboards')); + }); +} diff --git a/test/api_integration/apis/dashboards/list_dashboards/index.ts b/test/api_integration/apis/dashboards/list_dashboards/index.ts new file mode 100644 index 0000000000000..10f77ad3fee5a --- /dev/null +++ b/test/api_integration/apis/dashboards/list_dashboards/index.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService, loadTestFile }: FtrProviderContext) { + const kibanaServer = getService('kibanaServer'); + const supertest = getService('supertest'); + describe('dashboards - list', () => { + const createManyDashboards = async (count: number) => { + const fileChunks: string[] = []; + for (let i = 0; i < count; i++) { + const id = `test-dashboard-${i}`; + fileChunks.push( + JSON.stringify({ + type: 'dashboard', + id, + attributes: { + title: `My dashboard (${i})`, + kibanaSavedObjectMeta: { searchSourceJSON: '{}' }, + }, + references: [], + }) + ); + } + + await supertest + .post(`/api/saved_objects/_import`) + .attach('file', Buffer.from(fileChunks.join('\n'), 'utf8'), 'export.ndjson') + .expect(200); + }; + before(async () => { + await createManyDashboards(100); + }); + + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + }); + loadTestFile(require.resolve('./main')); + }); +} diff --git a/test/api_integration/apis/dashboards/list_dashboards/main.ts b/test/api_integration/apis/dashboards/list_dashboards/main.ts new file mode 100644 index 0000000000000..c0ef1059169ef --- /dev/null +++ b/test/api_integration/apis/dashboards/list_dashboards/main.ts @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import expect from '@kbn/expect'; +import { PUBLIC_API_PATH } from '@kbn/dashboard-plugin/server'; +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + describe('main', () => { + it('should retrieve a paginated list of dashboards', async () => { + const response = await supertest + .get(`${PUBLIC_API_PATH}`) + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send(); + + expect(response.status).to.be(200); + expect(response.body.total).to.be(100); + expect(response.body.items[0].id).to.be('test-dashboard-0'); + expect(response.body.items.length).to.be(20); + }); + + it('should allow users to set a per page limit', async () => { + const response = await supertest + .get(`${PUBLIC_API_PATH}?perPage=10`) + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send(); + + expect(response.status).to.be(200); + expect(response.body.total).to.be(100); + expect(response.body.items.length).to.be(10); + }); + + it('should allow users to paginate through the list of dashboards', async () => { + const response = await supertest + .get(`${PUBLIC_API_PATH}?page=5&perPage=10`) + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send(); + + expect(response.status).to.be(200); + expect(response.body.total).to.be(100); + expect(response.body.items.length).to.be(10); + expect(response.body.items[0].id).to.be('test-dashboard-40'); + }); + }); +} diff --git a/test/api_integration/apis/dashboards/update_dashboard/index.ts b/test/api_integration/apis/dashboards/update_dashboard/index.ts new file mode 100644 index 0000000000000..c2a8d7d16cb27 --- /dev/null +++ b/test/api_integration/apis/dashboards/update_dashboard/index.ts @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService, loadTestFile }: FtrProviderContext) { + const kibanaServer = getService('kibanaServer'); + describe('dashboards - update', () => { + before(async () => { + await kibanaServer.importExport.load( + 'test/api_integration/fixtures/kbn_archiver/saved_objects/basic.json' + ); + }); + + after(async () => { + await kibanaServer.importExport.unload( + 'test/api_integration/fixtures/kbn_archiver/saved_objects/basic.json' + ); + }); + loadTestFile(require.resolve('./main')); + loadTestFile(require.resolve('./validation')); + }); +} diff --git a/test/api_integration/apis/dashboards/update_dashboard/main.ts b/test/api_integration/apis/dashboards/update_dashboard/main.ts new file mode 100644 index 0000000000000..18a7d5ca2d3fe --- /dev/null +++ b/test/api_integration/apis/dashboards/update_dashboard/main.ts @@ -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", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import expect from '@kbn/expect'; +import { PUBLIC_API_PATH } from '@kbn/dashboard-plugin/server'; +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + describe('main', () => { + it('should return 201 with an updated dashboard', async () => { + const response = await supertest + .put(`${PUBLIC_API_PATH}/be3733a0-9efe-11e7-acb3-3dab96693fab`) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { + title: 'Refresh Requests (Updated)', + options: { useMargins: false }, + panels: [ + { + type: 'visualization', + gridData: { x: 0, y: 0, w: 48, h: 60, i: '1' }, + panelIndex: '1', + panelRefName: 'panel_1', + version: '7.3.0', + }, + ], + timeFrom: 'Wed Sep 16 2015 22:52:17 GMT-0700', + timeRestore: true, + timeTo: 'Fri Sep 18 2015 12:24:38 GMT-0700', + }, + references: [ + { + id: 'dd7caf20-9efd-11e7-acb3-3dab96693fab', + name: '1:panel_1', + type: 'visualization', + }, + ], + }); + + expect(response.status).to.be(201); + + expect(response.body.item.id).to.be('be3733a0-9efe-11e7-acb3-3dab96693fab'); + expect(response.body.item.type).to.be('dashboard'); + expect(response.body.item.attributes.title).to.be('Refresh Requests (Updated)'); + }); + + it('should return 404 when updating a non-existent dashboard', async () => { + const response = await supertest + .put(`${PUBLIC_API_PATH}/not-an-id`) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { + title: 'Some other dashboard (updated)', + }, + }); + + expect(response.status).to.be(404); + expect(response.body).to.eql({ + statusCode: 404, + error: 'Not Found', + message: 'A dashboard with saved object ID not-an-id was not found.', + }); + }); + }); +} diff --git a/test/api_integration/apis/dashboards/update_dashboard/validation.ts b/test/api_integration/apis/dashboards/update_dashboard/validation.ts new file mode 100644 index 0000000000000..4a7a069e24617 --- /dev/null +++ b/test/api_integration/apis/dashboards/update_dashboard/validation.ts @@ -0,0 +1,63 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import expect from '@kbn/expect'; +import { PUBLIC_API_PATH } from '@kbn/dashboard-plugin/server'; +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + describe('validation', () => { + it('returns error when attributes object is not provided', async () => { + const response = await supertest + .put(`${PUBLIC_API_PATH}/be3733a0-9efe-11e7-acb3-3dab96693fab`) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({}); + expect(response.status).to.be(400); + expect(response.body.statusCode).to.be(400); + expect(response.body.message).to.be( + '[request body.attributes.title]: expected value of type [string] but got [undefined]' + ); + }); + + it('returns error when title is not provided', async () => { + const response = await supertest + .put(`${PUBLIC_API_PATH}/be3733a0-9efe-11e7-acb3-3dab96693fab`) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: {}, + }); + expect(response.status).to.be(400); + expect(response.body.statusCode).to.be(400); + expect(response.body.message).to.be( + '[request body.attributes.title]: expected value of type [string] but got [undefined]' + ); + }); + + it('returns error if panels is not an array', async () => { + const response = await supertest + .put(`${PUBLIC_API_PATH}/be3733a0-9efe-11e7-acb3-3dab96693fab`) + .set('kbn-xsrf', 'true') + .set('ELASTIC_HTTP_VERSION_HEADER', '2023-10-31') + .send({ + attributes: { + title: 'foo', + panels: {}, + }, + }); + expect(response.status).to.be(400); + expect(response.body.statusCode).to.be(400); + expect(response.body.message).to.be( + '[request body.attributes.panels]: expected value of type [array] but got [Object]' + ); + }); + }); +} diff --git a/test/api_integration/apis/index.ts b/test/api_integration/apis/index.ts index bbd7c3abf8649..af1cbf2464fa9 100644 --- a/test/api_integration/apis/index.ts +++ b/test/api_integration/apis/index.ts @@ -14,6 +14,7 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./console')); loadTestFile(require.resolve('./core')); loadTestFile(require.resolve('./custom_integration')); + loadTestFile(require.resolve('./dashboards')); loadTestFile(require.resolve('./general')); loadTestFile(require.resolve('./home')); loadTestFile(require.resolve('./data_view_field_editor')); diff --git a/test/functional/apps/dashboard/group3/dashboard_state.ts b/test/functional/apps/dashboard/group3/dashboard_state.ts index 40022c155f456..9822c2ce361a1 100644 --- a/test/functional/apps/dashboard/group3/dashboard_state.ts +++ b/test/functional/apps/dashboard/group3/dashboard_state.ts @@ -309,12 +309,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { panels: (appState.panels ?? []).map((panel) => { return { ...panel, - embeddableConfig: { - ...(panel.embeddableConfig ?? {}), + panelConfig: { + ...(panel.panelConfig ?? {}), vis: { - ...((panel.embeddableConfig?.vis as object) ?? {}), + ...((panel.panelConfig?.vis as object) ?? {}), colors: { - ...((panel.embeddableConfig?.vis as { colors: object })?.colors ?? {}), + ...((panel.panelConfig?.vis as { colors: object })?.colors ?? {}), ['80000']: 'FFFFFF', }, }, @@ -353,10 +353,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { panels: (appState.panels ?? []).map((panel) => { return { ...panel, - embeddableConfig: { - ...(panel.embeddableConfig ?? {}), + panelConfig: { + ...(panel.panelConfig ?? {}), vis: { - ...((panel.embeddableConfig?.vis as object) ?? {}), + ...((panel.panelConfig?.vis as object) ?? {}), colors: {}, }, }, diff --git a/x-pack/plugins/lens/common/embeddable_factory/index.ts b/x-pack/plugins/lens/common/embeddable_factory/index.ts index b794ec642f40a..68e6c77e9daeb 100644 --- a/x-pack/plugins/lens/common/embeddable_factory/index.ts +++ b/x-pack/plugins/lens/common/embeddable_factory/index.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { cloneDeep } from 'lodash'; import type { SerializableRecord, Serializable } from '@kbn/utility-types'; import type { SavedObjectReference } from '@kbn/core/types'; import type { @@ -17,7 +18,8 @@ export type LensEmbeddablePersistableState = EmbeddableStateWithType & { }; export const inject: EmbeddableRegistryDefinition['inject'] = (state, references) => { - const typedState = state as LensEmbeddablePersistableState; + // We need to clone the state because we can not modify the original state object. + const typedState = cloneDeep(state) as LensEmbeddablePersistableState; if ('attributes' in typedState && typedState.attributes !== undefined) { // match references based on name, so only references associated with this lens panel are injected. diff --git a/x-pack/plugins/ml/public/application/components/custom_urls/custom_url_editor/utils.ts b/x-pack/plugins/ml/public/application/components/custom_urls/custom_url_editor/utils.ts index c154abb6f5f69..d2dff81c32621 100644 --- a/x-pack/plugins/ml/public/application/components/custom_urls/custom_url_editor/utils.ts +++ b/x-pack/plugins/ml/public/application/components/custom_urls/custom_url_editor/utils.ts @@ -285,13 +285,12 @@ async function buildDashboardUrlFromSettings( let query; // Override with filters and queries from saved dashboard if they are available. - const searchSourceJSON = dashboard.attributes.kibanaSavedObjectMeta.searchSourceJSON; - if (searchSourceJSON !== undefined) { - const searchSourceData = JSON.parse(searchSourceJSON); - if (Array.isArray(searchSourceData.filter) && searchSourceData.filter.length > 0) { - filters = searchSourceData.filter; + const { searchSource } = dashboard.attributes.kibanaSavedObjectMeta; + if (searchSource !== undefined) { + if (Array.isArray(searchSource.filter) && searchSource.filter.length > 0) { + filters = searchSource.filter; } - query = searchSourceData.query; + query = searchSource.query; } const queryFromEntityFieldNames = buildAppStateQueryParam(queryFieldNames ?? []); diff --git a/x-pack/plugins/observability_solution/apm/public/components/app/service_dashboards/actions/save_dashboard_modal.tsx b/x-pack/plugins/observability_solution/apm/public/components/app/service_dashboards/actions/save_dashboard_modal.tsx index 739fe26342893..5f2f91df44231 100644 --- a/x-pack/plugins/observability_solution/apm/public/components/app/service_dashboards/actions/save_dashboard_modal.tsx +++ b/x-pack/plugins/observability_solution/apm/public/components/app/service_dashboards/actions/save_dashboard_modal.tsx @@ -23,7 +23,6 @@ import { EuiButtonEmpty, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { DashboardItem } from '@kbn/dashboard-plugin/common/content_management'; import { callApmApi } from '../../../../services/rest/create_call_apm_api'; import { useDashboardFetcher } from '../../../../hooks/use_dashboards_fetcher'; import { FETCH_STATUS } from '../../../../hooks/use_fetcher'; @@ -76,7 +75,7 @@ export function SaveDashboardModal({ const isEditMode = !!currentDashboard?.id; - const options = allAvailableDashboards?.map((dashboardItem: DashboardItem) => ({ + const options = allAvailableDashboards?.map((dashboardItem) => ({ label: dashboardItem.attributes.title, value: dashboardItem.id, disabled: diff --git a/x-pack/plugins/observability_solution/infra/public/components/asset_details/tabs/dashboards/actions/save_dashboard_modal.tsx b/x-pack/plugins/observability_solution/infra/public/components/asset_details/tabs/dashboards/actions/save_dashboard_modal.tsx index 87ff45ef2173c..5bd6cc0e1fc6c 100644 --- a/x-pack/plugins/observability_solution/infra/public/components/asset_details/tabs/dashboards/actions/save_dashboard_modal.tsx +++ b/x-pack/plugins/observability_solution/infra/public/components/asset_details/tabs/dashboards/actions/save_dashboard_modal.tsx @@ -23,7 +23,6 @@ import { useEuiTheme, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { DashboardItem } from '@kbn/dashboard-plugin/common/content_management'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import { FETCH_STATUS } from '../../../../../hooks/use_fetcher'; import type { @@ -76,7 +75,7 @@ export function SaveDashboardModal({ const options = useMemo( () => - allAvailableDashboards?.map((dashboardItem: DashboardItem) => ({ + allAvailableDashboards?.map((dashboardItem) => ({ label: dashboardItem.attributes.title, value: dashboardItem.id, disabled: diff --git a/x-pack/plugins/observability_solution/infra/public/components/asset_details/tabs/dashboards/dashboards.tsx b/x-pack/plugins/observability_solution/infra/public/components/asset_details/tabs/dashboards/dashboards.tsx index f90aa500c9266..694fe5cd1ed2b 100644 --- a/x-pack/plugins/observability_solution/infra/public/components/asset_details/tabs/dashboards/dashboards.tsx +++ b/x-pack/plugins/observability_solution/infra/public/components/asset_details/tabs/dashboards/dashboards.tsx @@ -24,7 +24,7 @@ import { DashboardRenderer, } from '@kbn/dashboard-plugin/public'; -import type { DashboardItem } from '@kbn/dashboard-plugin/common/content_management'; +import type { DashboardSearchOut } from '@kbn/dashboard-plugin/server/content_management'; import type { SerializableRecord } from '@kbn/utility-types'; import { ASSET_DETAILS_FLYOUT_LOCATOR_ID, @@ -93,7 +93,7 @@ export function Dashboards() { }, [asset.type, currentDashboard, telemetry, trackingEventProperties]); useEffect(() => { - const allAvailableDashboardsMap = new Map(); + const allAvailableDashboardsMap = new Map(); allAvailableDashboards.forEach((availableDashboard) => { allAvailableDashboardsMap.set(availableDashboard.id, availableDashboard); }); diff --git a/x-pack/plugins/security_solution/server/lib/dashboards/routes/get_dashboards_by_tags.ts b/x-pack/plugins/security_solution/server/lib/dashboards/routes/get_dashboards_by_tags.ts index e7a3ebf9a7f10..dda4a6af5d221 100644 --- a/x-pack/plugins/security_solution/server/lib/dashboards/routes/get_dashboards_by_tags.ts +++ b/x-pack/plugins/security_solution/server/lib/dashboards/routes/get_dashboards_by_tags.ts @@ -7,7 +7,7 @@ import type { Logger } from '@kbn/core/server'; import { i18n } from '@kbn/i18n'; -import type { DashboardAttributes } from '@kbn/dashboard-plugin/common'; +import type { DashboardSavedObjectAttributes } from '@kbn/dashboard-plugin/server'; import { transformError } from '@kbn/securitysolution-es-utils'; import { INTERNAL_DASHBOARDS_URL } from '../../../../common/constants'; import type { SecuritySolutionPluginRouter } from '../../../types'; @@ -36,7 +36,7 @@ export const getDashboardsByTagsRoute = (router: SecuritySolutionPluginRouter, l const { tagIds } = request.body; try { - const dashboardsResponse = await savedObjectsClient.find({ + const dashboardsResponse = await savedObjectsClient.find({ type: 'dashboard', hasReference: tagIds.map((id) => ({ id, type: 'tag' })), }); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/lib/gen_ai/create_gen_ai_dashboard.ts b/x-pack/plugins/stack_connectors/server/connector_types/lib/gen_ai/create_gen_ai_dashboard.ts index ee5a3471a2d34..d54ccec0656e7 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/lib/gen_ai/create_gen_ai_dashboard.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/lib/gen_ai/create_gen_ai_dashboard.ts @@ -4,9 +4,9 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import type { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; -import { DashboardAttributes } from '@kbn/dashboard-plugin/common'; +import type { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; +import type { DashboardSavedObjectAttributes } from '@kbn/dashboard-plugin/server'; import { Logger } from '@kbn/logging'; import { getDashboard } from './gen_ai_dashboard'; @@ -30,7 +30,7 @@ export const initDashboard = async ({ error?: OutputError; }> => { try { - await savedObjectsClient.get('dashboard', dashboardId); + await savedObjectsClient.get('dashboard', dashboardId); return { success: true, }; @@ -50,7 +50,7 @@ export const initDashboard = async ({ } try { - await savedObjectsClient.create( + await savedObjectsClient.create( 'dashboard', getDashboard(genAIProvider, dashboardId).attributes, { diff --git a/x-pack/plugins/stack_connectors/server/connector_types/lib/gen_ai/gen_ai_dashboard.ts b/x-pack/plugins/stack_connectors/server/connector_types/lib/gen_ai/gen_ai_dashboard.ts index 5805dd7728ccf..efe5fc0c0ca6c 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/lib/gen_ai/gen_ai_dashboard.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/lib/gen_ai/gen_ai_dashboard.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { DashboardAttributes } from '@kbn/dashboard-plugin/common'; +import type { DashboardSavedObjectAttributes } from '@kbn/dashboard-plugin/server'; import { v4 as uuidv4 } from 'uuid'; import { SavedObject } from '@kbn/core-saved-objects-common/src/server_types'; import { OPENAI_TITLE, OPENAI_CONNECTOR_ID } from '../../../../common/openai/constants'; @@ -21,7 +21,7 @@ export const getDashboardTitle = (title: string) => `${title} Token Usage`; export const getDashboard = ( genAIProvider: 'OpenAI' | 'Bedrock' | 'Gemini' | 'Inference', dashboardId: string -): SavedObject => { +): SavedObject => { let attributes = { provider: OPENAI_TITLE, dashboardTitle: getDashboardTitle(OPENAI_TITLE), From a55ad44808751137a28c59652eed1c64c965ea36 Mon Sep 17 00:00:00 2001 From: Rodney Norris Date: Fri, 8 Nov 2024 10:36:58 -0600 Subject: [PATCH 15/52] fix(search): onboarding console bulk import code (#199487) ## Summary ensure console code has correct new lines for bulk import --- x-pack/plugins/search_indices/public/code_examples/sense.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/search_indices/public/code_examples/sense.ts b/x-pack/plugins/search_indices/public/code_examples/sense.ts index 34e4e81802762..f54071003df64 100644 --- a/x-pack/plugins/search_indices/public/code_examples/sense.ts +++ b/x-pack/plugins/search_indices/public/code_examples/sense.ts @@ -36,7 +36,7 @@ export const ConsoleVectorsIngestDataExample: IngestDataCodeDefinition = { let result = 'POST /_bulk?pretty\n'; sampleDocuments.forEach((document) => { result += `{ "index": { "_index": "${indexName}" } } -${JSON.stringify(document)}`; +${JSON.stringify(document)}\n`; }); result += '\n'; return result; From 3124a72e67b3121afbaafcf92d90a363ceb7d6a9 Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Fri, 8 Nov 2024 11:01:07 -0600 Subject: [PATCH 16/52] [Security Solution][Session view] - fix EuiButton key not unique throwing error (#199497) ## Summary This PR fixes a very small console error because of a EuiButton key that is not unique in the Session View component. Before fix https://github.com/user-attachments/assets/930adc5d-1505-43c1-ac2f-451172e803e5 After fix https://github.com/user-attachments/assets/5a4a824d-d048-4822-a930-a30bb87336cc --- .../public/components/process_tree_node/buttons.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/session_view/public/components/process_tree_node/buttons.tsx b/x-pack/plugins/session_view/public/components/process_tree_node/buttons.tsx index f5e2220c5e909..401c55ca90c8d 100644 --- a/x-pack/plugins/session_view/public/components/process_tree_node/buttons.tsx +++ b/x-pack/plugins/session_view/public/components/process_tree_node/buttons.tsx @@ -86,8 +86,8 @@ export const AlertButton = ({ {alertsCount > 1 ? ALERTS : ALERT} {alertsCount > 1 && (alertsCount > MAX_ALERT_COUNT ? ` (${MAX_ALERT_COUNT}+)` : ` (${alertsCount})`)} - {alertIcons?.map((icon: string) => ( - + {alertIcons?.map((icon: string, index: number) => ( + ))} From e2bcdacdfe66abf8720749a0081846f0f3bc8eb5 Mon Sep 17 00:00:00 2001 From: "fangshun@" Date: Sat, 9 Nov 2024 01:31:03 +0800 Subject: [PATCH 17/52] fix: remove the unit from the *_count field (#198641) fix #197929 Before: ![image](https://github.com/user-attachments/assets/e7c908dc-3093-48db-bcbc-0e3c0a16e42a) After: ![image](https://github.com/user-attachments/assets/16a18deb-57c7-45c8-9a1d-af5bd1800275) Signed-off-by: fangshun Co-authored-by: Elena Stoeva <59341489+ElenaStoeva@users.noreply.github.com> --- .../highlight_details_flyout/highlight_details_table.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/searchprofiler/public/application/components/highlight_details_flyout/highlight_details_table.tsx b/x-pack/plugins/searchprofiler/public/application/components/highlight_details_flyout/highlight_details_table.tsx index 7fe8c167ed5dc..14ba16fbacbd8 100644 --- a/x-pack/plugins/searchprofiler/public/application/components/highlight_details_flyout/highlight_details_table.tsx +++ b/x-pack/plugins/searchprofiler/public/application/components/highlight_details_flyout/highlight_details_table.tsx @@ -30,7 +30,7 @@ export const HighlightDetailsTable = ({ breakdown }: Props) => { name: 'Time', render: (item: BreakdownItem) => ( - {nsToPretty(item.time, 1)} + {item.key.endsWith('_count') ? item.time : nsToPretty(item.time, 1)} ), }, From 763410c8ab0fed547571431c27a0d5d2f5fd4a7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Bl=C3=A1zquez?= Date: Fri, 8 Nov 2024 18:33:55 +0100 Subject: [PATCH 18/52] Open links in new tabs from pages in Fleet integrations (#199468) ## Summary Closes https://github.com/elastic/security-team/issues/10987. Fleet integrations render pages whose source content is written in Markdown format. Links in markdown were being converted into regular `` tags rather than in `` components that include styling for external links and open in new tabs. Also, the "API Reference" page rendered a "Learn more" link using a `` component with external styling but missed `target="_blank"`, so it wasn't acting as an external link and didn't open in a new tab either. ### Bug origin This bug has dragged for the last 3 years since `react-markdown` upgraded to `v6.0` and introduced a [breaking change](https://github.com/remarkjs/react-markdown/blob/main/changelog.md#600---2021-04-15) in custom renderers ### Screenshots
Overview page Screenshot 2024-11-08 at 13 35 43
API Reference page Screenshot 2024-11-08 at 13 35 07
### Checklist Delete any items that are not applicable to this PR. - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [x] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [x] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../sections/epm/screens/detail/documentation/index.tsx | 2 +- .../sections/epm/screens/detail/overview/markdown_renderers.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/documentation/index.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/documentation/index.tsx index a418c38cd8f33..c4fc2863868a3 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/documentation/index.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/documentation/index.tsx @@ -79,7 +79,7 @@ export const DocumentationPage: React.FunctionComponent = ({ packageInfo, defaultMessage="This documents all the inputs, streams, and variables available to use this integration programmatically via the Fleet Kibana API. {learnMore}" values={{ learnMore: ( - +
{children}
, h6: ({ children }) =>
{children}
, - link: ({ children, href }: { children: React.ReactNode[]; href?: string }) => ( + a: ({ children, href }: { children: React.ReactNode[]; href?: string }) => ( Date: Fri, 8 Nov 2024 18:40:55 +0100 Subject: [PATCH 19/52] Migrate `/custom_dashboards` to be deployment agnostic (#199295) closes #198964 closes #198966 part of https://github.com/elastic/kibana/issues/193245 ### How to test - Serverless ``` node scripts/functional_tests_server --config x-pack/test/api_integration/deployment_agnostic/configs/serverless/oblt.serverless.config.ts node scripts/functional_test_runner --config x-pack/test/api_integration/deployment_agnostic/configs/serverless/oblt.serverless.config.ts --grep="APM" ``` - Stateful ``` node scripts/functional_tests_server --config x-pack/test/api_integration/deployment_agnostic/configs/stateful/oblt.stateful.config.ts node scripts/functional_test_runner --config x-pack/test/api_integration/deployment_agnostic/configs/stateful/oblt.stateful.config.ts --grep="APM" ``` - MKI tested against [MKI](https://github.com/crespocarlos/kibana/blob/main/x-pack/test_serverless/README.md#run-tests-on-mki) --- .../apm}/custom_dashboards/api_helper.ts | 4 +- .../custom_dashboards.spec.ts | 193 +++++++++++ .../apm/custom_dashboards/index.ts | 14 + .../dependencies/dependency_metrics.spec.ts | 306 ++++++++++++++++++ .../apm}/dependencies/generate_data.ts | 0 .../dependencies/generate_operation_data.ts | 2 +- .../observability/apm/dependencies/index.ts | 20 ++ .../apm}/dependencies/metadata.spec.ts | 35 +- .../dependencies/service_dependencies.spec.ts | 60 +--- .../dependencies/top_dependencies.spec.ts | 25 +- .../apm/dependencies/top_operations.spec.ts | 280 ++++++++++++++++ .../apm}/dependencies/top_spans.spec.ts | 34 +- .../dependencies/upstream_services.spec.ts | 25 +- .../apis/observability/apm/index.ts | 2 + .../apis/observability/apm/utils/common.ts | 13 + .../custom_dashboards.spec.ts | 195 ----------- .../dependencies/dependency_metrics.spec.ts | 304 ----------------- .../tests/dependencies/top_operations.spec.ts | 275 ---------------- x-pack/test/apm_api_integration/utils.ts | 5 - 19 files changed, 897 insertions(+), 895 deletions(-) rename x-pack/test/{apm_api_integration/tests => api_integration/deployment_agnostic/apis/observability/apm}/custom_dashboards/api_helper.ts (93%) create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/custom_dashboards.spec.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/index.ts create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/dependency_metrics.spec.ts rename x-pack/test/{apm_api_integration/tests => api_integration/deployment_agnostic/apis/observability/apm}/dependencies/generate_data.ts (100%) rename x-pack/test/{apm_api_integration/tests => api_integration/deployment_agnostic/apis/observability/apm}/dependencies/generate_operation_data.ts (97%) create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/index.ts rename x-pack/test/{apm_api_integration/tests => api_integration/deployment_agnostic/apis/observability/apm}/dependencies/metadata.spec.ts (69%) rename x-pack/test/{apm_api_integration/tests => api_integration/deployment_agnostic/apis/observability/apm}/dependencies/service_dependencies.spec.ts (52%) rename x-pack/test/{apm_api_integration/tests => api_integration/deployment_agnostic/apis/observability/apm}/dependencies/top_dependencies.spec.ts (86%) create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/top_operations.spec.ts rename x-pack/test/{apm_api_integration/tests => api_integration/deployment_agnostic/apis/observability/apm}/dependencies/top_spans.spec.ts (92%) rename x-pack/test/{apm_api_integration/tests => api_integration/deployment_agnostic/apis/observability/apm}/dependencies/upstream_services.spec.ts (76%) create mode 100644 x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/utils/common.ts delete mode 100644 x-pack/test/apm_api_integration/tests/custom_dashboards/custom_dashboards.spec.ts delete mode 100644 x-pack/test/apm_api_integration/tests/dependencies/dependency_metrics.spec.ts delete mode 100644 x-pack/test/apm_api_integration/tests/dependencies/top_operations.spec.ts diff --git a/x-pack/test/apm_api_integration/tests/custom_dashboards/api_helper.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/api_helper.ts similarity index 93% rename from x-pack/test/apm_api_integration/tests/custom_dashboards/api_helper.ts rename to x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/api_helper.ts index a0fb0e976d109..0c75efa8ad9b1 100644 --- a/x-pack/test/apm_api_integration/tests/custom_dashboards/api_helper.ts +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/api_helper.ts @@ -5,7 +5,9 @@ * 2.0. */ -import { ApmApiClient } from '../../common/config'; +import { ApmApiProvider } from '../../../../services/apm_api'; + +export type ApmApiClient = ReturnType; export async function getServiceDashboardApi( apmApiClient: ApmApiClient, diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/custom_dashboards.spec.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/custom_dashboards.spec.ts new file mode 100644 index 0000000000000..51013ff171bbd --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/custom_dashboards.spec.ts @@ -0,0 +1,193 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from '@kbn/expect'; +import { apm, timerange } from '@kbn/apm-synthtrace-client'; + +import type { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import type { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context'; +import { + getServiceDashboardApi, + getLinkServiceDashboardApi, + deleteAllServiceDashboard, +} from './api_helper'; + +export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderContext) { + const apmApiClient = getService('apmApi'); + const synthtrace = getService('synthtrace'); + + const start = '2023-08-22T00:00:00.000Z'; + const end = '2023-08-22T00:15:00.000Z'; + + describe('Service dashboards', () => { + describe('when data is not loaded', () => { + it('handles empty state', async () => { + const response = await getServiceDashboardApi(apmApiClient, 'synth-go', start, end); + expect(response.status).to.be(200); + expect(response.body.serviceDashboards).to.eql([]); + }); + }); + + describe('when data is loaded', () => { + const range = timerange(new Date(start).getTime(), new Date(end).getTime()); + let apmSynthtraceEsClient: ApmSynthtraceEsClient; + + const goInstance = apm + .service({ + name: 'synth-go', + environment: 'production', + agentName: 'go', + }) + .instance('go-instance'); + + const javaInstance = apm + .service({ + name: 'synth-java', + environment: 'production', + agentName: 'java', + }) + .instance('java-instance'); + + before(async () => { + apmSynthtraceEsClient = await synthtrace.createApmSynthtraceEsClient(); + + return apmSynthtraceEsClient.index([ + range + .interval('1s') + .rate(4) + .generator((timestamp) => + goInstance + .transaction({ transactionName: 'GET /api' }) + .timestamp(timestamp) + .duration(1000) + .success() + ), + range + .interval('1s') + .rate(4) + .generator((timestamp) => + javaInstance + .transaction({ transactionName: 'GET /api' }) + .timestamp(timestamp) + .duration(1000) + .success() + ), + ]); + }); + + after(() => { + return apmSynthtraceEsClient.clean(); + }); + + afterEach(async () => { + await deleteAllServiceDashboard(apmApiClient, 'synth-go', start, end); + }); + + describe('and when data is not loaded', () => { + it('creates a new service dashboard', async () => { + const serviceDashboard = { + dashboardSavedObjectId: 'dashboard-saved-object-id', + serviceFiltersEnabled: true, + kuery: 'service.name: synth-go', + }; + const createResponse = await getLinkServiceDashboardApi({ + apmApiClient, + ...serviceDashboard, + }); + expect(createResponse.status).to.be(200); + expect(createResponse.body).to.have.property('id'); + expect(createResponse.body).to.have.property('updatedAt'); + + expect(createResponse.body).to.have.property( + 'dashboardSavedObjectId', + serviceDashboard.dashboardSavedObjectId + ); + expect(createResponse.body).to.have.property('kuery', serviceDashboard.kuery); + expect(createResponse.body).to.have.property( + 'serviceEnvironmentFilterEnabled', + serviceDashboard.serviceFiltersEnabled + ); + expect(createResponse.body).to.have.property( + 'serviceNameFilterEnabled', + serviceDashboard.serviceFiltersEnabled + ); + + const dasboardForGoService = await getServiceDashboardApi( + apmApiClient, + 'synth-go', + start, + end + ); + const dashboardForJavaService = await getServiceDashboardApi( + apmApiClient, + 'synth-java', + start, + end + ); + expect(dashboardForJavaService.body.serviceDashboards.length).to.be(0); + expect(dasboardForGoService.body.serviceDashboards.length).to.be(1); + }); + + it('updates the existing linked service dashboard', async () => { + const serviceDashboard = { + dashboardSavedObjectId: 'dashboard-saved-object-id', + serviceFiltersEnabled: true, + kuery: 'service.name: synth-go or agent.name: java', + }; + + await getLinkServiceDashboardApi({ + apmApiClient, + ...serviceDashboard, + }); + + const dasboardForGoService = await getServiceDashboardApi( + apmApiClient, + 'synth-go', + start, + end + ); + + const updateResponse = await getLinkServiceDashboardApi({ + apmApiClient, + customDashboardId: dasboardForGoService.body.serviceDashboards[0].id, + ...serviceDashboard, + serviceFiltersEnabled: true, + }); + + expect(updateResponse.status).to.be(200); + + const updateddasboardForGoService = await getServiceDashboardApi( + apmApiClient, + 'synth-go', + start, + end + ); + expect(updateddasboardForGoService.body.serviceDashboards.length).to.be(1); + expect(updateddasboardForGoService.body.serviceDashboards[0]).to.have.property( + 'serviceEnvironmentFilterEnabled', + true + ); + expect(updateddasboardForGoService.body.serviceDashboards[0]).to.have.property( + 'serviceNameFilterEnabled', + true + ); + expect(updateddasboardForGoService.body.serviceDashboards[0]).to.have.property( + 'kuery', + 'service.name: synth-go or agent.name: java' + ); + + const dashboardForJavaService = await getServiceDashboardApi( + apmApiClient, + 'synth-java', + start, + end + ); + expect(dashboardForJavaService.body.serviceDashboards.length).to.be(1); + }); + }); + }); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/index.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/index.ts new file mode 100644 index 0000000000000..77f12ca0f88d5 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/custom_dashboards/index.ts @@ -0,0 +1,14 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context'; + +export default function ({ loadTestFile }: DeploymentAgnosticFtrProviderContext) { + describe('custom_dashboards', () => { + loadTestFile(require.resolve('./custom_dashboards.spec.ts')); + }); +} diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/dependency_metrics.spec.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/dependency_metrics.spec.ts new file mode 100644 index 0000000000000..2821807ef2c2c --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/dependency_metrics.spec.ts @@ -0,0 +1,306 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from '@kbn/expect'; +import { sum } from 'lodash'; +import { isFiniteNumber } from '@kbn/apm-plugin/common/utils/is_finite_number'; +import { Coordinate } from '@kbn/apm-plugin/typings/timeseries'; +import { ENVIRONMENT_ALL } from '@kbn/apm-plugin/common/environment_filter_values'; +import type { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import { SupertestReturnType } from '../../../../services/apm_api'; +import type { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context'; +import { roundNumber } from '../utils/common'; +import { generateOperationData, generateOperationDataConfig } from './generate_operation_data'; + +const { + ES_BULK_DURATION, + ES_BULK_RATE, + ES_SEARCH_DURATION, + ES_SEARCH_FAILURE_RATE, + ES_SEARCH_SUCCESS_RATE, + ES_SEARCH_UNKNOWN_RATE, + REDIS_SET_RATE, +} = generateOperationDataConfig; + +export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderContext) { + const apmApiClient = getService('apmApi'); + const synthtrace = getService('synthtrace'); + + const start = new Date('2021-01-01T00:00:00.000Z').getTime(); + const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; + + async function callApi({ + dependencyName, + searchServiceDestinationMetrics, + spanName = '', + metric, + kuery = '', + environment = ENVIRONMENT_ALL.value, + }: { + dependencyName: string; + searchServiceDestinationMetrics: boolean; + spanName?: string; + metric: TMetricName; + kuery?: string; + environment?: string; + }): Promise> { + return await apmApiClient.readUser({ + endpoint: `GET /internal/apm/dependencies/charts/${ + metric as 'latency' | 'throughput' | 'error_rate' + }`, + params: { + query: { + dependencyName, + start: new Date(start).toISOString(), + end: new Date(end).toISOString(), + environment, + kuery, + offset: '', + spanName, + searchServiceDestinationMetrics, + }, + }, + }); + } + + function avg(coordinates: Coordinate[]) { + const values = coordinates + .filter((coord): coord is { x: number; y: number } => isFiniteNumber(coord.y)) + .map((coord) => coord.y); + + return roundNumber(sum(values) / values.length); + } + + describe('Dependency metrics', () => { + describe('when data is not loaded', () => { + it('handles empty state', async () => { + const { body, status } = await callApi({ + dependencyName: 'elasticsearch', + metric: 'latency', + searchServiceDestinationMetrics: true, + }); + + expect(status).to.be(200); + expect(body.currentTimeseries.filter((val) => isFiniteNumber(val.y))).to.empty(); + expect( + (body.comparisonTimeseries || [])?.filter((val) => isFiniteNumber(val.y)) + ).to.empty(); + }); + }); + + describe('when data is loaded', () => { + let apmSynthtraceEsClient: ApmSynthtraceEsClient; + + before(async () => { + apmSynthtraceEsClient = await synthtrace.createApmSynthtraceEsClient(); + + await generateOperationData({ + apmSynthtraceEsClient, + start, + end, + }); + }); + + describe('without spanName', () => { + describe('without a kuery or environment', () => { + it('returns the correct latency', async () => { + const response = await callApi({ + dependencyName: 'elasticsearch', + searchServiceDestinationMetrics: true, + spanName: '', + metric: 'latency', + }); + + const searchRate = + ES_SEARCH_FAILURE_RATE + ES_SEARCH_SUCCESS_RATE + ES_SEARCH_UNKNOWN_RATE; + const bulkRate = ES_BULK_RATE; + + expect(avg(response.body.currentTimeseries)).to.eql( + roundNumber( + ((ES_SEARCH_DURATION * searchRate + ES_BULK_DURATION * bulkRate) / + (searchRate + bulkRate)) * + 1000 + ) + ); + }); + + it('returns the correct throughput', async () => { + const response = await callApi({ + dependencyName: 'redis', + searchServiceDestinationMetrics: true, + spanName: '', + metric: 'throughput', + }); + + expect(avg(response.body.currentTimeseries)).to.eql(REDIS_SET_RATE); + }); + + it('returns the correct failure rate', async () => { + const response = await callApi({ + dependencyName: 'elasticsearch', + searchServiceDestinationMetrics: true, + spanName: '', + metric: 'error_rate', + }); + + const expectedErrorRate = + ES_SEARCH_FAILURE_RATE / (ES_SEARCH_FAILURE_RATE + ES_SEARCH_SUCCESS_RATE); + + expect(avg(response.body.currentTimeseries)).to.eql(expectedErrorRate); + }); + }); + + describe('with a kuery', () => { + it('returns the correct latency', async () => { + const response = await callApi({ + dependencyName: 'elasticsearch', + searchServiceDestinationMetrics: true, + spanName: '', + metric: 'latency', + kuery: `event.outcome:unknown`, + }); + + const searchRate = ES_SEARCH_UNKNOWN_RATE; + const bulkRate = ES_BULK_RATE; + + expect(avg(response.body.currentTimeseries)).to.eql( + roundNumber( + ((ES_SEARCH_DURATION * searchRate + ES_BULK_DURATION * bulkRate) / + (searchRate + bulkRate)) * + 1000 + ) + ); + }); + + it('returns the correct throughput', async () => { + const response = await callApi({ + dependencyName: 'elasticsearch', + searchServiceDestinationMetrics: true, + spanName: '', + metric: 'throughput', + kuery: `event.outcome:unknown`, + }); + + const searchRate = ES_SEARCH_UNKNOWN_RATE; + const bulkRate = ES_BULK_RATE; + + expect(avg(response.body.currentTimeseries)).to.eql(roundNumber(searchRate + bulkRate)); + }); + + it('returns the correct failure rate', async () => { + const response = await callApi({ + dependencyName: 'elasticsearch', + searchServiceDestinationMetrics: true, + spanName: '', + metric: 'error_rate', + kuery: 'event.outcome:success', + }); + + expect(avg(response.body.currentTimeseries)).to.eql(0); + }); + }); + + describe('with an environment', () => { + it('returns the correct latency', async () => { + const response = await callApi({ + dependencyName: 'elasticsearch', + searchServiceDestinationMetrics: true, + spanName: '', + metric: 'latency', + environment: 'production', + }); + + const searchRate = ES_SEARCH_UNKNOWN_RATE; + const bulkRate = 0; + + expect(avg(response.body.currentTimeseries)).to.eql( + roundNumber( + ((ES_SEARCH_DURATION * searchRate + ES_BULK_DURATION * bulkRate) / + (searchRate + bulkRate)) * + 1000 + ) + ); + }); + + it('returns the correct throughput', async () => { + const response = await callApi({ + dependencyName: 'elasticsearch', + searchServiceDestinationMetrics: true, + spanName: '', + metric: 'throughput', + environment: 'production', + }); + + const searchRate = + ES_SEARCH_FAILURE_RATE + ES_SEARCH_SUCCESS_RATE + ES_SEARCH_UNKNOWN_RATE; + const bulkRate = 0; + + expect(avg(response.body.currentTimeseries)).to.eql(roundNumber(searchRate + bulkRate)); + }); + + it('returns the correct failure rate', async () => { + const response = await callApi({ + dependencyName: 'elasticsearch', + searchServiceDestinationMetrics: true, + spanName: '', + metric: 'error_rate', + environment: 'development', + }); + + expect(avg(response.body.currentTimeseries)).to.eql(null); + }); + }); + }); + + describe('with spanName', () => { + it('returns the correct latency', async () => { + const response = await callApi({ + dependencyName: 'elasticsearch', + searchServiceDestinationMetrics: false, + spanName: '/_search', + metric: 'latency', + }); + + const searchRate = + ES_SEARCH_FAILURE_RATE + ES_SEARCH_SUCCESS_RATE + ES_SEARCH_UNKNOWN_RATE; + const bulkRate = 0; + + expect(avg(response.body.currentTimeseries)).to.eql( + roundNumber( + ((ES_SEARCH_DURATION * searchRate + ES_BULK_DURATION * bulkRate) / + (searchRate + bulkRate)) * + 1000 + ) + ); + }); + + it('returns the correct throughput', async () => { + const response = await callApi({ + dependencyName: 'redis', + searchServiceDestinationMetrics: false, + spanName: 'SET', + metric: 'throughput', + }); + + expect(avg(response.body.currentTimeseries)).to.eql(REDIS_SET_RATE); + }); + + it('returns the correct failure rate', async () => { + const response = await callApi({ + dependencyName: 'elasticsearch', + searchServiceDestinationMetrics: false, + spanName: '/_bulk', + metric: 'error_rate', + }); + + expect(avg(response.body.currentTimeseries)).to.eql(null); + }); + }); + + after(() => apmSynthtraceEsClient.clean()); + }); + }); +} diff --git a/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/generate_data.ts similarity index 100% rename from x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts rename to x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/generate_data.ts diff --git a/x-pack/test/apm_api_integration/tests/dependencies/generate_operation_data.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/generate_operation_data.ts similarity index 97% rename from x-pack/test/apm_api_integration/tests/dependencies/generate_operation_data.ts rename to x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/generate_operation_data.ts index 97d7c35e23733..be6ca630973bd 100644 --- a/x-pack/test/apm_api_integration/tests/dependencies/generate_operation_data.ts +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/generate_operation_data.ts @@ -5,7 +5,7 @@ * 2.0. */ import { apm, timerange } from '@kbn/apm-synthtrace-client'; -import { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import type { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; export const generateOperationDataConfig = { ES_SEARCH_DURATION: 100, diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/index.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/index.ts new file mode 100644 index 0000000000000..2acf449ce923d --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/index.ts @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context'; + +export default function ({ loadTestFile }: DeploymentAgnosticFtrProviderContext) { + describe('custom_dashboards', () => { + loadTestFile(require.resolve('./dependency_metrics.spec.ts')); + loadTestFile(require.resolve('./metadata.spec.ts')); + loadTestFile(require.resolve('./service_dependencies.spec.ts')); + loadTestFile(require.resolve('./top_dependencies.spec.ts')); + loadTestFile(require.resolve('./top_operations.spec.ts')); + loadTestFile(require.resolve('./top_spans.spec.ts')); + loadTestFile(require.resolve('./upstream_services.spec.ts')); + }); +} diff --git a/x-pack/test/apm_api_integration/tests/dependencies/metadata.spec.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/metadata.spec.ts similarity index 69% rename from x-pack/test/apm_api_integration/tests/dependencies/metadata.spec.ts rename to x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/metadata.spec.ts index 33b81c8599111..849cb15290589 100644 --- a/x-pack/test/apm_api_integration/tests/dependencies/metadata.spec.ts +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/metadata.spec.ts @@ -5,13 +5,13 @@ * 2.0. */ import expect from '@kbn/expect'; -import { FtrProviderContext } from '../../common/ftr_provider_context'; +import type { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import type { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context'; import { dataConfig, generateData } from './generate_data'; -export default function ApiTest({ getService }: FtrProviderContext) { - const registry = getService('registry'); - const apmApiClient = getService('apmApiClient'); - const apmSynthtraceEsClient = getService('apmSynthtraceEsClient'); +export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderContext) { + const apmApiClient = getService('apmApi'); + const synthtrace = getService('synthtrace'); const start = new Date('2021-01-01T00:00:00.000Z').getTime(); const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; @@ -29,24 +29,23 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); } - registry.when( - 'Dependency metadata when data is not loaded', - { config: 'basic', archives: [] }, - () => { + describe('Dependency metadata', () => { + describe('when data is not loaded', () => { it('handles empty state', async () => { const { status, body } = await callApi(); expect(status).to.be(200); expect(body.metadata).to.empty(); }); - } - ); + }); + + describe('when data is generated', () => { + let apmSynthtraceEsClient: ApmSynthtraceEsClient; + + before(async () => { + apmSynthtraceEsClient = await synthtrace.createApmSynthtraceEsClient(); + }); - // FLAKY: https://github.com/elastic/kibana/issues/177122 - registry.when( - 'Dependency metadata when data is generated', - { config: 'basic', archives: [] }, - () => { after(() => apmSynthtraceEsClient.clean()); it('returns correct metadata for the dependency', async () => { @@ -61,6 +60,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { await apmSynthtraceEsClient.clean(); }); - } - ); + }); + }); } diff --git a/x-pack/test/apm_api_integration/tests/dependencies/service_dependencies.spec.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/service_dependencies.spec.ts similarity index 52% rename from x-pack/test/apm_api_integration/tests/dependencies/service_dependencies.spec.ts rename to x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/service_dependencies.spec.ts index be6b0898030cf..4105989e5509b 100644 --- a/x-pack/test/apm_api_integration/tests/dependencies/service_dependencies.spec.ts +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/service_dependencies.spec.ts @@ -6,13 +6,13 @@ */ import expect from '@kbn/expect'; import { DependencyNode } from '@kbn/apm-plugin/common/connections'; -import { FtrProviderContext } from '../../common/ftr_provider_context'; +import type { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import type { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context'; import { generateData } from './generate_data'; -export default function ApiTest({ getService }: FtrProviderContext) { - const apmApiClient = getService('apmApiClient'); - const apmSynthtraceEsClient = getService('apmSynthtraceEsClient'); - const registry = getService('registry'); +export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderContext) { + const apmApiClient = getService('apmApi'); + const synthtrace = getService('synthtrace'); const start = new Date('2021-01-01T00:00:00.000Z').getTime(); const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; const dependencyName = 'elasticsearch'; @@ -34,61 +34,21 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); } - registry.when( - 'Dependency for service when data is not loaded', - { config: 'basic', archives: [] }, - () => { + describe('Dependency for service', () => { + describe('when data is not loaded', () => { it('handles empty state #1', async () => { const { status, body } = await callApi(); expect(status).to.be(200); expect(body.serviceDependencies).to.empty(); }); - } - ); - - // FLAKY: https://github.com/elastic/kibana/issues/177123 - registry.when('Dependency for services', { config: 'basic', archives: [] }, () => { - describe('when data is loaded', () => { - before(async () => { - await generateData({ apmSynthtraceEsClient, start, end }); - }); - after(() => apmSynthtraceEsClient.clean()); - - it('returns a list of dependencies for a service', async () => { - const { status, body } = await callApi(); - - expect(status).to.be(200); - expect( - body.serviceDependencies.map( - ({ location }) => (location as DependencyNode).dependencyName - ) - ).to.eql([dependencyName]); - - const currentStatsLatencyValues = - body.serviceDependencies[0].currentStats.latency.timeseries; - expect(currentStatsLatencyValues.every(({ y }) => y === 1000000)).to.be(true); - }); }); - }); - - registry.when( - 'Dependency for service breakdown when data is not loaded', - { config: 'basic', archives: [] }, - () => { - it('handles empty state #2', async () => { - const { status, body } = await callApi(); - expect(status).to.be(200); - expect(body.serviceDependencies).to.empty(); - }); - } - ); + describe('when data is loaded', () => { + let apmSynthtraceEsClient: ApmSynthtraceEsClient; - // FLAKY: https://github.com/elastic/kibana/issues/177125 - registry.when('Dependency for services breakdown', { config: 'basic', archives: [] }, () => { - describe('when data is loaded - breakdown', () => { before(async () => { + apmSynthtraceEsClient = await synthtrace.createApmSynthtraceEsClient(); await generateData({ apmSynthtraceEsClient, start, end }); }); after(() => apmSynthtraceEsClient.clean()); diff --git a/x-pack/test/apm_api_integration/tests/dependencies/top_dependencies.spec.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/top_dependencies.spec.ts similarity index 86% rename from x-pack/test/apm_api_integration/tests/dependencies/top_dependencies.spec.ts rename to x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/top_dependencies.spec.ts index acdea5a3d54de..0fa88b67d3379 100644 --- a/x-pack/test/apm_api_integration/tests/dependencies/top_dependencies.spec.ts +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/top_dependencies.spec.ts @@ -7,16 +7,16 @@ import expect from '@kbn/expect'; import { APIReturnType } from '@kbn/apm-plugin/public/services/rest/create_call_apm_api'; import { NodeType, DependencyNode } from '@kbn/apm-plugin/common/connections'; -import { FtrProviderContext } from '../../common/ftr_provider_context'; +import { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import type { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context'; import { dataConfig, generateData } from './generate_data'; -import { roundNumber } from '../../utils'; +import { roundNumber } from '../utils/common'; type TopDependencies = APIReturnType<'GET /internal/apm/dependencies/top_dependencies'>; -export default function ApiTest({ getService }: FtrProviderContext) { - const registry = getService('registry'); - const apmApiClient = getService('apmApiClient'); - const apmSynthtraceEsClient = getService('apmSynthtraceEsClient'); +export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderContext) { + const apmApiClient = getService('apmApi'); + const synthtrace = getService('synthtrace'); const start = new Date('2021-01-01T00:00:00.000Z').getTime(); const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; @@ -37,24 +37,21 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); } - registry.when( - 'Top dependencies when data is not loaded', - { config: 'basic', archives: [] }, - () => { + describe('Top dependencies', () => { + describe('when data is not loaded', () => { it('handles empty state', async () => { const { status, body } = await callApi(); expect(status).to.be(200); expect(body.dependencies).to.empty(); }); - } - ); + }); - // FLAKY: https://github.com/elastic/kibana/issues/177126 - registry.when('Top dependencies', { config: 'basic', archives: [] }, () => { describe('when data is generated', () => { let topDependencies: TopDependencies; + let apmSynthtraceEsClient: ApmSynthtraceEsClient; before(async () => { + apmSynthtraceEsClient = await synthtrace.createApmSynthtraceEsClient(); await generateData({ apmSynthtraceEsClient, start, end }); const response = await callApi(); topDependencies = response.body; diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/top_operations.spec.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/top_operations.spec.ts new file mode 100644 index 0000000000000..10863eca07cf8 --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/top_operations.spec.ts @@ -0,0 +1,280 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from '@kbn/expect'; +import { APIReturnType } from '@kbn/apm-plugin/public/services/rest/create_call_apm_api'; +import { ENVIRONMENT_ALL } from '@kbn/apm-plugin/common/environment_filter_values'; +import { ValuesType } from 'utility-types'; +import { DependencyOperation } from '@kbn/apm-plugin/server/routes/dependencies/get_top_dependency_operations'; +import { meanBy } from 'lodash'; +import type { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import type { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context'; +import { roundNumber } from '../utils/common'; +import { generateOperationData, generateOperationDataConfig } from './generate_operation_data'; + +type TopOperations = APIReturnType<'GET /internal/apm/dependencies/operations'>['operations']; + +const { + ES_BULK_DURATION, + ES_BULK_RATE, + ES_SEARCH_DURATION, + ES_SEARCH_FAILURE_RATE, + ES_SEARCH_SUCCESS_RATE, + ES_SEARCH_UNKNOWN_RATE, + REDIS_SET_DURATION, + REDIS_SET_RATE, +} = generateOperationDataConfig; + +export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderContext) { + const apmApiClient = getService('apmApi'); + const synthtrace = getService('synthtrace'); + + const start = new Date('2021-01-01T00:00:00.000Z').getTime(); + const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; + + async function callApi({ + dependencyName, + environment = ENVIRONMENT_ALL.value, + kuery = '', + searchServiceDestinationMetrics = false, + }: { + dependencyName: string; + environment?: string; + kuery?: string; + searchServiceDestinationMetrics?: boolean; + }) { + return await apmApiClient + .readUser({ + endpoint: 'GET /internal/apm/dependencies/operations', + params: { + query: { + start: new Date(start).toISOString(), + end: new Date(end).toISOString(), + environment, + kuery, + dependencyName, + searchServiceDestinationMetrics, + }, + }, + }) + .then(({ body }) => body.operations); + } + + describe('Top operations', () => { + describe('when data is not loaded', () => { + it('handles empty state', async () => { + const operations = await callApi({ dependencyName: 'elasticsearch' }); + expect(operations).to.empty(); + }); + }); + + describe('when data is generated', () => { + let apmSynthtraceEsClient: ApmSynthtraceEsClient; + + before(async () => { + apmSynthtraceEsClient = await synthtrace.createApmSynthtraceEsClient(); + + return generateOperationData({ + apmSynthtraceEsClient, + start, + end, + }); + }); + + after(() => apmSynthtraceEsClient.clean()); + + describe('requested for elasticsearch', () => { + let response: TopOperations; + let searchOperation: ValuesType; + let bulkOperation: ValuesType; + + before(async () => { + response = await callApi({ dependencyName: 'elasticsearch' }); + searchOperation = response.find((op) => op.spanName === '/_search')!; + bulkOperation = response.find((op) => op.spanName === '/_bulk')!; + }); + + it('returns the correct operations', () => { + expect(response.length).to.eql(2); + + expect(searchOperation).to.be.ok(); + expect(bulkOperation).to.be.ok(); + }); + + it('returns the correct latency', () => { + expect(searchOperation.latency).to.eql(ES_SEARCH_DURATION * 1000); + expect(bulkOperation.latency).to.eql(ES_BULK_DURATION * 1000); + }); + + it('returns the correct throughput', () => { + const expectedSearchThroughput = roundNumber( + ES_SEARCH_UNKNOWN_RATE + ES_SEARCH_SUCCESS_RATE + ES_SEARCH_FAILURE_RATE + ); + const expectedBulkThroughput = ES_BULK_RATE; + + expect(roundNumber(searchOperation.throughput)).to.eql(expectedSearchThroughput); + expect(roundNumber(bulkOperation.throughput)).to.eql(expectedBulkThroughput); + + expect( + searchOperation.timeseries.throughput + .map((bucket) => bucket.y) + .every((val) => val === expectedSearchThroughput) + ); + }); + + it('returns the correct failure rate', () => { + const expectedSearchFailureRate = + ES_SEARCH_FAILURE_RATE / (ES_SEARCH_SUCCESS_RATE + ES_SEARCH_FAILURE_RATE); + const expectedBulkFailureRate = null; + + expect(searchOperation.failureRate).to.be(expectedSearchFailureRate); + + expect(bulkOperation.failureRate).to.be(expectedBulkFailureRate); + + expect( + searchOperation.timeseries.failureRate + .map((bucket) => bucket.y) + .every((val) => val === expectedSearchFailureRate) + ); + + expect( + bulkOperation.timeseries.failureRate + .map((bucket) => bucket.y) + .every((val) => val === expectedBulkFailureRate) + ); + }); + + it('returns the correct impact', () => { + expect(searchOperation.impact).to.eql(0); + expect(bulkOperation.impact).to.eql(100); + }); + }); + + describe('requested for redis', () => { + let response: TopOperations; + let setOperation: ValuesType; + + before(async () => { + response = await callApi({ dependencyName: 'redis' }); + setOperation = response.find((op) => op.spanName === 'SET')!; + }); + + it('returns the correct operations', () => { + expect(response.length).to.eql(1); + + expect(setOperation).to.be.ok(); + }); + + it('returns the correct latency', () => { + expect(setOperation.latency).to.eql(REDIS_SET_DURATION * 1000); + }); + + it('returns the correct throughput', () => { + expect(roundNumber(setOperation.throughput)).to.eql(roundNumber(REDIS_SET_RATE)); + }); + }); + + describe('requested for a specific service', () => { + let response: TopOperations; + let searchOperation: ValuesType; + let bulkOperation: ValuesType | undefined; + + before(async () => { + response = await callApi({ + dependencyName: 'elasticsearch', + kuery: `service.name:"synth-go"`, + }); + searchOperation = response.find((op) => op.spanName === '/_search')!; + bulkOperation = response.find((op) => op.spanName === '/_bulk'); + }); + + it('returns the correct operations', () => { + expect(response.length).to.eql(1); + + expect(searchOperation).to.be.ok(); + expect(bulkOperation).not.to.be.ok(); + }); + }); + + describe('requested for a specific environment', () => { + let response: TopOperations; + let searchOperation: ValuesType | undefined; + let bulkOperation: ValuesType; + + before(async () => { + response = await callApi({ + dependencyName: 'elasticsearch', + environment: 'development', + }); + searchOperation = response.find((op) => op.spanName === '/_search'); + bulkOperation = response.find((op) => op.spanName === '/_bulk')!; + }); + + it('returns the correct operations', () => { + expect(response.length).to.eql(1); + + expect(searchOperation).not.to.be.ok(); + expect(bulkOperation).to.be.ok(); + }); + }); + + describe('Compare span metrics and span events', () => { + let bulkOperationSpanEventsResponse: ValuesType; + let bulkOperationSpanMetricsResponse: ValuesType; + + before(async () => { + const [spanEventsResponse, spanMetricsResponse] = await Promise.all([ + callApi({ dependencyName: 'elasticsearch', searchServiceDestinationMetrics: false }), + callApi({ dependencyName: 'elasticsearch', searchServiceDestinationMetrics: true }), + ]); + function findBulkOperation(op: DependencyOperation) { + return op.spanName === '/_bulk'; + } + bulkOperationSpanEventsResponse = spanEventsResponse.find(findBulkOperation)!; + bulkOperationSpanMetricsResponse = spanMetricsResponse.find(findBulkOperation)!; + }); + + it('returns same latency', () => { + expect(bulkOperationSpanEventsResponse.latency).to.eql( + bulkOperationSpanMetricsResponse.latency + ); + + const meanSpanMetrics = meanBy( + bulkOperationSpanEventsResponse.timeseries.latency.filter(({ y }) => y !== null), + 'y' + ); + const meanSpanEvents = meanBy( + bulkOperationSpanMetricsResponse.timeseries.latency.filter(({ y }) => y !== null), + 'y' + ); + expect(meanSpanMetrics).to.eql(meanSpanEvents); + }); + + it('returns same throughput', () => { + expect(bulkOperationSpanEventsResponse.throughput).to.eql( + bulkOperationSpanMetricsResponse.throughput + ); + + const meanSpanMetrics = meanBy( + bulkOperationSpanEventsResponse.timeseries.throughput.filter(({ y }) => y !== 0), + 'y' + ); + const meanSpanEvents = meanBy( + bulkOperationSpanMetricsResponse.timeseries.throughput.filter(({ y }) => y !== 0), + 'y' + ); + expect(meanSpanMetrics).to.eql(meanSpanEvents); + }); + + it('returns same impact', () => { + expect(bulkOperationSpanEventsResponse.impact).to.eql( + bulkOperationSpanMetricsResponse.impact + ); + }); + }); + }); + }); +} diff --git a/x-pack/test/apm_api_integration/tests/dependencies/top_spans.spec.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/top_spans.spec.ts similarity index 92% rename from x-pack/test/apm_api_integration/tests/dependencies/top_spans.spec.ts rename to x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/top_spans.spec.ts index 1002f6dc09eec..c7e5907edad00 100644 --- a/x-pack/test/apm_api_integration/tests/dependencies/top_spans.spec.ts +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/top_spans.spec.ts @@ -8,12 +8,12 @@ import expect from '@kbn/expect'; import { ENVIRONMENT_ALL } from '@kbn/apm-plugin/common/environment_filter_values'; import { apm, timerange } from '@kbn/apm-synthtrace-client'; import { omit, uniq } from 'lodash'; -import { FtrProviderContext } from '../../common/ftr_provider_context'; +import type { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import type { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context'; -export default function ApiTest({ getService }: FtrProviderContext) { - const registry = getService('registry'); - const apmApiClient = getService('apmApiClient'); - const apmSynthtraceEsClient = getService('apmSynthtraceEsClient'); +export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderContext) { + const apmApiClient = getService('apmApi'); + const synthtrace = getService('synthtrace'); const start = new Date('2021-01-01T00:00:00.000Z').getTime(); const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; @@ -50,10 +50,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); } - registry.when( - 'Top dependency spans when data is not loaded', - { config: 'basic', archives: [] }, - () => { + describe('Top dependency spans', () => { + describe('when data is not loaded', () => { it('handles empty state', async () => { const { body, status } = await callApi({ dependencyName: 'elasticsearch', @@ -63,14 +61,9 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(status).to.be(200); expect(body.spans).to.empty(); }); - } - ); - - // FLAKY: https://github.com/elastic/kibana/issues/177135 - registry.when( - 'Top dependency spans when data is loaded', - { config: 'basic', archives: [] }, - () => { + }); + + describe('when data is loaded', () => { const javaInstance = apm .service({ name: 'java', environment: 'production', agentName: 'java' }) .instance('instance-a'); @@ -78,8 +71,11 @@ export default function ApiTest({ getService }: FtrProviderContext) { const goInstance = apm .service({ name: 'go', environment: 'development', agentName: 'go' }) .instance('instance-a'); + let apmSynthtraceEsClient: ApmSynthtraceEsClient; before(async () => { + apmSynthtraceEsClient = await synthtrace.createApmSynthtraceEsClient(); + await apmSynthtraceEsClient.index([ timerange(start, end) .interval('1m') @@ -240,6 +236,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); after(() => apmSynthtraceEsClient.clean()); - } - ); + }); + }); } diff --git a/x-pack/test/apm_api_integration/tests/dependencies/upstream_services.spec.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/upstream_services.spec.ts similarity index 76% rename from x-pack/test/apm_api_integration/tests/dependencies/upstream_services.spec.ts rename to x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/upstream_services.spec.ts index 1a7e958881d96..42d0a66c31a89 100644 --- a/x-pack/test/apm_api_integration/tests/dependencies/upstream_services.spec.ts +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/dependencies/upstream_services.spec.ts @@ -6,13 +6,13 @@ */ import expect from '@kbn/expect'; import { ServiceNode } from '@kbn/apm-plugin/common/connections'; -import { FtrProviderContext } from '../../common/ftr_provider_context'; +import type { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import type { DeploymentAgnosticFtrProviderContext } from '../../../../ftr_provider_context'; import { generateData } from './generate_data'; -export default function ApiTest({ getService }: FtrProviderContext) { - const apmApiClient = getService('apmApiClient'); - const apmSynthtraceEsClient = getService('apmSynthtraceEsClient'); - const registry = getService('registry'); +export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderContext) { + const apmApiClient = getService('apmApi'); + const synthtrace = getService('synthtrace'); const start = new Date('2021-01-01T00:00:00.000Z').getTime(); const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; const dependencyName = 'elasticsearch'; @@ -34,23 +34,22 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); } - registry.when( - 'Dependency upstream services when data is not loaded', - { config: 'basic', archives: [] }, - () => { + describe('Dependency upstream services', () => { + describe('when data is not loaded', () => { it('handles empty state', async () => { const { status, body } = await callApi(); expect(status).to.be(200); expect(body.services).to.empty(); }); - } - ); + }); - // FLAKY: https://github.com/elastic/kibana/issues/177137 - registry.when('Dependency upstream services', { config: 'basic', archives: [] }, () => { describe('when data is loaded', () => { + let apmSynthtraceEsClient: ApmSynthtraceEsClient; + before(async () => { + apmSynthtraceEsClient = await synthtrace.createApmSynthtraceEsClient(); + await generateData({ apmSynthtraceEsClient, start, end }); }); after(() => apmSynthtraceEsClient.clean()); diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/index.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/index.ts index a62c11d40b1af..abc7f72945e2e 100644 --- a/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/index.ts +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/index.ts @@ -12,5 +12,7 @@ export default function apmApiIntegrationTests({ }: DeploymentAgnosticFtrProviderContext) { describe('APM', function () { loadTestFile(require.resolve('./agent_explorer')); + loadTestFile(require.resolve('./custom_dashboards')); + loadTestFile(require.resolve('./dependencies')); }); } diff --git a/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/utils/common.ts b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/utils/common.ts new file mode 100644 index 0000000000000..8f5ff9822e22d --- /dev/null +++ b/x-pack/test/api_integration/deployment_agnostic/apis/observability/apm/utils/common.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { isFiniteNumber } from '@kbn/apm-plugin/common/utils/is_finite_number'; +import { Maybe } from '@kbn/apm-plugin/typings/common'; + +export function roundNumber(num: Maybe) { + return isFiniteNumber(num) ? Number(num.toPrecision(4)) : null; +} diff --git a/x-pack/test/apm_api_integration/tests/custom_dashboards/custom_dashboards.spec.ts b/x-pack/test/apm_api_integration/tests/custom_dashboards/custom_dashboards.spec.ts deleted file mode 100644 index cc957bfc47711..0000000000000 --- a/x-pack/test/apm_api_integration/tests/custom_dashboards/custom_dashboards.spec.ts +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import expect from '@kbn/expect'; -import { apm, timerange } from '@kbn/apm-synthtrace-client'; - -import { FtrProviderContext } from '../../common/ftr_provider_context'; -import { - getServiceDashboardApi, - getLinkServiceDashboardApi, - deleteAllServiceDashboard, -} from './api_helper'; - -export default function ApiTest({ getService }: FtrProviderContext) { - const registry = getService('registry'); - const apmApiClient = getService('apmApiClient'); - const synthtrace = getService('apmSynthtraceEsClient'); - - const start = '2023-08-22T00:00:00.000Z'; - const end = '2023-08-22T00:15:00.000Z'; - - registry.when( - 'Service dashboards when data is not loaded', - { config: 'basic', archives: [] }, - () => { - describe('when data is not loaded', () => { - it('handles empty state', async () => { - const response = await getServiceDashboardApi(apmApiClient, 'synth-go', start, end); - expect(response.status).to.be(200); - expect(response.body.serviceDashboards).to.eql([]); - }); - }); - } - ); - - // FLAKY: https://github.com/elastic/kibana/issues/177119 - registry.when('Service dashboards when data is loaded', { config: 'basic', archives: [] }, () => { - const range = timerange(new Date(start).getTime(), new Date(end).getTime()); - - const goInstance = apm - .service({ - name: 'synth-go', - environment: 'production', - agentName: 'go', - }) - .instance('go-instance'); - - const javaInstance = apm - .service({ - name: 'synth-java', - environment: 'production', - agentName: 'java', - }) - .instance('java-instance'); - - before(async () => { - return synthtrace.index([ - range - .interval('1s') - .rate(4) - .generator((timestamp) => - goInstance - .transaction({ transactionName: 'GET /api' }) - .timestamp(timestamp) - .duration(1000) - .success() - ), - range - .interval('1s') - .rate(4) - .generator((timestamp) => - javaInstance - .transaction({ transactionName: 'GET /api' }) - .timestamp(timestamp) - .duration(1000) - .success() - ), - ]); - }); - - after(() => { - return synthtrace.clean(); - }); - - afterEach(async () => { - await deleteAllServiceDashboard(apmApiClient, 'synth-go', start, end); - }); - - describe('and when data is not loaded', () => { - it('creates a new service dashboard', async () => { - const serviceDashboard = { - dashboardSavedObjectId: 'dashboard-saved-object-id', - serviceFiltersEnabled: true, - kuery: 'service.name: synth-go', - }; - const createResponse = await getLinkServiceDashboardApi({ - apmApiClient, - ...serviceDashboard, - }); - expect(createResponse.status).to.be(200); - expect(createResponse.body).to.have.property('id'); - expect(createResponse.body).to.have.property('updatedAt'); - - expect(createResponse.body).to.have.property( - 'dashboardSavedObjectId', - serviceDashboard.dashboardSavedObjectId - ); - expect(createResponse.body).to.have.property('kuery', serviceDashboard.kuery); - expect(createResponse.body).to.have.property( - 'serviceEnvironmentFilterEnabled', - serviceDashboard.serviceFiltersEnabled - ); - expect(createResponse.body).to.have.property( - 'serviceNameFilterEnabled', - serviceDashboard.serviceFiltersEnabled - ); - - const dasboardForGoService = await getServiceDashboardApi( - apmApiClient, - 'synth-go', - start, - end - ); - const dashboardForJavaService = await getServiceDashboardApi( - apmApiClient, - 'synth-java', - start, - end - ); - expect(dashboardForJavaService.body.serviceDashboards.length).to.be(0); - expect(dasboardForGoService.body.serviceDashboards.length).to.be(1); - }); - - it('updates the existing linked service dashboard', async () => { - const serviceDashboard = { - dashboardSavedObjectId: 'dashboard-saved-object-id', - serviceFiltersEnabled: true, - kuery: 'service.name: synth-go or agent.name: java', - }; - - await getLinkServiceDashboardApi({ - apmApiClient, - ...serviceDashboard, - }); - - const dasboardForGoService = await getServiceDashboardApi( - apmApiClient, - 'synth-go', - start, - end - ); - - const updateResponse = await getLinkServiceDashboardApi({ - apmApiClient, - customDashboardId: dasboardForGoService.body.serviceDashboards[0].id, - ...serviceDashboard, - serviceFiltersEnabled: true, - }); - - expect(updateResponse.status).to.be(200); - - const updateddasboardForGoService = await getServiceDashboardApi( - apmApiClient, - 'synth-go', - start, - end - ); - expect(updateddasboardForGoService.body.serviceDashboards.length).to.be(1); - expect(updateddasboardForGoService.body.serviceDashboards[0]).to.have.property( - 'serviceEnvironmentFilterEnabled', - true - ); - expect(updateddasboardForGoService.body.serviceDashboards[0]).to.have.property( - 'serviceNameFilterEnabled', - true - ); - expect(updateddasboardForGoService.body.serviceDashboards[0]).to.have.property( - 'kuery', - 'service.name: synth-go or agent.name: java' - ); - - const dashboardForJavaService = await getServiceDashboardApi( - apmApiClient, - 'synth-java', - start, - end - ); - expect(dashboardForJavaService.body.serviceDashboards.length).to.be(1); - }); - }); - }); -} diff --git a/x-pack/test/apm_api_integration/tests/dependencies/dependency_metrics.spec.ts b/x-pack/test/apm_api_integration/tests/dependencies/dependency_metrics.spec.ts deleted file mode 100644 index c9cb6aea71306..0000000000000 --- a/x-pack/test/apm_api_integration/tests/dependencies/dependency_metrics.spec.ts +++ /dev/null @@ -1,304 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import expect from '@kbn/expect'; -import { sum } from 'lodash'; -import { isFiniteNumber } from '@kbn/apm-plugin/common/utils/is_finite_number'; -import { Coordinate } from '@kbn/apm-plugin/typings/timeseries'; -import { ENVIRONMENT_ALL } from '@kbn/apm-plugin/common/environment_filter_values'; -import { FtrProviderContext } from '../../common/ftr_provider_context'; -import { roundNumber } from '../../utils'; -import { generateOperationData, generateOperationDataConfig } from './generate_operation_data'; -import { SupertestReturnType } from '../../common/apm_api_supertest'; - -const { - ES_BULK_DURATION, - ES_BULK_RATE, - ES_SEARCH_DURATION, - ES_SEARCH_FAILURE_RATE, - ES_SEARCH_SUCCESS_RATE, - ES_SEARCH_UNKNOWN_RATE, - REDIS_SET_RATE, -} = generateOperationDataConfig; - -export default function ApiTest({ getService }: FtrProviderContext) { - const registry = getService('registry'); - const apmApiClient = getService('apmApiClient'); - const apmSynthtraceEsClient = getService('apmSynthtraceEsClient'); - - const start = new Date('2021-01-01T00:00:00.000Z').getTime(); - const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; - - async function callApi({ - dependencyName, - searchServiceDestinationMetrics, - spanName = '', - metric, - kuery = '', - environment = ENVIRONMENT_ALL.value, - }: { - dependencyName: string; - searchServiceDestinationMetrics: boolean; - spanName?: string; - metric: TMetricName; - kuery?: string; - environment?: string; - }): Promise> { - return await apmApiClient.readUser({ - endpoint: `GET /internal/apm/dependencies/charts/${ - metric as 'latency' | 'throughput' | 'error_rate' - }`, - params: { - query: { - dependencyName, - start: new Date(start).toISOString(), - end: new Date(end).toISOString(), - environment, - kuery, - offset: '', - spanName, - searchServiceDestinationMetrics, - }, - }, - }); - } - - function avg(coordinates: Coordinate[]) { - const values = coordinates - .filter((coord): coord is { x: number; y: number } => isFiniteNumber(coord.y)) - .map((coord) => coord.y); - - return roundNumber(sum(values) / values.length); - } - - registry.when( - 'Dependency metrics when data is not loaded', - { config: 'basic', archives: [] }, - () => { - it('handles empty state', async () => { - const { body, status } = await callApi({ - dependencyName: 'elasticsearch', - metric: 'latency', - searchServiceDestinationMetrics: true, - }); - - expect(status).to.be(200); - expect(body.currentTimeseries.filter((val) => isFiniteNumber(val.y))).to.empty(); - expect( - (body.comparisonTimeseries || [])?.filter((val) => isFiniteNumber(val.y)) - ).to.empty(); - }); - } - ); - - // FLAKY: https://github.com/elastic/kibana/issues/177121 - registry.when('Dependency metrics when data is loaded', { config: 'basic', archives: [] }, () => { - before(async () => { - await generateOperationData({ - apmSynthtraceEsClient, - start, - end, - }); - }); - - describe('without spanName', () => { - describe('without a kuery or environment', () => { - it('returns the correct latency', async () => { - const response = await callApi({ - dependencyName: 'elasticsearch', - searchServiceDestinationMetrics: true, - spanName: '', - metric: 'latency', - }); - - const searchRate = - ES_SEARCH_FAILURE_RATE + ES_SEARCH_SUCCESS_RATE + ES_SEARCH_UNKNOWN_RATE; - const bulkRate = ES_BULK_RATE; - - expect(avg(response.body.currentTimeseries)).to.eql( - roundNumber( - ((ES_SEARCH_DURATION * searchRate + ES_BULK_DURATION * bulkRate) / - (searchRate + bulkRate)) * - 1000 - ) - ); - }); - - it('returns the correct throughput', async () => { - const response = await callApi({ - dependencyName: 'redis', - searchServiceDestinationMetrics: true, - spanName: '', - metric: 'throughput', - }); - - expect(avg(response.body.currentTimeseries)).to.eql(REDIS_SET_RATE); - }); - - it('returns the correct failure rate', async () => { - const response = await callApi({ - dependencyName: 'elasticsearch', - searchServiceDestinationMetrics: true, - spanName: '', - metric: 'error_rate', - }); - - const expectedErrorRate = - ES_SEARCH_FAILURE_RATE / (ES_SEARCH_FAILURE_RATE + ES_SEARCH_SUCCESS_RATE); - - expect(avg(response.body.currentTimeseries)).to.eql(expectedErrorRate); - }); - }); - - describe('with a kuery', () => { - it('returns the correct latency', async () => { - const response = await callApi({ - dependencyName: 'elasticsearch', - searchServiceDestinationMetrics: true, - spanName: '', - metric: 'latency', - kuery: `event.outcome:unknown`, - }); - - const searchRate = ES_SEARCH_UNKNOWN_RATE; - const bulkRate = ES_BULK_RATE; - - expect(avg(response.body.currentTimeseries)).to.eql( - roundNumber( - ((ES_SEARCH_DURATION * searchRate + ES_BULK_DURATION * bulkRate) / - (searchRate + bulkRate)) * - 1000 - ) - ); - }); - - it('returns the correct throughput', async () => { - const response = await callApi({ - dependencyName: 'elasticsearch', - searchServiceDestinationMetrics: true, - spanName: '', - metric: 'throughput', - kuery: `event.outcome:unknown`, - }); - - const searchRate = ES_SEARCH_UNKNOWN_RATE; - const bulkRate = ES_BULK_RATE; - - expect(avg(response.body.currentTimeseries)).to.eql(roundNumber(searchRate + bulkRate)); - }); - - it('returns the correct failure rate', async () => { - const response = await callApi({ - dependencyName: 'elasticsearch', - searchServiceDestinationMetrics: true, - spanName: '', - metric: 'error_rate', - kuery: 'event.outcome:success', - }); - - expect(avg(response.body.currentTimeseries)).to.eql(0); - }); - }); - - describe('with an environment', () => { - it('returns the correct latency', async () => { - const response = await callApi({ - dependencyName: 'elasticsearch', - searchServiceDestinationMetrics: true, - spanName: '', - metric: 'latency', - environment: 'production', - }); - - const searchRate = ES_SEARCH_UNKNOWN_RATE; - const bulkRate = 0; - - expect(avg(response.body.currentTimeseries)).to.eql( - roundNumber( - ((ES_SEARCH_DURATION * searchRate + ES_BULK_DURATION * bulkRate) / - (searchRate + bulkRate)) * - 1000 - ) - ); - }); - - it('returns the correct throughput', async () => { - const response = await callApi({ - dependencyName: 'elasticsearch', - searchServiceDestinationMetrics: true, - spanName: '', - metric: 'throughput', - environment: 'production', - }); - - const searchRate = - ES_SEARCH_FAILURE_RATE + ES_SEARCH_SUCCESS_RATE + ES_SEARCH_UNKNOWN_RATE; - const bulkRate = 0; - - expect(avg(response.body.currentTimeseries)).to.eql(roundNumber(searchRate + bulkRate)); - }); - - it('returns the correct failure rate', async () => { - const response = await callApi({ - dependencyName: 'elasticsearch', - searchServiceDestinationMetrics: true, - spanName: '', - metric: 'error_rate', - environment: 'development', - }); - - expect(avg(response.body.currentTimeseries)).to.eql(null); - }); - }); - }); - - describe('with spanName', () => { - it('returns the correct latency', async () => { - const response = await callApi({ - dependencyName: 'elasticsearch', - searchServiceDestinationMetrics: false, - spanName: '/_search', - metric: 'latency', - }); - - const searchRate = ES_SEARCH_FAILURE_RATE + ES_SEARCH_SUCCESS_RATE + ES_SEARCH_UNKNOWN_RATE; - const bulkRate = 0; - - expect(avg(response.body.currentTimeseries)).to.eql( - roundNumber( - ((ES_SEARCH_DURATION * searchRate + ES_BULK_DURATION * bulkRate) / - (searchRate + bulkRate)) * - 1000 - ) - ); - }); - - it('returns the correct throughput', async () => { - const response = await callApi({ - dependencyName: 'redis', - searchServiceDestinationMetrics: false, - spanName: 'SET', - metric: 'throughput', - }); - - expect(avg(response.body.currentTimeseries)).to.eql(REDIS_SET_RATE); - }); - - it('returns the correct failure rate', async () => { - const response = await callApi({ - dependencyName: 'elasticsearch', - searchServiceDestinationMetrics: false, - spanName: '/_bulk', - metric: 'error_rate', - }); - - expect(avg(response.body.currentTimeseries)).to.eql(null); - }); - }); - - after(() => apmSynthtraceEsClient.clean()); - }); -} diff --git a/x-pack/test/apm_api_integration/tests/dependencies/top_operations.spec.ts b/x-pack/test/apm_api_integration/tests/dependencies/top_operations.spec.ts deleted file mode 100644 index 20a38369bcd5d..0000000000000 --- a/x-pack/test/apm_api_integration/tests/dependencies/top_operations.spec.ts +++ /dev/null @@ -1,275 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import expect from '@kbn/expect'; -import { APIReturnType } from '@kbn/apm-plugin/public/services/rest/create_call_apm_api'; -import { ENVIRONMENT_ALL } from '@kbn/apm-plugin/common/environment_filter_values'; -import { ValuesType } from 'utility-types'; -import { DependencyOperation } from '@kbn/apm-plugin/server/routes/dependencies/get_top_dependency_operations'; -import { meanBy } from 'lodash'; -import { FtrProviderContext } from '../../common/ftr_provider_context'; -import { roundNumber } from '../../utils'; -import { generateOperationData, generateOperationDataConfig } from './generate_operation_data'; - -type TopOperations = APIReturnType<'GET /internal/apm/dependencies/operations'>['operations']; - -const { - ES_BULK_DURATION, - ES_BULK_RATE, - ES_SEARCH_DURATION, - ES_SEARCH_FAILURE_RATE, - ES_SEARCH_SUCCESS_RATE, - ES_SEARCH_UNKNOWN_RATE, - REDIS_SET_DURATION, - REDIS_SET_RATE, -} = generateOperationDataConfig; - -export default function ApiTest({ getService }: FtrProviderContext) { - const registry = getService('registry'); - const apmApiClient = getService('apmApiClient'); - const apmSynthtraceEsClient = getService('apmSynthtraceEsClient'); - - const start = new Date('2021-01-01T00:00:00.000Z').getTime(); - const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; - - async function callApi({ - dependencyName, - environment = ENVIRONMENT_ALL.value, - kuery = '', - searchServiceDestinationMetrics = false, - }: { - dependencyName: string; - environment?: string; - kuery?: string; - searchServiceDestinationMetrics?: boolean; - }) { - return await apmApiClient - .readUser({ - endpoint: 'GET /internal/apm/dependencies/operations', - params: { - query: { - start: new Date(start).toISOString(), - end: new Date(end).toISOString(), - environment, - kuery, - dependencyName, - searchServiceDestinationMetrics, - }, - }, - }) - .then(({ body }) => body.operations); - } - - registry.when('Top operations when data is not loaded', { config: 'basic', archives: [] }, () => { - it('handles empty state', async () => { - const operations = await callApi({ dependencyName: 'elasticsearch' }); - expect(operations).to.empty(); - }); - }); - - // FLAKY: https://github.com/elastic/kibana/issues/177128 - registry.when('Top operations when data is generated', { config: 'basic', archives: [] }, () => { - before(() => - generateOperationData({ - apmSynthtraceEsClient, - start, - end, - }) - ); - - after(() => apmSynthtraceEsClient.clean()); - - describe('requested for elasticsearch', () => { - let response: TopOperations; - let searchOperation: ValuesType; - let bulkOperation: ValuesType; - - before(async () => { - response = await callApi({ dependencyName: 'elasticsearch' }); - searchOperation = response.find((op) => op.spanName === '/_search')!; - bulkOperation = response.find((op) => op.spanName === '/_bulk')!; - }); - - it('returns the correct operations', () => { - expect(response.length).to.eql(2); - - expect(searchOperation).to.be.ok(); - expect(bulkOperation).to.be.ok(); - }); - - it('returns the correct latency', () => { - expect(searchOperation.latency).to.eql(ES_SEARCH_DURATION * 1000); - expect(bulkOperation.latency).to.eql(ES_BULK_DURATION * 1000); - }); - - it('returns the correct throughput', () => { - const expectedSearchThroughput = roundNumber( - ES_SEARCH_UNKNOWN_RATE + ES_SEARCH_SUCCESS_RATE + ES_SEARCH_FAILURE_RATE - ); - const expectedBulkThroughput = ES_BULK_RATE; - - expect(roundNumber(searchOperation.throughput)).to.eql(expectedSearchThroughput); - expect(roundNumber(bulkOperation.throughput)).to.eql(expectedBulkThroughput); - - expect( - searchOperation.timeseries.throughput - .map((bucket) => bucket.y) - .every((val) => val === expectedSearchThroughput) - ); - }); - - it('returns the correct failure rate', () => { - const expectedSearchFailureRate = - ES_SEARCH_FAILURE_RATE / (ES_SEARCH_SUCCESS_RATE + ES_SEARCH_FAILURE_RATE); - const expectedBulkFailureRate = null; - - expect(searchOperation.failureRate).to.be(expectedSearchFailureRate); - - expect(bulkOperation.failureRate).to.be(expectedBulkFailureRate); - - expect( - searchOperation.timeseries.failureRate - .map((bucket) => bucket.y) - .every((val) => val === expectedSearchFailureRate) - ); - - expect( - bulkOperation.timeseries.failureRate - .map((bucket) => bucket.y) - .every((val) => val === expectedBulkFailureRate) - ); - }); - - it('returns the correct impact', () => { - expect(searchOperation.impact).to.eql(0); - expect(bulkOperation.impact).to.eql(100); - }); - }); - - describe('requested for redis', () => { - let response: TopOperations; - let setOperation: ValuesType; - - before(async () => { - response = await callApi({ dependencyName: 'redis' }); - setOperation = response.find((op) => op.spanName === 'SET')!; - }); - - it('returns the correct operations', () => { - expect(response.length).to.eql(1); - - expect(setOperation).to.be.ok(); - }); - - it('returns the correct latency', () => { - expect(setOperation.latency).to.eql(REDIS_SET_DURATION * 1000); - }); - - it('returns the correct throughput', () => { - expect(roundNumber(setOperation.throughput)).to.eql(roundNumber(REDIS_SET_RATE)); - }); - }); - - describe('requested for a specific service', () => { - let response: TopOperations; - let searchOperation: ValuesType; - let bulkOperation: ValuesType | undefined; - - before(async () => { - response = await callApi({ - dependencyName: 'elasticsearch', - kuery: `service.name:"synth-go"`, - }); - searchOperation = response.find((op) => op.spanName === '/_search')!; - bulkOperation = response.find((op) => op.spanName === '/_bulk'); - }); - - it('returns the correct operations', () => { - expect(response.length).to.eql(1); - - expect(searchOperation).to.be.ok(); - expect(bulkOperation).not.to.be.ok(); - }); - }); - - describe('requested for a specific environment', () => { - let response: TopOperations; - let searchOperation: ValuesType | undefined; - let bulkOperation: ValuesType; - - before(async () => { - response = await callApi({ - dependencyName: 'elasticsearch', - environment: 'development', - }); - searchOperation = response.find((op) => op.spanName === '/_search'); - bulkOperation = response.find((op) => op.spanName === '/_bulk')!; - }); - - it('returns the correct operations', () => { - expect(response.length).to.eql(1); - - expect(searchOperation).not.to.be.ok(); - expect(bulkOperation).to.be.ok(); - }); - }); - - describe('Compare span metrics and span events', () => { - let bulkOperationSpanEventsResponse: ValuesType; - let bulkOperationSpanMetricsResponse: ValuesType; - - before(async () => { - const [spanEventsResponse, spanMetricsResponse] = await Promise.all([ - callApi({ dependencyName: 'elasticsearch', searchServiceDestinationMetrics: false }), - callApi({ dependencyName: 'elasticsearch', searchServiceDestinationMetrics: true }), - ]); - function findBulkOperation(op: DependencyOperation) { - return op.spanName === '/_bulk'; - } - bulkOperationSpanEventsResponse = spanEventsResponse.find(findBulkOperation)!; - bulkOperationSpanMetricsResponse = spanMetricsResponse.find(findBulkOperation)!; - }); - - it('returns same latency', () => { - expect(bulkOperationSpanEventsResponse.latency).to.eql( - bulkOperationSpanMetricsResponse.latency - ); - - const meanSpanMetrics = meanBy( - bulkOperationSpanEventsResponse.timeseries.latency.filter(({ y }) => y !== null), - 'y' - ); - const meanSpanEvents = meanBy( - bulkOperationSpanMetricsResponse.timeseries.latency.filter(({ y }) => y !== null), - 'y' - ); - expect(meanSpanMetrics).to.eql(meanSpanEvents); - }); - - it('returns same throughput', () => { - expect(bulkOperationSpanEventsResponse.throughput).to.eql( - bulkOperationSpanMetricsResponse.throughput - ); - - const meanSpanMetrics = meanBy( - bulkOperationSpanEventsResponse.timeseries.throughput.filter(({ y }) => y !== 0), - 'y' - ); - const meanSpanEvents = meanBy( - bulkOperationSpanMetricsResponse.timeseries.throughput.filter(({ y }) => y !== 0), - 'y' - ); - expect(meanSpanMetrics).to.eql(meanSpanEvents); - }); - - it('returns same impact', () => { - expect(bulkOperationSpanEventsResponse.impact).to.eql( - bulkOperationSpanMetricsResponse.impact - ); - }); - }); - }); -} diff --git a/x-pack/test/apm_api_integration/utils.ts b/x-pack/test/apm_api_integration/utils.ts index 8cb818faac52d..8f5ff9822e22d 100644 --- a/x-pack/test/apm_api_integration/utils.ts +++ b/x-pack/test/apm_api_integration/utils.ts @@ -5,14 +5,9 @@ * 2.0. */ -import { Coordinate } from '@kbn/apm-plugin/typings/timeseries'; import { isFiniteNumber } from '@kbn/apm-plugin/common/utils/is_finite_number'; import { Maybe } from '@kbn/apm-plugin/typings/common'; export function roundNumber(num: Maybe) { return isFiniteNumber(num) ? Number(num.toPrecision(4)) : null; } - -export function removeEmptyCoordinates(coordinates: Coordinate[]) { - return coordinates.filter(({ y }) => isFiniteNumber(y)); -} From eff0f2620bf36685b5965a191b698f2e6d2c18a2 Mon Sep 17 00:00:00 2001 From: "Eyo O. Eyo" <7893459+eokoneyo@users.noreply.github.com> Date: Fri, 8 Nov 2024 18:41:24 +0100 Subject: [PATCH 20/52] [Spaces] Visual adjustment to solution view selection (#199505) ## Summary Closes https://github.com/elastic/kibana-team/issues/1259, https://github.com/elastic/kibana-team/issues/1260 #### Visuals ##### Before Screenshot 2024-11-08 at 16 39 26 ##### After Screenshot 2024-11-08 at 16 37 02 --- .../solution_view/solution_view.tsx | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/x-pack/plugins/spaces/public/management/components/solution_view/solution_view.tsx b/x-pack/plugins/spaces/public/management/components/solution_view/solution_view.tsx index 2d4818ff0b934..701490be4c4c4 100644 --- a/x-pack/plugins/spaces/public/management/components/solution_view/solution_view.tsx +++ b/x-pack/plugins/spaces/public/management/components/solution_view/solution_view.tsx @@ -79,7 +79,7 @@ const getOptions = ({ size }: EuiThemeComputed): Array - + {i18n.translate( 'xpack.spaces.management.manageSpacePage.solutionViewSelect.classicOptionLabel', { defaultMessage: 'Classic' } @@ -151,6 +151,16 @@ export const SolutionView: FunctionComponent = ({ defaultMessage: 'Solution view', })} fullWidth + helpText={ + + {showClassicDefaultViewCallout ? ( + + ) : null} + + } {...validator.validateSolutionView(space, isEditing)} > = ({ {showClassicDefaultViewCallout && ( <> - - - - Date: Fri, 8 Nov 2024 12:57:34 -0500 Subject: [PATCH 21/52] Reduce noisy logs about claiming on all partitions (#199405) Resolves https://github.com/elastic/response-ops-team/issues/257 In this PR, I'm throttling the `Background task node "${taskPartitioner.getPodName()}" has no assigned partitions, claiming against all partitions` warning logs to once per minute. I'm also adding an info log whenever the node has assigned partitions and a warning message was previously logged. ## To verify 1. Startup Kibana with a fresh Elasticsearch instance 2. Notice the warning log followed by the info log 3. Apply the following diff ``` diff --git a/x-pack/plugins/task_manager/server/kibana_discovery_service/kibana_discovery_service.ts b/x-pack/plugins/task_manager/server/kibana_discovery_service/kibana_discovery_service.ts index 1c4fcb00981..df6bf6ca377 100644 --- a/x-pack/plugins/task_manager/server/kibana_discovery_service/kibana_discovery_service.ts +++ b/x-pack/plugins/task_manager/server/kibana_discovery_service/kibana_discovery_service.ts @@ -63,7 +63,7 @@ export class KibanaDiscoveryService { const lastSeenDate = new Date(); const lastSeen = lastSeenDate.toISOString(); try { - await this.upsertCurrentNode({ id: this.currentNode, lastSeen }); + // await this.upsertCurrentNode({ id: this.currentNode, lastSeen }); if (!this.started) { this.logger.info('Kibana Discovery Service has been started'); this.started = true; ``` 4. Notice the warning log message happening every minute --- .../task_claimers/strategy_mget.test.ts | 124 ++++++++++++++++++ .../server/task_claimers/strategy_mget.ts | 17 ++- 2 files changed, 140 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/task_manager/server/task_claimers/strategy_mget.test.ts b/x-pack/plugins/task_manager/server/task_claimers/strategy_mget.test.ts index 92f2dba988575..fe44ce9e94c68 100644 --- a/x-pack/plugins/task_manager/server/task_claimers/strategy_mget.test.ts +++ b/x-pack/plugins/task_manager/server/task_claimers/strategy_mget.test.ts @@ -11,6 +11,7 @@ import { v4 as uuidv4 } from 'uuid'; import { filter, take } from 'rxjs'; import { CLAIM_STRATEGY_MGET, DEFAULT_KIBANAS_PER_PARTITION } from '../config'; +import { NO_ASSIGNED_PARTITIONS_WARNING_INTERVAL } from './strategy_mget'; import { TaskStatus, @@ -2260,6 +2261,129 @@ describe('TaskClaiming', () => { } `); }); + + test(`it should log warning on interval when the node has no assigned partitions`, async () => { + // Reset the warning timer by advancing more + fakeTimer.tick(NO_ASSIGNED_PARTITIONS_WARNING_INTERVAL); + + jest.spyOn(taskPartitioner, 'getPartitions').mockResolvedValue([]); + const taskManagerId = uuidv4(); + const definitions = new TaskTypeDictionary(mockLogger()); + definitions.registerTaskDefinitions({ + foo: { + title: 'foo', + createTaskRunner: jest.fn(), + }, + bar: { + title: 'bar', + createTaskRunner: jest.fn(), + }, + }); + await testClaimAvailableTasks({ + storeOpts: { + taskManagerId, + definitions, + }, + taskClaimingOpts: {}, + claimingOpts: { + claimOwnershipUntil: new Date(), + }, + }); + + expect(taskManagerLogger.warn).toHaveBeenCalledWith( + 'Background task node "test" has no assigned partitions, claiming against all partitions', + { tags: ['taskClaiming', 'claimAvailableTasksMget'] } + ); + + taskManagerLogger.warn.mockReset(); + fakeTimer.tick(NO_ASSIGNED_PARTITIONS_WARNING_INTERVAL - 500); + + await testClaimAvailableTasks({ + storeOpts: { + taskManagerId, + definitions, + }, + taskClaimingOpts: {}, + claimingOpts: { + claimOwnershipUntil: new Date(), + }, + }); + + expect(taskManagerLogger.warn).not.toHaveBeenCalled(); + + fakeTimer.tick(500); + + await testClaimAvailableTasks({ + storeOpts: { + taskManagerId, + definitions, + }, + taskClaimingOpts: {}, + claimingOpts: { + claimOwnershipUntil: new Date(), + }, + }); + + expect(taskManagerLogger.warn).toHaveBeenCalledWith( + 'Background task node "test" has no assigned partitions, claiming against all partitions', + { tags: ['taskClaiming', 'claimAvailableTasksMget'] } + ); + }); + + test(`it should log a message after the node no longer has no assigned partitions`, async () => { + // Reset the warning timer by advancing more + fakeTimer.tick(NO_ASSIGNED_PARTITIONS_WARNING_INTERVAL); + + jest.spyOn(taskPartitioner, 'getPartitions').mockResolvedValue([]); + const taskManagerId = uuidv4(); + const definitions = new TaskTypeDictionary(mockLogger()); + definitions.registerTaskDefinitions({ + foo: { + title: 'foo', + createTaskRunner: jest.fn(), + }, + bar: { + title: 'bar', + createTaskRunner: jest.fn(), + }, + }); + await testClaimAvailableTasks({ + storeOpts: { + taskManagerId, + definitions, + }, + taskClaimingOpts: {}, + claimingOpts: { + claimOwnershipUntil: new Date(), + }, + }); + + expect(taskManagerLogger.warn).toHaveBeenCalledWith( + 'Background task node "test" has no assigned partitions, claiming against all partitions', + { tags: ['taskClaiming', 'claimAvailableTasksMget'] } + ); + + taskManagerLogger.warn.mockReset(); + jest.spyOn(taskPartitioner, 'getPartitions').mockResolvedValue([1, 2, 3]); + fakeTimer.tick(500); + + await testClaimAvailableTasks({ + storeOpts: { + taskManagerId, + definitions, + }, + taskClaimingOpts: {}, + claimingOpts: { + claimOwnershipUntil: new Date(), + }, + }); + + expect(taskManagerLogger.warn).not.toHaveBeenCalled(); + expect(taskManagerLogger.info).toHaveBeenCalledWith( + `Background task node "${taskPartitioner.getPodName()}" now claiming with assigned partitions`, + { tags: ['taskClaiming', 'claimAvailableTasksMget'] } + ); + }); }); describe('task events', () => { diff --git a/x-pack/plugins/task_manager/server/task_claimers/strategy_mget.ts b/x-pack/plugins/task_manager/server/task_claimers/strategy_mget.ts index cd3efdc783008..16d9ba5c7fae7 100644 --- a/x-pack/plugins/task_manager/server/task_claimers/strategy_mget.ts +++ b/x-pack/plugins/task_manager/server/task_claimers/strategy_mget.ts @@ -300,6 +300,9 @@ interface SearchAvailableTasksResponse { versionMap: Map; } +let lastPartitionWarningLog: number | undefined; +export const NO_ASSIGNED_PARTITIONS_WARNING_INTERVAL = 60000; + async function searchAvailableTasks({ definitions, taskTypes, @@ -320,10 +323,22 @@ async function searchAvailableTasks({ definitions, }); const partitions = await taskPartitioner.getPartitions(); - if (partitions.length === 0) { + if ( + partitions.length === 0 && + (lastPartitionWarningLog == null || + lastPartitionWarningLog <= Date.now() - NO_ASSIGNED_PARTITIONS_WARNING_INTERVAL) + ) { logger.warn( `Background task node "${taskPartitioner.getPodName()}" has no assigned partitions, claiming against all partitions` ); + lastPartitionWarningLog = Date.now(); + } + + if (partitions.length !== 0 && lastPartitionWarningLog) { + lastPartitionWarningLog = undefined; + logger.info( + `Background task node "${taskPartitioner.getPodName()}" now claiming with assigned partitions` + ); } const sort: NonNullable = getClaimSort(definitions); From e27f3d9ad6689ae91c444f65fdd0ce5f0ec51889 Mon Sep 17 00:00:00 2001 From: "elastic-renovate-prod[bot]" <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> Date: Fri, 8 Nov 2024 12:12:58 -0600 Subject: [PATCH 22/52] Update dependency @xyflow/react to ^12.3.3 (main) (#199193) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [@xyflow/react](https://reactflow.dev) ([source](https://togithub.com/xyflow/xyflow/tree/HEAD/packages/react)) | dependencies | patch | [`^12.3.2` -> `^12.3.3`](https://renovatebot.com/diffs/npm/@xyflow%2freact/12.3.2/12.3.3) | `12.3.4` | --- ### Release Notes
xyflow/xyflow (@​xyflow/react) ### [`v12.3.3`](https://togithub.com/xyflow/xyflow/blob/HEAD/packages/react/CHANGELOG.md#1233) [Compare Source](https://togithub.com/xyflow/xyflow/compare/@xyflow/react@12.3.2...@xyflow/react@12.3.3) ##### Patch Changes - [#​4755](https://togithub.com/xyflow/xyflow/pull/4755) [`005ae1c0`](https://togithub.com/xyflow/xyflow/commit/005ae1c05f6a10c1f519cd789f4f3f2fdf293bc6) Thanks [@​peterkogo](https://togithub.com/peterkogo)! - Add module to exports in package.json. This should resolve possible issues with Webpack ESM Module Resolution. - [#​4730](https://togithub.com/xyflow/xyflow/pull/4730) [`2c590b90`](https://togithub.com/xyflow/xyflow/commit/2c590b90787aabce42de2b4108174bdf31ad6155) Thanks [@​peterkogo](https://togithub.com/peterkogo)! - Fixed rare crash while dragging - Updated dependencies \[[`005ae1c0`](https://togithub.com/xyflow/xyflow/commit/005ae1c05f6a10c1f519cd789f4f3f2fdf293bc6), [`2c590b90`](https://togithub.com/xyflow/xyflow/commit/2c590b90787aabce42de2b4108174bdf31ad6155)]: - [@​xyflow/system](https://togithub.com/xyflow/system)[@​0](https://togithub.com/0).0.44
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index f1b401c6ec933..ddf84de2e78c7 100644 --- a/package.json +++ b/package.json @@ -1062,7 +1062,7 @@ "@turf/length": "^6.0.2", "@xstate/react": "^3.2.2", "@xstate5/react": "npm:@xstate/react@^4.1.2", - "@xyflow/react": "^12.3.2", + "@xyflow/react": "^12.3.4", "adm-zip": "^0.5.9", "ai": "^2.2.33", "ajv": "^8.12.0", diff --git a/yarn.lock b/yarn.lock index 261d542399eca..1b79af13e5007 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12105,19 +12105,19 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -"@xyflow/react@^12.3.2": - version "12.3.2" - resolved "https://registry.yarnpkg.com/@xyflow/react/-/react-12.3.2.tgz#10a98ad8d110867b5f44985b08b4b233816a980a" - integrity sha512-+bK3L61BDIvUX++jMiEqIjy5hIIyVmfeiUavpeOZIYKwg6NW0pR5EnHJM2JFfkVqZisFauzS9EgmI+tvTqx9Qw== +"@xyflow/react@^12.3.4": + version "12.3.4" + resolved "https://registry.yarnpkg.com/@xyflow/react/-/react-12.3.4.tgz#cccc57f7a992faecc5ed1dda82838b31c1afa522" + integrity sha512-KjFkj84S+wK8aJF/PORxSkOAeotTTPz++hus+Y95NFMIJGVyl8jjVaaz5B1zyV0prk6ZkbMp6q0vqMjJdZT25Q== dependencies: - "@xyflow/system" "0.0.43" + "@xyflow/system" "0.0.45" classcat "^5.0.3" zustand "^4.4.0" -"@xyflow/system@0.0.43": - version "0.0.43" - resolved "https://registry.yarnpkg.com/@xyflow/system/-/system-0.0.43.tgz#5abe99b2542fa583c15a74efcdbb78b8ed825f49" - integrity sha512-1zHgad1cWr1mKm2xbFaarK0Jg8WRgaQ8ubSBIo/pRdq3fEgCuqgNkL9NSAP6Rvm8zi3+Lu4JPUMN+EEx5QgX9A== +"@xyflow/system@0.0.45": + version "0.0.45" + resolved "https://registry.yarnpkg.com/@xyflow/system/-/system-0.0.45.tgz#ca1f4d843d2925ce9c5763f16abf51a4c69953ef" + integrity sha512-szP1LjDD4jlRYYhxvgZqOCTMToUVNqjQkrlhb0fhv1sXomU1+yMDdhpQT+FjE4d+rKx08fS10sOuZUl2ycXaDw== dependencies: "@types/d3-drag" "^3.0.7" "@types/d3-selection" "^3.0.10" From c92775a5b68f4fadadb8c7cf04a4567bb3ed8863 Mon Sep 17 00:00:00 2001 From: Oyelola Victoria <123843734+VriaA@users.noreply.github.com> Date: Fri, 8 Nov 2024 19:13:14 +0100 Subject: [PATCH 23/52] [Data Views] Fix color of button group in 'Share Data View to Spaces' (#196004) ### Summary - This PR fixes #194734 - Changed the button group color value from `success` to `text` ### Before ![color_before](https://github.com/user-attachments/assets/38ee2ede-f081-402e-9184-9d81b7eaf5ff) ### After ![color_after](https://github.com/user-attachments/assets/1408a6d1-0876-4c65-9e54-194f64e69c13) Signed-off-by: Oyelola Victoria Co-authored-by: Larry Gregory --- .../components/share_mode_control.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/spaces/public/share_saved_objects_to_space/components/share_mode_control.tsx b/x-pack/plugins/spaces/public/share_saved_objects_to_space/components/share_mode_control.tsx index 66baa2c5d97b9..bb303a4f7d6ac 100644 --- a/x-pack/plugins/spaces/public/share_saved_objects_to_space/components/share_mode_control.tsx +++ b/x-pack/plugins/spaces/public/share_saved_objects_to_space/components/share_mode_control.tsx @@ -174,7 +174,7 @@ export const ShareModeControl = (props: Props) => { onChange(updatedSpaceIds); }} legend={buttonGroupLegend} - color="success" + color="text" isFullWidth={true} isDisabled={!canShareToAllSpaces || isGlobalControlChangeProhibited} /> From fcc3b0654525d67d34cc5916b4b6f7351892f650 Mon Sep 17 00:00:00 2001 From: jennypavlova Date: Fri, 8 Nov 2024 19:18:07 +0100 Subject: [PATCH 24/52] [ObsUx][Inventory] Add actions column with link to discover for inventory (#199306) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #199025 ## Summary This PR adds an actions column with a link to discover for inventory. It is available in the inventory grid(s) in both the group view and the unified inventory view. The column header tooltip text will change when it's available: [issue](https://github.com/elastic/kibana/issues/199500) added ⚠️ If the discover link is not available I added a logic to hide the whole actions column as this is the only available option for now. Once we add more actions we should refactor that to just not add the action and to keep the column visible (which doesn't make sense atm) ## Testing - Enable the Inventory - Check with/without grouping both the action link and the button - combination of kuery / drop-down filter - without any filters - With just one kuery or drop-down filter - When the link is clicked from the table we should see a filter by identity field in the query in discover (like `service.name: 'test'`, `conteainer.id: 'test'`) https://github.com/user-attachments/assets/bb4a89f5-2b30-457f-bf13-7580ff162a7e https://github.com/user-attachments/assets/2894ef5c-6622-4488-ab84-c453f5b6e318 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../inventory/common/entities.ts | 1 + .../inventory/e2e/cypress/e2e/home.cy.ts | 16 ++++ .../components/entities_grid/grid_columns.tsx | 23 ++++- .../public/components/entities_grid/index.tsx | 24 +++++- .../components/entity_actions/index.tsx | 62 ++++++++++++++ .../components/search_bar/discover_button.tsx | 50 ++--------- .../public/components/search_bar/index.tsx | 7 +- .../index.tsx | 10 ++- .../public/hooks/use_discover_redirect.ts | 85 +++++++++++++++++++ .../inventory/tsconfig.json | 3 +- 10 files changed, 223 insertions(+), 58 deletions(-) create mode 100644 x-pack/plugins/observability_solution/inventory/public/components/entity_actions/index.tsx create mode 100644 x-pack/plugins/observability_solution/inventory/public/hooks/use_discover_redirect.ts diff --git a/x-pack/plugins/observability_solution/inventory/common/entities.ts b/x-pack/plugins/observability_solution/inventory/common/entities.ts index f686490b90bfc..507d9d492c0f7 100644 --- a/x-pack/plugins/observability_solution/inventory/common/entities.ts +++ b/x-pack/plugins/observability_solution/inventory/common/entities.ts @@ -23,6 +23,7 @@ export const entityColumnIdsRt = t.union([ t.literal(ENTITY_LAST_SEEN), t.literal(ENTITY_TYPE), t.literal('alertsCount'), + t.literal('actions'), ]); export type EntityColumnIds = t.TypeOf; diff --git a/x-pack/plugins/observability_solution/inventory/e2e/cypress/e2e/home.cy.ts b/x-pack/plugins/observability_solution/inventory/e2e/cypress/e2e/home.cy.ts index 501b6b8078da5..d24953c38eb13 100644 --- a/x-pack/plugins/observability_solution/inventory/e2e/cypress/e2e/home.cy.ts +++ b/x-pack/plugins/observability_solution/inventory/e2e/cypress/e2e/home.cy.ts @@ -229,6 +229,22 @@ describe('Home page', () => { cy.getByTestSubj('inventoryGroup_entity.type_host').should('not.exist'); cy.getByTestSubj('inventoryGroup_entity.type_service').should('not.exist'); }); + + it('Navigates to discover with actions button in the entities list', () => { + cy.intercept('GET', '/internal/entities/managed/enablement', { + fixture: 'eem_enabled.json', + }).as('getEEMStatus'); + cy.visitKibana('/app/inventory'); + cy.wait('@getEEMStatus'); + cy.contains('container'); + cy.getByTestSubj('inventoryGroupTitle_entity.type_container').click(); + cy.getByTestSubj('inventoryEntityActionsButton-foo').click(); + cy.getByTestSubj('inventoryEntityActionOpenInDiscover').click(); + cy.url().should( + 'include', + "query:'container.id:%20foo%20AND%20entity.definition_id%20:%20builtin*" + ); + }); }); }); }); diff --git a/x-pack/plugins/observability_solution/inventory/public/components/entities_grid/grid_columns.tsx b/x-pack/plugins/observability_solution/inventory/public/components/entities_grid/grid_columns.tsx index 96fb8b3736ead..d514dc9199aec 100644 --- a/x-pack/plugins/observability_solution/inventory/public/components/entities_grid/grid_columns.tsx +++ b/x-pack/plugins/observability_solution/inventory/public/components/entities_grid/grid_columns.tsx @@ -45,13 +45,17 @@ const entityLastSeenLabel = i18n.translate( defaultMessage: 'Last seen', } ); -const entityLastSeenToolip = i18n.translate( +const entityLastSeenTooltip = i18n.translate( 'xpack.inventory.entitiesGrid.euiDataGrid.lastSeenTooltip', { defaultMessage: 'Timestamp of last received data for entity (entity.lastSeenTimestamp)', } ); +const entityActionsLabel = i18n.translate('xpack.inventory.entitiesGrid.euiDataGrid.actionsLabel', { + defaultMessage: 'Actions', +}); + const CustomHeaderCell = ({ title, tooltipContent }: { title: string; tooltipContent: string }) => ( <> {title} @@ -68,8 +72,10 @@ const CustomHeaderCell = ({ title, tooltipContent }: { title: string; tooltipCon export const getColumns = ({ showAlertsColumn, + showActions, }: { showAlertsColumn: boolean; + showActions: boolean; }): EuiDataGridColumn[] => { return [ ...(showAlertsColumn @@ -103,11 +109,24 @@ export const getColumns = ({ // keep it for accessibility purposes displayAsText: entityLastSeenLabel, display: ( - + ), defaultSortDirection: 'desc', isSortable: true, schema: 'datetime', }, + ...(showActions + ? [ + { + id: 'actions', + // keep it for accessibility purposes + displayAsText: entityActionsLabel, + display: ( + + ), + initialWidth: 100, + }, + ] + : []), ]; }; diff --git a/x-pack/plugins/observability_solution/inventory/public/components/entities_grid/index.tsx b/x-pack/plugins/observability_solution/inventory/public/components/entities_grid/index.tsx index e3c0d24837f91..7819e944c486d 100644 --- a/x-pack/plugins/observability_solution/inventory/public/components/entities_grid/index.tsx +++ b/x-pack/plugins/observability_solution/inventory/public/components/entities_grid/index.tsx @@ -26,6 +26,8 @@ import { BadgeFilterWithPopover } from '../badge_filter_with_popover'; import { getColumns } from './grid_columns'; import { AlertsBadge } from '../alerts_badge/alerts_badge'; import { EntityName } from './entity_name'; +import { EntityActions } from '../entity_actions'; +import { useDiscoverRedirect } from '../../hooks/use_discover_redirect'; type InventoryEntitiesAPIReturnType = APIReturnType<'GET /internal/inventory/entities'>; type LatestEntities = InventoryEntitiesAPIReturnType['entities']; @@ -53,6 +55,8 @@ export function EntitiesGrid({ onChangeSort, onFilterByType, }: Props) { + const { getDiscoverRedirectUrl } = useDiscoverRedirect(); + const onSort: EuiDataGridSorting['onSort'] = useCallback( (newSortingColumns) => { const lastItem = last(newSortingColumns); @@ -68,12 +72,14 @@ export function EntitiesGrid({ [entities] ); + const showActions = useMemo(() => !!getDiscoverRedirectUrl(), [getDiscoverRedirectUrl]); + const columnVisibility = useMemo( () => ({ - visibleColumns: getColumns({ showAlertsColumn }).map(({ id }) => id), + visibleColumns: getColumns({ showAlertsColumn, showActions }).map(({ id }) => id), setVisibleColumns: () => {}, }), - [showAlertsColumn] + [showAlertsColumn, showActions] ); const renderCellValue = useCallback( @@ -85,6 +91,7 @@ export function EntitiesGrid({ const columnEntityTableId = columnId as EntityColumnIds; const entityType = entity[ENTITY_TYPE]; + const discoverUrl = getDiscoverRedirectUrl(entity); switch (columnEntityTableId) { case 'alertsCount': @@ -127,11 +134,20 @@ export function EntitiesGrid({ ); case ENTITY_DISPLAY_NAME: return ; + case 'actions': + return ( + discoverUrl && ( + + ) + ); default: return entity[columnId as EntityColumnIds] || ''; } }, - [entities, onFilterByType] + [entities, getDiscoverRedirectUrl, onFilterByType] ); if (loading) { @@ -146,7 +162,7 @@ export function EntitiesGrid({ 'xpack.inventory.entitiesGrid.euiDataGrid.inventoryEntitiesGridLabel', { defaultMessage: 'Inventory entities grid' } )} - columns={getColumns({ showAlertsColumn })} + columns={getColumns({ showAlertsColumn, showActions })} columnVisibility={columnVisibility} rowCount={entities.length} renderCellValue={renderCellValue} diff --git a/x-pack/plugins/observability_solution/inventory/public/components/entity_actions/index.tsx b/x-pack/plugins/observability_solution/inventory/public/components/entity_actions/index.tsx new file mode 100644 index 0000000000000..95a4050fba4e9 --- /dev/null +++ b/x-pack/plugins/observability_solution/inventory/public/components/entity_actions/index.tsx @@ -0,0 +1,62 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiButtonIcon, EuiContextMenuItem, EuiContextMenuPanel, EuiPopover } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React from 'react'; +import { useBoolean } from '@kbn/react-hooks'; + +interface Props { + discoverUrl: string; + entityIdentifyingValue?: string; +} + +export const EntityActions = ({ discoverUrl, entityIdentifyingValue }: Props) => { + const [isPopoverOpen, { toggle: togglePopover, off: closePopover }] = useBoolean(false); + const actionButtonTestSubject = entityIdentifyingValue + ? `inventoryEntityActionsButton-${entityIdentifyingValue}` + : 'inventoryEntityActionsButton'; + + const actions = [ + + {i18n.translate('xpack.inventory.entityActions.discoverLink', { + defaultMessage: 'Open in discover', + })} + , + ]; + + return ( + <> + + } + closePopover={closePopover} + > + + + + ); +}; diff --git a/x-pack/plugins/observability_solution/inventory/public/components/search_bar/discover_button.tsx b/x-pack/plugins/observability_solution/inventory/public/components/search_bar/discover_button.tsx index d5ed5b5af8cf9..13477d63e5f82 100644 --- a/x-pack/plugins/observability_solution/inventory/public/components/search_bar/discover_button.tsx +++ b/x-pack/plugins/observability_solution/inventory/public/components/search_bar/discover_button.tsx @@ -7,56 +7,16 @@ import { EuiButton } from '@elastic/eui'; import { DataView } from '@kbn/data-views-plugin/public'; -import { buildPhrasesFilter, PhrasesFilter } from '@kbn/es-query'; import { i18n } from '@kbn/i18n'; -import React, { useMemo } from 'react'; - -import { - ENTITY_DEFINITION_ID, - ENTITY_DISPLAY_NAME, - ENTITY_LAST_SEEN, - ENTITY_TYPE, -} from '@kbn/observability-shared-plugin/common'; -import { EntityColumnIds } from '../../../common/entities'; -import { useInventoryParams } from '../../hooks/use_inventory_params'; -import { useKibana } from '../../hooks/use_kibana'; - -const ACTIVE_COLUMNS: EntityColumnIds[] = [ENTITY_DISPLAY_NAME, ENTITY_TYPE, ENTITY_LAST_SEEN]; +import React from 'react'; +import { useDiscoverRedirect } from '../../hooks/use_discover_redirect'; export function DiscoverButton({ dataView }: { dataView: DataView }) { - const { - services: { share, application }, - } = useKibana(); - const { - query: { kuery, entityTypes }, - } = useInventoryParams('/*'); - - const discoverLocator = useMemo( - () => share.url.locators.get('DISCOVER_APP_LOCATOR'), - [share.url.locators] - ); - - const filters: PhrasesFilter[] = []; - - const entityTypeField = dataView.getFieldByName(ENTITY_TYPE); - - if (entityTypes && entityTypeField) { - const entityTypeFilter = buildPhrasesFilter(entityTypeField, entityTypes, dataView); - filters.push(entityTypeFilter); - } - - const kueryWithEntityDefinitionFilters = [kuery, `${ENTITY_DEFINITION_ID} : builtin*`] - .filter(Boolean) - .join(' AND '); + const { getDiscoverRedirectUrl } = useDiscoverRedirect(); - const discoverLink = discoverLocator?.getRedirectUrl({ - indexPatternId: dataView?.id ?? '', - columns: ACTIVE_COLUMNS, - query: { query: kueryWithEntityDefinitionFilters, language: 'kuery' }, - filters, - }); + const discoverLink = getDiscoverRedirectUrl(); - if (!application.capabilities.discover?.show || !discoverLink) { + if (!discoverLink) { return null; } diff --git a/x-pack/plugins/observability_solution/inventory/public/components/search_bar/index.tsx b/x-pack/plugins/observability_solution/inventory/public/components/search_bar/index.tsx index 2fd450aab30dd..3a22d9bc19a1d 100644 --- a/x-pack/plugins/observability_solution/inventory/public/components/search_bar/index.tsx +++ b/x-pack/plugins/observability_solution/inventory/public/components/search_bar/index.tsx @@ -11,7 +11,6 @@ import React, { useCallback, useEffect } from 'react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { Query } from '@kbn/es-query'; import { useInventorySearchBarContext } from '../../context/inventory_search_bar_context_provider'; -import { useAdHocInventoryDataView } from '../../hooks/use_adhoc_inventory_data_view'; import { useInventoryParams } from '../../hooks/use_inventory_params'; import { useKibana } from '../../hooks/use_kibana'; import { EntityTypesControls } from './entity_types_controls'; @@ -19,7 +18,7 @@ import { DiscoverButton } from './discover_button'; import { getKqlFieldsWithFallback } from '../../utils/get_kql_field_names_with_fallback'; export function SearchBar() { - const { searchBarContentSubject$, refreshSubject$ } = useInventorySearchBarContext(); + const { refreshSubject$, searchBarContentSubject$, dataView } = useInventorySearchBarContext(); const { services: { unifiedSearch, @@ -36,8 +35,6 @@ export function SearchBar() { const { SearchBar: UnifiedSearchBar } = unifiedSearch.ui; - const { dataView } = useAdHocInventoryDataView(); - const syncSearchBarWithUrl = useCallback(() => { const query = kuery ? { query: kuery, language: 'kuery' } : undefined; if (query && !deepEqual(queryStringService.getQuery(), query)) { @@ -107,7 +104,7 @@ export function SearchBar() { refreshSubject$.next(); } }, - [entityTypes, registerSearchSubmittedEvent, searchBarContentSubject$, refreshSubject$] + [searchBarContentSubject$, entityTypes, registerSearchSubmittedEvent, refreshSubject$] ); return ( diff --git a/x-pack/plugins/observability_solution/inventory/public/context/inventory_search_bar_context_provider/index.tsx b/x-pack/plugins/observability_solution/inventory/public/context/inventory_search_bar_context_provider/index.tsx index eb5a2a057e529..f5a71e80bd9a3 100644 --- a/x-pack/plugins/observability_solution/inventory/public/context/inventory_search_bar_context_provider/index.tsx +++ b/x-pack/plugins/observability_solution/inventory/public/context/inventory_search_bar_context_provider/index.tsx @@ -6,6 +6,8 @@ */ import React, { createContext, useContext, type ReactChild } from 'react'; import { Subject } from 'rxjs'; +import { DataView } from '@kbn/data-views-plugin/common'; +import { useAdHocInventoryDataView } from '../../hooks/use_adhoc_inventory_data_view'; interface InventorySearchBarContextType { searchBarContentSubject$: Subject<{ @@ -13,6 +15,7 @@ interface InventorySearchBarContextType { entityTypes?: string[]; }>; refreshSubject$: Subject; + dataView?: DataView; } const InventorySearchBarContext = createContext({ @@ -21,9 +24,14 @@ const InventorySearchBarContext = createContext({ }); export function InventorySearchBarContextProvider({ children }: { children: ReactChild }) { + const { dataView } = useAdHocInventoryDataView(); return ( {children} diff --git a/x-pack/plugins/observability_solution/inventory/public/hooks/use_discover_redirect.ts b/x-pack/plugins/observability_solution/inventory/public/hooks/use_discover_redirect.ts new file mode 100644 index 0000000000000..3c6ba331ec2a0 --- /dev/null +++ b/x-pack/plugins/observability_solution/inventory/public/hooks/use_discover_redirect.ts @@ -0,0 +1,85 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { + ENTITY_TYPE, + ENTITY_DEFINITION_ID, + ENTITY_DISPLAY_NAME, + ENTITY_LAST_SEEN, +} from '@kbn/observability-shared-plugin/common'; +import { useCallback } from 'react'; +import { type PhrasesFilter, buildPhrasesFilter } from '@kbn/es-query'; +import type { DataViewField } from '@kbn/data-views-plugin/public'; +import type { Entity, EntityColumnIds } from '../../common/entities'; +import { unflattenEntity } from '../../common/utils/unflatten_entity'; +import { useKibana } from './use_kibana'; +import { useInventoryParams } from './use_inventory_params'; +import { useInventorySearchBarContext } from '../context/inventory_search_bar_context_provider'; + +const ACTIVE_COLUMNS: EntityColumnIds[] = [ENTITY_DISPLAY_NAME, ENTITY_TYPE, ENTITY_LAST_SEEN]; + +export const useDiscoverRedirect = () => { + const { + services: { share, application, entityManager }, + } = useKibana(); + const { + query: { kuery, entityTypes }, + } = useInventoryParams('/*'); + + const { dataView } = useInventorySearchBarContext(); + + const discoverLocator = share.url.locators.get('DISCOVER_APP_LOCATOR'); + + const getDiscoverEntitiesRedirectUrl = useCallback( + (entity?: Entity) => { + const filters: PhrasesFilter[] = []; + + const entityTypeField = (dataView?.getFieldByName(ENTITY_TYPE) ?? + entity?.[ENTITY_TYPE]) as DataViewField; + + if (entityTypes && entityTypeField && dataView) { + const entityTypeFilter = buildPhrasesFilter(entityTypeField, entityTypes, dataView); + filters.push(entityTypeFilter); + } + + const entityKqlFilter = entity + ? entityManager.entityClient.asKqlFilter(unflattenEntity(entity)) + : ''; + + const kueryWithEntityDefinitionFilters = [ + kuery, + entityKqlFilter, + `${ENTITY_DEFINITION_ID} : builtin*`, + ] + .filter(Boolean) + .join(' AND '); + + return application.capabilities.discover?.show + ? discoverLocator?.getRedirectUrl({ + indexPatternId: dataView?.id ?? '', + columns: ACTIVE_COLUMNS, + query: { query: kueryWithEntityDefinitionFilters, language: 'kuery' }, + filters, + }) + : undefined; + }, + [ + application.capabilities.discover?.show, + discoverLocator, + entityManager.entityClient, + entityTypes, + kuery, + dataView, + ] + ); + + const getDiscoverRedirectUrl = useCallback( + (entity?: Entity) => getDiscoverEntitiesRedirectUrl(entity), + [getDiscoverEntitiesRedirectUrl] + ); + + return { getDiscoverRedirectUrl }; +}; diff --git a/x-pack/plugins/observability_solution/inventory/tsconfig.json b/x-pack/plugins/observability_solution/inventory/tsconfig.json index bd77df478cad1..d41ef612c9574 100644 --- a/x-pack/plugins/observability_solution/inventory/tsconfig.json +++ b/x-pack/plugins/observability_solution/inventory/tsconfig.json @@ -55,6 +55,7 @@ "@kbn/storybook", "@kbn/zod", "@kbn/dashboard-plugin", - "@kbn/deeplinks-analytics" + "@kbn/deeplinks-analytics", + "@kbn/react-hooks" ] } From 79a9c3989ee7af6c0e7c4e7c407624956223ce4c Mon Sep 17 00:00:00 2001 From: Khristinin Nikita Date: Fri, 8 Nov 2024 20:41:59 +0100 Subject: [PATCH 25/52] Fix tests (#199469) ## Fix the link for test command in the MKT tests Just change tests to be similar what we have in periodic pipeline --------- Co-authored-by: Elastic Machine --- .../mki_quality_gate_detection_engine.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.buildkite/pipelines/security_solution_quality_gate/mki_quality_gate/mki_quality_gate_detection_engine.yml b/.buildkite/pipelines/security_solution_quality_gate/mki_quality_gate/mki_quality_gate_detection_engine.yml index 57a36821889de..5bf1430faf5a4 100644 --- a/.buildkite/pipelines/security_solution_quality_gate/mki_quality_gate/mki_quality_gate_detection_engine.yml +++ b/.buildkite/pipelines/security_solution_quality_gate/mki_quality_gate/mki_quality_gate_detection_engine.yml @@ -61,9 +61,9 @@ steps: - exit_status: '1' limit: 2 - - label: Running exception_lists:common:lists:qa:serverless:release - command: .buildkite/scripts/pipelines/security_solution_quality_gate/api_integration/api-integration-tests.sh exception_lists:common:lists:qa:serverless:release - key: exception_lists:common:lists:qa:serverless:release + - label: Running exception_lists:auth:common:qa:serverless:release + command: .buildkite/scripts/pipelines/security_solution_quality_gate/api_integration/api-integration-tests.sh exception_lists:auth:common:qa:serverless:release + key: exception_lists:auth:common:qa:serverless:release agents: image: family/kibana-ubuntu-2004 imageProject: elastic-images-prod @@ -75,9 +75,9 @@ steps: - exit_status: '1' limit: 2 - - label: Running exception_lists:items:lists:qa:serverless:release - command: .buildkite/scripts/pipelines/security_solution_quality_gate/api_integration/api-integration-tests.sh exception_lists:items:lists:qa:serverless:release - key: exception_lists:items:lists:qa:serverless:release + - label: Running exception_lists:auth:items:qa:serverless + command: .buildkite/scripts/pipelines/security_solution_quality_gate/api_integration/api-integration-tests.sh exception_lists:auth:items:qa:serverless + key: exception_lists:auth:items:qa:serverless agents: image: family/kibana-ubuntu-2004 imageProject: elastic-images-prod From 13910194838a63991bdcde0a9d83d688d1025592 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Fri, 8 Nov 2024 11:47:28 -0800 Subject: [PATCH 26/52] Update serverless link targets (#199396) --- packages/kbn-doc-links/src/get_doc_links.ts | 124 +++++++++--------- .../svl_search_elasticsearch_start_page.ts | 2 +- 2 files changed, 65 insertions(+), 61 deletions(-) diff --git a/packages/kbn-doc-links/src/get_doc_links.ts b/packages/kbn-doc-links/src/get_doc_links.ts index 4605dabf6eb94..f14b5afd3f4c9 100644 --- a/packages/kbn-doc-links/src/get_doc_links.ts +++ b/packages/kbn-doc-links/src/get_doc_links.ts @@ -40,16 +40,14 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D const WORKPLACE_SEARCH_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/workplace-search/${DOC_LINK_VERSION}/`; const SEARCH_UI_DOCS = `${DOCS_WEBSITE_URL}search-ui/`; const MACHINE_LEARNING_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/machine-learning/${DOC_LINK_VERSION}/`; - const SERVERLESS_DOCS = `${DOCS_WEBSITE_URL}serverless/`; - const SERVERLESS_ELASTICSEARCH_DOCS = `${SERVERLESS_DOCS}elasticsearch/`; - const SERVERLESS_OBSERVABILITY_DOCS = `${SERVERLESS_DOCS}observability/`; + const SERVERLESS_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/serverless/current/`; const SEARCH_LABS_REPO = `${ELASTIC_GITHUB}elasticsearch-labs/`; const isServerless = buildFlavor === 'serverless'; return deepFreeze({ settings: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/settings.html`, elasticStackGetStarted: isServerless - ? `${SERVERLESS_DOCS}` + ? `${SERVERLESS_DOCS}intro.html` : `${ELASTIC_WEBSITE_URL}guide/en/index.html`, apiReference: `${ELASTIC_WEBSITE_URL}guide/en/starting-with-the-elasticsearch-platform-and-its-solutions/current/api-reference.html`, upgrade: { @@ -59,25 +57,25 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D apm: { kibanaSettings: `${KIBANA_DOCS}apm-settings-in-kibana.html`, supportedServiceMaps: isServerless - ? `${SERVERLESS_DOCS}apm-service-map#supported-apm-agents` + ? `${SERVERLESS_DOCS}observability-apm-service-map.html#observability-apm-service-map-supported-apm-agents` : `${KIBANA_DOCS}service-maps.html#service-maps-supported`, customLinks: isServerless - ? `${SERVERLESS_DOCS}apm-create-custom-links` + ? `${SERVERLESS_DOCS}observability-apm-create-custom-links.html` : `${KIBANA_DOCS}custom-links.html`, droppedTransactionSpans: `${APM_DOCS}guide/${DOC_LINK_VERSION}/data-model-spans.html#data-model-dropped-spans`, upgrading: `${APM_DOCS}guide/${DOC_LINK_VERSION}/upgrade.html`, metaData: `${APM_DOCS}guide/${DOC_LINK_VERSION}/data-model-metadata.html`, overview: `${APM_DOCS}guide/${DOC_LINK_VERSION}/apm-overview.html`, tailSamplingPolicies: isServerless - ? `${SERVERLESS_DOCS}apm-transaction-sampling` + ? `${SERVERLESS_DOCS}observability-apm-transaction-sampling.html` : `${OBSERVABILITY_DOCS}configure-tail-based-sampling.html`, elasticAgent: `${APM_DOCS}guide/${DOC_LINK_VERSION}/upgrade-to-apm-integration.html`, storageExplorer: `${KIBANA_DOCS}storage-explorer.html`, spanCompression: isServerless - ? `${SERVERLESS_DOCS}apm-compress-spans` + ? `${SERVERLESS_DOCS}observability-apm-compress-spans.html` : `${OBSERVABILITY_DOCS}span-compression.html`, transactionSampling: isServerless - ? `${SERVERLESS_DOCS}apm-transaction-sampling` + ? `${SERVERLESS_DOCS}observability-apm-transaction-sampling.html` : `${OBSERVABILITY_DOCS}sampling.html`, indexLifecycleManagement: `${APM_DOCS}guide/${DOC_LINK_VERSION}/ilm-how-to.html`, }, @@ -90,7 +88,7 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D }, console: { guide: `${KIBANA_DOCS}console-kibana.html`, - serverlessGuide: `${SERVERLESS_DOCS}devtools/run-api-requests-in-the-console`, + serverlessGuide: `${SERVERLESS_DOCS}devtools-run-api-requests-in-the-console.html`, }, dashboard: { guide: `${KIBANA_DOCS}dashboard.html`, @@ -341,7 +339,9 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D luceneExpressions: `${ELASTICSEARCH_DOCS}modules-scripting-expression.html`, }, indexPatterns: { - introduction: isServerless ? `${SERVERLESS_DOCS}data-views` : `${KIBANA_DOCS}data-views.html`, + introduction: isServerless + ? `${SERVERLESS_DOCS}data-views.html` + : `${KIBANA_DOCS}data-views.html`, fieldFormattersNumber: `${KIBANA_DOCS}numeral.html`, fieldFormattersString: `${KIBANA_DOCS}managing-data-views.html#string-field-formatters`, runtimeFields: `${KIBANA_DOCS}managing-data-views.html#runtime-fields`, @@ -523,7 +523,7 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D management: { dashboardSettings: `${KIBANA_DOCS}advanced-options.html#kibana-dashboard-settings`, indexManagement: isServerless - ? `${SERVERLESS_DOCS}index-management` + ? `${SERVERLESS_DOCS}index-management.html` : `${ELASTICSEARCH_DOCS}index-mgmt.html`, kibanaSearchSettings: `${KIBANA_DOCS}advanced-options.html#kibana-search-settings`, discoverSettings: `${KIBANA_DOCS}advanced-options.html#kibana-discover-settings`, @@ -573,7 +573,9 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D nlpImportModel: `${MACHINE_LEARNING_DOCS}ml-nlp-import-model.html`, }, transforms: { - guide: isServerless ? `${SERVERLESS_DOCS}transforms` : `${ELASTICSEARCH_DOCS}transforms.html`, + guide: isServerless + ? `${SERVERLESS_DOCS}transforms.html` + : `${ELASTICSEARCH_DOCS}transforms.html`, alertingRules: `${ELASTICSEARCH_DOCS}transform-alerts.html`, }, visualize: { @@ -586,66 +588,66 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D }, observability: { guide: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}what-is-observability-serverless` + ? `${SERVERLESS_DOCS}what-is-observability-serverless.html` : `${OBSERVABILITY_DOCS}index.html`, infrastructureThreshold: `${OBSERVABILITY_DOCS}infrastructure-threshold-alert.html`, logsThreshold: `${OBSERVABILITY_DOCS}logs-threshold-alert.html`, metricsThreshold: `${OBSERVABILITY_DOCS}metrics-threshold-alert.html`, customThreshold: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}create-custom-threshold-alert-rule` + ? `${SERVERLESS_DOCS}observability-create-custom-threshold-alert-rule.html` : `${OBSERVABILITY_DOCS}custom-threshold-alert.html`, monitorStatus: `${OBSERVABILITY_DOCS}monitor-status-alert.html`, monitorUptime: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}monitor-synthetics` + ? `${SERVERLESS_DOCS}observability-monitor-synthetics.html` : `${OBSERVABILITY_DOCS}monitor-uptime.html`, tlsCertificate: `${OBSERVABILITY_DOCS}tls-certificate-alert.html`, uptimeDurationAnomaly: `${OBSERVABILITY_DOCS}duration-anomaly-alert.html`, monitorLogs: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}discover-and-explore-logs` + ? `${SERVERLESS_DOCS}observability-discover-and-explore-logs.html` : `${OBSERVABILITY_DOCS}monitor-logs.html`, analyzeMetrics: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}infrastructure-monitoring` + ? `${SERVERLESS_DOCS}observability-infrastructure-monitoring.html` : `${OBSERVABILITY_DOCS}analyze-metrics.html`, monitorUptimeSynthetics: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}monitor-synthetics` + ? `${SERVERLESS_DOCS}observability-monitor-synthetics.html` : `${OBSERVABILITY_DOCS}monitor-uptime-synthetics.html`, userExperience: `${OBSERVABILITY_DOCS}user-experience.html`, createAlerts: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}alerting` + ? `${SERVERLESS_DOCS}observability-alerting.html` : `${OBSERVABILITY_DOCS}create-alerts.html`, syntheticsAlerting: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}synthetics-settings#alerting` + ? `${SERVERLESS_DOCS}observability-synthetics-settings.html#synthetics-settings-alerting` : `${OBSERVABILITY_DOCS}synthetics-settings.html#synthetics-settings-alerting`, syntheticsCommandReference: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}synthetics-configuration#playwrightoptions` + ? `${SERVERLESS_DOCS}observability-synthetics-configuration.html#synthetics-configuration-playwright-options` : `${OBSERVABILITY_DOCS}synthetics-configuration.html#synthetics-configuration-playwright-options`, syntheticsProjectMonitors: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}synthetics-get-started-project` + ? `${SERVERLESS_DOCS}observability-synthetics-get-started-project.html` : `${OBSERVABILITY_DOCS}synthetic-run-tests.html#synthetic-monitor-choose-project`, syntheticsMigrateFromIntegration: `${OBSERVABILITY_DOCS}synthetics-migrate-from-integration.html`, sloBurnRateRule: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}create-slo-burn-rate-alert-rule` + ? `${SERVERLESS_DOCS}observability-create-slo-burn-rate-alert-rule.html` : `${OBSERVABILITY_DOCS}slo-burn-rate-alert.html`, aiAssistant: `${OBSERVABILITY_DOCS}obs-ai-assistant.html`, }, alerting: { guide: isServerless - ? `${SERVERLESS_DOCS}rules` + ? `${SERVERLESS_DOCS}rules.html` : `${KIBANA_DOCS}create-and-manage-rules.html`, actionTypes: isServerless - ? `${SERVERLESS_DOCS}action-connectors` + ? `${SERVERLESS_DOCS}action-connectors.html` : `${KIBANA_DOCS}action-types.html`, apmRulesErrorCount: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}create-error-count-threshold-alert-rule` + ? `${SERVERLESS_DOCS}observability-create-error-count-threshold-alert-rule.html` : `${KIBANA_DOCS}apm-alerts.html`, apmRulesTransactionDuration: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}create-latency-threshold-alert-rule` + ? `${SERVERLESS_DOCS}observability-create-latency-threshold-alert-rule.html` : `${KIBANA_DOCS}apm-alerts.html`, apmRulesTransactionError: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}create-failed-transaction-rate-threshold-alert-rule` + ? `${SERVERLESS_DOCS}observability-create-failed-transaction-rate-threshold-alert-rule.html` : `${KIBANA_DOCS}apm-alerts.html`, apmRulesAnomaly: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}create-anomaly-alert-rule` + ? `${SERVERLESS_DOCS}observability-create-anomaly-alert-rule.html` : `${KIBANA_DOCS}apm-alerts.html`, emailAction: `${KIBANA_DOCS}email-action-type.html`, emailActionConfig: `${KIBANA_DOCS}email-action-type.html`, @@ -656,7 +658,7 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D esQuery: `${KIBANA_DOCS}rule-type-es-query.html`, indexThreshold: `${KIBANA_DOCS}rule-type-index-threshold.html`, maintenanceWindows: isServerless - ? `${SERVERLESS_DOCS}maintenance-windows` + ? `${SERVERLESS_DOCS}maintenance-windows.html` : `${KIBANA_DOCS}maintenance-windows.html`, pagerDutyAction: `${KIBANA_DOCS}pagerduty-action-type.html`, preconfiguredConnectors: `${KIBANA_DOCS}pre-configured-connectors.html`, @@ -674,7 +676,7 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D }, maps: { connectToEms: `${KIBANA_DOCS}maps-connect-to-ems.html`, - guide: isServerless ? `${SERVERLESS_DOCS}maps` : `${KIBANA_DOCS}maps.html`, + guide: isServerless ? `${SERVERLESS_DOCS}maps.html` : `${KIBANA_DOCS}maps.html`, importGeospatialPrivileges: `${KIBANA_DOCS}import-geospatial-data.html#import-geospatial-privileges`, gdalTutorial: `${ELASTIC_WEBSITE_URL}blog/how-to-ingest-geospatial-data-into-elasticsearch-with-gdal`, termJoinsExample: `${KIBANA_DOCS}terms-join.html#_example_term_join`, @@ -816,7 +818,7 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D lowercase: `${ELASTICSEARCH_DOCS}lowercase-processor.html`, pipeline: `${ELASTICSEARCH_DOCS}pipeline-processor.html`, pipelines: isServerless - ? `${SERVERLESS_DOCS}ingest-pipelines` + ? `${SERVERLESS_DOCS}ingest-pipelines.html` : `${ELASTICSEARCH_DOCS}ingest.html`, csvPipelines: `${ELASTIC_WEBSITE_URL}guide/en/ecs/${ECS_VERSION}/ecs-converting.html`, pipelineFailure: `${ELASTICSEARCH_DOCS}ingest.html#handling-pipeline-failures`, @@ -864,7 +866,9 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D grantESAccessToStandaloneAgents: `${FLEET_DOCS}grant-access-to-elasticsearch.html`, upgradeElasticAgent: `${FLEET_DOCS}upgrade-elastic-agent.html`, learnMoreBlog: `${ELASTIC_WEBSITE_URL}blog/elastic-agent-and-fleet-make-it-easier-to-integrate-your-systems-with-elastic`, - apiKeysLearnMore: isServerless ? `${SERVERLESS_DOCS}api-keys` : `${KIBANA_DOCS}api-keys.html`, + apiKeysLearnMore: isServerless + ? `${SERVERLESS_DOCS}api-keys.html` + : `${KIBANA_DOCS}api-keys.html`, onPremRegistry: `${FLEET_DOCS}air-gapped.html`, packageSignatures: `${FLEET_DOCS}package-signatures.html`, secureLogstash: `${FLEET_DOCS}secure-logstash-connections.html`, @@ -949,39 +953,39 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D elasticsearch: `${SEARCH_UI_DOCS}tutorials/elasticsearch`, }, serverlessClients: { - clientLib: `${SERVERLESS_ELASTICSEARCH_DOCS}clients`, - goApiReference: `${SERVERLESS_ELASTICSEARCH_DOCS}go-client-getting-started`, - goGettingStarted: `${SERVERLESS_ELASTICSEARCH_DOCS}go-client-getting-started`, - httpApis: `${SERVERLESS_ELASTICSEARCH_DOCS}http-apis`, - httpApiReferences: `${SERVERLESS_ELASTICSEARCH_DOCS}http-apis`, - jsApiReference: `${SERVERLESS_ELASTICSEARCH_DOCS}nodejs-client-getting-started`, - jsGettingStarted: `${SERVERLESS_ELASTICSEARCH_DOCS}nodejs-client-getting-started`, - phpApiReference: `${SERVERLESS_ELASTICSEARCH_DOCS}php-client-getting-started`, - phpGettingStarted: `${SERVERLESS_ELASTICSEARCH_DOCS}php-client-getting-started`, - pythonApiReference: `${SERVERLESS_ELASTICSEARCH_DOCS}python-client-getting-started`, - pythonGettingStarted: `${SERVERLESS_ELASTICSEARCH_DOCS}python-client-getting-started`, - pythonReferences: `${SERVERLESS_ELASTICSEARCH_DOCS}python-client-getting-started`, - rubyApiReference: `${SERVERLESS_ELASTICSEARCH_DOCS}ruby-client-getting-started`, - rubyGettingStarted: `${SERVERLESS_ELASTICSEARCH_DOCS}ruby-client-getting-started`, + clientLib: `${SERVERLESS_DOCS}elasticsearch-clients.html`, + goApiReference: `${SERVERLESS_DOCS}elasticsearch-go-client-getting-started.html`, + goGettingStarted: `${SERVERLESS_DOCS}elasticsearch-go-client-getting-started.html`, + httpApis: `${SERVERLESS_DOCS}elasticsearch-http-apis.html`, + httpApiReferences: `${SERVERLESS_DOCS}elasticsearch-http-apis.html`, + jsApiReference: `${SERVERLESS_DOCS}elasticsearch-nodejs-client-getting-started.html`, + jsGettingStarted: `${SERVERLESS_DOCS}elasticsearch-nodejs-client-getting-started.html`, + phpApiReference: `${SERVERLESS_DOCS}elasticsearch-php-client-getting-started.html`, + phpGettingStarted: `${SERVERLESS_DOCS}elasticsearch-php-client-getting-started.html`, + pythonApiReference: `${SERVERLESS_DOCS}elasticsearch-python-client-getting-started.html`, + pythonGettingStarted: `${SERVERLESS_DOCS}elasticsearch-python-client-getting-started.html`, + pythonReferences: `${SERVERLESS_DOCS}elasticsearch-python-client-getting-started.html`, + rubyApiReference: `${SERVERLESS_DOCS}elasticsearch-ruby-client-getting-started.html`, + rubyGettingStarted: `${SERVERLESS_DOCS}elasticsearch-ruby-client-getting-started.html`, }, serverlessSearch: { - integrations: `${SERVERLESS_ELASTICSEARCH_DOCS}ingest-your-data`, - integrationsLogstash: `${SERVERLESS_ELASTICSEARCH_DOCS}ingest-data-through-logstash`, - integrationsBeats: `${SERVERLESS_ELASTICSEARCH_DOCS}ingest-data-through-beats`, - integrationsConnectorClient: `${SERVERLESS_ELASTICSEARCH_DOCS}ingest-data-through-integrations-connector-client`, - integrationsConnectorClientAvailableConnectors: `${SERVERLESS_ELASTICSEARCH_DOCS}ingest-data-through-integrations-connector-client#available-connectors`, - integrationsConnectorClientRunFromSource: `${SERVERLESS_ELASTICSEARCH_DOCS}ingest-data-through-integrations-connector-client#run-from-source`, - integrationsConnectorClientRunWithDocker: `${SERVERLESS_ELASTICSEARCH_DOCS}ingest-data-through-integrations-connector-client#run-with-docker`, - gettingStartedExplore: `${SERVERLESS_ELASTICSEARCH_DOCS}get-started`, - gettingStartedIngest: `${SERVERLESS_ELASTICSEARCH_DOCS}get-started`, - gettingStartedSearch: `${SERVERLESS_ELASTICSEARCH_DOCS}get-started`, + integrations: `${SERVERLESS_DOCS}elasticsearch-ingest-your-data.html`, + integrationsLogstash: `${SERVERLESS_DOCS}elasticsearch-ingest-data-through-logstash.html`, + integrationsBeats: `${SERVERLESS_DOCS}elasticsearch-ingest-data-through-beats.html`, + integrationsConnectorClient: `${SERVERLESS_DOCS}elasticsearch-ingest-data-through-integrations-connector-client.html`, + integrationsConnectorClientAvailableConnectors: `${SERVERLESS_DOCS}elasticsearch-ingest-data-through-integrations-connector-client.html#elasticsearch-ingest-data-through-integrations-connector-client-available-connectors`, + integrationsConnectorClientRunFromSource: `${SERVERLESS_DOCS}elasticsearch-ingest-data-through-integrations-connector-client.html#elasticsearch-ingest-data-through-integrations-connector-client-run-from-source`, + integrationsConnectorClientRunWithDocker: `${SERVERLESS_DOCS}elasticsearch-ingest-data-through-integrations-connector-client.html#elasticsearch-ingest-data-through-integrations-connector-client-run-with-docker`, + gettingStartedExplore: `${SERVERLESS_DOCS}elasticsearch-get-started.html`, + gettingStartedIngest: `${SERVERLESS_DOCS}elasticsearch-get-started.html`, + gettingStartedSearch: `${SERVERLESS_DOCS}elasticsearch-get-started.html`, }, serverlessSecurity: { - apiKeyPrivileges: `${SERVERLESS_DOCS}api-keys#restrict-privileges`, + apiKeyPrivileges: `${SERVERLESS_DOCS}api-keys.html#api-keys-restrict-privileges`, }, synthetics: { featureRoles: isServerless - ? `${SERVERLESS_OBSERVABILITY_DOCS}synthetics-feature-roles` + ? `${SERVERLESS_DOCS}observability-synthetics-feature-roles.html` : `${OBSERVABILITY_DOCS}synthetics-feature-roles.html`, }, telemetry: { diff --git a/x-pack/test_serverless/functional/page_objects/svl_search_elasticsearch_start_page.ts b/x-pack/test_serverless/functional/page_objects/svl_search_elasticsearch_start_page.ts index 1f4294d4c8f41..3a3c9700cf2aa 100644 --- a/x-pack/test_serverless/functional/page_objects/svl_search_elasticsearch_start_page.ts +++ b/x-pack/test_serverless/functional/page_objects/svl_search_elasticsearch_start_page.ts @@ -79,7 +79,7 @@ export function SvlSearchElasticsearchStartPageProvider({ getService }: FtrProvi async expectAnalyzeLogsLink() { await testSubjects.existOrFail('analyzeLogsBtn'); expect(await testSubjects.getAttribute('analyzeLogsBtn', 'href')).equal( - 'https://docs.elastic.co/serverless/elasticsearch/ingest-your-data' + 'https://www.elastic.co/guide/en/serverless/current/elasticsearch-ingest-your-data.html' ); expect(await testSubjects.getAttribute('analyzeLogsBtn', 'target')).equal('_blank'); }, From bcfe9bf48b377a64177031595af584245c510bec Mon Sep 17 00:00:00 2001 From: Samiul Monir <150824886+Samiul-TheSoccerFan@users.noreply.github.com> Date: Fri, 8 Nov 2024 14:49:36 -0500 Subject: [PATCH 27/52] [Search] [Inference Management UI] : Update ELSER tutorial Link (#199527) ## Summary Update tutorial link for `elser` in Inference management plugin. --- packages/kbn-doc-links/src/get_doc_links.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kbn-doc-links/src/get_doc_links.ts b/packages/kbn-doc-links/src/get_doc_links.ts index f14b5afd3f4c9..251d08dde715a 100644 --- a/packages/kbn-doc-links/src/get_doc_links.ts +++ b/packages/kbn-doc-links/src/get_doc_links.ts @@ -197,7 +197,7 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D deployTrainedModels: `${MACHINE_LEARNING_DOCS}ml-nlp-deploy-models.html`, documentLevelSecurity: `${ELASTICSEARCH_DOCS}document-level-security.html`, e5Model: `${MACHINE_LEARNING_DOCS}ml-nlp-e5.html`, - elser: `${ELASTICSEARCH_DOCS}semantic-search-elser.html`, + elser: `${ELASTICSEARCH_DOCS}semantic-search-semantic-text.html`, engines: `${ENTERPRISE_SEARCH_DOCS}engines.html`, indexApi: `${ELASTICSEARCH_DOCS}docs-index_.html`, inferenceApiCreate: `${ELASTICSEARCH_DOCS}put-inference-api.html`, From 907d19b7b82598ab070901f772323b71b583bc65 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Fri, 8 Nov 2024 12:07:55 -0800 Subject: [PATCH 28/52] [OpenAPI] Add redocly lint configuration (#199360) --- oas_docs/README.md | 3 +- oas_docs/{ => linters}/.spectral.yaml | 0 oas_docs/linters/redocly.yaml | 52 +++++++++++++++++++++++++++ oas_docs/makefile | 16 ++++----- 4 files changed, 59 insertions(+), 12 deletions(-) rename oas_docs/{ => linters}/.spectral.yaml (100%) create mode 100644 oas_docs/linters/redocly.yaml diff --git a/oas_docs/README.md b/oas_docs/README.md index e37eefaed4851..3312bc60771e0 100644 --- a/oas_docs/README.md +++ b/oas_docs/README.md @@ -45,8 +45,7 @@ Besides the scripts in the `oas_docs/scripts` folder, there is an `oas_docs/make | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `api-docs` | Builds ESS Kibana OpenAPI bundle | | `api-docs-serverless` | Builds Serverless Kibana OpenAPI bundle | -| `api-docs-lint` | Lints built result bundles | -| `api-docs-lint-errs` | Lints built result bundles for errors | +| `api-docs-lint` | Lints built result bundles | | `api-docs-preview` | Generates (ESS + Serverless) Kibana OpenAPI bundles preview | | `api-docs-overlay` | Applies [overlays](https://docs.bump.sh/help/specification-support/overlays/) from `overlays` folder to the Kibana OpenAPI bundles and generate `*.new.yaml` files. Overlays help to fine tune the result bundles. | | `api-docs-overlay-preview` | Generates a preview for bundles produced by `api-docs-overlay` | diff --git a/oas_docs/.spectral.yaml b/oas_docs/linters/.spectral.yaml similarity index 100% rename from oas_docs/.spectral.yaml rename to oas_docs/linters/.spectral.yaml diff --git a/oas_docs/linters/redocly.yaml b/oas_docs/linters/redocly.yaml new file mode 100644 index 0000000000000..139a503ba856c --- /dev/null +++ b/oas_docs/linters/redocly.yaml @@ -0,0 +1,52 @@ +extends: + - recommended +rules: +# Built-in rules + # Descriptions + parameter-description: warn + tag-description: warn + operation-description: off + # Document info + info-contact: warn + info-license: warn + # Examples + no-invalid-media-type-examples: + severity: warn + allowAdditionalProperties: false + no-invalid-schema-examples: + severity: warn + allowAdditionalProperties: false + # Operations + operation-operationId: error + operation-operationId-unique: error + operation-operationId-url-safe: warn + operation-summary: warn + # Parameters + path-parameters-defined: warn + # Paths + no-ambiguous-paths: warn + no-identical-paths: error + path-excludes-patterns: + severity: error + patterns: + - ^\/internal + # Responses + operation-4xx-response: off + operation-2xx-response: off + # Schema + spec: off + spec-strict-refs: off + # Tags + operation-tag-defined: off + tags-alphabetical: off + operation-singular-tag: off +# Custom rules + rule/operation-summary-length: + subject: + type: Operation + property: summary + message: Operation summary must have a minimum of 5 and maximum of 45 characters + severity: warn + assertions: + maxLength: 45 + minLength: 5 \ No newline at end of file diff --git a/oas_docs/makefile b/oas_docs/makefile index 85ab06e0c2c73..2ea80877771c3 100644 --- a/oas_docs/makefile +++ b/oas_docs/makefile @@ -27,20 +27,16 @@ api-docs-serverless: ## Generate only kibana.serverless.yaml @node scripts/merge_serverless_oas.js .PHONY: api-docs-lint -api-docs-lint: ## Run spectral API docs linter - @npx @stoplight/spectral-cli lint "output/*.yaml" --ruleset ".spectral.yaml" - -.PHONY: api-docs-lint-errs -api-docs-lint-errs: ## Run spectral API docs linter and return only errors - @npx @stoplight/spectral-cli lint "output/*.yaml" --ruleset ".spectral.yaml" -D +api-docs-lint: ## Run redocly API docs linter + @npx @redocly/cli lint "output/*.yaml" --config "linters/redocly.yaml" --format stylish --max-problems 500 .PHONY: api-docs-lint-stateful -api-docs-lint-stateful: ## Run spectral API docs linter on kibana.yaml - @npx @stoplight/spectral-cli lint "output/kibana.yaml" --ruleset ".spectral.yaml" +api-docs-lint-stateful: ## Run redocly API docs linter on kibana.yaml + @npx @redocly/cli lint "output/kibana.yaml" --config "linters/redocly.yaml" --format stylish --max-problems 500 .PHONY: api-docs-lint-serverless -api-docs-lint-serverless: ## Run spectral API docs linter on kibana.serverless.yaml - @npx @stoplight/spectral-cli lint "output/kibana.serverless.yaml" --ruleset ".spectral.yaml" +api-docs-lint-serverless: ## Run redocly API docs linter on kibana.serverless.yaml + @npx @redocly/cli lint "output/kibana.serverless.yaml" --config "linters/redocly.yaml" --format stylish --max-problems 500 .PHONY: api-docs-overlay api-docs-overlay: ## Run spectral API docs linter on kibana.serverless.yaml From c204fff4ca45909ee21c2af47c0a5f7c1f84d21d Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:24:50 +0000 Subject: [PATCH 29/52] skip flaky suite (#199432) --- .../investigation/timeline/tests/timeline_details.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_api_integration/test_suites/investigation/timeline/tests/timeline_details.ts b/x-pack/test/security_solution_api_integration/test_suites/investigation/timeline/tests/timeline_details.ts index dcfe8ec233e0a..bcca8a30a3df0 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/investigation/timeline/tests/timeline_details.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/investigation/timeline/tests/timeline_details.ts @@ -35,7 +35,8 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { let supertest: TestAgent; let search: SearchService; - describe('@skipInServerless Timeline Details', () => { + // FLAKY: https://github.com/elastic/kibana/issues/199432 + describe.skip('@skipInServerless Timeline Details', () => { before(async () => { supertest = await utils.createSuperTest(); search = await utils.createSearch(); From 3780eae8e1f737d1d2ab8b3cd2930a7246ed8949 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:27:20 +0000 Subject: [PATCH 30/52] skip flaky suite (#199379) --- .../explore/network/trial_license_complete_tier/tests/tls.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts index 004a79b9788f4..0997f9ad0f07b 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts @@ -91,7 +91,8 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { describe('Tls Test with Packetbeat', () => { let supertest: TestAgent; let search: SearchService; - describe('Tls Test', () => { + // FLAKY: https://github.com/elastic/kibana/issues/199379 + describe.skip('Tls Test', () => { before(async () => { supertest = await utils.createSuperTest(); search = await utils.createSearch(); From 5ed1f9559a1200f5f9602df344f6cd8399ec1b70 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:27:52 +0000 Subject: [PATCH 31/52] skip flaky suite (#199433) --- .../explore/network/trial_license_complete_tier/tests/tls.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts index 0997f9ad0f07b..afd14781de272 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts @@ -92,6 +92,7 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { let supertest: TestAgent; let search: SearchService; // FLAKY: https://github.com/elastic/kibana/issues/199379 + // FLAKY: https://github.com/elastic/kibana/issues/199433 describe.skip('Tls Test', () => { before(async () => { supertest = await utils.createSuperTest(); From 63632a68fda6f72515d0721d4dd60ad758fcc7de Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:28:58 +0000 Subject: [PATCH 32/52] skip flaky suite (#199364) --- .../trial_license_complete_tier/tests/overview_network.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_api_integration/test_suites/explore/overview/trial_license_complete_tier/tests/overview_network.ts b/x-pack/test/security_solution_api_integration/test_suites/explore/overview/trial_license_complete_tier/tests/overview_network.ts index 5d2fc9c5aafdd..04fdce9791a26 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/explore/overview/trial_license_complete_tier/tests/overview_network.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/explore/overview/trial_license_complete_tier/tests/overview_network.ts @@ -65,7 +65,8 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { }); }); - describe('With packetbeat', () => { + // FLAKY: https://github.com/elastic/kibana/issues/199364 + describe.skip('With packetbeat', () => { before(async () => { supertest = await utils.createSuperTest(); search = await utils.createSearch(); From 623674a4640188604bcac4859daaa433e8d28dc3 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:31:03 +0000 Subject: [PATCH 33/52] skip flaky suite (#197175) --- .../observability/ai_assistant/tests/complete/complete.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/ai_assistant/tests/complete/complete.spec.ts b/x-pack/test_serverless/api_integration/test_suites/observability/ai_assistant/tests/complete/complete.spec.ts index a95c07bce0eb9..385040bd9754f 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/ai_assistant/tests/complete/complete.spec.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/ai_assistant/tests/complete/complete.spec.ts @@ -63,7 +63,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { }, ]; - describe('/internal/observability_ai_assistant/chat/complete', function () { + // FLAKY: https://github.com/elastic/kibana/issues/197175 + describe.skip('/internal/observability_ai_assistant/chat/complete', function () { // TODO: https://github.com/elastic/kibana/issues/192751 this.tags(['skipMKI']); let proxy: LlmProxy; From dff48488bb9bd2449bcfc4a72dc490273fbb79b3 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:31:47 +0000 Subject: [PATCH 34/52] skip flaky suite (#189636) --- .../functional/test_suites/common/discover/esql/_esql_view.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/functional/test_suites/common/discover/esql/_esql_view.ts b/x-pack/test_serverless/functional/test_suites/common/discover/esql/_esql_view.ts index 0df0676c1f246..83aea5e94f421 100644 --- a/x-pack/test_serverless/functional/test_suites/common/discover/esql/_esql_view.ts +++ b/x-pack/test_serverless/functional/test_suites/common/discover/esql/_esql_view.ts @@ -258,7 +258,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); - describe('switch modal', () => { + // FLAKY: https://github.com/elastic/kibana/issues/189636 + describe.skip('switch modal', () => { beforeEach(async () => { await PageObjects.common.navigateToApp('discover'); await PageObjects.timePicker.setDefaultAbsoluteRange(); From 0ee022eb80d8711e2883bc79e6f8a722a8a58901 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:33:54 +0000 Subject: [PATCH 35/52] skip flaky suite (#199410) --- .../explore/network/trial_license_complete_tier/tests/tls.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts index afd14781de272..f4ead50ced3e9 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts @@ -93,6 +93,7 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { let search: SearchService; // FLAKY: https://github.com/elastic/kibana/issues/199379 // FLAKY: https://github.com/elastic/kibana/issues/199433 + // FLAKY: https://github.com/elastic/kibana/issues/199410 describe.skip('Tls Test', () => { before(async () => { supertest = await utils.createSuperTest(); From 116cd9d1708bb698f704689f388c2001361978ef Mon Sep 17 00:00:00 2001 From: Davis McPhee Date: Fri, 8 Nov 2024 17:34:35 -0400 Subject: [PATCH 36/52] Fix missing params from search strategy polling requests causing validation errors in tests (#199539) ## Summary This PR fixes an issue introduced in #196962 where search strategy polling requests sent from some integration tests were missing necessary body parameters, resulting in validation errors and test failures. This issue was not caught by CI in the original PR because it only occurs when a search request runs slow enough to return partial results (and therefore requires polling), which is not common in test runs. Fixes #199537 Fixes #199499 Fixes #199460 Fixes #199449 Fixes #199412 Fixes #199410 Fixes #199394 Fixes #199379 Fixes #199372 Fixes #199363 Fixes #199541 Fixes #199446 Fixes #199433 Fixes #199432 Fixes #199381 Fixes #199369 Fixes #199364 Flaky test runner x200: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/7362. ### Checklist - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels) - [ ] This will appear in the **Release Notes** and follow the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- .../services/search.ts | 2 +- .../common/utils/parse_b_fetch.ts | 15 --------------- x-pack/test/common/services/search_secure.ts | 15 +++------------ .../tests/network_dns.ts | 3 +-- .../tests/network_top_n_flow.ts | 3 +-- .../shared/services/search_secure.ts | 15 +++------------ 6 files changed, 9 insertions(+), 44 deletions(-) delete mode 100644 x-pack/test/apm_api_integration/common/utils/parse_b_fetch.ts diff --git a/packages/kbn-ftr-common-functional-services/services/search.ts b/packages/kbn-ftr-common-functional-services/services/search.ts index c087f1d8bb913..2c9e0f558a365 100644 --- a/packages/kbn-ftr-common-functional-services/services/search.ts +++ b/packages/kbn-ftr-common-functional-services/services/search.ts @@ -73,7 +73,7 @@ export class SearchService extends FtrService { .post(`${spaceUrl}/internal/search/${strategy}/${body.id}`) .set('kbn-xsrf', 'true') .set(ELASTIC_HTTP_VERSION_HEADER, '1') - .send() + .send(options) .expect(200); expect(resp.body.isRunning).equal(false); return resp.body as T; diff --git a/x-pack/test/apm_api_integration/common/utils/parse_b_fetch.ts b/x-pack/test/apm_api_integration/common/utils/parse_b_fetch.ts deleted file mode 100644 index 79ea70f7199f9..0000000000000 --- a/x-pack/test/apm_api_integration/common/utils/parse_b_fetch.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import request from 'superagent'; - -export function parseBfetchResponse(resp: request.Response): Array> { - return resp.text - .trim() - .split('\n') - .map((item) => JSON.parse(item)); -} diff --git a/x-pack/test/common/services/search_secure.ts b/x-pack/test/common/services/search_secure.ts index 93654fddd611a..f46e9e57ef275 100644 --- a/x-pack/test/common/services/search_secure.ts +++ b/x-pack/test/common/services/search_secure.ts @@ -9,20 +9,12 @@ // but with the ability to provide custom auth import expect from '@kbn/expect'; -import request from 'superagent'; import type { IEsSearchResponse } from '@kbn/search-types'; import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; import { BFETCH_ROUTE_VERSION_LATEST } from '@kbn/bfetch-plugin/common'; import { SupertestWithoutAuthProviderType } from '@kbn/ftr-common-functional-services'; import { FtrService } from '../ftr_provider_context'; -const parseBfetchResponse = (resp: request.Response): Array> => { - return resp.text - .trim() - .split('\n') - .map((item) => JSON.parse(item)); -}; - const getSpaceUrlPrefix = (spaceId?: string): string => { return spaceId && spaceId !== 'default' ? `/s/${spaceId}` : ``; }; @@ -114,11 +106,10 @@ export class SearchSecureService extends FtrService { .set('kbn-xsrf', 'true') .set('x-elastic-internal-origin', 'Kibana') .set(ELASTIC_HTTP_VERSION_HEADER, BFETCH_ROUTE_VERSION_LATEST) - .send() + .send(options) .expect(200); - const [parsedResponse] = parseBfetchResponse(resp); - expect(parsedResponse.result.isRunning).equal(false); - return parsedResponse.result; + expect(resp.body.isRunning).equal(false); + return resp.body; }); return result as T; diff --git a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/network_dns.ts b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/network_dns.ts index fd6009c82df09..cab4ee31744f6 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/network_dns.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/network_dns.ts @@ -21,8 +21,7 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { const esArchiver = getService('esArchiver'); const utils = getService('securitySolutionUtils'); - // Failing: See https://github.com/elastic/kibana/issues/199372 - describe.skip('Network DNS', () => { + describe('Network DNS', () => { let supertest: TestAgent; let search: SearchService; describe('With packetbeat', () => { diff --git a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/network_top_n_flow.ts b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/network_top_n_flow.ts index 4c316e774ebbd..31eabe76ee0e1 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/network_top_n_flow.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/network_top_n_flow.ts @@ -25,8 +25,7 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { const esArchiver = getService('esArchiver'); const utils = getService('securitySolutionUtils'); - // FLAKY: https://github.com/elastic/kibana/issues/199363 - describe.skip('Network Top N Flow', () => { + describe('Network Top N Flow', () => { let supertest: TestAgent; let search: SearchService; describe('With filebeat', () => { diff --git a/x-pack/test_serverless/shared/services/search_secure.ts b/x-pack/test_serverless/shared/services/search_secure.ts index 7db246dc4ccdf..f0130203dd9b9 100644 --- a/x-pack/test_serverless/shared/services/search_secure.ts +++ b/x-pack/test_serverless/shared/services/search_secure.ts @@ -10,19 +10,11 @@ import expect from '@kbn/expect'; import { GenericFtrService } from '@kbn/test'; -import request from 'superagent'; import type { IEsSearchResponse } from '@kbn/search-types'; import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; import { SupertestWithoutAuthProviderType } from '@kbn/ftr-common-functional-services'; import { FtrProviderContext } from '../../functional/ftr_provider_context'; -const parseBfetchResponse = (resp: request.Response): Array> => { - return resp.text - .trim() - .split('\n') - .map((item) => JSON.parse(item)); -}; - export interface SendOptions { supertestWithoutAuth: SupertestWithoutAuthProviderType; apiKeyHeader: { Authorization: string }; @@ -108,11 +100,10 @@ export class SearchSecureService extends GenericFtrService { .set('kbn-xsrf', 'true') .set('x-elastic-internal-origin', 'Kibana') .set(ELASTIC_HTTP_VERSION_HEADER, '1') - .send() + .send(options) .expect(200); - const [parsedResponse] = parseBfetchResponse(resp); - expect(parsedResponse.result.isRunning).equal(false); - return parsedResponse.result; + expect(resp.body.isRunning).equal(false); + return resp.body; }); return result as T; From 8f2bb2f753be705225ce80d7e41c053a8db8f755 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:36:39 +0000 Subject: [PATCH 37/52] Revert "skip flaky suite (#199410)" This reverts commit 0ee022eb80d8711e2883bc79e6f8a722a8a58901. --- .../explore/network/trial_license_complete_tier/tests/tls.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts index f4ead50ced3e9..afd14781de272 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts @@ -93,7 +93,6 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { let search: SearchService; // FLAKY: https://github.com/elastic/kibana/issues/199379 // FLAKY: https://github.com/elastic/kibana/issues/199433 - // FLAKY: https://github.com/elastic/kibana/issues/199410 describe.skip('Tls Test', () => { before(async () => { supertest = await utils.createSuperTest(); From 1a54f28c918c32d9547a55eb129aabe246e878da Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:37:21 +0000 Subject: [PATCH 38/52] Revert "skip flaky suite (#199364)" This reverts commit 63632a68fda6f72515d0721d4dd60ad758fcc7de. --- .../trial_license_complete_tier/tests/overview_network.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/x-pack/test/security_solution_api_integration/test_suites/explore/overview/trial_license_complete_tier/tests/overview_network.ts b/x-pack/test/security_solution_api_integration/test_suites/explore/overview/trial_license_complete_tier/tests/overview_network.ts index 04fdce9791a26..5d2fc9c5aafdd 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/explore/overview/trial_license_complete_tier/tests/overview_network.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/explore/overview/trial_license_complete_tier/tests/overview_network.ts @@ -65,8 +65,7 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { }); }); - // FLAKY: https://github.com/elastic/kibana/issues/199364 - describe.skip('With packetbeat', () => { + describe('With packetbeat', () => { before(async () => { supertest = await utils.createSuperTest(); search = await utils.createSearch(); From 94f2729b94111a1781b89d05a0dc336f74a65c68 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:38:00 +0000 Subject: [PATCH 39/52] Revert "skip flaky suite (#199433)" This reverts commit 5ed1f9559a1200f5f9602df344f6cd8399ec1b70. --- .../explore/network/trial_license_complete_tier/tests/tls.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts index afd14781de272..0997f9ad0f07b 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts @@ -92,7 +92,6 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { let supertest: TestAgent; let search: SearchService; // FLAKY: https://github.com/elastic/kibana/issues/199379 - // FLAKY: https://github.com/elastic/kibana/issues/199433 describe.skip('Tls Test', () => { before(async () => { supertest = await utils.createSuperTest(); From d72ca2d8efd8241e06288e961cd6535934b6ef61 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:38:19 +0000 Subject: [PATCH 40/52] Revert "skip flaky suite (#199379)" This reverts commit 3780eae8e1f737d1d2ab8b3cd2930a7246ed8949. --- .../explore/network/trial_license_complete_tier/tests/tls.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts index 0997f9ad0f07b..004a79b9788f4 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/explore/network/trial_license_complete_tier/tests/tls.ts @@ -91,8 +91,7 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { describe('Tls Test with Packetbeat', () => { let supertest: TestAgent; let search: SearchService; - // FLAKY: https://github.com/elastic/kibana/issues/199379 - describe.skip('Tls Test', () => { + describe('Tls Test', () => { before(async () => { supertest = await utils.createSuperTest(); search = await utils.createSearch(); From a2a71b78179d0a4cc0566f642a4c7321783dca40 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:38:45 +0000 Subject: [PATCH 41/52] Revert "skip flaky suite (#199432)" This reverts commit c204fff4ca45909ee21c2af47c0a5f7c1f84d21d. --- .../investigation/timeline/tests/timeline_details.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/x-pack/test/security_solution_api_integration/test_suites/investigation/timeline/tests/timeline_details.ts b/x-pack/test/security_solution_api_integration/test_suites/investigation/timeline/tests/timeline_details.ts index bcca8a30a3df0..dcfe8ec233e0a 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/investigation/timeline/tests/timeline_details.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/investigation/timeline/tests/timeline_details.ts @@ -35,8 +35,7 @@ export default function ({ getService }: FtrProviderContextWithSpaces) { let supertest: TestAgent; let search: SearchService; - // FLAKY: https://github.com/elastic/kibana/issues/199432 - describe.skip('@skipInServerless Timeline Details', () => { + describe('@skipInServerless Timeline Details', () => { before(async () => { supertest = await utils.createSuperTest(); search = await utils.createSearch(); From b196452152e98a7a428e6e75c7201f0daf9560b6 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 8 Nov 2024 21:40:57 +0000 Subject: [PATCH 42/52] skip flaky suite (#191117) --- .../task_manager_capacity_based_claiming.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/task_manager/server/integration_tests/task_manager_capacity_based_claiming.test.ts b/x-pack/plugins/task_manager/server/integration_tests/task_manager_capacity_based_claiming.test.ts index b042655cfc261..d74dc12283360 100644 --- a/x-pack/plugins/task_manager/server/integration_tests/task_manager_capacity_based_claiming.test.ts +++ b/x-pack/plugins/task_manager/server/integration_tests/task_manager_capacity_based_claiming.test.ts @@ -94,7 +94,8 @@ jest.mock('../queries/task_claiming', () => { const taskManagerStartSpy = jest.spyOn(TaskManagerPlugin.prototype, 'start'); -describe('capacity based claiming', () => { +// FLAKY: https://github.com/elastic/kibana/issues/191117 +describe.skip('capacity based claiming', () => { const taskIdsToRemove: string[] = []; let esServer: TestElasticsearchUtils; let kibanaServer: TestKibanaUtils; From ef0428ffec3084777a8ff82c7191f754bad5705f Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Fri, 8 Nov 2024 14:13:10 -0800 Subject: [PATCH 43/52] [OpenAPI][Fleet] Add missing operation summaries (#199548) --- oas_docs/bundle.json | 338 +++++++----------- oas_docs/bundle.serverless.json | 338 +++++++----------- oas_docs/output/kibana.serverless.yaml | 338 +++++++----------- oas_docs/output/kibana.yaml | 338 +++++++----------- .../fleet/server/routes/agent/index.ts | 53 +-- .../fleet/server/routes/agent_policy/index.ts | 34 +- .../plugins/fleet/server/routes/app/index.ts | 4 +- .../fleet/server/routes/data_streams/index.ts | 2 +- .../server/routes/download_source/index.ts | 13 +- .../server/routes/enrollment_api_key/index.ts | 10 +- .../plugins/fleet/server/routes/epm/index.ts | 40 +-- .../server/routes/fleet_proxies/index.ts | 13 +- .../server/routes/fleet_server_hosts/index.ts | 13 +- .../fleet/server/routes/health_check/index.ts | 2 +- .../routes/message_signing_service/index.ts | 2 +- .../fleet/server/routes/output/index.ts | 17 +- .../server/routes/package_policy/index.ts | 22 +- .../fleet/server/routes/settings/index.ts | 10 +- .../fleet/server/routes/setup/index.ts | 6 +- .../server/routes/uninstall_token/index.ts | 6 +- 20 files changed, 680 insertions(+), 919 deletions(-) diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index cb748564415c2..aa53ce68e54fd 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -5628,7 +5628,6 @@ }, "/api/fleet/agent_download_sources": { "get": { - "description": "List agent binary download sources", "operationId": "get-fleet-agent-download-sources", "parameters": [ { @@ -5731,13 +5730,12 @@ } } }, - "summary": "", + "summary": "Get agent binary download sources", "tags": [ "Elastic Agent binary download sources" ] }, "post": { - "description": "Create agent binary download source", "operationId": "post-fleet-agent-download-sources", "parameters": [ { @@ -5870,7 +5868,7 @@ } } }, - "summary": "", + "summary": "Create an agent binary download source", "tags": [ "Elastic Agent binary download sources" ] @@ -5878,7 +5876,7 @@ }, "/api/fleet/agent_download_sources/{sourceId}": { "delete": { - "description": "Delete agent binary download source by ID", + "description": "Delete an agent binary download source by ID.", "operationId": "delete-fleet-agent-download-sources-sourceid", "parameters": [ { @@ -5957,13 +5955,13 @@ } } }, - "summary": "", + "summary": "Delete an agent binary download source", "tags": [ "Elastic Agent binary download sources" ] }, "get": { - "description": "Get agent binary download source by ID", + "description": "Get an agent binary download source by ID.", "operationId": "get-fleet-agent-download-sources-sourceid", "parameters": [ { @@ -6059,13 +6057,13 @@ } } }, - "summary": "", + "summary": "Get an agent binary download source", "tags": [ "Elastic Agent binary download sources" ] }, "put": { - "description": "Update agent binary download source by ID", + "description": "Update an agent binary download source by ID.", "operationId": "put-fleet-agent-download-sources-sourceid", "parameters": [ { @@ -6206,7 +6204,7 @@ } } }, - "summary": "", + "summary": "Update an agent binary download source", "tags": [ "Elastic Agent binary download sources" ] @@ -6214,7 +6212,6 @@ }, "/api/fleet/agent_policies": { "get": { - "description": "List agent policies", "operationId": "get-fleet-agent-policies", "parameters": [ { @@ -7046,13 +7043,12 @@ } } }, - "summary": "", + "summary": "Get agent policies", "tags": [ "Elastic Agent policies" ] }, "post": { - "description": "Create an agent policy", "operationId": "post-fleet-agent-policies", "parameters": [ { @@ -8039,7 +8035,7 @@ } } }, - "summary": "", + "summary": "Create an agent policy", "tags": [ "Elastic Agent policies" ] @@ -8047,7 +8043,6 @@ }, "/api/fleet/agent_policies/_bulk_get": { "post": { - "description": "Bulk get agent policies", "operationId": "post-fleet-agent-policies-bulk-get", "parameters": [ { @@ -8826,7 +8821,7 @@ } } }, - "summary": "", + "summary": "Bulk get agent policies", "tags": [ "Elastic Agent policies" ] @@ -8834,7 +8829,7 @@ }, "/api/fleet/agent_policies/delete": { "post": { - "description": "Delete agent policy by ID", + "description": "Delete an agent policy by ID.", "operationId": "post-fleet-agent-policies-delete", "parameters": [ { @@ -8931,7 +8926,7 @@ } } }, - "summary": "", + "summary": "Delete an agent policy", "tags": [ "Elastic Agent policies" ] @@ -8939,7 +8934,7 @@ }, "/api/fleet/agent_policies/outputs": { "post": { - "description": "Get list of outputs associated with agent policies", + "description": "Get a list of outputs associated with agent policies.", "operationId": "post-fleet-agent-policies-outputs", "parameters": [ { @@ -9116,7 +9111,7 @@ } } }, - "summary": "", + "summary": "Get outputs for agent policies", "tags": [ "Elastic Agent policies" ] @@ -9124,7 +9119,7 @@ }, "/api/fleet/agent_policies/{agentPolicyId}": { "get": { - "description": "Get an agent policy by ID", + "description": "Get an agent policy by ID.", "operationId": "get-fleet-agent-policies-agentpolicyid", "parameters": [ { @@ -9869,13 +9864,13 @@ } } }, - "summary": "", + "summary": "Get an agent policy", "tags": [ "Elastic Agent policies" ] }, "put": { - "description": "Update an agent policy by ID", + "description": "Update an agent policy by ID.", "operationId": "put-fleet-agent-policies-agentpolicyid", "parameters": [ { @@ -10874,7 +10869,7 @@ } } }, - "summary": "", + "summary": "Update an agent policy", "tags": [ "Elastic Agent policies" ] @@ -10882,7 +10877,7 @@ }, "/api/fleet/agent_policies/{agentPolicyId}/copy": { "post": { - "description": "Copy an agent policy by ID", + "description": "Copy an agent policy by ID.", "operationId": "post-fleet-agent-policies-agentpolicyid-copy", "parameters": [ { @@ -11659,7 +11654,7 @@ } } }, - "summary": "", + "summary": "Copy an agent policy", "tags": [ "Elastic Agent policies" ] @@ -11667,7 +11662,7 @@ }, "/api/fleet/agent_policies/{agentPolicyId}/download": { "get": { - "description": "Download an agent policy by ID", + "description": "Download an agent policy by ID.", "operationId": "get-fleet-agent-policies-agentpolicyid-download", "parameters": [ { @@ -11776,7 +11771,7 @@ } } }, - "summary": "", + "summary": "Download an agent policy", "tags": [ "Elastic Agent policies" ] @@ -11784,7 +11779,7 @@ }, "/api/fleet/agent_policies/{agentPolicyId}/full": { "get": { - "description": "Get a full agent policy by ID", + "description": "Get a full agent policy by ID.", "operationId": "get-fleet-agent-policies-agentpolicyid-full", "parameters": [ { @@ -12278,7 +12273,7 @@ } } }, - "summary": "", + "summary": "Get a full agent policy", "tags": [ "Elastic Agent policies" ] @@ -12286,7 +12281,7 @@ }, "/api/fleet/agent_policies/{agentPolicyId}/outputs": { "get": { - "description": "Get list of outputs associated with agent policy by policy id", + "description": "Get a list of outputs associated with agent policy by policy id.", "operationId": "get-fleet-agent-policies-agentpolicyid-outputs", "parameters": [ { @@ -12436,7 +12431,7 @@ } } }, - "summary": "", + "summary": "Get outputs for an agent policy", "tags": [ "Elastic Agent policies" ] @@ -12444,7 +12439,6 @@ }, "/api/fleet/agent_status": { "get": { - "description": "Get agent status summary", "operationId": "get-fleet-agent-status", "parameters": [ { @@ -12584,7 +12578,7 @@ } } }, - "summary": "", + "summary": "Get an agent status summary", "tags": [ "Elastic Agent status" ] @@ -12592,7 +12586,6 @@ }, "/api/fleet/agent_status/data": { "get": { - "description": "Get incoming agent data", "operationId": "get-fleet-agent-status-data", "parameters": [ { @@ -12700,7 +12693,7 @@ } } }, - "summary": "", + "summary": "Get incoming agent data", "tags": [ "Elastic Agents" ] @@ -12708,7 +12701,6 @@ }, "/api/fleet/agents": { "get": { - "description": "List agents", "operationId": "get-fleet-agents", "parameters": [ { @@ -13253,13 +13245,12 @@ } } }, - "summary": "", + "summary": "Get agents", "tags": [ "Elastic Agents" ] }, "post": { - "description": "List agents by action ids", "operationId": "post-fleet-agents", "parameters": [ { @@ -13354,7 +13345,7 @@ } } }, - "summary": "", + "summary": "Get agents by action ids", "tags": [ "Elastic Agents" ] @@ -13362,7 +13353,6 @@ }, "/api/fleet/agents/action_status": { "get": { - "description": "Get agent action status", "operationId": "get-fleet-agents-action-status", "parameters": [ { @@ -13590,7 +13580,7 @@ } } }, - "summary": "", + "summary": "Get an agent action status", "tags": [ "Elastic Agent actions" ] @@ -13598,7 +13588,6 @@ }, "/api/fleet/agents/actions/{actionId}/cancel": { "post": { - "description": "Cancel agent action", "operationId": "post-fleet-agents-actions-actionid-cancel", "parameters": [ { @@ -13732,7 +13721,7 @@ } } }, - "summary": "", + "summary": "Cancel an agent action", "tags": [ "Elastic Agent actions" ] @@ -13740,7 +13729,6 @@ }, "/api/fleet/agents/available_versions": { "get": { - "description": "Get available agent versions", "operationId": "get-fleet-agents-available-versions", "parameters": [ { @@ -13804,7 +13792,7 @@ } } }, - "summary": "", + "summary": "Get available agent versions", "tags": [ "Elastic Agents" ] @@ -13812,7 +13800,6 @@ }, "/api/fleet/agents/bulk_reassign": { "post": { - "description": "Bulk reassign agents", "operationId": "post-fleet-agents-bulk-reassign", "parameters": [ { @@ -13922,7 +13909,7 @@ } } }, - "summary": "", + "summary": "Bulk reassign agents", "tags": [ "Elastic Agent actions" ] @@ -13930,7 +13917,6 @@ }, "/api/fleet/agents/bulk_request_diagnostics": { "post": { - "description": "Bulk request diagnostics from agents", "operationId": "post-fleet-agents-bulk-request-diagnostics", "parameters": [ { @@ -14041,7 +14027,7 @@ } } }, - "summary": "", + "summary": "Bulk request diagnostics from agents", "tags": [ "Elastic Agent actions" ] @@ -14049,7 +14035,6 @@ }, "/api/fleet/agents/bulk_unenroll": { "post": { - "description": "Bulk unenroll agents", "operationId": "post-fleet-agents-bulk-unenroll", "parameters": [ { @@ -14165,7 +14150,7 @@ } } }, - "summary": "", + "summary": "Bulk unenroll agents", "tags": [ "Elastic Agent actions" ] @@ -14173,7 +14158,6 @@ }, "/api/fleet/agents/bulk_update_agent_tags": { "post": { - "description": "Bulk update agent tags", "operationId": "post-fleet-agents-bulk-update-agent-tags", "parameters": [ { @@ -14291,7 +14275,7 @@ } } }, - "summary": "", + "summary": "Bulk update agent tags", "tags": [ "Elastic Agent actions" ] @@ -14299,7 +14283,6 @@ }, "/api/fleet/agents/bulk_upgrade": { "post": { - "description": "Bulk upgrade agents", "operationId": "post-fleet-agents-bulk-upgrade", "parameters": [ { @@ -14425,7 +14408,7 @@ } } }, - "summary": "", + "summary": "Bulk upgrade agents", "tags": [ "Elastic Agent actions" ] @@ -14433,7 +14416,7 @@ }, "/api/fleet/agents/files/{fileId}": { "delete": { - "description": "Delete file uploaded by agent", + "description": "Delete a file uploaded by an agent.", "operationId": "delete-fleet-agents-files-fileid", "parameters": [ { @@ -14516,7 +14499,7 @@ } } }, - "summary": "", + "summary": "Delete an uploaded file", "tags": [ "Elastic Agents" ] @@ -14524,7 +14507,7 @@ }, "/api/fleet/agents/files/{fileId}/{fileName}": { "get": { - "description": "Get file uploaded by agent", + "description": "Get a file uploaded by an agent.", "operationId": "get-fleet-agents-files-fileid-filename", "parameters": [ { @@ -14592,7 +14575,7 @@ } } }, - "summary": "", + "summary": "Get an uploaded file", "tags": [ "Elastic Agents" ] @@ -14600,7 +14583,6 @@ }, "/api/fleet/agents/setup": { "get": { - "description": "Get agent setup info", "operationId": "get-fleet-agents-setup", "parameters": [ { @@ -14695,13 +14677,12 @@ } } }, - "summary": "", + "summary": "Get agent setup info", "tags": [ "Elastic Agents" ] }, "post": { - "description": "Initiate agent setup", "operationId": "post-fleet-agents-setup", "parameters": [ { @@ -14793,7 +14774,7 @@ } } }, - "summary": "", + "summary": "Initiate agent setup", "tags": [ "Elastic Agents" ] @@ -14801,7 +14782,6 @@ }, "/api/fleet/agents/tags": { "get": { - "description": "List agent tags", "operationId": "get-fleet-agents-tags", "parameters": [ { @@ -14882,7 +14862,7 @@ } } }, - "summary": "", + "summary": "Get agent tags", "tags": [ "Elastic Agents" ] @@ -14890,7 +14870,7 @@ }, "/api/fleet/agents/{agentId}": { "delete": { - "description": "Delete agent by ID", + "description": "Delete an agent by ID.", "operationId": "delete-fleet-agents-agentid", "parameters": [ { @@ -14972,13 +14952,13 @@ } } }, - "summary": "", + "summary": "Delete an agent", "tags": [ "Elastic Agents" ] }, "get": { - "description": "Get agent by ID", + "description": "Get an agent by ID.", "operationId": "get-fleet-agents-agentid", "parameters": [ { @@ -15437,13 +15417,13 @@ } } }, - "summary": "", + "summary": "Get an agent", "tags": [ "Elastic Agents" ] }, "put": { - "description": "Update agent by ID", + "description": "Update an agent by ID.", "operationId": "put-fleet-agents-agentid", "parameters": [ { @@ -15925,7 +15905,7 @@ } } }, - "summary": "", + "summary": "Update an agent", "tags": [ "Elastic Agents" ] @@ -15933,7 +15913,6 @@ }, "/api/fleet/agents/{agentId}/actions": { "post": { - "description": "Create agent action", "operationId": "post-fleet-agents-agentid-actions", "parameters": [ { @@ -16142,7 +16121,7 @@ } } }, - "summary": "", + "summary": "Create an agent action", "tags": [ "Elastic Agent actions" ] @@ -16150,7 +16129,6 @@ }, "/api/fleet/agents/{agentId}/reassign": { "post": { - "description": "Reassign agent", "operationId": "post-fleet-agents-agentid-reassign", "parameters": [ { @@ -16240,7 +16218,7 @@ } } }, - "summary": "", + "summary": "Reassign an agent", "tags": [ "Elastic Agent actions" ] @@ -16248,7 +16226,6 @@ }, "/api/fleet/agents/{agentId}/request_diagnostics": { "post": { - "description": "Request agent diagnostics", "operationId": "post-fleet-agents-agentid-request-diagnostics", "parameters": [ { @@ -16349,7 +16326,7 @@ } } }, - "summary": "", + "summary": "Request agent diagnostics", "tags": [ "Elastic Agent actions" ] @@ -16357,7 +16334,6 @@ }, "/api/fleet/agents/{agentId}/unenroll": { "post": { - "description": "Unenroll agent", "operationId": "post-fleet-agents-agentid-unenroll", "parameters": [ { @@ -16411,7 +16387,7 @@ } }, "responses": {}, - "summary": "", + "summary": "Unenroll an agent", "tags": [ "Elastic Agent actions" ] @@ -16419,7 +16395,6 @@ }, "/api/fleet/agents/{agentId}/upgrade": { "post": { - "description": "Upgrade agent", "operationId": "post-fleet-agents-agentid-upgrade", "parameters": [ { @@ -16518,7 +16493,7 @@ } } }, - "summary": "", + "summary": "Upgrade an agent", "tags": [ "Elastic Agent actions" ] @@ -16526,7 +16501,6 @@ }, "/api/fleet/agents/{agentId}/uploads": { "get": { - "description": "List agent uploads", "operationId": "get-fleet-agents-agentid-uploads", "parameters": [ { @@ -16638,7 +16612,7 @@ } } }, - "summary": "", + "summary": "Get agent uploads", "tags": [ "Elastic Agents" ] @@ -16646,7 +16620,6 @@ }, "/api/fleet/check-permissions": { "get": { - "description": "Check permissions", "operationId": "get-fleet-check-permissions", "parameters": [ { @@ -16723,7 +16696,7 @@ } } }, - "summary": "", + "summary": "Check permissions", "tags": [ "Fleet internals" ] @@ -16731,7 +16704,6 @@ }, "/api/fleet/data_streams": { "get": { - "description": "List data streams", "operationId": "get-fleet-data-streams", "parameters": [ { @@ -16881,7 +16853,7 @@ } } }, - "summary": "", + "summary": "Get data streams", "tags": [ "Data streams" ] @@ -16889,7 +16861,6 @@ }, "/api/fleet/enrollment_api_keys": { "get": { - "description": "List enrollment API keys", "operationId": "get-fleet-enrollment-api-keys", "parameters": [ { @@ -17027,13 +16998,12 @@ } } }, - "summary": "", + "summary": "Get enrollment API keys", "tags": [ "Fleet enrollment API keys" ] }, "post": { - "description": "Create enrollment API key", "operationId": "post-fleet-enrollment-api-keys", "parameters": [ { @@ -17171,7 +17141,7 @@ } } }, - "summary": "", + "summary": "Create an enrollment API key", "tags": [ "Fleet enrollment API keys" ] @@ -17179,7 +17149,7 @@ }, "/api/fleet/enrollment_api_keys/{keyId}": { "delete": { - "description": "Revoke enrollment API key by ID by marking it as inactive", + "description": "Revoke an enrollment API key by ID by marking it as inactive.", "operationId": "delete-fleet-enrollment-api-keys-keyid", "parameters": [ { @@ -17261,13 +17231,13 @@ } } }, - "summary": "", + "summary": "Revoke an enrollment API key", "tags": [ "Fleet enrollment API keys" ] }, "get": { - "description": "Get enrollment API key by ID", + "description": "Get an enrollment API key by ID.", "operationId": "get-fleet-enrollment-api-keys-keyid", "parameters": [ { @@ -17372,7 +17342,7 @@ } } }, - "summary": "", + "summary": "Get an enrollment API key", "tags": [ "Fleet enrollment API keys" ] @@ -17380,7 +17350,6 @@ }, "/api/fleet/epm/bulk_assets": { "post": { - "description": "Bulk get assets", "operationId": "post-fleet-epm-bulk-assets", "parameters": [ { @@ -17523,7 +17492,7 @@ } } }, - "summary": "", + "summary": "Bulk get assets", "tags": [ "Elastic Package Manager (EPM)" ] @@ -17531,7 +17500,6 @@ }, "/api/fleet/epm/categories": { "get": { - "description": "List package categories", "operationId": "get-fleet-epm-categories", "parameters": [ { @@ -17634,7 +17602,7 @@ } } }, - "summary": "", + "summary": "Get package categories", "tags": [ "Elastic Package Manager (EPM)" ] @@ -17642,7 +17610,6 @@ }, "/api/fleet/epm/custom_integrations": { "post": { - "description": "Create custom integration", "operationId": "post-fleet-epm-custom-integrations", "parameters": [ { @@ -17843,7 +17810,7 @@ } } }, - "summary": "", + "summary": "Create a custom integration", "tags": [ "Elastic Package Manager (EPM)" ] @@ -17851,7 +17818,6 @@ }, "/api/fleet/epm/data_streams": { "get": { - "description": "List data streams", "operationId": "get-fleet-epm-data-streams", "parameters": [ { @@ -17969,7 +17935,7 @@ } } }, - "summary": "", + "summary": "Get data streams", "tags": [ "Data streams" ] @@ -17977,7 +17943,6 @@ }, "/api/fleet/epm/packages": { "get": { - "description": "List packages", "operationId": "get-fleet-epm-packages", "parameters": [ { @@ -18543,13 +18508,12 @@ } } }, - "summary": "", + "summary": "Get packages", "tags": [ "Elastic Package Manager (EPM)" ] }, "post": { - "description": "Install package by upload", "operationId": "post-fleet-epm-packages", "parameters": [ { @@ -18730,7 +18694,7 @@ } } }, - "summary": "", + "summary": "Install a package by upload", "tags": [ "Elastic Package Manager (EPM)" ] @@ -18738,7 +18702,6 @@ }, "/api/fleet/epm/packages/_bulk": { "post": { - "description": "Bulk install packages", "operationId": "post-fleet-epm-packages-bulk", "parameters": [ { @@ -19008,7 +18971,7 @@ } } }, - "summary": "", + "summary": "Bulk install packages", "tags": [ "Elastic Package Manager (EPM)" ] @@ -19016,7 +18979,6 @@ }, "/api/fleet/epm/packages/installed": { "get": { - "description": "Get installed packages", "operationId": "get-fleet-epm-packages-installed", "parameters": [ { @@ -19249,7 +19211,7 @@ } } }, - "summary": "", + "summary": "Get installed packages", "tags": [ "Elastic Package Manager (EPM)" ] @@ -19257,7 +19219,6 @@ }, "/api/fleet/epm/packages/limited": { "get": { - "description": "Get limited package list", "operationId": "get-fleet-epm-packages-limited", "parameters": [ { @@ -19321,7 +19282,7 @@ } } }, - "summary": "", + "summary": "Get a limited package list", "tags": [ "Elastic Package Manager (EPM)" ] @@ -19329,7 +19290,6 @@ }, "/api/fleet/epm/packages/{pkgName}/stats": { "get": { - "description": "Get package stats", "operationId": "get-fleet-epm-packages-pkgname-stats", "parameters": [ { @@ -19407,7 +19367,7 @@ } } }, - "summary": "", + "summary": "Get package stats", "tags": [ "Elastic Package Manager (EPM)" ] @@ -19415,7 +19375,6 @@ }, "/api/fleet/epm/packages/{pkgName}/{pkgVersion}": { "delete": { - "description": "Delete package", "operationId": "delete-fleet-epm-packages-pkgname-pkgversion", "parameters": [ { @@ -19579,13 +19538,12 @@ } } }, - "summary": "", + "summary": "Delete a package", "tags": [ "Elastic Package Manager (EPM)" ] }, "get": { - "description": "Get package", "operationId": "get-fleet-epm-packages-pkgname-pkgversion", "parameters": [ { @@ -20271,13 +20229,12 @@ } } }, - "summary": "", + "summary": "Get a package", "tags": [ "Elastic Package Manager (EPM)" ] }, "post": { - "description": "Install package from registry", "operationId": "post-fleet-epm-packages-pkgname-pkgversion", "parameters": [ { @@ -20493,13 +20450,12 @@ } } }, - "summary": "", + "summary": "Install a package from the registry", "tags": [ "Elastic Package Manager (EPM)" ] }, "put": { - "description": "Update package settings", "operationId": "put-fleet-epm-packages-pkgname-pkgversion", "parameters": [ { @@ -21168,7 +21124,7 @@ } } }, - "summary": "", + "summary": "Update package settings", "tags": [ "Elastic Package Manager (EPM)" ] @@ -21176,7 +21132,6 @@ }, "/api/fleet/epm/packages/{pkgName}/{pkgVersion}/transforms/authorize": { "post": { - "description": "Authorize transforms", "operationId": "post-fleet-epm-packages-pkgname-pkgversion-transforms-authorize", "parameters": [ { @@ -21312,7 +21267,7 @@ } } }, - "summary": "", + "summary": "Authorize transforms", "tags": [ "Elastic Package Manager (EPM)" ] @@ -21320,7 +21275,6 @@ }, "/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath*}": { "get": { - "description": "Get package file", "operationId": "get-fleet-epm-packages-pkgname-pkgversion-filepath", "parameters": [ { @@ -21394,7 +21348,7 @@ } } }, - "summary": "", + "summary": "Get a package file", "tags": [ "Elastic Package Manager (EPM)" ] @@ -21402,7 +21356,6 @@ }, "/api/fleet/epm/templates/{pkgName}/{pkgVersion}/inputs": { "get": { - "description": "Get inputs template", "operationId": "get-fleet-epm-templates-pkgname-pkgversion-inputs", "parameters": [ { @@ -21563,7 +21516,7 @@ } } }, - "summary": "", + "summary": "Get an inputs template", "tags": [ "Elastic Package Manager (EPM)" ] @@ -21571,7 +21524,6 @@ }, "/api/fleet/epm/verification_key_id": { "get": { - "description": "Get a package signature verification key ID", "operationId": "get-fleet-epm-verification-key-id", "parameters": [ { @@ -21633,7 +21585,7 @@ } } }, - "summary": "", + "summary": "Get a package signature verification key ID", "tags": [ "Elastic Package Manager (EPM)" ] @@ -21641,7 +21593,6 @@ }, "/api/fleet/fleet_server_hosts": { "get": { - "description": "List Fleet Server hosts", "operationId": "get-fleet-fleet-server-hosts", "parameters": [ { @@ -21753,13 +21704,12 @@ } } }, - "summary": "", + "summary": "Get Fleet Server hosts", "tags": [ "Fleet Server hosts" ] }, "post": { - "description": "Create Fleet Server host", "operationId": "post-fleet-fleet-server-hosts", "parameters": [ { @@ -21910,7 +21860,7 @@ } } }, - "summary": "", + "summary": "Create a Fleet Server host", "tags": [ "Fleet Server hosts" ] @@ -21918,7 +21868,7 @@ }, "/api/fleet/fleet_server_hosts/{itemId}": { "delete": { - "description": "Delete Fleet Server host by ID", + "description": "Delete a Fleet Server host by ID.", "operationId": "delete-fleet-fleet-server-hosts-itemid", "parameters": [ { @@ -21997,13 +21947,13 @@ } } }, - "summary": "", + "summary": "Delete a Fleet Server host", "tags": [ "Fleet Server hosts" ] }, "get": { - "description": "Get Fleet Server host by ID", + "description": "Get a Fleet Server host by ID.", "operationId": "get-fleet-fleet-server-hosts-itemid", "parameters": [ { @@ -22108,13 +22058,13 @@ } } }, - "summary": "", + "summary": "Get a Fleet Server host", "tags": [ "Fleet Server hosts" ] }, "put": { - "description": "Update Fleet Server host by ID", + "description": "Update a Fleet Server host by ID.", "operationId": "put-fleet-fleet-server-hosts-itemid", "parameters": [ { @@ -22264,7 +22214,7 @@ } } }, - "summary": "", + "summary": "Update a Fleet Server host", "tags": [ "Fleet Server hosts" ] @@ -22272,7 +22222,6 @@ }, "/api/fleet/health_check": { "post": { - "description": "Check Fleet Server health", "operationId": "post-fleet-health-check", "parameters": [ { @@ -22392,7 +22341,7 @@ } } }, - "summary": "", + "summary": "Check Fleet Server health", "tags": [ "Fleet internals" ] @@ -22400,7 +22349,6 @@ }, "/api/fleet/kubernetes": { "get": { - "description": "Get full K8s agent manifest", "operationId": "get-fleet-kubernetes", "parameters": [ { @@ -22485,7 +22433,7 @@ } } }, - "summary": "", + "summary": "Get a full K8s agent manifest", "tags": [ "Elastic Agent policies" ] @@ -22593,7 +22541,7 @@ } } }, - "summary": "", + "summary": "Download an agent manifest", "tags": [ "Elastic Agent policies" ] @@ -22601,7 +22549,6 @@ }, "/api/fleet/logstash_api_keys": { "post": { - "description": "Generate Logstash API key", "operationId": "post-fleet-logstash-api-keys", "parameters": [ { @@ -22672,7 +22619,7 @@ } } }, - "summary": "", + "summary": "Generate a Logstash API key", "tags": [ "Fleet outputs" ] @@ -22680,7 +22627,6 @@ }, "/api/fleet/message_signing_service/rotate_key_pair": { "post": { - "description": "Rotate fleet message signing key pair", "operationId": "post-fleet-message-signing-service-rotate-key-pair", "parameters": [ { @@ -22785,7 +22731,7 @@ } } }, - "summary": "", + "summary": "Rotate a Fleet message signing key pair", "tags": [ "Message Signing Service" ] @@ -22793,7 +22739,6 @@ }, "/api/fleet/outputs": { "get": { - "description": "List outputs", "operationId": "get-fleet-outputs", "parameters": [ { @@ -23884,13 +23829,12 @@ } } }, - "summary": "", + "summary": "Get outputs", "tags": [ "Fleet outputs" ] }, "post": { - "description": "Create output", "operationId": "post-fleet-outputs", "parameters": [ { @@ -26000,7 +25944,7 @@ } } }, - "summary": "", + "summary": "Create output", "tags": [ "Fleet outputs" ] @@ -26008,7 +25952,7 @@ }, "/api/fleet/outputs/{outputId}": { "delete": { - "description": "Delete output by ID", + "description": "Delete output by ID.", "operationId": "delete-fleet-outputs-outputid", "parameters": [ { @@ -26112,13 +26056,13 @@ } } }, - "summary": "", + "summary": "Delete output", "tags": [ "Fleet outputs" ] }, "get": { - "description": "Get output by ID", + "description": "Get output by ID.", "operationId": "get-fleet-outputs-outputid", "parameters": [ { @@ -27202,13 +27146,13 @@ } } }, - "summary": "", + "summary": "Get output", "tags": [ "Fleet outputs" ] }, "put": { - "description": "Update output by ID", + "description": "Update output by ID.", "operationId": "put-fleet-outputs-outputid", "parameters": [ { @@ -29302,7 +29246,7 @@ } } }, - "summary": "", + "summary": "Update output", "tags": [ "Fleet outputs" ] @@ -29310,7 +29254,6 @@ }, "/api/fleet/outputs/{outputId}/health": { "get": { - "description": "Get latest output health", "operationId": "get-fleet-outputs-outputid-health", "parameters": [ { @@ -29390,7 +29333,7 @@ } } }, - "summary": "", + "summary": "Get the latest output health", "tags": [ "Fleet outputs" ] @@ -29398,7 +29341,6 @@ }, "/api/fleet/package_policies": { "get": { - "description": "List package policies", "operationId": "get-fleet-package-policies", "parameters": [ { @@ -30107,13 +30049,12 @@ } } }, - "summary": "", + "summary": "Get package policies", "tags": [ "Fleet package policies" ] }, "post": { - "description": "Create package policy", "operationId": "post-fleet-package-policies", "parameters": [ { @@ -31379,7 +31320,7 @@ } } }, - "summary": "", + "summary": "Create a package policy", "tags": [ "Fleet package policies" ] @@ -31387,7 +31328,6 @@ }, "/api/fleet/package_policies/_bulk_get": { "post": { - "description": "Bulk get package policies", "operationId": "post-fleet-package-policies-bulk-get", "parameters": [ { @@ -32077,7 +32017,7 @@ } } }, - "summary": "", + "summary": "Bulk get package policies", "tags": [ "Fleet package policies" ] @@ -32085,7 +32025,6 @@ }, "/api/fleet/package_policies/delete": { "post": { - "description": "Bulk delete package policies", "operationId": "post-fleet-package-policies-delete", "parameters": [ { @@ -32281,7 +32220,7 @@ } } }, - "summary": "", + "summary": "Bulk delete package policies", "tags": [ "Fleet package policies" ] @@ -32289,7 +32228,7 @@ }, "/api/fleet/package_policies/upgrade": { "post": { - "description": "Upgrade package policy to a newer package version", + "description": "Upgrade a package policy to a newer package version.", "operationId": "post-fleet-package-policies-upgrade", "parameters": [ { @@ -32406,7 +32345,7 @@ } } }, - "summary": "", + "summary": "Upgrade a package policy", "tags": [ "Fleet package policies" ] @@ -32414,7 +32353,6 @@ }, "/api/fleet/package_policies/upgrade/dryrun": { "post": { - "description": "Dry run package policy upgrade", "operationId": "post-fleet-package-policies-upgrade-dryrun", "parameters": [ { @@ -33592,7 +33530,7 @@ } } }, - "summary": "", + "summary": "Dry run a package policy upgrade", "tags": [ "Fleet package policies" ] @@ -33600,7 +33538,7 @@ }, "/api/fleet/package_policies/{packagePolicyId}": { "delete": { - "description": "Delete package policy by ID", + "description": "Delete a package policy by ID.", "operationId": "delete-fleet-package-policies-packagepolicyid", "parameters": [ { @@ -33687,13 +33625,13 @@ } } }, - "summary": "", + "summary": "Delete a package policy", "tags": [ "Fleet package policies" ] }, "get": { - "description": "Get package policy by ID", + "description": "Get a package policy by ID.", "operationId": "get-fleet-package-policies-packagepolicyid", "parameters": [ { @@ -34353,13 +34291,13 @@ } } }, - "summary": "", + "summary": "Get a package policy", "tags": [ "Fleet package policies" ] }, "put": { - "description": "Update package policy by ID", + "description": "Update a package policy by ID.", "operationId": "put-fleet-package-policies-packagepolicyid", "parameters": [ { @@ -35625,7 +35563,7 @@ } } }, - "summary": "", + "summary": "Update a package policy", "tags": [ "Fleet package policies" ] @@ -35633,7 +35571,6 @@ }, "/api/fleet/proxies": { "get": { - "description": "List proxies", "operationId": "get-fleet-proxies", "parameters": [ { @@ -35759,13 +35696,12 @@ } } }, - "summary": "", + "summary": "Get proxies", "tags": [ "Fleet proxies" ] }, "post": { - "description": "Create proxy", "operationId": "post-fleet-proxies", "parameters": [ { @@ -35944,7 +35880,7 @@ } } }, - "summary": "", + "summary": "Create a proxy", "tags": [ "Fleet proxies" ] @@ -35952,7 +35888,7 @@ }, "/api/fleet/proxies/{itemId}": { "delete": { - "description": "Delete proxy by ID", + "description": "Delete a proxy by ID", "operationId": "delete-fleet-proxies-itemid", "parameters": [ { @@ -36031,13 +35967,13 @@ } } }, - "summary": "", + "summary": "Delete a proxy", "tags": [ "Fleet proxies" ] }, "get": { - "description": "Get proxy by ID", + "description": "Get a proxy by ID.", "operationId": "get-fleet-proxies-itemid", "parameters": [ { @@ -36156,13 +36092,13 @@ } } }, - "summary": "", + "summary": "Get a proxy", "tags": [ "Fleet proxies" ] }, "put": { - "description": "Update proxy by ID", + "description": "Update a proxy by ID.", "operationId": "put-fleet-proxies-itemid", "parameters": [ { @@ -36344,7 +36280,7 @@ } } }, - "summary": "", + "summary": "Update a proxy", "tags": [ "Fleet proxies" ] @@ -36352,7 +36288,6 @@ }, "/api/fleet/service_tokens": { "post": { - "description": "Create a service token", "operationId": "post-fleet-service-tokens", "parameters": [ { @@ -36444,7 +36379,7 @@ } } }, - "summary": "", + "summary": "Create a service token", "tags": [ "Fleet service tokens" ] @@ -36452,7 +36387,6 @@ }, "/api/fleet/settings": { "get": { - "description": "Get settings", "operationId": "get-fleet-settings", "parameters": [ { @@ -36591,13 +36525,12 @@ } } }, - "summary": "", + "summary": "Get settings", "tags": [ "Fleet internals" ] }, "put": { - "description": "Update settings", "operationId": "put-fleet-settings", "parameters": [ { @@ -36793,7 +36726,7 @@ } } }, - "summary": "", + "summary": "Update settings", "tags": [ "Fleet internals" ] @@ -36801,7 +36734,6 @@ }, "/api/fleet/setup": { "post": { - "description": "Initiate Fleet setup", "operationId": "post-fleet-setup", "parameters": [ { @@ -36912,7 +36844,7 @@ } } }, - "summary": "", + "summary": "Initiate Fleet setup", "tags": [ "Fleet internals" ] @@ -36920,7 +36852,7 @@ }, "/api/fleet/uninstall_tokens": { "get": { - "description": "List metadata for latest uninstall tokens per agent policy", + "description": "List the metadata for the latest uninstall tokens per agent policy.", "operationId": "get-fleet-uninstall-tokens", "parameters": [ { @@ -37061,7 +36993,7 @@ } } }, - "summary": "", + "summary": "Get metadata for latest uninstall tokens", "tags": [ "Fleet uninstall tokens" ] @@ -37069,7 +37001,7 @@ }, "/api/fleet/uninstall_tokens/{uninstallTokenId}": { "get": { - "description": "Get one decrypted uninstall token by its ID", + "description": "Get one decrypted uninstall token by its ID.", "operationId": "get-fleet-uninstall-tokens-uninstalltokenid", "parameters": [ { @@ -37169,7 +37101,7 @@ } } }, - "summary": "", + "summary": "Get a decrypted uninstall token", "tags": [ "Fleet uninstall tokens" ] diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index db6678511d529..1267027a3687a 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -5628,7 +5628,6 @@ }, "/api/fleet/agent_download_sources": { "get": { - "description": "List agent binary download sources", "operationId": "get-fleet-agent-download-sources", "parameters": [ { @@ -5731,13 +5730,12 @@ } } }, - "summary": "", + "summary": "Get agent binary download sources", "tags": [ "Elastic Agent binary download sources" ] }, "post": { - "description": "Create agent binary download source", "operationId": "post-fleet-agent-download-sources", "parameters": [ { @@ -5870,7 +5868,7 @@ } } }, - "summary": "", + "summary": "Create an agent binary download source", "tags": [ "Elastic Agent binary download sources" ] @@ -5878,7 +5876,7 @@ }, "/api/fleet/agent_download_sources/{sourceId}": { "delete": { - "description": "Delete agent binary download source by ID", + "description": "Delete an agent binary download source by ID.", "operationId": "delete-fleet-agent-download-sources-sourceid", "parameters": [ { @@ -5957,13 +5955,13 @@ } } }, - "summary": "", + "summary": "Delete an agent binary download source", "tags": [ "Elastic Agent binary download sources" ] }, "get": { - "description": "Get agent binary download source by ID", + "description": "Get an agent binary download source by ID.", "operationId": "get-fleet-agent-download-sources-sourceid", "parameters": [ { @@ -6059,13 +6057,13 @@ } } }, - "summary": "", + "summary": "Get an agent binary download source", "tags": [ "Elastic Agent binary download sources" ] }, "put": { - "description": "Update agent binary download source by ID", + "description": "Update an agent binary download source by ID.", "operationId": "put-fleet-agent-download-sources-sourceid", "parameters": [ { @@ -6206,7 +6204,7 @@ } } }, - "summary": "", + "summary": "Update an agent binary download source", "tags": [ "Elastic Agent binary download sources" ] @@ -6214,7 +6212,6 @@ }, "/api/fleet/agent_policies": { "get": { - "description": "List agent policies", "operationId": "get-fleet-agent-policies", "parameters": [ { @@ -7046,13 +7043,12 @@ } } }, - "summary": "", + "summary": "Get agent policies", "tags": [ "Elastic Agent policies" ] }, "post": { - "description": "Create an agent policy", "operationId": "post-fleet-agent-policies", "parameters": [ { @@ -8039,7 +8035,7 @@ } } }, - "summary": "", + "summary": "Create an agent policy", "tags": [ "Elastic Agent policies" ] @@ -8047,7 +8043,6 @@ }, "/api/fleet/agent_policies/_bulk_get": { "post": { - "description": "Bulk get agent policies", "operationId": "post-fleet-agent-policies-bulk-get", "parameters": [ { @@ -8826,7 +8821,7 @@ } } }, - "summary": "", + "summary": "Bulk get agent policies", "tags": [ "Elastic Agent policies" ] @@ -8834,7 +8829,7 @@ }, "/api/fleet/agent_policies/delete": { "post": { - "description": "Delete agent policy by ID", + "description": "Delete an agent policy by ID.", "operationId": "post-fleet-agent-policies-delete", "parameters": [ { @@ -8931,7 +8926,7 @@ } } }, - "summary": "", + "summary": "Delete an agent policy", "tags": [ "Elastic Agent policies" ] @@ -8939,7 +8934,7 @@ }, "/api/fleet/agent_policies/outputs": { "post": { - "description": "Get list of outputs associated with agent policies", + "description": "Get a list of outputs associated with agent policies.", "operationId": "post-fleet-agent-policies-outputs", "parameters": [ { @@ -9116,7 +9111,7 @@ } } }, - "summary": "", + "summary": "Get outputs for agent policies", "tags": [ "Elastic Agent policies" ] @@ -9124,7 +9119,7 @@ }, "/api/fleet/agent_policies/{agentPolicyId}": { "get": { - "description": "Get an agent policy by ID", + "description": "Get an agent policy by ID.", "operationId": "get-fleet-agent-policies-agentpolicyid", "parameters": [ { @@ -9869,13 +9864,13 @@ } } }, - "summary": "", + "summary": "Get an agent policy", "tags": [ "Elastic Agent policies" ] }, "put": { - "description": "Update an agent policy by ID", + "description": "Update an agent policy by ID.", "operationId": "put-fleet-agent-policies-agentpolicyid", "parameters": [ { @@ -10874,7 +10869,7 @@ } } }, - "summary": "", + "summary": "Update an agent policy", "tags": [ "Elastic Agent policies" ] @@ -10882,7 +10877,7 @@ }, "/api/fleet/agent_policies/{agentPolicyId}/copy": { "post": { - "description": "Copy an agent policy by ID", + "description": "Copy an agent policy by ID.", "operationId": "post-fleet-agent-policies-agentpolicyid-copy", "parameters": [ { @@ -11659,7 +11654,7 @@ } } }, - "summary": "", + "summary": "Copy an agent policy", "tags": [ "Elastic Agent policies" ] @@ -11667,7 +11662,7 @@ }, "/api/fleet/agent_policies/{agentPolicyId}/download": { "get": { - "description": "Download an agent policy by ID", + "description": "Download an agent policy by ID.", "operationId": "get-fleet-agent-policies-agentpolicyid-download", "parameters": [ { @@ -11776,7 +11771,7 @@ } } }, - "summary": "", + "summary": "Download an agent policy", "tags": [ "Elastic Agent policies" ] @@ -11784,7 +11779,7 @@ }, "/api/fleet/agent_policies/{agentPolicyId}/full": { "get": { - "description": "Get a full agent policy by ID", + "description": "Get a full agent policy by ID.", "operationId": "get-fleet-agent-policies-agentpolicyid-full", "parameters": [ { @@ -12278,7 +12273,7 @@ } } }, - "summary": "", + "summary": "Get a full agent policy", "tags": [ "Elastic Agent policies" ] @@ -12286,7 +12281,7 @@ }, "/api/fleet/agent_policies/{agentPolicyId}/outputs": { "get": { - "description": "Get list of outputs associated with agent policy by policy id", + "description": "Get a list of outputs associated with agent policy by policy id.", "operationId": "get-fleet-agent-policies-agentpolicyid-outputs", "parameters": [ { @@ -12436,7 +12431,7 @@ } } }, - "summary": "", + "summary": "Get outputs for an agent policy", "tags": [ "Elastic Agent policies" ] @@ -12444,7 +12439,6 @@ }, "/api/fleet/agent_status": { "get": { - "description": "Get agent status summary", "operationId": "get-fleet-agent-status", "parameters": [ { @@ -12584,7 +12578,7 @@ } } }, - "summary": "", + "summary": "Get an agent status summary", "tags": [ "Elastic Agent status" ] @@ -12592,7 +12586,6 @@ }, "/api/fleet/agent_status/data": { "get": { - "description": "Get incoming agent data", "operationId": "get-fleet-agent-status-data", "parameters": [ { @@ -12700,7 +12693,7 @@ } } }, - "summary": "", + "summary": "Get incoming agent data", "tags": [ "Elastic Agents" ] @@ -12708,7 +12701,6 @@ }, "/api/fleet/agents": { "get": { - "description": "List agents", "operationId": "get-fleet-agents", "parameters": [ { @@ -13253,13 +13245,12 @@ } } }, - "summary": "", + "summary": "Get agents", "tags": [ "Elastic Agents" ] }, "post": { - "description": "List agents by action ids", "operationId": "post-fleet-agents", "parameters": [ { @@ -13354,7 +13345,7 @@ } } }, - "summary": "", + "summary": "Get agents by action ids", "tags": [ "Elastic Agents" ] @@ -13362,7 +13353,6 @@ }, "/api/fleet/agents/action_status": { "get": { - "description": "Get agent action status", "operationId": "get-fleet-agents-action-status", "parameters": [ { @@ -13590,7 +13580,7 @@ } } }, - "summary": "", + "summary": "Get an agent action status", "tags": [ "Elastic Agent actions" ] @@ -13598,7 +13588,6 @@ }, "/api/fleet/agents/actions/{actionId}/cancel": { "post": { - "description": "Cancel agent action", "operationId": "post-fleet-agents-actions-actionid-cancel", "parameters": [ { @@ -13732,7 +13721,7 @@ } } }, - "summary": "", + "summary": "Cancel an agent action", "tags": [ "Elastic Agent actions" ] @@ -13740,7 +13729,6 @@ }, "/api/fleet/agents/available_versions": { "get": { - "description": "Get available agent versions", "operationId": "get-fleet-agents-available-versions", "parameters": [ { @@ -13804,7 +13792,7 @@ } } }, - "summary": "", + "summary": "Get available agent versions", "tags": [ "Elastic Agents" ] @@ -13812,7 +13800,6 @@ }, "/api/fleet/agents/bulk_reassign": { "post": { - "description": "Bulk reassign agents", "operationId": "post-fleet-agents-bulk-reassign", "parameters": [ { @@ -13922,7 +13909,7 @@ } } }, - "summary": "", + "summary": "Bulk reassign agents", "tags": [ "Elastic Agent actions" ] @@ -13930,7 +13917,6 @@ }, "/api/fleet/agents/bulk_request_diagnostics": { "post": { - "description": "Bulk request diagnostics from agents", "operationId": "post-fleet-agents-bulk-request-diagnostics", "parameters": [ { @@ -14041,7 +14027,7 @@ } } }, - "summary": "", + "summary": "Bulk request diagnostics from agents", "tags": [ "Elastic Agent actions" ] @@ -14049,7 +14035,6 @@ }, "/api/fleet/agents/bulk_unenroll": { "post": { - "description": "Bulk unenroll agents", "operationId": "post-fleet-agents-bulk-unenroll", "parameters": [ { @@ -14165,7 +14150,7 @@ } } }, - "summary": "", + "summary": "Bulk unenroll agents", "tags": [ "Elastic Agent actions" ] @@ -14173,7 +14158,6 @@ }, "/api/fleet/agents/bulk_update_agent_tags": { "post": { - "description": "Bulk update agent tags", "operationId": "post-fleet-agents-bulk-update-agent-tags", "parameters": [ { @@ -14291,7 +14275,7 @@ } } }, - "summary": "", + "summary": "Bulk update agent tags", "tags": [ "Elastic Agent actions" ] @@ -14299,7 +14283,6 @@ }, "/api/fleet/agents/bulk_upgrade": { "post": { - "description": "Bulk upgrade agents", "operationId": "post-fleet-agents-bulk-upgrade", "parameters": [ { @@ -14425,7 +14408,7 @@ } } }, - "summary": "", + "summary": "Bulk upgrade agents", "tags": [ "Elastic Agent actions" ] @@ -14433,7 +14416,7 @@ }, "/api/fleet/agents/files/{fileId}": { "delete": { - "description": "Delete file uploaded by agent", + "description": "Delete a file uploaded by an agent.", "operationId": "delete-fleet-agents-files-fileid", "parameters": [ { @@ -14516,7 +14499,7 @@ } } }, - "summary": "", + "summary": "Delete an uploaded file", "tags": [ "Elastic Agents" ] @@ -14524,7 +14507,7 @@ }, "/api/fleet/agents/files/{fileId}/{fileName}": { "get": { - "description": "Get file uploaded by agent", + "description": "Get a file uploaded by an agent.", "operationId": "get-fleet-agents-files-fileid-filename", "parameters": [ { @@ -14592,7 +14575,7 @@ } } }, - "summary": "", + "summary": "Get an uploaded file", "tags": [ "Elastic Agents" ] @@ -14600,7 +14583,6 @@ }, "/api/fleet/agents/setup": { "get": { - "description": "Get agent setup info", "operationId": "get-fleet-agents-setup", "parameters": [ { @@ -14695,13 +14677,12 @@ } } }, - "summary": "", + "summary": "Get agent setup info", "tags": [ "Elastic Agents" ] }, "post": { - "description": "Initiate agent setup", "operationId": "post-fleet-agents-setup", "parameters": [ { @@ -14793,7 +14774,7 @@ } } }, - "summary": "", + "summary": "Initiate agent setup", "tags": [ "Elastic Agents" ] @@ -14801,7 +14782,6 @@ }, "/api/fleet/agents/tags": { "get": { - "description": "List agent tags", "operationId": "get-fleet-agents-tags", "parameters": [ { @@ -14882,7 +14862,7 @@ } } }, - "summary": "", + "summary": "Get agent tags", "tags": [ "Elastic Agents" ] @@ -14890,7 +14870,7 @@ }, "/api/fleet/agents/{agentId}": { "delete": { - "description": "Delete agent by ID", + "description": "Delete an agent by ID.", "operationId": "delete-fleet-agents-agentid", "parameters": [ { @@ -14972,13 +14952,13 @@ } } }, - "summary": "", + "summary": "Delete an agent", "tags": [ "Elastic Agents" ] }, "get": { - "description": "Get agent by ID", + "description": "Get an agent by ID.", "operationId": "get-fleet-agents-agentid", "parameters": [ { @@ -15437,13 +15417,13 @@ } } }, - "summary": "", + "summary": "Get an agent", "tags": [ "Elastic Agents" ] }, "put": { - "description": "Update agent by ID", + "description": "Update an agent by ID.", "operationId": "put-fleet-agents-agentid", "parameters": [ { @@ -15925,7 +15905,7 @@ } } }, - "summary": "", + "summary": "Update an agent", "tags": [ "Elastic Agents" ] @@ -15933,7 +15913,6 @@ }, "/api/fleet/agents/{agentId}/actions": { "post": { - "description": "Create agent action", "operationId": "post-fleet-agents-agentid-actions", "parameters": [ { @@ -16142,7 +16121,7 @@ } } }, - "summary": "", + "summary": "Create an agent action", "tags": [ "Elastic Agent actions" ] @@ -16150,7 +16129,6 @@ }, "/api/fleet/agents/{agentId}/reassign": { "post": { - "description": "Reassign agent", "operationId": "post-fleet-agents-agentid-reassign", "parameters": [ { @@ -16240,7 +16218,7 @@ } } }, - "summary": "", + "summary": "Reassign an agent", "tags": [ "Elastic Agent actions" ] @@ -16248,7 +16226,6 @@ }, "/api/fleet/agents/{agentId}/request_diagnostics": { "post": { - "description": "Request agent diagnostics", "operationId": "post-fleet-agents-agentid-request-diagnostics", "parameters": [ { @@ -16349,7 +16326,7 @@ } } }, - "summary": "", + "summary": "Request agent diagnostics", "tags": [ "Elastic Agent actions" ] @@ -16357,7 +16334,6 @@ }, "/api/fleet/agents/{agentId}/unenroll": { "post": { - "description": "Unenroll agent", "operationId": "post-fleet-agents-agentid-unenroll", "parameters": [ { @@ -16411,7 +16387,7 @@ } }, "responses": {}, - "summary": "", + "summary": "Unenroll an agent", "tags": [ "Elastic Agent actions" ] @@ -16419,7 +16395,6 @@ }, "/api/fleet/agents/{agentId}/upgrade": { "post": { - "description": "Upgrade agent", "operationId": "post-fleet-agents-agentid-upgrade", "parameters": [ { @@ -16518,7 +16493,7 @@ } } }, - "summary": "", + "summary": "Upgrade an agent", "tags": [ "Elastic Agent actions" ] @@ -16526,7 +16501,6 @@ }, "/api/fleet/agents/{agentId}/uploads": { "get": { - "description": "List agent uploads", "operationId": "get-fleet-agents-agentid-uploads", "parameters": [ { @@ -16638,7 +16612,7 @@ } } }, - "summary": "", + "summary": "Get agent uploads", "tags": [ "Elastic Agents" ] @@ -16646,7 +16620,6 @@ }, "/api/fleet/check-permissions": { "get": { - "description": "Check permissions", "operationId": "get-fleet-check-permissions", "parameters": [ { @@ -16723,7 +16696,7 @@ } } }, - "summary": "", + "summary": "Check permissions", "tags": [ "Fleet internals" ] @@ -16731,7 +16704,6 @@ }, "/api/fleet/data_streams": { "get": { - "description": "List data streams", "operationId": "get-fleet-data-streams", "parameters": [ { @@ -16881,7 +16853,7 @@ } } }, - "summary": "", + "summary": "Get data streams", "tags": [ "Data streams" ] @@ -16889,7 +16861,6 @@ }, "/api/fleet/enrollment_api_keys": { "get": { - "description": "List enrollment API keys", "operationId": "get-fleet-enrollment-api-keys", "parameters": [ { @@ -17027,13 +16998,12 @@ } } }, - "summary": "", + "summary": "Get enrollment API keys", "tags": [ "Fleet enrollment API keys" ] }, "post": { - "description": "Create enrollment API key", "operationId": "post-fleet-enrollment-api-keys", "parameters": [ { @@ -17171,7 +17141,7 @@ } } }, - "summary": "", + "summary": "Create an enrollment API key", "tags": [ "Fleet enrollment API keys" ] @@ -17179,7 +17149,7 @@ }, "/api/fleet/enrollment_api_keys/{keyId}": { "delete": { - "description": "Revoke enrollment API key by ID by marking it as inactive", + "description": "Revoke an enrollment API key by ID by marking it as inactive.", "operationId": "delete-fleet-enrollment-api-keys-keyid", "parameters": [ { @@ -17261,13 +17231,13 @@ } } }, - "summary": "", + "summary": "Revoke an enrollment API key", "tags": [ "Fleet enrollment API keys" ] }, "get": { - "description": "Get enrollment API key by ID", + "description": "Get an enrollment API key by ID.", "operationId": "get-fleet-enrollment-api-keys-keyid", "parameters": [ { @@ -17372,7 +17342,7 @@ } } }, - "summary": "", + "summary": "Get an enrollment API key", "tags": [ "Fleet enrollment API keys" ] @@ -17380,7 +17350,6 @@ }, "/api/fleet/epm/bulk_assets": { "post": { - "description": "Bulk get assets", "operationId": "post-fleet-epm-bulk-assets", "parameters": [ { @@ -17523,7 +17492,7 @@ } } }, - "summary": "", + "summary": "Bulk get assets", "tags": [ "Elastic Package Manager (EPM)" ] @@ -17531,7 +17500,6 @@ }, "/api/fleet/epm/categories": { "get": { - "description": "List package categories", "operationId": "get-fleet-epm-categories", "parameters": [ { @@ -17634,7 +17602,7 @@ } } }, - "summary": "", + "summary": "Get package categories", "tags": [ "Elastic Package Manager (EPM)" ] @@ -17642,7 +17610,6 @@ }, "/api/fleet/epm/custom_integrations": { "post": { - "description": "Create custom integration", "operationId": "post-fleet-epm-custom-integrations", "parameters": [ { @@ -17843,7 +17810,7 @@ } } }, - "summary": "", + "summary": "Create a custom integration", "tags": [ "Elastic Package Manager (EPM)" ] @@ -17851,7 +17818,6 @@ }, "/api/fleet/epm/data_streams": { "get": { - "description": "List data streams", "operationId": "get-fleet-epm-data-streams", "parameters": [ { @@ -17969,7 +17935,7 @@ } } }, - "summary": "", + "summary": "Get data streams", "tags": [ "Data streams" ] @@ -17977,7 +17943,6 @@ }, "/api/fleet/epm/packages": { "get": { - "description": "List packages", "operationId": "get-fleet-epm-packages", "parameters": [ { @@ -18543,13 +18508,12 @@ } } }, - "summary": "", + "summary": "Get packages", "tags": [ "Elastic Package Manager (EPM)" ] }, "post": { - "description": "Install package by upload", "operationId": "post-fleet-epm-packages", "parameters": [ { @@ -18730,7 +18694,7 @@ } } }, - "summary": "", + "summary": "Install a package by upload", "tags": [ "Elastic Package Manager (EPM)" ] @@ -18738,7 +18702,6 @@ }, "/api/fleet/epm/packages/_bulk": { "post": { - "description": "Bulk install packages", "operationId": "post-fleet-epm-packages-bulk", "parameters": [ { @@ -19008,7 +18971,7 @@ } } }, - "summary": "", + "summary": "Bulk install packages", "tags": [ "Elastic Package Manager (EPM)" ] @@ -19016,7 +18979,6 @@ }, "/api/fleet/epm/packages/installed": { "get": { - "description": "Get installed packages", "operationId": "get-fleet-epm-packages-installed", "parameters": [ { @@ -19249,7 +19211,7 @@ } } }, - "summary": "", + "summary": "Get installed packages", "tags": [ "Elastic Package Manager (EPM)" ] @@ -19257,7 +19219,6 @@ }, "/api/fleet/epm/packages/limited": { "get": { - "description": "Get limited package list", "operationId": "get-fleet-epm-packages-limited", "parameters": [ { @@ -19321,7 +19282,7 @@ } } }, - "summary": "", + "summary": "Get a limited package list", "tags": [ "Elastic Package Manager (EPM)" ] @@ -19329,7 +19290,6 @@ }, "/api/fleet/epm/packages/{pkgName}/stats": { "get": { - "description": "Get package stats", "operationId": "get-fleet-epm-packages-pkgname-stats", "parameters": [ { @@ -19407,7 +19367,7 @@ } } }, - "summary": "", + "summary": "Get package stats", "tags": [ "Elastic Package Manager (EPM)" ] @@ -19415,7 +19375,6 @@ }, "/api/fleet/epm/packages/{pkgName}/{pkgVersion}": { "delete": { - "description": "Delete package", "operationId": "delete-fleet-epm-packages-pkgname-pkgversion", "parameters": [ { @@ -19579,13 +19538,12 @@ } } }, - "summary": "", + "summary": "Delete a package", "tags": [ "Elastic Package Manager (EPM)" ] }, "get": { - "description": "Get package", "operationId": "get-fleet-epm-packages-pkgname-pkgversion", "parameters": [ { @@ -20271,13 +20229,12 @@ } } }, - "summary": "", + "summary": "Get a package", "tags": [ "Elastic Package Manager (EPM)" ] }, "post": { - "description": "Install package from registry", "operationId": "post-fleet-epm-packages-pkgname-pkgversion", "parameters": [ { @@ -20493,13 +20450,12 @@ } } }, - "summary": "", + "summary": "Install a package from the registry", "tags": [ "Elastic Package Manager (EPM)" ] }, "put": { - "description": "Update package settings", "operationId": "put-fleet-epm-packages-pkgname-pkgversion", "parameters": [ { @@ -21168,7 +21124,7 @@ } } }, - "summary": "", + "summary": "Update package settings", "tags": [ "Elastic Package Manager (EPM)" ] @@ -21176,7 +21132,6 @@ }, "/api/fleet/epm/packages/{pkgName}/{pkgVersion}/transforms/authorize": { "post": { - "description": "Authorize transforms", "operationId": "post-fleet-epm-packages-pkgname-pkgversion-transforms-authorize", "parameters": [ { @@ -21312,7 +21267,7 @@ } } }, - "summary": "", + "summary": "Authorize transforms", "tags": [ "Elastic Package Manager (EPM)" ] @@ -21320,7 +21275,6 @@ }, "/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath*}": { "get": { - "description": "Get package file", "operationId": "get-fleet-epm-packages-pkgname-pkgversion-filepath", "parameters": [ { @@ -21394,7 +21348,7 @@ } } }, - "summary": "", + "summary": "Get a package file", "tags": [ "Elastic Package Manager (EPM)" ] @@ -21402,7 +21356,6 @@ }, "/api/fleet/epm/templates/{pkgName}/{pkgVersion}/inputs": { "get": { - "description": "Get inputs template", "operationId": "get-fleet-epm-templates-pkgname-pkgversion-inputs", "parameters": [ { @@ -21563,7 +21516,7 @@ } } }, - "summary": "", + "summary": "Get an inputs template", "tags": [ "Elastic Package Manager (EPM)" ] @@ -21571,7 +21524,6 @@ }, "/api/fleet/epm/verification_key_id": { "get": { - "description": "Get a package signature verification key ID", "operationId": "get-fleet-epm-verification-key-id", "parameters": [ { @@ -21633,7 +21585,7 @@ } } }, - "summary": "", + "summary": "Get a package signature verification key ID", "tags": [ "Elastic Package Manager (EPM)" ] @@ -21641,7 +21593,6 @@ }, "/api/fleet/fleet_server_hosts": { "get": { - "description": "List Fleet Server hosts", "operationId": "get-fleet-fleet-server-hosts", "parameters": [ { @@ -21753,13 +21704,12 @@ } } }, - "summary": "", + "summary": "Get Fleet Server hosts", "tags": [ "Fleet Server hosts" ] }, "post": { - "description": "Create Fleet Server host", "operationId": "post-fleet-fleet-server-hosts", "parameters": [ { @@ -21910,7 +21860,7 @@ } } }, - "summary": "", + "summary": "Create a Fleet Server host", "tags": [ "Fleet Server hosts" ] @@ -21918,7 +21868,7 @@ }, "/api/fleet/fleet_server_hosts/{itemId}": { "delete": { - "description": "Delete Fleet Server host by ID", + "description": "Delete a Fleet Server host by ID.", "operationId": "delete-fleet-fleet-server-hosts-itemid", "parameters": [ { @@ -21997,13 +21947,13 @@ } } }, - "summary": "", + "summary": "Delete a Fleet Server host", "tags": [ "Fleet Server hosts" ] }, "get": { - "description": "Get Fleet Server host by ID", + "description": "Get a Fleet Server host by ID.", "operationId": "get-fleet-fleet-server-hosts-itemid", "parameters": [ { @@ -22108,13 +22058,13 @@ } } }, - "summary": "", + "summary": "Get a Fleet Server host", "tags": [ "Fleet Server hosts" ] }, "put": { - "description": "Update Fleet Server host by ID", + "description": "Update a Fleet Server host by ID.", "operationId": "put-fleet-fleet-server-hosts-itemid", "parameters": [ { @@ -22264,7 +22214,7 @@ } } }, - "summary": "", + "summary": "Update a Fleet Server host", "tags": [ "Fleet Server hosts" ] @@ -22272,7 +22222,6 @@ }, "/api/fleet/health_check": { "post": { - "description": "Check Fleet Server health", "operationId": "post-fleet-health-check", "parameters": [ { @@ -22392,7 +22341,7 @@ } } }, - "summary": "", + "summary": "Check Fleet Server health", "tags": [ "Fleet internals" ] @@ -22400,7 +22349,6 @@ }, "/api/fleet/kubernetes": { "get": { - "description": "Get full K8s agent manifest", "operationId": "get-fleet-kubernetes", "parameters": [ { @@ -22485,7 +22433,7 @@ } } }, - "summary": "", + "summary": "Get a full K8s agent manifest", "tags": [ "Elastic Agent policies" ] @@ -22593,7 +22541,7 @@ } } }, - "summary": "", + "summary": "Download an agent manifest", "tags": [ "Elastic Agent policies" ] @@ -22601,7 +22549,6 @@ }, "/api/fleet/logstash_api_keys": { "post": { - "description": "Generate Logstash API key", "operationId": "post-fleet-logstash-api-keys", "parameters": [ { @@ -22672,7 +22619,7 @@ } } }, - "summary": "", + "summary": "Generate a Logstash API key", "tags": [ "Fleet outputs" ] @@ -22680,7 +22627,6 @@ }, "/api/fleet/message_signing_service/rotate_key_pair": { "post": { - "description": "Rotate fleet message signing key pair", "operationId": "post-fleet-message-signing-service-rotate-key-pair", "parameters": [ { @@ -22785,7 +22731,7 @@ } } }, - "summary": "", + "summary": "Rotate a Fleet message signing key pair", "tags": [ "Message Signing Service" ] @@ -22793,7 +22739,6 @@ }, "/api/fleet/outputs": { "get": { - "description": "List outputs", "operationId": "get-fleet-outputs", "parameters": [ { @@ -23884,13 +23829,12 @@ } } }, - "summary": "", + "summary": "Get outputs", "tags": [ "Fleet outputs" ] }, "post": { - "description": "Create output", "operationId": "post-fleet-outputs", "parameters": [ { @@ -26000,7 +25944,7 @@ } } }, - "summary": "", + "summary": "Create output", "tags": [ "Fleet outputs" ] @@ -26008,7 +25952,7 @@ }, "/api/fleet/outputs/{outputId}": { "delete": { - "description": "Delete output by ID", + "description": "Delete output by ID.", "operationId": "delete-fleet-outputs-outputid", "parameters": [ { @@ -26112,13 +26056,13 @@ } } }, - "summary": "", + "summary": "Delete output", "tags": [ "Fleet outputs" ] }, "get": { - "description": "Get output by ID", + "description": "Get output by ID.", "operationId": "get-fleet-outputs-outputid", "parameters": [ { @@ -27202,13 +27146,13 @@ } } }, - "summary": "", + "summary": "Get output", "tags": [ "Fleet outputs" ] }, "put": { - "description": "Update output by ID", + "description": "Update output by ID.", "operationId": "put-fleet-outputs-outputid", "parameters": [ { @@ -29302,7 +29246,7 @@ } } }, - "summary": "", + "summary": "Update output", "tags": [ "Fleet outputs" ] @@ -29310,7 +29254,6 @@ }, "/api/fleet/outputs/{outputId}/health": { "get": { - "description": "Get latest output health", "operationId": "get-fleet-outputs-outputid-health", "parameters": [ { @@ -29390,7 +29333,7 @@ } } }, - "summary": "", + "summary": "Get the latest output health", "tags": [ "Fleet outputs" ] @@ -29398,7 +29341,6 @@ }, "/api/fleet/package_policies": { "get": { - "description": "List package policies", "operationId": "get-fleet-package-policies", "parameters": [ { @@ -30107,13 +30049,12 @@ } } }, - "summary": "", + "summary": "Get package policies", "tags": [ "Fleet package policies" ] }, "post": { - "description": "Create package policy", "operationId": "post-fleet-package-policies", "parameters": [ { @@ -31379,7 +31320,7 @@ } } }, - "summary": "", + "summary": "Create a package policy", "tags": [ "Fleet package policies" ] @@ -31387,7 +31328,6 @@ }, "/api/fleet/package_policies/_bulk_get": { "post": { - "description": "Bulk get package policies", "operationId": "post-fleet-package-policies-bulk-get", "parameters": [ { @@ -32077,7 +32017,7 @@ } } }, - "summary": "", + "summary": "Bulk get package policies", "tags": [ "Fleet package policies" ] @@ -32085,7 +32025,6 @@ }, "/api/fleet/package_policies/delete": { "post": { - "description": "Bulk delete package policies", "operationId": "post-fleet-package-policies-delete", "parameters": [ { @@ -32281,7 +32220,7 @@ } } }, - "summary": "", + "summary": "Bulk delete package policies", "tags": [ "Fleet package policies" ] @@ -32289,7 +32228,7 @@ }, "/api/fleet/package_policies/upgrade": { "post": { - "description": "Upgrade package policy to a newer package version", + "description": "Upgrade a package policy to a newer package version.", "operationId": "post-fleet-package-policies-upgrade", "parameters": [ { @@ -32406,7 +32345,7 @@ } } }, - "summary": "", + "summary": "Upgrade a package policy", "tags": [ "Fleet package policies" ] @@ -32414,7 +32353,6 @@ }, "/api/fleet/package_policies/upgrade/dryrun": { "post": { - "description": "Dry run package policy upgrade", "operationId": "post-fleet-package-policies-upgrade-dryrun", "parameters": [ { @@ -33592,7 +33530,7 @@ } } }, - "summary": "", + "summary": "Dry run a package policy upgrade", "tags": [ "Fleet package policies" ] @@ -33600,7 +33538,7 @@ }, "/api/fleet/package_policies/{packagePolicyId}": { "delete": { - "description": "Delete package policy by ID", + "description": "Delete a package policy by ID.", "operationId": "delete-fleet-package-policies-packagepolicyid", "parameters": [ { @@ -33687,13 +33625,13 @@ } } }, - "summary": "", + "summary": "Delete a package policy", "tags": [ "Fleet package policies" ] }, "get": { - "description": "Get package policy by ID", + "description": "Get a package policy by ID.", "operationId": "get-fleet-package-policies-packagepolicyid", "parameters": [ { @@ -34353,13 +34291,13 @@ } } }, - "summary": "", + "summary": "Get a package policy", "tags": [ "Fleet package policies" ] }, "put": { - "description": "Update package policy by ID", + "description": "Update a package policy by ID.", "operationId": "put-fleet-package-policies-packagepolicyid", "parameters": [ { @@ -35625,7 +35563,7 @@ } } }, - "summary": "", + "summary": "Update a package policy", "tags": [ "Fleet package policies" ] @@ -35633,7 +35571,6 @@ }, "/api/fleet/proxies": { "get": { - "description": "List proxies", "operationId": "get-fleet-proxies", "parameters": [ { @@ -35759,13 +35696,12 @@ } } }, - "summary": "", + "summary": "Get proxies", "tags": [ "Fleet proxies" ] }, "post": { - "description": "Create proxy", "operationId": "post-fleet-proxies", "parameters": [ { @@ -35944,7 +35880,7 @@ } } }, - "summary": "", + "summary": "Create a proxy", "tags": [ "Fleet proxies" ] @@ -35952,7 +35888,7 @@ }, "/api/fleet/proxies/{itemId}": { "delete": { - "description": "Delete proxy by ID", + "description": "Delete a proxy by ID", "operationId": "delete-fleet-proxies-itemid", "parameters": [ { @@ -36031,13 +35967,13 @@ } } }, - "summary": "", + "summary": "Delete a proxy", "tags": [ "Fleet proxies" ] }, "get": { - "description": "Get proxy by ID", + "description": "Get a proxy by ID.", "operationId": "get-fleet-proxies-itemid", "parameters": [ { @@ -36156,13 +36092,13 @@ } } }, - "summary": "", + "summary": "Get a proxy", "tags": [ "Fleet proxies" ] }, "put": { - "description": "Update proxy by ID", + "description": "Update a proxy by ID.", "operationId": "put-fleet-proxies-itemid", "parameters": [ { @@ -36344,7 +36280,7 @@ } } }, - "summary": "", + "summary": "Update a proxy", "tags": [ "Fleet proxies" ] @@ -36352,7 +36288,6 @@ }, "/api/fleet/service_tokens": { "post": { - "description": "Create a service token", "operationId": "post-fleet-service-tokens", "parameters": [ { @@ -36444,7 +36379,7 @@ } } }, - "summary": "", + "summary": "Create a service token", "tags": [ "Fleet service tokens" ] @@ -36452,7 +36387,6 @@ }, "/api/fleet/settings": { "get": { - "description": "Get settings", "operationId": "get-fleet-settings", "parameters": [ { @@ -36591,13 +36525,12 @@ } } }, - "summary": "", + "summary": "Get settings", "tags": [ "Fleet internals" ] }, "put": { - "description": "Update settings", "operationId": "put-fleet-settings", "parameters": [ { @@ -36793,7 +36726,7 @@ } } }, - "summary": "", + "summary": "Update settings", "tags": [ "Fleet internals" ] @@ -36801,7 +36734,6 @@ }, "/api/fleet/setup": { "post": { - "description": "Initiate Fleet setup", "operationId": "post-fleet-setup", "parameters": [ { @@ -36912,7 +36844,7 @@ } } }, - "summary": "", + "summary": "Initiate Fleet setup", "tags": [ "Fleet internals" ] @@ -36920,7 +36852,7 @@ }, "/api/fleet/uninstall_tokens": { "get": { - "description": "List metadata for latest uninstall tokens per agent policy", + "description": "List the metadata for the latest uninstall tokens per agent policy.", "operationId": "get-fleet-uninstall-tokens", "parameters": [ { @@ -37061,7 +36993,7 @@ } } }, - "summary": "", + "summary": "Get metadata for latest uninstall tokens", "tags": [ "Fleet uninstall tokens" ] @@ -37069,7 +37001,7 @@ }, "/api/fleet/uninstall_tokens/{uninstallTokenId}": { "get": { - "description": "Get one decrypted uninstall token by its ID", + "description": "Get one decrypted uninstall token by its ID.", "operationId": "get-fleet-uninstall-tokens-uninstalltokenid", "parameters": [ { @@ -37169,7 +37101,7 @@ } } }, - "summary": "", + "summary": "Get a decrypted uninstall token", "tags": [ "Fleet uninstall tokens" ] diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index f0c76c3d35f06..5f18154db449d 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -9870,7 +9870,6 @@ paths: - Security Exceptions API /api/fleet/agent_download_sources: get: - description: List agent binary download sources operationId: get-fleet-agent-download-sources parameters: - description: The version of the API to use @@ -9942,11 +9941,10 @@ paths: type: number required: - message - summary: '' + summary: Get agent binary download sources tags: - Elastic Agent binary download sources post: - description: Create agent binary download source operationId: post-fleet-agent-download-sources parameters: - description: The version of the API to use @@ -10040,12 +10038,12 @@ paths: type: number required: - message - summary: '' + summary: Create an agent binary download source tags: - Elastic Agent binary download sources /api/fleet/agent_download_sources/{sourceId}: delete: - description: Delete agent binary download source by ID + description: Delete an agent binary download source by ID. operationId: delete-fleet-agent-download-sources-sourceid parameters: - description: The version of the API to use @@ -10096,11 +10094,11 @@ paths: type: number required: - message - summary: '' + summary: Delete an agent binary download source tags: - Elastic Agent binary download sources get: - description: Get agent binary download source by ID + description: Get an agent binary download source by ID. operationId: get-fleet-agent-download-sources-sourceid parameters: - description: The version of the API to use @@ -10166,11 +10164,11 @@ paths: type: number required: - message - summary: '' + summary: Get an agent binary download source tags: - Elastic Agent binary download sources put: - description: Update agent binary download source by ID + description: Update an agent binary download source by ID. operationId: put-fleet-agent-download-sources-sourceid parameters: - description: The version of the API to use @@ -10269,12 +10267,11 @@ paths: type: number required: - message - summary: '' + summary: Update an agent binary download source tags: - Elastic Agent binary download sources /api/fleet/agent_policies: get: - description: List agent policies operationId: get-fleet-agent-policies parameters: - description: The version of the API to use @@ -10884,11 +10881,10 @@ paths: type: number required: - message - summary: '' + summary: Get agent policies tags: - Elastic Agent policies post: - description: Create an agent policy operationId: post-fleet-agent-policies parameters: - description: The version of the API to use @@ -11618,12 +11614,11 @@ paths: type: number required: - message - summary: '' + summary: Create an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/_bulk_get: post: - description: Bulk get agent policies operationId: post-fleet-agent-policies-bulk-get parameters: - description: The version of the API to use @@ -12198,12 +12193,12 @@ paths: type: number required: - message - summary: '' + summary: Bulk get agent policies tags: - Elastic Agent policies /api/fleet/agent_policies/{agentPolicyId}: get: - description: Get an agent policy by ID + description: Get an agent policy by ID. operationId: get-fleet-agent-policies-agentpolicyid parameters: - description: The version of the API to use @@ -12755,11 +12750,11 @@ paths: type: number required: - message - summary: '' + summary: Get an agent policy tags: - Elastic Agent policies put: - description: Update an agent policy by ID + description: Update an agent policy by ID. operationId: put-fleet-agent-policies-agentpolicyid parameters: - description: The version of the API to use @@ -13497,12 +13492,12 @@ paths: type: number required: - message - summary: '' + summary: Update an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/{agentPolicyId}/copy: post: - description: Copy an agent policy by ID + description: Copy an agent policy by ID. operationId: post-fleet-agent-policies-agentpolicyid-copy parameters: - description: The version of the API to use @@ -14075,12 +14070,12 @@ paths: type: number required: - message - summary: '' + summary: Copy an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/{agentPolicyId}/download: get: - description: Download an agent policy by ID + description: Download an agent policy by ID. operationId: get-fleet-agent-policies-agentpolicyid-download parameters: - description: The version of the API to use @@ -14149,12 +14144,12 @@ paths: type: number required: - message - summary: '' + summary: Download an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/{agentPolicyId}/full: get: - description: Get a full agent policy by ID + description: Get a full agent policy by ID. operationId: get-fleet-agent-policies-agentpolicyid-full parameters: - description: The version of the API to use @@ -14481,12 +14476,12 @@ paths: type: number required: - message - summary: '' + summary: Get a full agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/{agentPolicyId}/outputs: get: - description: Get list of outputs associated with agent policy by policy id + description: Get a list of outputs associated with agent policy by policy id. operationId: get-fleet-agent-policies-agentpolicyid-outputs parameters: - description: The version of the API to use @@ -14585,12 +14580,12 @@ paths: type: number required: - message - summary: '' + summary: Get outputs for an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/delete: post: - description: Delete agent policy by ID + description: Delete an agent policy by ID. operationId: post-fleet-agent-policies-delete parameters: - description: The version of the API to use @@ -14655,12 +14650,12 @@ paths: type: number required: - message - summary: '' + summary: Delete an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/outputs: post: - description: Get list of outputs associated with agent policies + description: Get a list of outputs associated with agent policies. operationId: post-fleet-agent-policies-outputs parameters: - description: The version of the API to use @@ -14777,12 +14772,11 @@ paths: type: number required: - message - summary: '' + summary: Get outputs for agent policies tags: - Elastic Agent policies /api/fleet/agent_status: get: - description: Get agent status summary operationId: get-fleet-agent-status parameters: - description: The version of the API to use @@ -14873,12 +14867,11 @@ paths: type: number required: - message - summary: '' + summary: Get an agent status summary tags: - Elastic Agent status /api/fleet/agent_status/data: get: - description: Get incoming agent data operationId: get-fleet-agent-status-data parameters: - description: The version of the API to use @@ -14946,12 +14939,11 @@ paths: type: number required: - message - summary: '' + summary: Get incoming agent data tags: - Elastic Agents /api/fleet/agents: get: - description: List agents operationId: get-fleet-agents parameters: - description: The version of the API to use @@ -15333,11 +15325,10 @@ paths: type: number required: - message - summary: '' + summary: Get agents tags: - Elastic Agents post: - description: List agents by action ids operationId: post-fleet-agents parameters: - description: The version of the API to use @@ -15398,12 +15389,12 @@ paths: type: number required: - message - summary: '' + summary: Get agents by action ids tags: - Elastic Agents /api/fleet/agents/{agentId}: delete: - description: Delete agent by ID + description: Delete an agent by ID. operationId: delete-fleet-agents-agentid parameters: - description: The version of the API to use @@ -15456,11 +15447,11 @@ paths: type: number required: - message - summary: '' + summary: Delete an agent tags: - Elastic Agents get: - description: Get agent by ID + description: Get an agent by ID. operationId: get-fleet-agents-agentid parameters: - description: The version of the API to use @@ -15784,11 +15775,11 @@ paths: type: number required: - message - summary: '' + summary: Get an agent tags: - Elastic Agents put: - description: Update agent by ID + description: Update an agent by ID. operationId: put-fleet-agents-agentid parameters: - description: The version of the API to use @@ -16127,12 +16118,11 @@ paths: type: number required: - message - summary: '' + summary: Update an agent tags: - Elastic Agents /api/fleet/agents/{agentId}/actions: post: - description: Create agent action operationId: post-fleet-agents-agentid-actions parameters: - description: The version of the API to use @@ -16272,12 +16262,11 @@ paths: type: number required: - message - summary: '' + summary: Create an agent action tags: - Elastic Agent actions /api/fleet/agents/{agentId}/reassign: post: - description: Reassign agent operationId: post-fleet-agents-agentid-reassign parameters: - description: The version of the API to use @@ -16335,12 +16324,11 @@ paths: type: number required: - message - summary: '' + summary: Reassign an agent tags: - Elastic Agent actions /api/fleet/agents/{agentId}/request_diagnostics: post: - description: Request agent diagnostics operationId: post-fleet-agents-agentid-request-diagnostics parameters: - description: The version of the API to use @@ -16405,12 +16393,11 @@ paths: type: number required: - message - summary: '' + summary: Request agent diagnostics tags: - Elastic Agent actions /api/fleet/agents/{agentId}/unenroll: post: - description: Unenroll agent operationId: post-fleet-agents-agentid-unenroll parameters: - description: The version of the API to use @@ -16446,12 +16433,11 @@ paths: revoke: type: boolean responses: {} - summary: '' + summary: Unenroll an agent tags: - Elastic Agent actions /api/fleet/agents/{agentId}/upgrade: post: - description: Upgrade agent operationId: post-fleet-agents-agentid-upgrade parameters: - description: The version of the API to use @@ -16515,12 +16501,11 @@ paths: type: number required: - message - summary: '' + summary: Upgrade an agent tags: - Elastic Agent actions /api/fleet/agents/{agentId}/uploads: get: - description: List agent uploads operationId: get-fleet-agents-agentid-uploads parameters: - description: The version of the API to use @@ -16596,12 +16581,11 @@ paths: type: number required: - message - summary: '' + summary: Get agent uploads tags: - Elastic Agents /api/fleet/agents/action_status: get: - description: Get agent action status operationId: get-fleet-agents-action-status parameters: - description: The version of the API to use @@ -16764,12 +16748,11 @@ paths: type: number required: - message - summary: '' + summary: Get an agent action status tags: - Elastic Agent actions /api/fleet/agents/actions/{actionId}/cancel: post: - description: Cancel agent action operationId: post-fleet-agents-actions-actionid-cancel parameters: - description: The version of the API to use @@ -16859,12 +16842,11 @@ paths: type: number required: - message - summary: '' + summary: Cancel an agent action tags: - Elastic Agent actions /api/fleet/agents/available_versions: get: - description: Get available agent versions operationId: get-fleet-agents-available-versions parameters: - description: The version of the API to use @@ -16905,12 +16887,11 @@ paths: type: number required: - message - summary: '' + summary: Get available agent versions tags: - Elastic Agents /api/fleet/agents/bulk_reassign: post: - description: Bulk reassign agents operationId: post-fleet-agents-bulk-reassign parameters: - description: The version of the API to use @@ -16979,12 +16960,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk reassign agents tags: - Elastic Agent actions /api/fleet/agents/bulk_request_diagnostics: post: - description: Bulk request diagnostics from agents operationId: post-fleet-agents-bulk-request-diagnostics parameters: - description: The version of the API to use @@ -17053,12 +17033,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk request diagnostics from agents tags: - Elastic Agent actions /api/fleet/agents/bulk_unenroll: post: - description: Bulk unenroll agents operationId: post-fleet-agents-bulk-unenroll parameters: - description: The version of the API to use @@ -17134,12 +17113,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk unenroll agents tags: - Elastic Agent actions /api/fleet/agents/bulk_update_agent_tags: post: - description: Bulk update agent tags operationId: post-fleet-agents-bulk-update-agent-tags parameters: - description: The version of the API to use @@ -17213,12 +17191,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk update agent tags tags: - Elastic Agent actions /api/fleet/agents/bulk_upgrade: post: - description: Bulk upgrade agents operationId: post-fleet-agents-bulk-upgrade parameters: - description: The version of the API to use @@ -17298,12 +17275,12 @@ paths: type: number required: - message - summary: '' + summary: Bulk upgrade agents tags: - Elastic Agent actions /api/fleet/agents/files/{fileId}: delete: - description: Delete file uploaded by agent + description: Delete a file uploaded by an agent. operationId: delete-fleet-agents-files-fileid parameters: - description: The version of the API to use @@ -17357,12 +17334,12 @@ paths: type: number required: - message - summary: '' + summary: Delete an uploaded file tags: - Elastic Agents /api/fleet/agents/files/{fileId}/{fileName}: get: - description: Get file uploaded by agent + description: Get a file uploaded by an agent. operationId: get-fleet-agents-files-fileid-filename parameters: - description: The version of the API to use @@ -17405,12 +17382,11 @@ paths: type: number required: - message - summary: '' + summary: Get an uploaded file tags: - Elastic Agents /api/fleet/agents/setup: get: - description: Get agent setup info operationId: get-fleet-agents-setup parameters: - description: The version of the API to use @@ -17477,11 +17453,10 @@ paths: type: number required: - message - summary: '' + summary: Get agent setup info tags: - Elastic Agents post: - description: Initiate agent setup operationId: post-fleet-agents-setup parameters: - description: The version of the API to use @@ -17546,12 +17521,11 @@ paths: type: number required: - message - summary: '' + summary: Initiate agent setup tags: - Elastic Agents /api/fleet/agents/tags: get: - description: List agent tags operationId: get-fleet-agents-tags parameters: - description: The version of the API to use @@ -17603,12 +17577,11 @@ paths: type: number required: - message - summary: '' + summary: Get agent tags tags: - Elastic Agents /api/fleet/check-permissions: get: - description: Check permissions operationId: get-fleet-check-permissions parameters: - description: The version of the API to use @@ -17658,12 +17631,11 @@ paths: type: number required: - message - summary: '' + summary: Check permissions tags: - Fleet internals /api/fleet/data_streams: get: - description: List data streams operationId: get-fleet-data-streams parameters: - description: The version of the API to use @@ -17763,12 +17735,11 @@ paths: type: number required: - message - summary: '' + summary: Get data streams tags: - Data streams /api/fleet/enrollment_api_keys: get: - description: List enrollment API keys operationId: get-fleet-enrollment-api-keys parameters: - description: The version of the API to use @@ -17868,11 +17839,10 @@ paths: type: number required: - message - summary: '' + summary: Get enrollment API keys tags: - Fleet enrollment API keys post: - description: Create enrollment API key operationId: post-fleet-enrollment-api-keys parameters: - description: The version of the API to use @@ -17971,12 +17941,12 @@ paths: type: number required: - message - summary: '' + summary: Create an enrollment API key tags: - Fleet enrollment API keys /api/fleet/enrollment_api_keys/{keyId}: delete: - description: Revoke enrollment API key by ID by marking it as inactive + description: Revoke an enrollment API key by ID by marking it as inactive. operationId: delete-fleet-enrollment-api-keys-keyid parameters: - description: The version of the API to use @@ -18029,11 +17999,11 @@ paths: type: number required: - message - summary: '' + summary: Revoke an enrollment API key tags: - Fleet enrollment API keys get: - description: Get enrollment API key by ID + description: Get an enrollment API key by ID. operationId: get-fleet-enrollment-api-keys-keyid parameters: - description: The version of the API to use @@ -18110,12 +18080,11 @@ paths: type: number required: - message - summary: '' + summary: Get an enrollment API key tags: - Fleet enrollment API keys /api/fleet/epm/bulk_assets: post: - description: Bulk get assets operationId: post-fleet-epm-bulk-assets parameters: - description: The version of the API to use @@ -18209,12 +18178,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk get assets tags: - Elastic Package Manager (EPM) /api/fleet/epm/categories: get: - description: List package categories operationId: get-fleet-epm-categories parameters: - description: The version of the API to use @@ -18281,12 +18249,11 @@ paths: type: number required: - message - summary: '' + summary: Get package categories tags: - Elastic Package Manager (EPM) /api/fleet/epm/custom_integrations: post: - description: Create custom integration operationId: post-fleet-epm-custom-integrations parameters: - description: The version of the API to use @@ -18424,12 +18391,11 @@ paths: type: number required: - message - summary: '' + summary: Create a custom integration tags: - Elastic Package Manager (EPM) /api/fleet/epm/data_streams: get: - description: List data streams operationId: get-fleet-epm-data-streams parameters: - description: The version of the API to use @@ -18507,12 +18473,11 @@ paths: type: number required: - message - summary: '' + summary: Get data streams tags: - Data streams /api/fleet/epm/packages: get: - description: List packages operationId: get-fleet-epm-packages parameters: - description: The version of the API to use @@ -18908,11 +18873,10 @@ paths: type: number required: - message - summary: '' + summary: Get packages tags: - Elastic Package Manager (EPM) post: - description: Install package by upload operationId: post-fleet-epm-packages parameters: - description: The version of the API to use @@ -19035,12 +18999,11 @@ paths: type: number required: - message - summary: '' + summary: Install a package by upload tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/_bulk: post: - description: Bulk install packages operationId: post-fleet-epm-packages-bulk parameters: - description: The version of the API to use @@ -19218,12 +19181,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk install packages tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/{pkgName}/{pkgVersion}: delete: - description: Delete package operationId: delete-fleet-epm-packages-pkgname-pkgversion parameters: - description: The version of the API to use @@ -19334,11 +19296,10 @@ paths: type: number required: - message - summary: '' + summary: Delete a package tags: - Elastic Package Manager (EPM) get: - description: Get package operationId: get-fleet-epm-packages-pkgname-pkgversion parameters: - description: The version of the API to use @@ -19814,11 +19775,10 @@ paths: type: number required: - message - summary: '' + summary: Get a package tags: - Elastic Package Manager (EPM) post: - description: Install package from registry operationId: post-fleet-epm-packages-pkgname-pkgversion parameters: - description: The version of the API to use @@ -19964,11 +19924,10 @@ paths: type: number required: - message - summary: '' + summary: Install a package from the registry tags: - Elastic Package Manager (EPM) put: - description: Update package settings operationId: put-fleet-epm-packages-pkgname-pkgversion parameters: - description: The version of the API to use @@ -20433,12 +20392,11 @@ paths: type: number required: - message - summary: '' + summary: Update package settings tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath*}: get: - description: Get package file operationId: get-fleet-epm-packages-pkgname-pkgversion-filepath parameters: - description: The version of the API to use @@ -20485,12 +20443,11 @@ paths: type: number required: - message - summary: '' + summary: Get a package file tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/{pkgName}/{pkgVersion}/transforms/authorize: post: - description: Authorize transforms operationId: post-fleet-epm-packages-pkgname-pkgversion-transforms-authorize parameters: - description: The version of the API to use @@ -20578,12 +20535,11 @@ paths: type: number required: - message - summary: '' + summary: Authorize transforms tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/{pkgName}/stats: get: - description: Get package stats operationId: get-fleet-epm-packages-pkgname-stats parameters: - description: The version of the API to use @@ -20633,12 +20589,11 @@ paths: type: number required: - message - summary: '' + summary: Get package stats tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/installed: get: - description: Get installed packages operationId: get-fleet-epm-packages-installed parameters: - description: The version of the API to use @@ -20787,12 +20742,11 @@ paths: type: number required: - message - summary: '' + summary: Get installed packages tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/limited: get: - description: Get limited package list operationId: get-fleet-epm-packages-limited parameters: - description: The version of the API to use @@ -20833,12 +20787,11 @@ paths: type: number required: - message - summary: '' + summary: Get a limited package list tags: - Elastic Package Manager (EPM) /api/fleet/epm/templates/{pkgName}/{pkgVersion}/inputs: get: - description: Get inputs template operationId: get-fleet-epm-templates-pkgname-pkgversion-inputs parameters: - description: The version of the API to use @@ -20941,12 +20894,11 @@ paths: type: number required: - message - summary: '' + summary: Get an inputs template tags: - Elastic Package Manager (EPM) /api/fleet/epm/verification_key_id: get: - description: Get a package signature verification key ID operationId: get-fleet-epm-verification-key-id parameters: - description: The version of the API to use @@ -20986,12 +20938,11 @@ paths: type: number required: - message - summary: '' + summary: Get a package signature verification key ID tags: - Elastic Package Manager (EPM) /api/fleet/fleet_server_hosts: get: - description: List Fleet Server hosts operationId: get-fleet-fleet-server-hosts parameters: - description: The version of the API to use @@ -21067,11 +21018,10 @@ paths: type: number required: - message - summary: '' + summary: Get Fleet Server hosts tags: - Fleet Server hosts post: - description: Create Fleet Server host operationId: post-fleet-fleet-server-hosts parameters: - description: The version of the API to use @@ -21173,12 +21123,12 @@ paths: type: number required: - message - summary: '' + summary: Create a Fleet Server host tags: - Fleet Server hosts /api/fleet/fleet_server_hosts/{itemId}: delete: - description: Delete Fleet Server host by ID + description: Delete a Fleet Server host by ID. operationId: delete-fleet-fleet-server-hosts-itemid parameters: - description: The version of the API to use @@ -21229,11 +21179,11 @@ paths: type: number required: - message - summary: '' + summary: Delete a Fleet Server host tags: - Fleet Server hosts get: - description: Get Fleet Server host by ID + description: Get a Fleet Server host by ID. operationId: get-fleet-fleet-server-hosts-itemid parameters: - description: The version of the API to use @@ -21303,11 +21253,11 @@ paths: type: number required: - message - summary: '' + summary: Get a Fleet Server host tags: - Fleet Server hosts put: - description: Update Fleet Server host by ID + description: Update a Fleet Server host by ID. operationId: put-fleet-fleet-server-hosts-itemid parameters: - description: The version of the API to use @@ -21407,12 +21357,11 @@ paths: type: number required: - message - summary: '' + summary: Update a Fleet Server host tags: - Fleet Server hosts /api/fleet/health_check: post: - description: Check Fleet Server health operationId: post-fleet-health-check parameters: - description: The version of the API to use @@ -21489,12 +21438,11 @@ paths: type: number required: - message - summary: '' + summary: Check Fleet Server health tags: - Fleet internals /api/fleet/kubernetes: get: - description: Get full K8s agent manifest operationId: get-fleet-kubernetes parameters: - description: The version of the API to use @@ -21548,7 +21496,7 @@ paths: type: number required: - message - summary: '' + summary: Get a full K8s agent manifest tags: - Elastic Agent policies /api/fleet/kubernetes/download: @@ -21616,12 +21564,11 @@ paths: type: number required: - message - summary: '' + summary: Download an agent manifest tags: - Elastic Agent policies /api/fleet/logstash_api_keys: post: - description: Generate Logstash API key operationId: post-fleet-logstash-api-keys parameters: - description: The version of the API to use @@ -21667,12 +21614,11 @@ paths: type: number required: - message - summary: '' + summary: Generate a Logstash API key tags: - Fleet outputs /api/fleet/message_signing_service/rotate_key_pair: post: - description: Rotate fleet message signing key pair operationId: post-fleet-message-signing-service-rotate-key-pair parameters: - description: The version of the API to use @@ -21740,12 +21686,11 @@ paths: type: number required: - message - summary: '' + summary: Rotate a Fleet message signing key pair tags: - Message Signing Service /api/fleet/outputs: get: - description: List outputs operationId: get-fleet-outputs parameters: - description: The version of the API to use @@ -22474,11 +22419,10 @@ paths: type: number required: - message - summary: '' + summary: Get outputs tags: - Fleet outputs post: - description: Create output operationId: post-fleet-outputs parameters: - description: The version of the API to use @@ -23887,12 +23831,12 @@ paths: type: number required: - message - summary: '' + summary: Create output tags: - Fleet outputs /api/fleet/outputs/{outputId}: delete: - description: Delete output by ID + description: Delete output by ID. operationId: delete-fleet-outputs-outputid parameters: - description: The version of the API to use @@ -23959,11 +23903,11 @@ paths: type: number required: - message - summary: '' + summary: Delete output tags: - Fleet outputs get: - description: Get output by ID + description: Get output by ID. operationId: get-fleet-outputs-outputid parameters: - description: The version of the API to use @@ -24686,11 +24630,11 @@ paths: type: number required: - message - summary: '' + summary: Get output tags: - Fleet outputs put: - description: Update output by ID + description: Update output by ID. operationId: put-fleet-outputs-outputid parameters: - description: The version of the API to use @@ -26083,12 +26027,11 @@ paths: type: number required: - message - summary: '' + summary: Update output tags: - Fleet outputs /api/fleet/outputs/{outputId}/health: get: - description: Get latest output health operationId: get-fleet-outputs-outputid-health parameters: - description: The version of the API to use @@ -26141,12 +26084,11 @@ paths: type: number required: - message - summary: '' + summary: Get the latest output health tags: - Fleet outputs /api/fleet/package_policies: get: - description: List package policies operationId: get-fleet-package-policies parameters: - description: The version of the API to use @@ -26647,11 +26589,10 @@ paths: type: number required: - message - summary: '' + summary: Get package policies tags: - Fleet package policies post: - description: Create package policy operationId: post-fleet-package-policies parameters: - description: The version of the API to use @@ -27549,12 +27490,11 @@ paths: type: number required: - message - summary: '' + summary: Create a package policy tags: - Fleet package policies /api/fleet/package_policies/_bulk_get: post: - description: Bulk get package policies operationId: post-fleet-package-policies-bulk-get parameters: - description: The version of the API to use @@ -28042,12 +27982,12 @@ paths: type: string required: - message - summary: '' + summary: Bulk get package policies tags: - Fleet package policies /api/fleet/package_policies/{packagePolicyId}: delete: - description: Delete package policy by ID + description: Delete a package policy by ID. operationId: delete-fleet-package-policies-packagepolicyid parameters: - description: The version of the API to use @@ -28103,11 +28043,11 @@ paths: type: number required: - message - summary: '' + summary: Delete a package policy tags: - Fleet package policies get: - description: Get package policy by ID + description: Get a package policy by ID. operationId: get-fleet-package-policies-packagepolicyid parameters: - description: The version of the API to use @@ -28572,11 +28512,11 @@ paths: type: string required: - message - summary: '' + summary: Get a package policy tags: - Fleet package policies put: - description: Update package policy by ID + description: Update a package policy by ID. operationId: put-fleet-package-policies-packagepolicyid parameters: - description: The version of the API to use @@ -29468,12 +29408,11 @@ paths: type: number required: - message - summary: '' + summary: Update a package policy tags: - Fleet package policies /api/fleet/package_policies/delete: post: - description: Bulk delete package policies operationId: post-fleet-package-policies-delete parameters: - description: The version of the API to use @@ -29605,12 +29544,12 @@ paths: type: number required: - message - summary: '' + summary: Bulk delete package policies tags: - Fleet package policies /api/fleet/package_policies/upgrade: post: - description: Upgrade package policy to a newer package version + description: Upgrade a package policy to a newer package version. operationId: post-fleet-package-policies-upgrade parameters: - description: The version of the API to use @@ -29686,12 +29625,11 @@ paths: type: number required: - message - summary: '' + summary: Upgrade a package policy tags: - Fleet package policies /api/fleet/package_policies/upgrade/dryrun: post: - description: Dry run package policy upgrade operationId: post-fleet-package-policies-upgrade-dryrun parameters: - description: The version of the API to use @@ -30536,12 +30474,11 @@ paths: type: number required: - message - summary: '' + summary: Dry run a package policy upgrade tags: - Fleet package policies /api/fleet/proxies: get: - description: List proxies operationId: get-fleet-proxies parameters: - description: The version of the API to use @@ -30623,11 +30560,10 @@ paths: type: number required: - message - summary: '' + summary: Get proxies tags: - Fleet proxies post: - description: Create proxy operationId: post-fleet-proxies parameters: - description: The version of the API to use @@ -30741,12 +30677,12 @@ paths: type: number required: - message - summary: '' + summary: Create a proxy tags: - Fleet proxies /api/fleet/proxies/{itemId}: delete: - description: Delete proxy by ID + description: Delete a proxy by ID operationId: delete-fleet-proxies-itemid parameters: - description: The version of the API to use @@ -30797,11 +30733,11 @@ paths: type: number required: - message - summary: '' + summary: Delete a proxy tags: - Fleet proxies get: - description: Get proxy by ID + description: Get a proxy by ID. operationId: get-fleet-proxies-itemid parameters: - description: The version of the API to use @@ -30877,11 +30813,11 @@ paths: type: number required: - message - summary: '' + summary: Get a proxy tags: - Fleet proxies put: - description: Update proxy by ID + description: Update a proxy by ID. operationId: put-fleet-proxies-itemid parameters: - description: The version of the API to use @@ -30997,12 +30933,11 @@ paths: type: number required: - message - summary: '' + summary: Update a proxy tags: - Fleet proxies /api/fleet/service_tokens: post: - description: Create a service token operationId: post-fleet-service-tokens parameters: - description: The version of the API to use @@ -31062,12 +30997,11 @@ paths: type: number required: - message - summary: '' + summary: Create a service token tags: - Fleet service tokens /api/fleet/settings: get: - description: Get settings operationId: get-fleet-settings parameters: - description: The version of the API to use @@ -31158,11 +31092,10 @@ paths: type: string required: - message - summary: '' + summary: Get settings tags: - Fleet internals put: - description: Update settings operationId: put-fleet-settings parameters: - description: The version of the API to use @@ -31291,12 +31224,11 @@ paths: type: string required: - message - summary: '' + summary: Update settings tags: - Fleet internals /api/fleet/setup: post: - description: Initiate Fleet setup operationId: post-fleet-setup parameters: - description: The version of the API to use @@ -31373,12 +31305,12 @@ paths: type: string required: - message - summary: '' + summary: Initiate Fleet setup tags: - Fleet internals /api/fleet/uninstall_tokens: get: - description: List metadata for latest uninstall tokens per agent policy + description: List the metadata for the latest uninstall tokens per agent policy. operationId: get-fleet-uninstall-tokens parameters: - description: The version of the API to use @@ -31473,12 +31405,12 @@ paths: type: number required: - message - summary: '' + summary: Get metadata for latest uninstall tokens tags: - Fleet uninstall tokens /api/fleet/uninstall_tokens/{uninstallTokenId}: get: - description: Get one decrypted uninstall token by its ID + description: Get one decrypted uninstall token by its ID. operationId: get-fleet-uninstall-tokens-uninstalltokenid parameters: - description: The version of the API to use @@ -31544,7 +31476,7 @@ paths: type: number required: - message - summary: '' + summary: Get a decrypted uninstall token tags: - Fleet uninstall tokens /api/lists: diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index 017382a14a12e..133dede5fcd0c 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -13303,7 +13303,6 @@ paths: - Security Exceptions API /api/fleet/agent_download_sources: get: - description: List agent binary download sources operationId: get-fleet-agent-download-sources parameters: - description: The version of the API to use @@ -13375,11 +13374,10 @@ paths: type: number required: - message - summary: '' + summary: Get agent binary download sources tags: - Elastic Agent binary download sources post: - description: Create agent binary download source operationId: post-fleet-agent-download-sources parameters: - description: The version of the API to use @@ -13473,12 +13471,12 @@ paths: type: number required: - message - summary: '' + summary: Create an agent binary download source tags: - Elastic Agent binary download sources /api/fleet/agent_download_sources/{sourceId}: delete: - description: Delete agent binary download source by ID + description: Delete an agent binary download source by ID. operationId: delete-fleet-agent-download-sources-sourceid parameters: - description: The version of the API to use @@ -13529,11 +13527,11 @@ paths: type: number required: - message - summary: '' + summary: Delete an agent binary download source tags: - Elastic Agent binary download sources get: - description: Get agent binary download source by ID + description: Get an agent binary download source by ID. operationId: get-fleet-agent-download-sources-sourceid parameters: - description: The version of the API to use @@ -13599,11 +13597,11 @@ paths: type: number required: - message - summary: '' + summary: Get an agent binary download source tags: - Elastic Agent binary download sources put: - description: Update agent binary download source by ID + description: Update an agent binary download source by ID. operationId: put-fleet-agent-download-sources-sourceid parameters: - description: The version of the API to use @@ -13702,12 +13700,11 @@ paths: type: number required: - message - summary: '' + summary: Update an agent binary download source tags: - Elastic Agent binary download sources /api/fleet/agent_policies: get: - description: List agent policies operationId: get-fleet-agent-policies parameters: - description: The version of the API to use @@ -14317,11 +14314,10 @@ paths: type: number required: - message - summary: '' + summary: Get agent policies tags: - Elastic Agent policies post: - description: Create an agent policy operationId: post-fleet-agent-policies parameters: - description: The version of the API to use @@ -15051,12 +15047,11 @@ paths: type: number required: - message - summary: '' + summary: Create an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/_bulk_get: post: - description: Bulk get agent policies operationId: post-fleet-agent-policies-bulk-get parameters: - description: The version of the API to use @@ -15631,12 +15626,12 @@ paths: type: number required: - message - summary: '' + summary: Bulk get agent policies tags: - Elastic Agent policies /api/fleet/agent_policies/{agentPolicyId}: get: - description: Get an agent policy by ID + description: Get an agent policy by ID. operationId: get-fleet-agent-policies-agentpolicyid parameters: - description: The version of the API to use @@ -16188,11 +16183,11 @@ paths: type: number required: - message - summary: '' + summary: Get an agent policy tags: - Elastic Agent policies put: - description: Update an agent policy by ID + description: Update an agent policy by ID. operationId: put-fleet-agent-policies-agentpolicyid parameters: - description: The version of the API to use @@ -16930,12 +16925,12 @@ paths: type: number required: - message - summary: '' + summary: Update an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/{agentPolicyId}/copy: post: - description: Copy an agent policy by ID + description: Copy an agent policy by ID. operationId: post-fleet-agent-policies-agentpolicyid-copy parameters: - description: The version of the API to use @@ -17508,12 +17503,12 @@ paths: type: number required: - message - summary: '' + summary: Copy an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/{agentPolicyId}/download: get: - description: Download an agent policy by ID + description: Download an agent policy by ID. operationId: get-fleet-agent-policies-agentpolicyid-download parameters: - description: The version of the API to use @@ -17582,12 +17577,12 @@ paths: type: number required: - message - summary: '' + summary: Download an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/{agentPolicyId}/full: get: - description: Get a full agent policy by ID + description: Get a full agent policy by ID. operationId: get-fleet-agent-policies-agentpolicyid-full parameters: - description: The version of the API to use @@ -17914,12 +17909,12 @@ paths: type: number required: - message - summary: '' + summary: Get a full agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/{agentPolicyId}/outputs: get: - description: Get list of outputs associated with agent policy by policy id + description: Get a list of outputs associated with agent policy by policy id. operationId: get-fleet-agent-policies-agentpolicyid-outputs parameters: - description: The version of the API to use @@ -18018,12 +18013,12 @@ paths: type: number required: - message - summary: '' + summary: Get outputs for an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/delete: post: - description: Delete agent policy by ID + description: Delete an agent policy by ID. operationId: post-fleet-agent-policies-delete parameters: - description: The version of the API to use @@ -18088,12 +18083,12 @@ paths: type: number required: - message - summary: '' + summary: Delete an agent policy tags: - Elastic Agent policies /api/fleet/agent_policies/outputs: post: - description: Get list of outputs associated with agent policies + description: Get a list of outputs associated with agent policies. operationId: post-fleet-agent-policies-outputs parameters: - description: The version of the API to use @@ -18210,12 +18205,11 @@ paths: type: number required: - message - summary: '' + summary: Get outputs for agent policies tags: - Elastic Agent policies /api/fleet/agent_status: get: - description: Get agent status summary operationId: get-fleet-agent-status parameters: - description: The version of the API to use @@ -18306,12 +18300,11 @@ paths: type: number required: - message - summary: '' + summary: Get an agent status summary tags: - Elastic Agent status /api/fleet/agent_status/data: get: - description: Get incoming agent data operationId: get-fleet-agent-status-data parameters: - description: The version of the API to use @@ -18379,12 +18372,11 @@ paths: type: number required: - message - summary: '' + summary: Get incoming agent data tags: - Elastic Agents /api/fleet/agents: get: - description: List agents operationId: get-fleet-agents parameters: - description: The version of the API to use @@ -18766,11 +18758,10 @@ paths: type: number required: - message - summary: '' + summary: Get agents tags: - Elastic Agents post: - description: List agents by action ids operationId: post-fleet-agents parameters: - description: The version of the API to use @@ -18831,12 +18822,12 @@ paths: type: number required: - message - summary: '' + summary: Get agents by action ids tags: - Elastic Agents /api/fleet/agents/{agentId}: delete: - description: Delete agent by ID + description: Delete an agent by ID. operationId: delete-fleet-agents-agentid parameters: - description: The version of the API to use @@ -18889,11 +18880,11 @@ paths: type: number required: - message - summary: '' + summary: Delete an agent tags: - Elastic Agents get: - description: Get agent by ID + description: Get an agent by ID. operationId: get-fleet-agents-agentid parameters: - description: The version of the API to use @@ -19217,11 +19208,11 @@ paths: type: number required: - message - summary: '' + summary: Get an agent tags: - Elastic Agents put: - description: Update agent by ID + description: Update an agent by ID. operationId: put-fleet-agents-agentid parameters: - description: The version of the API to use @@ -19560,12 +19551,11 @@ paths: type: number required: - message - summary: '' + summary: Update an agent tags: - Elastic Agents /api/fleet/agents/{agentId}/actions: post: - description: Create agent action operationId: post-fleet-agents-agentid-actions parameters: - description: The version of the API to use @@ -19705,12 +19695,11 @@ paths: type: number required: - message - summary: '' + summary: Create an agent action tags: - Elastic Agent actions /api/fleet/agents/{agentId}/reassign: post: - description: Reassign agent operationId: post-fleet-agents-agentid-reassign parameters: - description: The version of the API to use @@ -19768,12 +19757,11 @@ paths: type: number required: - message - summary: '' + summary: Reassign an agent tags: - Elastic Agent actions /api/fleet/agents/{agentId}/request_diagnostics: post: - description: Request agent diagnostics operationId: post-fleet-agents-agentid-request-diagnostics parameters: - description: The version of the API to use @@ -19838,12 +19826,11 @@ paths: type: number required: - message - summary: '' + summary: Request agent diagnostics tags: - Elastic Agent actions /api/fleet/agents/{agentId}/unenroll: post: - description: Unenroll agent operationId: post-fleet-agents-agentid-unenroll parameters: - description: The version of the API to use @@ -19879,12 +19866,11 @@ paths: revoke: type: boolean responses: {} - summary: '' + summary: Unenroll an agent tags: - Elastic Agent actions /api/fleet/agents/{agentId}/upgrade: post: - description: Upgrade agent operationId: post-fleet-agents-agentid-upgrade parameters: - description: The version of the API to use @@ -19948,12 +19934,11 @@ paths: type: number required: - message - summary: '' + summary: Upgrade an agent tags: - Elastic Agent actions /api/fleet/agents/{agentId}/uploads: get: - description: List agent uploads operationId: get-fleet-agents-agentid-uploads parameters: - description: The version of the API to use @@ -20029,12 +20014,11 @@ paths: type: number required: - message - summary: '' + summary: Get agent uploads tags: - Elastic Agents /api/fleet/agents/action_status: get: - description: Get agent action status operationId: get-fleet-agents-action-status parameters: - description: The version of the API to use @@ -20197,12 +20181,11 @@ paths: type: number required: - message - summary: '' + summary: Get an agent action status tags: - Elastic Agent actions /api/fleet/agents/actions/{actionId}/cancel: post: - description: Cancel agent action operationId: post-fleet-agents-actions-actionid-cancel parameters: - description: The version of the API to use @@ -20292,12 +20275,11 @@ paths: type: number required: - message - summary: '' + summary: Cancel an agent action tags: - Elastic Agent actions /api/fleet/agents/available_versions: get: - description: Get available agent versions operationId: get-fleet-agents-available-versions parameters: - description: The version of the API to use @@ -20338,12 +20320,11 @@ paths: type: number required: - message - summary: '' + summary: Get available agent versions tags: - Elastic Agents /api/fleet/agents/bulk_reassign: post: - description: Bulk reassign agents operationId: post-fleet-agents-bulk-reassign parameters: - description: The version of the API to use @@ -20412,12 +20393,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk reassign agents tags: - Elastic Agent actions /api/fleet/agents/bulk_request_diagnostics: post: - description: Bulk request diagnostics from agents operationId: post-fleet-agents-bulk-request-diagnostics parameters: - description: The version of the API to use @@ -20486,12 +20466,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk request diagnostics from agents tags: - Elastic Agent actions /api/fleet/agents/bulk_unenroll: post: - description: Bulk unenroll agents operationId: post-fleet-agents-bulk-unenroll parameters: - description: The version of the API to use @@ -20567,12 +20546,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk unenroll agents tags: - Elastic Agent actions /api/fleet/agents/bulk_update_agent_tags: post: - description: Bulk update agent tags operationId: post-fleet-agents-bulk-update-agent-tags parameters: - description: The version of the API to use @@ -20646,12 +20624,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk update agent tags tags: - Elastic Agent actions /api/fleet/agents/bulk_upgrade: post: - description: Bulk upgrade agents operationId: post-fleet-agents-bulk-upgrade parameters: - description: The version of the API to use @@ -20731,12 +20708,12 @@ paths: type: number required: - message - summary: '' + summary: Bulk upgrade agents tags: - Elastic Agent actions /api/fleet/agents/files/{fileId}: delete: - description: Delete file uploaded by agent + description: Delete a file uploaded by an agent. operationId: delete-fleet-agents-files-fileid parameters: - description: The version of the API to use @@ -20790,12 +20767,12 @@ paths: type: number required: - message - summary: '' + summary: Delete an uploaded file tags: - Elastic Agents /api/fleet/agents/files/{fileId}/{fileName}: get: - description: Get file uploaded by agent + description: Get a file uploaded by an agent. operationId: get-fleet-agents-files-fileid-filename parameters: - description: The version of the API to use @@ -20838,12 +20815,11 @@ paths: type: number required: - message - summary: '' + summary: Get an uploaded file tags: - Elastic Agents /api/fleet/agents/setup: get: - description: Get agent setup info operationId: get-fleet-agents-setup parameters: - description: The version of the API to use @@ -20910,11 +20886,10 @@ paths: type: number required: - message - summary: '' + summary: Get agent setup info tags: - Elastic Agents post: - description: Initiate agent setup operationId: post-fleet-agents-setup parameters: - description: The version of the API to use @@ -20979,12 +20954,11 @@ paths: type: number required: - message - summary: '' + summary: Initiate agent setup tags: - Elastic Agents /api/fleet/agents/tags: get: - description: List agent tags operationId: get-fleet-agents-tags parameters: - description: The version of the API to use @@ -21036,12 +21010,11 @@ paths: type: number required: - message - summary: '' + summary: Get agent tags tags: - Elastic Agents /api/fleet/check-permissions: get: - description: Check permissions operationId: get-fleet-check-permissions parameters: - description: The version of the API to use @@ -21091,12 +21064,11 @@ paths: type: number required: - message - summary: '' + summary: Check permissions tags: - Fleet internals /api/fleet/data_streams: get: - description: List data streams operationId: get-fleet-data-streams parameters: - description: The version of the API to use @@ -21196,12 +21168,11 @@ paths: type: number required: - message - summary: '' + summary: Get data streams tags: - Data streams /api/fleet/enrollment_api_keys: get: - description: List enrollment API keys operationId: get-fleet-enrollment-api-keys parameters: - description: The version of the API to use @@ -21301,11 +21272,10 @@ paths: type: number required: - message - summary: '' + summary: Get enrollment API keys tags: - Fleet enrollment API keys post: - description: Create enrollment API key operationId: post-fleet-enrollment-api-keys parameters: - description: The version of the API to use @@ -21404,12 +21374,12 @@ paths: type: number required: - message - summary: '' + summary: Create an enrollment API key tags: - Fleet enrollment API keys /api/fleet/enrollment_api_keys/{keyId}: delete: - description: Revoke enrollment API key by ID by marking it as inactive + description: Revoke an enrollment API key by ID by marking it as inactive. operationId: delete-fleet-enrollment-api-keys-keyid parameters: - description: The version of the API to use @@ -21462,11 +21432,11 @@ paths: type: number required: - message - summary: '' + summary: Revoke an enrollment API key tags: - Fleet enrollment API keys get: - description: Get enrollment API key by ID + description: Get an enrollment API key by ID. operationId: get-fleet-enrollment-api-keys-keyid parameters: - description: The version of the API to use @@ -21543,12 +21513,11 @@ paths: type: number required: - message - summary: '' + summary: Get an enrollment API key tags: - Fleet enrollment API keys /api/fleet/epm/bulk_assets: post: - description: Bulk get assets operationId: post-fleet-epm-bulk-assets parameters: - description: The version of the API to use @@ -21642,12 +21611,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk get assets tags: - Elastic Package Manager (EPM) /api/fleet/epm/categories: get: - description: List package categories operationId: get-fleet-epm-categories parameters: - description: The version of the API to use @@ -21714,12 +21682,11 @@ paths: type: number required: - message - summary: '' + summary: Get package categories tags: - Elastic Package Manager (EPM) /api/fleet/epm/custom_integrations: post: - description: Create custom integration operationId: post-fleet-epm-custom-integrations parameters: - description: The version of the API to use @@ -21857,12 +21824,11 @@ paths: type: number required: - message - summary: '' + summary: Create a custom integration tags: - Elastic Package Manager (EPM) /api/fleet/epm/data_streams: get: - description: List data streams operationId: get-fleet-epm-data-streams parameters: - description: The version of the API to use @@ -21940,12 +21906,11 @@ paths: type: number required: - message - summary: '' + summary: Get data streams tags: - Data streams /api/fleet/epm/packages: get: - description: List packages operationId: get-fleet-epm-packages parameters: - description: The version of the API to use @@ -22341,11 +22306,10 @@ paths: type: number required: - message - summary: '' + summary: Get packages tags: - Elastic Package Manager (EPM) post: - description: Install package by upload operationId: post-fleet-epm-packages parameters: - description: The version of the API to use @@ -22468,12 +22432,11 @@ paths: type: number required: - message - summary: '' + summary: Install a package by upload tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/_bulk: post: - description: Bulk install packages operationId: post-fleet-epm-packages-bulk parameters: - description: The version of the API to use @@ -22651,12 +22614,11 @@ paths: type: number required: - message - summary: '' + summary: Bulk install packages tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/{pkgName}/{pkgVersion}: delete: - description: Delete package operationId: delete-fleet-epm-packages-pkgname-pkgversion parameters: - description: The version of the API to use @@ -22767,11 +22729,10 @@ paths: type: number required: - message - summary: '' + summary: Delete a package tags: - Elastic Package Manager (EPM) get: - description: Get package operationId: get-fleet-epm-packages-pkgname-pkgversion parameters: - description: The version of the API to use @@ -23247,11 +23208,10 @@ paths: type: number required: - message - summary: '' + summary: Get a package tags: - Elastic Package Manager (EPM) post: - description: Install package from registry operationId: post-fleet-epm-packages-pkgname-pkgversion parameters: - description: The version of the API to use @@ -23397,11 +23357,10 @@ paths: type: number required: - message - summary: '' + summary: Install a package from the registry tags: - Elastic Package Manager (EPM) put: - description: Update package settings operationId: put-fleet-epm-packages-pkgname-pkgversion parameters: - description: The version of the API to use @@ -23866,12 +23825,11 @@ paths: type: number required: - message - summary: '' + summary: Update package settings tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath*}: get: - description: Get package file operationId: get-fleet-epm-packages-pkgname-pkgversion-filepath parameters: - description: The version of the API to use @@ -23918,12 +23876,11 @@ paths: type: number required: - message - summary: '' + summary: Get a package file tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/{pkgName}/{pkgVersion}/transforms/authorize: post: - description: Authorize transforms operationId: post-fleet-epm-packages-pkgname-pkgversion-transforms-authorize parameters: - description: The version of the API to use @@ -24011,12 +23968,11 @@ paths: type: number required: - message - summary: '' + summary: Authorize transforms tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/{pkgName}/stats: get: - description: Get package stats operationId: get-fleet-epm-packages-pkgname-stats parameters: - description: The version of the API to use @@ -24066,12 +24022,11 @@ paths: type: number required: - message - summary: '' + summary: Get package stats tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/installed: get: - description: Get installed packages operationId: get-fleet-epm-packages-installed parameters: - description: The version of the API to use @@ -24220,12 +24175,11 @@ paths: type: number required: - message - summary: '' + summary: Get installed packages tags: - Elastic Package Manager (EPM) /api/fleet/epm/packages/limited: get: - description: Get limited package list operationId: get-fleet-epm-packages-limited parameters: - description: The version of the API to use @@ -24266,12 +24220,11 @@ paths: type: number required: - message - summary: '' + summary: Get a limited package list tags: - Elastic Package Manager (EPM) /api/fleet/epm/templates/{pkgName}/{pkgVersion}/inputs: get: - description: Get inputs template operationId: get-fleet-epm-templates-pkgname-pkgversion-inputs parameters: - description: The version of the API to use @@ -24374,12 +24327,11 @@ paths: type: number required: - message - summary: '' + summary: Get an inputs template tags: - Elastic Package Manager (EPM) /api/fleet/epm/verification_key_id: get: - description: Get a package signature verification key ID operationId: get-fleet-epm-verification-key-id parameters: - description: The version of the API to use @@ -24419,12 +24371,11 @@ paths: type: number required: - message - summary: '' + summary: Get a package signature verification key ID tags: - Elastic Package Manager (EPM) /api/fleet/fleet_server_hosts: get: - description: List Fleet Server hosts operationId: get-fleet-fleet-server-hosts parameters: - description: The version of the API to use @@ -24500,11 +24451,10 @@ paths: type: number required: - message - summary: '' + summary: Get Fleet Server hosts tags: - Fleet Server hosts post: - description: Create Fleet Server host operationId: post-fleet-fleet-server-hosts parameters: - description: The version of the API to use @@ -24606,12 +24556,12 @@ paths: type: number required: - message - summary: '' + summary: Create a Fleet Server host tags: - Fleet Server hosts /api/fleet/fleet_server_hosts/{itemId}: delete: - description: Delete Fleet Server host by ID + description: Delete a Fleet Server host by ID. operationId: delete-fleet-fleet-server-hosts-itemid parameters: - description: The version of the API to use @@ -24662,11 +24612,11 @@ paths: type: number required: - message - summary: '' + summary: Delete a Fleet Server host tags: - Fleet Server hosts get: - description: Get Fleet Server host by ID + description: Get a Fleet Server host by ID. operationId: get-fleet-fleet-server-hosts-itemid parameters: - description: The version of the API to use @@ -24736,11 +24686,11 @@ paths: type: number required: - message - summary: '' + summary: Get a Fleet Server host tags: - Fleet Server hosts put: - description: Update Fleet Server host by ID + description: Update a Fleet Server host by ID. operationId: put-fleet-fleet-server-hosts-itemid parameters: - description: The version of the API to use @@ -24840,12 +24790,11 @@ paths: type: number required: - message - summary: '' + summary: Update a Fleet Server host tags: - Fleet Server hosts /api/fleet/health_check: post: - description: Check Fleet Server health operationId: post-fleet-health-check parameters: - description: The version of the API to use @@ -24922,12 +24871,11 @@ paths: type: number required: - message - summary: '' + summary: Check Fleet Server health tags: - Fleet internals /api/fleet/kubernetes: get: - description: Get full K8s agent manifest operationId: get-fleet-kubernetes parameters: - description: The version of the API to use @@ -24981,7 +24929,7 @@ paths: type: number required: - message - summary: '' + summary: Get a full K8s agent manifest tags: - Elastic Agent policies /api/fleet/kubernetes/download: @@ -25049,12 +24997,11 @@ paths: type: number required: - message - summary: '' + summary: Download an agent manifest tags: - Elastic Agent policies /api/fleet/logstash_api_keys: post: - description: Generate Logstash API key operationId: post-fleet-logstash-api-keys parameters: - description: The version of the API to use @@ -25100,12 +25047,11 @@ paths: type: number required: - message - summary: '' + summary: Generate a Logstash API key tags: - Fleet outputs /api/fleet/message_signing_service/rotate_key_pair: post: - description: Rotate fleet message signing key pair operationId: post-fleet-message-signing-service-rotate-key-pair parameters: - description: The version of the API to use @@ -25173,12 +25119,11 @@ paths: type: number required: - message - summary: '' + summary: Rotate a Fleet message signing key pair tags: - Message Signing Service /api/fleet/outputs: get: - description: List outputs operationId: get-fleet-outputs parameters: - description: The version of the API to use @@ -25907,11 +25852,10 @@ paths: type: number required: - message - summary: '' + summary: Get outputs tags: - Fleet outputs post: - description: Create output operationId: post-fleet-outputs parameters: - description: The version of the API to use @@ -27320,12 +27264,12 @@ paths: type: number required: - message - summary: '' + summary: Create output tags: - Fleet outputs /api/fleet/outputs/{outputId}: delete: - description: Delete output by ID + description: Delete output by ID. operationId: delete-fleet-outputs-outputid parameters: - description: The version of the API to use @@ -27392,11 +27336,11 @@ paths: type: number required: - message - summary: '' + summary: Delete output tags: - Fleet outputs get: - description: Get output by ID + description: Get output by ID. operationId: get-fleet-outputs-outputid parameters: - description: The version of the API to use @@ -28119,11 +28063,11 @@ paths: type: number required: - message - summary: '' + summary: Get output tags: - Fleet outputs put: - description: Update output by ID + description: Update output by ID. operationId: put-fleet-outputs-outputid parameters: - description: The version of the API to use @@ -29516,12 +29460,11 @@ paths: type: number required: - message - summary: '' + summary: Update output tags: - Fleet outputs /api/fleet/outputs/{outputId}/health: get: - description: Get latest output health operationId: get-fleet-outputs-outputid-health parameters: - description: The version of the API to use @@ -29574,12 +29517,11 @@ paths: type: number required: - message - summary: '' + summary: Get the latest output health tags: - Fleet outputs /api/fleet/package_policies: get: - description: List package policies operationId: get-fleet-package-policies parameters: - description: The version of the API to use @@ -30080,11 +30022,10 @@ paths: type: number required: - message - summary: '' + summary: Get package policies tags: - Fleet package policies post: - description: Create package policy operationId: post-fleet-package-policies parameters: - description: The version of the API to use @@ -30982,12 +30923,11 @@ paths: type: number required: - message - summary: '' + summary: Create a package policy tags: - Fleet package policies /api/fleet/package_policies/_bulk_get: post: - description: Bulk get package policies operationId: post-fleet-package-policies-bulk-get parameters: - description: The version of the API to use @@ -31475,12 +31415,12 @@ paths: type: string required: - message - summary: '' + summary: Bulk get package policies tags: - Fleet package policies /api/fleet/package_policies/{packagePolicyId}: delete: - description: Delete package policy by ID + description: Delete a package policy by ID. operationId: delete-fleet-package-policies-packagepolicyid parameters: - description: The version of the API to use @@ -31536,11 +31476,11 @@ paths: type: number required: - message - summary: '' + summary: Delete a package policy tags: - Fleet package policies get: - description: Get package policy by ID + description: Get a package policy by ID. operationId: get-fleet-package-policies-packagepolicyid parameters: - description: The version of the API to use @@ -32005,11 +31945,11 @@ paths: type: string required: - message - summary: '' + summary: Get a package policy tags: - Fleet package policies put: - description: Update package policy by ID + description: Update a package policy by ID. operationId: put-fleet-package-policies-packagepolicyid parameters: - description: The version of the API to use @@ -32901,12 +32841,11 @@ paths: type: number required: - message - summary: '' + summary: Update a package policy tags: - Fleet package policies /api/fleet/package_policies/delete: post: - description: Bulk delete package policies operationId: post-fleet-package-policies-delete parameters: - description: The version of the API to use @@ -33038,12 +32977,12 @@ paths: type: number required: - message - summary: '' + summary: Bulk delete package policies tags: - Fleet package policies /api/fleet/package_policies/upgrade: post: - description: Upgrade package policy to a newer package version + description: Upgrade a package policy to a newer package version. operationId: post-fleet-package-policies-upgrade parameters: - description: The version of the API to use @@ -33119,12 +33058,11 @@ paths: type: number required: - message - summary: '' + summary: Upgrade a package policy tags: - Fleet package policies /api/fleet/package_policies/upgrade/dryrun: post: - description: Dry run package policy upgrade operationId: post-fleet-package-policies-upgrade-dryrun parameters: - description: The version of the API to use @@ -33969,12 +33907,11 @@ paths: type: number required: - message - summary: '' + summary: Dry run a package policy upgrade tags: - Fleet package policies /api/fleet/proxies: get: - description: List proxies operationId: get-fleet-proxies parameters: - description: The version of the API to use @@ -34056,11 +33993,10 @@ paths: type: number required: - message - summary: '' + summary: Get proxies tags: - Fleet proxies post: - description: Create proxy operationId: post-fleet-proxies parameters: - description: The version of the API to use @@ -34174,12 +34110,12 @@ paths: type: number required: - message - summary: '' + summary: Create a proxy tags: - Fleet proxies /api/fleet/proxies/{itemId}: delete: - description: Delete proxy by ID + description: Delete a proxy by ID operationId: delete-fleet-proxies-itemid parameters: - description: The version of the API to use @@ -34230,11 +34166,11 @@ paths: type: number required: - message - summary: '' + summary: Delete a proxy tags: - Fleet proxies get: - description: Get proxy by ID + description: Get a proxy by ID. operationId: get-fleet-proxies-itemid parameters: - description: The version of the API to use @@ -34310,11 +34246,11 @@ paths: type: number required: - message - summary: '' + summary: Get a proxy tags: - Fleet proxies put: - description: Update proxy by ID + description: Update a proxy by ID. operationId: put-fleet-proxies-itemid parameters: - description: The version of the API to use @@ -34430,12 +34366,11 @@ paths: type: number required: - message - summary: '' + summary: Update a proxy tags: - Fleet proxies /api/fleet/service_tokens: post: - description: Create a service token operationId: post-fleet-service-tokens parameters: - description: The version of the API to use @@ -34495,12 +34430,11 @@ paths: type: number required: - message - summary: '' + summary: Create a service token tags: - Fleet service tokens /api/fleet/settings: get: - description: Get settings operationId: get-fleet-settings parameters: - description: The version of the API to use @@ -34591,11 +34525,10 @@ paths: type: string required: - message - summary: '' + summary: Get settings tags: - Fleet internals put: - description: Update settings operationId: put-fleet-settings parameters: - description: The version of the API to use @@ -34724,12 +34657,11 @@ paths: type: string required: - message - summary: '' + summary: Update settings tags: - Fleet internals /api/fleet/setup: post: - description: Initiate Fleet setup operationId: post-fleet-setup parameters: - description: The version of the API to use @@ -34806,12 +34738,12 @@ paths: type: string required: - message - summary: '' + summary: Initiate Fleet setup tags: - Fleet internals /api/fleet/uninstall_tokens: get: - description: List metadata for latest uninstall tokens per agent policy + description: List the metadata for the latest uninstall tokens per agent policy. operationId: get-fleet-uninstall-tokens parameters: - description: The version of the API to use @@ -34906,12 +34838,12 @@ paths: type: number required: - message - summary: '' + summary: Get metadata for latest uninstall tokens tags: - Fleet uninstall tokens /api/fleet/uninstall_tokens/{uninstallTokenId}: get: - description: Get one decrypted uninstall token by its ID + description: Get one decrypted uninstall token by its ID. operationId: get-fleet-uninstall-tokens-uninstalltokenid parameters: - description: The version of the API to use @@ -34977,7 +34909,7 @@ paths: type: number required: - message - summary: '' + summary: Get a decrypted uninstall token tags: - Fleet uninstall tokens /api/lists: diff --git a/x-pack/plugins/fleet/server/routes/agent/index.ts b/x-pack/plugins/fleet/server/routes/agent/index.ts index 1c40f36a7e481..cc1550fe24689 100644 --- a/x-pack/plugins/fleet/server/routes/agent/index.ts +++ b/x-pack/plugins/fleet/server/routes/agent/index.ts @@ -97,7 +97,8 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `Get agent by ID`, + summary: `Get an agent`, + description: `Get an agent by ID.`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -127,7 +128,8 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Update agent by ID`, + summary: `Update an agent`, + description: `Update an agent by ID.`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -157,7 +159,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Bulk update agent tags`, + summary: `Bulk update agent tags`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -187,7 +189,8 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Delete agent by ID`, + summary: `Delete an agent`, + description: `Delete an agent by ID.`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -218,7 +221,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `List agents`, + summary: `Get agents`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -248,7 +251,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `List agent tags`, + summary: `Get agent tags`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -278,7 +281,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Create agent action`, + summary: `Create an agent action`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -312,7 +315,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Cancel agent action`, + summary: `Cancel an agent action`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -347,7 +350,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `List agents by action ids`, + summary: `Get agents by action ids`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -376,7 +379,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Unenroll agent`, + summary: `Unenroll an agent`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -395,7 +398,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Reassign agent`, + summary: `Reassign an agent`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -424,7 +427,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `Request agent diagnostics`, + summary: `Request agent diagnostics`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -453,7 +456,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `Bulk request diagnostics from agents`, + summary: `Bulk request diagnostics from agents`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -482,7 +485,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `List agent uploads`, + summary: `Get agent uploads`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -511,7 +514,8 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `Get file uploaded by agent`, + summary: `Get an uploaded file`, + description: `Get a file uploaded by an agent.`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -540,7 +544,8 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Delete file uploaded by agent`, + summary: `Delete an uploaded file`, + description: `Delete a file uploaded by an agent.`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -572,7 +577,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz, getRouteRequiredAuthz('get', AGENT_API_ROUTES.STATUS_PATTERN) ).granted, - description: `Get agent status summary`, + summary: `Get an agent status summary`, options: { tags: ['oas-tag:Elastic Agent status'], }, @@ -601,7 +606,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `Get incoming agent data`, + summary: `Get incoming agent data`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -631,7 +636,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Upgrade agent`, + summary: `Upgrade an agent`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -660,7 +665,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Bulk upgrade agents`, + summary: `Bulk upgrade agents`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -690,7 +695,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `Get agent action status`, + summary: `Get an agent action status`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -720,7 +725,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Bulk reassign agents`, + summary: `Bulk reassign agents`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -750,7 +755,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { allAgents: true }, }, - description: `Bulk unenroll agents`, + summary: `Bulk unenroll agents`, options: { tags: ['oas-tag:Elastic Agent actions'], }, @@ -780,7 +785,7 @@ export const registerAPIRoutes = (router: FleetAuthzRouter, config: FleetConfigT fleetAuthz: { fleet: { readAgents: true }, }, - description: `Get available agent versions`, + summary: `Get available agent versions`, options: { tags: ['oas-tag:Elastic Agents'], }, diff --git a/x-pack/plugins/fleet/server/routes/agent_policy/index.ts b/x-pack/plugins/fleet/server/routes/agent_policy/index.ts index 9311f0ae2acca..0d0dc6ae68c25 100644 --- a/x-pack/plugins/fleet/server/routes/agent_policy/index.ts +++ b/x-pack/plugins/fleet/server/routes/agent_policy/index.ts @@ -64,7 +64,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { // Allow to retrieve agent policies metadata (no full) for user with only read agents permissions return authz.fleet.readAgentPolicies || authz.fleet.readAgents; }, - description: `List agent policies`, + summary: `Get agent policies`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -95,7 +95,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { // Allow to retrieve agent policies metadata (no full) for user with only read agents permissions return authz.fleet.readAgentPolicies || authz.fleet.readAgents; }, - description: `Bulk get agent policies`, + summary: `Bulk get agent policies`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -126,7 +126,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { // Allow to retrieve agent policies metadata (no full) for user with only read agents permissions return authz.fleet.readAgentPolicies || authz.fleet.readAgents; }, - description: `Get an agent policy by ID`, + summary: `Get an agent policy`, + description: `Get an agent policy by ID.`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -156,7 +157,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allAgentPolicies: true }, }, - description: `Create an agent policy`, + summary: `Create an agent policy`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -186,7 +187,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allAgentPolicies: true }, }, - description: `Update an agent policy by ID`, + summary: `Update an agent policy`, + description: `Update an agent policy by ID.`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -216,7 +218,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allAgentPolicies: true }, }, - description: `Copy an agent policy by ID`, + summary: `Copy an agent policy`, + description: `Copy an agent policy by ID.`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -246,7 +249,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allAgentPolicies: true }, }, - description: `Delete agent policy by ID`, + summary: `Delete an agent policy`, + description: `Delete an agent policy by ID.`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -276,7 +280,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { readAgentPolicies: true }, }, - description: `Get a full agent policy by ID`, + summary: `Get a full agent policy`, + description: `Get a full agent policy by ID.`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -307,7 +312,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleet: { readAgentPolicies: true }, }, enableQueryVersion: true, - description: `Download an agent policy by ID`, + summary: `Download an agent policy`, + description: `Download an agent policy by ID.`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -340,7 +346,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { readAgentPolicies: true }, }, - description: `Get full K8s agent manifest`, + summary: `Get a full K8s agent manifest`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -371,7 +377,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleet: { readAgentPolicies: true }, }, enableQueryVersion: true, - description: ``, + summary: `Download an agent manifest`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -403,7 +409,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: (authz) => { return authz.fleet.readAgentPolicies && authz.fleet.readSettings; }, - description: `Get list of outputs associated with agent policies`, + summary: `Get outputs for agent policies`, + description: `Get a list of outputs associated with agent policies.`, options: { tags: ['oas-tag:Elastic Agent policies'], }, @@ -432,7 +439,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: (authz) => { return authz.fleet.readAgentPolicies && authz.fleet.readSettings; }, - description: `Get list of outputs associated with agent policy by policy id`, + summary: `Get outputs for an agent policy`, + description: `Get a list of outputs associated with agent policy by policy id.`, options: { tags: ['oas-tag:Elastic Agent policies'], }, diff --git a/x-pack/plugins/fleet/server/routes/app/index.ts b/x-pack/plugins/fleet/server/routes/app/index.ts index e66f9f02a687b..db7eddd5ddd45 100644 --- a/x-pack/plugins/fleet/server/routes/app/index.ts +++ b/x-pack/plugins/fleet/server/routes/app/index.ts @@ -218,7 +218,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType router.versioned .get({ path: APP_API_ROUTES.CHECK_PERMISSIONS_PATTERN, - description: `Check permissions`, + summary: `Check permissions`, options: { tags: ['oas-tag:Fleet internals'], }, @@ -263,7 +263,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { fleet: { allAgents: true }, }, - description: `Create a service token`, + summary: `Create a service token`, options: { tags: ['oas-tag:Fleet service tokens'], }, diff --git a/x-pack/plugins/fleet/server/routes/data_streams/index.ts b/x-pack/plugins/fleet/server/routes/data_streams/index.ts index a20b893717fdc..7dc870c394bc8 100644 --- a/x-pack/plugins/fleet/server/routes/data_streams/index.ts +++ b/x-pack/plugins/fleet/server/routes/data_streams/index.ts @@ -52,7 +52,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { all: true }, }, - description: `List data streams`, + summary: `Get data streams`, options: { tags: ['oas-tag:Data streams'], }, diff --git a/x-pack/plugins/fleet/server/routes/download_source/index.ts b/x-pack/plugins/fleet/server/routes/download_source/index.ts index 83059593730db..687fdcf5f793f 100644 --- a/x-pack/plugins/fleet/server/routes/download_source/index.ts +++ b/x-pack/plugins/fleet/server/routes/download_source/index.ts @@ -39,7 +39,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: (authz) => { return authz.fleet.readSettings || authz.fleet.readAgentPolicies; }, - description: `List agent binary download sources`, + summary: `Get agent binary download sources`, options: { tags: ['oas-tag:Elastic Agent binary download sources'], }, @@ -68,7 +68,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: (authz) => { return authz.fleet.readSettings || authz.fleet.readAgentPolicies; }, - description: `Get agent binary download source by ID`, + summary: `Get an agent binary download source`, + description: `Get an agent binary download source by ID.`, options: { tags: ['oas-tag:Elastic Agent binary download sources'], }, @@ -97,7 +98,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: `Update agent binary download source by ID`, + summary: `Update an agent binary download source`, + description: `Update an agent binary download source by ID.`, options: { tags: ['oas-tag:Elastic Agent binary download sources'], }, @@ -126,7 +128,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: `Create agent binary download source`, + summary: `Create an agent binary download source`, options: { tags: ['oas-tag:Elastic Agent binary download sources'], }, @@ -155,7 +157,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: `Delete agent binary download source by ID`, + summary: `Delete an agent binary download source`, + description: `Delete an agent binary download source by ID.`, options: { tags: ['oas-tag:Elastic Agent binary download sources'], }, diff --git a/x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts b/x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts index bc6c61dc8ffe4..58538ba18f359 100644 --- a/x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts +++ b/x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts @@ -39,7 +39,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { readEnrollmentTokens: true }, }, - description: `Get enrollment API key by ID`, + summary: `Get an enrollment API key`, + description: `Get an enrollment API key by ID.`, options: { tags: ['oas-tag:Fleet enrollment API keys'], }, @@ -68,7 +69,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allAgents: true }, }, - description: `Revoke enrollment API key by ID by marking it as inactive`, + summary: `Revoke an enrollment API key`, + description: `Revoke an enrollment API key by ID by marking it as inactive.`, options: { tags: ['oas-tag:Fleet enrollment API keys'], }, @@ -97,7 +99,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { readEnrollmentTokens: true }, }, - description: `List enrollment API keys`, + summary: `Get enrollment API keys`, options: { tags: ['oas-tag:Fleet enrollment API keys'], }, @@ -126,7 +128,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allAgents: true }, }, - description: `Create enrollment API key`, + summary: `Create an enrollment API key`, options: { tags: ['oas-tag:Fleet enrollment API keys'], }, diff --git a/x-pack/plugins/fleet/server/routes/epm/index.ts b/x-pack/plugins/fleet/server/routes/epm/index.ts index 283f8d6a1b0a0..787b02b69c3e8 100644 --- a/x-pack/plugins/fleet/server/routes/epm/index.ts +++ b/x-pack/plugins/fleet/server/routes/epm/index.ts @@ -102,7 +102,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .get({ path: EPM_API_ROUTES.CATEGORIES_PATTERN, fleetAuthz: READ_PACKAGE_INFO_AUTHZ, - description: `List package categories`, + summary: `Get package categories`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -129,7 +129,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .get({ path: EPM_API_ROUTES.LIST_PATTERN, fleetAuthz: READ_PACKAGE_INFO_AUTHZ, - description: `List packages`, + summary: `Get packages`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -156,7 +156,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .get({ path: EPM_API_ROUTES.INSTALLED_LIST_PATTERN, fleetAuthz: READ_PACKAGE_INFO_AUTHZ, - description: `Get installed packages`, + summary: `Get installed packages`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -183,7 +183,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .get({ path: EPM_API_ROUTES.LIMITED_LIST_PATTERN, fleetAuthz: READ_PACKAGE_INFO_AUTHZ, - description: `Get limited package list`, + summary: `Get a limited package list`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -210,7 +210,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .get({ path: EPM_API_ROUTES.STATS_PATTERN, fleetAuthz: READ_PACKAGE_INFO_AUTHZ, - description: `Get package stats`, + summary: `Get package stats`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -237,7 +237,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .get({ path: EPM_API_ROUTES.INPUTS_PATTERN, fleetAuthz: READ_PACKAGE_INFO_AUTHZ, - description: `Get inputs template`, + summary: `Get an inputs template`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -264,7 +264,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .get({ path: EPM_API_ROUTES.FILEPATH_PATTERN, fleetAuthz: READ_PACKAGE_INFO_AUTHZ, - description: `Get package file`, + summary: `Get a package file`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -293,7 +293,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: (fleetAuthz: FleetAuthz): boolean => calculateRouteAuthz(fleetAuthz, getRouteRequiredAuthz('get', EPM_API_ROUTES.INFO_PATTERN)) .granted, - description: `Get package`, + summary: `Get a package`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -322,7 +322,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { integrations: { writePackageSettings: true }, }, - description: `Update package settings`, + summary: `Update package settings`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -349,7 +349,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .post({ path: EPM_API_ROUTES.INSTALL_FROM_REGISTRY_PATTERN, fleetAuthz: INSTALL_PACKAGES_AUTHZ, - description: `Install package from registry`, + summary: `Install a package from the registry`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -379,7 +379,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { integrations: { installPackages: true }, }, - description: `Install Kibana assets for package`, + summary: `Install Kibana assets for a package`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -408,7 +408,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { integrations: { installPackages: true }, }, - description: `Delete Kibana assets for package`, + summary: `Delete Kibana assets for a package`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -438,7 +438,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { integrations: { installPackages: true, upgradePackages: true }, }, - description: `Bulk install packages`, + summary: `Bulk install packages`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -476,7 +476,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { integrations: { uploadPackages: true }, }, - description: `Install package by upload`, + summary: `Install a package by upload`, }) .addVersion( { @@ -500,7 +500,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .post({ path: EPM_API_ROUTES.CUSTOM_INTEGRATIONS_PATTERN, fleetAuthz: INSTALL_PACKAGES_AUTHZ, - description: `Create custom integration`, + summary: `Create a custom integration`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -529,7 +529,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { integrations: { removePackages: true }, }, - description: `Delete package`, + summary: `Delete a package`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -557,7 +557,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .get({ path: EPM_API_ROUTES.VERIFICATION_KEY_ID, fleetAuthz: READ_PACKAGE_INFO_AUTHZ, - description: `Get a package signature verification key ID`, + summary: `Get a package signature verification key ID`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -584,7 +584,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .get({ path: EPM_API_ROUTES.DATA_STREAMS_PATTERN, fleetAuthz: READ_PACKAGE_INFO_AUTHZ, - description: `List data streams`, + summary: `Get data streams`, options: { tags: ['oas-tag:Data streams'], }, @@ -611,7 +611,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType .post({ path: EPM_API_ROUTES.BULK_ASSETS_PATTERN, fleetAuthz: READ_PACKAGE_INFO_AUTHZ, - description: `Bulk get assets`, + summary: `Bulk get assets`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, @@ -651,7 +651,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType }, }, }, - description: `Authorize transforms`, + summary: `Authorize transforms`, options: { tags: ['oas-tag:Elastic Package Manager (EPM)'], }, diff --git a/x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts b/x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts index 54eba070dd8e1..1a5ad6ccc764d 100644 --- a/x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts +++ b/x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts @@ -37,7 +37,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { readSettings: true }, }, - description: `List proxies`, + summary: `Get proxies`, options: { tags: ['oas-tag:Fleet proxies'], }, @@ -66,7 +66,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: `Create proxy`, + summary: `Create a proxy`, options: { tags: ['oas-tag:Fleet proxies'], }, @@ -95,7 +95,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: `Update proxy by ID`, + summary: `Update a proxy`, + description: `Update a proxy by ID.`, options: { tags: ['oas-tag:Fleet proxies'], }, @@ -124,7 +125,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { readSettings: true }, }, - description: `Get proxy by ID`, + summary: `Get a proxy`, + description: `Get a proxy by ID.`, options: { tags: ['oas-tag:Fleet proxies'], }, @@ -153,7 +155,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: `Delete proxy by ID`, + summary: `Delete a proxy`, + description: `Delete a proxy by ID`, options: { tags: ['oas-tag:Fleet proxies'], }, diff --git a/x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts b/x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts index 0a79e9ae11649..667a617659492 100644 --- a/x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts +++ b/x-pack/plugins/fleet/server/routes/fleet_server_hosts/index.ts @@ -39,7 +39,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: (authz) => { return authz.fleet.addAgents || authz.fleet.addFleetServers || authz.fleet.readSettings; }, - description: `List Fleet Server hosts`, + summary: `Get Fleet Server hosts`, options: { tags: ['oas-tag:Fleet Server hosts'], }, @@ -67,7 +67,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: `Create Fleet Server host`, + summary: `Create a Fleet Server host`, options: { tags: ['oas-tag:Fleet Server hosts'], }, @@ -95,7 +95,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { readSettings: true }, }, - description: `Get Fleet Server host by ID`, + summary: `Get a Fleet Server host`, + description: `Get a Fleet Server host by ID.`, options: { tags: ['oas-tag:Fleet Server hosts'], }, @@ -123,7 +124,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: `Delete Fleet Server host by ID`, + summary: `Delete a Fleet Server host`, + description: `Delete a Fleet Server host by ID.`, options: { tags: ['oas-tag:Fleet Server hosts'], }, @@ -154,7 +156,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: `Update Fleet Server host by ID`, + summary: `Update a Fleet Server host`, + description: `Update a Fleet Server host by ID.`, options: { tags: ['oas-tag:Fleet Server hosts'], }, diff --git a/x-pack/plugins/fleet/server/routes/health_check/index.ts b/x-pack/plugins/fleet/server/routes/health_check/index.ts index 3b06526b62d14..008340d006829 100644 --- a/x-pack/plugins/fleet/server/routes/health_check/index.ts +++ b/x-pack/plugins/fleet/server/routes/health_check/index.ts @@ -22,7 +22,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: `Check Fleet Server health`, + summary: `Check Fleet Server health`, options: { tags: ['oas-tag:Fleet internals'], }, diff --git a/x-pack/plugins/fleet/server/routes/message_signing_service/index.ts b/x-pack/plugins/fleet/server/routes/message_signing_service/index.ts index 4e78b3228df5a..645e7070f901a 100644 --- a/x-pack/plugins/fleet/server/routes/message_signing_service/index.ts +++ b/x-pack/plugins/fleet/server/routes/message_signing_service/index.ts @@ -23,7 +23,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { all: true }, }, - description: 'Rotate fleet message signing key pair', + summary: 'Rotate a Fleet message signing key pair', options: { tags: ['oas-tag:Message Signing Service'], }, diff --git a/x-pack/plugins/fleet/server/routes/output/index.ts b/x-pack/plugins/fleet/server/routes/output/index.ts index c9d5b6acdd7d3..dd89eaabf396b 100644 --- a/x-pack/plugins/fleet/server/routes/output/index.ts +++ b/x-pack/plugins/fleet/server/routes/output/index.ts @@ -43,7 +43,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: (authz) => { return authz.fleet.readSettings || authz.fleet.readAgentPolicies; }, - description: 'List outputs', + summary: 'Get outputs', options: { tags: ['oas-tag:Fleet outputs'], }, @@ -71,7 +71,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: (authz) => { return authz.fleet.readSettings || authz.fleet.readAgentPolicies; }, - description: 'Get output by ID', + summary: 'Get output', + description: 'Get output by ID.', options: { tags: ['oas-tag:Fleet outputs'], }, @@ -99,7 +100,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: (authz) => { return authz.fleet.allSettings || authz.fleet.allAgentPolicies; }, - description: 'Update output by ID', + summary: 'Update output', + description: 'Update output by ID.', options: { tags: ['oas-tag:Fleet outputs'], }, @@ -128,7 +130,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: 'Create output', + summary: 'Create output', options: { tags: ['oas-tag:Fleet outputs'], }, @@ -157,7 +159,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: 'Delete output by ID', + summary: 'Delete output', + description: 'Delete output by ID.', options: { tags: ['oas-tag:Fleet outputs'], }, @@ -189,7 +192,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { allSettings: true }, }, - description: 'Generate Logstash API key', + summary: 'Generate a Logstash API key', options: { tags: ['oas-tag:Fleet outputs'], }, @@ -218,7 +221,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { readSettings: true }, }, - description: 'Get latest output health', + summary: 'Get the latest output health', options: { tags: ['oas-tag:Fleet outputs'], }, diff --git a/x-pack/plugins/fleet/server/routes/package_policy/index.ts b/x-pack/plugins/fleet/server/routes/package_policy/index.ts index 86ac38e658ee3..8a547f4127f97 100644 --- a/x-pack/plugins/fleet/server/routes/package_policy/index.ts +++ b/x-pack/plugins/fleet/server/routes/package_policy/index.ts @@ -61,7 +61,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz, getRouteRequiredAuthz('get', PACKAGE_POLICY_API_ROUTES.LIST_PATTERN) ).granted, - description: 'List package policies', + summary: 'Get package policies', options: { tags: ['oas-tag:Fleet package policies'], }, @@ -93,7 +93,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz, getRouteRequiredAuthz('post', PACKAGE_POLICY_API_ROUTES.BULK_GET_PATTERN) ).granted, - description: 'Bulk get package policies', + summary: 'Bulk get package policies', options: { tags: ['oas-tag:Fleet package policies'], }, @@ -128,7 +128,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz, getRouteRequiredAuthz('get', PACKAGE_POLICY_API_ROUTES.INFO_PATTERN) ).granted, - description: 'Get package policy by ID', + summary: 'Get a package policy', + description: 'Get a package policy by ID.', options: { tags: ['oas-tag:Fleet package policies'], }, @@ -187,7 +188,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { router.versioned .post({ path: PACKAGE_POLICY_API_ROUTES.CREATE_PATTERN, - description: 'Create package policy', + summary: 'Create a package policy', options: { tags: ['oas-tag:Fleet package policies'], }, @@ -222,7 +223,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz, getRouteRequiredAuthz('put', PACKAGE_POLICY_API_ROUTES.UPDATE_PATTERN) ).granted, - description: 'Update package policy by ID', + summary: 'Update a package policy', + description: 'Update a package policy by ID.', options: { tags: ['oas-tag:Fleet package policies'], }, @@ -259,7 +261,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { integrations: { writeIntegrationPolicies: true }, }, - description: 'Bulk delete package policies', + summary: 'Bulk delete package policies', options: { tags: ['oas-tag:Fleet package policies'], }, @@ -288,7 +290,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { integrations: { writeIntegrationPolicies: true }, }, - description: 'Delete package policy by ID', + summary: 'Delete a package policy', + description: 'Delete a package policy by ID.', options: { tags: ['oas-tag:Fleet package policies'], }, @@ -318,7 +321,8 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { integrations: { writeIntegrationPolicies: true }, }, - description: 'Upgrade package policy to a newer package version', + summary: 'Upgrade a package policy', + description: 'Upgrade a package policy to a newer package version.', options: { tags: ['oas-tag:Fleet package policies'], }, @@ -348,7 +352,7 @@ export const registerRoutes = (router: FleetAuthzRouter) => { fleetAuthz: { integrations: { readIntegrationPolicies: true }, }, - description: 'Dry run package policy upgrade', + summary: 'Dry run a package policy upgrade', options: { tags: ['oas-tag:Fleet package policies'], }, diff --git a/x-pack/plugins/fleet/server/routes/settings/index.ts b/x-pack/plugins/fleet/server/routes/settings/index.ts index b101937e45c27..04e6c2a955634 100644 --- a/x-pack/plugins/fleet/server/routes/settings/index.ts +++ b/x-pack/plugins/fleet/server/routes/settings/index.ts @@ -45,7 +45,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType authz.fleet.allAgentPolicies ); }, - description: `Get space settings`, + summary: `Get space settings`, }) .addVersion( { @@ -68,7 +68,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { fleet: { allSettings: true }, }, - description: `Put space settings`, + summary: `Create space settings`, }) .addVersion( { @@ -92,7 +92,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { fleet: { readSettings: true }, }, - description: `Get settings`, + summary: `Get settings`, options: { tags: ['oas-tag:Fleet internals'], }, @@ -123,7 +123,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { fleet: { allSettings: true }, }, - description: `Update settings`, + summary: `Update settings`, options: { tags: ['oas-tag:Fleet internals'], }, @@ -154,7 +154,7 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: (authz) => { return authz.fleet.addAgents || authz.fleet.addFleetServers; }, - description: `Get enrollment settings`, + summary: `Get enrollment settings`, options: { tags: ['oas-tag:Fleet internals'], }, diff --git a/x-pack/plugins/fleet/server/routes/setup/index.ts b/x-pack/plugins/fleet/server/routes/setup/index.ts index 4b6fd2316832d..2f41ff7eb6878 100644 --- a/x-pack/plugins/fleet/server/routes/setup/index.ts +++ b/x-pack/plugins/fleet/server/routes/setup/index.ts @@ -42,7 +42,7 @@ export const registerFleetSetupRoute = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { setup: true }, }, - description: `Initiate Fleet setup`, + summary: `Initiate Fleet setup`, options: { tags: ['oas-tag:Fleet internals'], }, @@ -104,7 +104,7 @@ export const registerCreateFleetSetupRoute = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { setup: true }, }, - description: `Initiate agent setup`, + summary: `Initiate agent setup`, options: { tags: ['oas-tag:Elastic Agents'], }, @@ -135,7 +135,7 @@ export const registerGetFleetStatusRoute = (router: FleetAuthzRouter) => { fleetAuthz: { fleet: { setup: true }, }, - description: `Get agent setup info`, + summary: `Get agent setup info`, options: { tags: ['oas-tag:Elastic Agents'], }, diff --git a/x-pack/plugins/fleet/server/routes/uninstall_token/index.ts b/x-pack/plugins/fleet/server/routes/uninstall_token/index.ts index a90dd678e99dd..3c5e25d414b27 100644 --- a/x-pack/plugins/fleet/server/routes/uninstall_token/index.ts +++ b/x-pack/plugins/fleet/server/routes/uninstall_token/index.ts @@ -31,7 +31,8 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { fleet: { allAgents: true }, }, - description: 'List metadata for latest uninstall tokens per agent policy', + summary: 'Get metadata for latest uninstall tokens', + description: 'List the metadata for the latest uninstall tokens per agent policy.', options: { tags: ['oas-tag:Fleet uninstall tokens'], }, @@ -60,7 +61,8 @@ export const registerRoutes = (router: FleetAuthzRouter, config: FleetConfigType fleetAuthz: { fleet: { allAgents: true }, }, - description: 'Get one decrypted uninstall token by its ID', + summary: 'Get a decrypted uninstall token', + description: 'Get one decrypted uninstall token by its ID.', options: { tags: ['oas-tag:Fleet uninstall tokens'], }, From ae15c54d18fd3d271d0e621556869df35e30dfb6 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Sat, 9 Nov 2024 09:20:09 +1100 Subject: [PATCH 44/52] Unauthorized route migration for routes owned by security-service-integrations (#198376) ### Authz API migration for unauthorized routes This PR migrates unauthorized routes owned by your team to a new security configuration. Please refer to the documentation for more information: [Authorization API](https://docs.elastic.dev/kibana-dev-docs/key-concepts/security-api-authorization) ### **Before migration:** ```ts router.get({ path: '/api/path', ... }, handler); ``` ### **After migration:** ```ts router.get({ path: '/api/path', security: { authz: { enabled: false, reason: 'This route is opted out from authorization because ...', }, }, ... }, handler); ``` ### What to do next? 1. Review the changes in this PR. 2. Elaborate on the reasoning to opt-out of authorization. 3. Routes without a compelling reason to opt-out of authorization should plan to introduce them as soon as possible. 2. You might need to update your tests to reflect the new security configuration: - If you have snapshot tests that include the route definition. ## Any questions? If you have any questions or need help with API authorization, please reach out to the `@elastic/kibana-security` team. --------- Co-authored-by: Kylie Meli --- .../server/lib/security_integrations/cribl/routes/index.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/x-pack/plugins/security_solution/server/lib/security_integrations/cribl/routes/index.ts b/x-pack/plugins/security_solution/server/lib/security_integrations/cribl/routes/index.ts index 02ea252440070..fc531525e4e89 100644 --- a/x-pack/plugins/security_solution/server/lib/security_integrations/cribl/routes/index.ts +++ b/x-pack/plugins/security_solution/server/lib/security_integrations/cribl/routes/index.ts @@ -17,6 +17,13 @@ export const getFleetManagedIndexTemplatesRoute = (router: IRouter) => { .addVersion( { version: '1', + security: { + authz: { + enabled: false, + reason: + 'This route delegates authorization of the current user to the Elasticsearch index template API.', + }, + }, validate: {}, }, async (context, _request, response) => { From cb7e5f6a0a70a35a46ce577d31476eabe4f1555e Mon Sep 17 00:00:00 2001 From: "Eyo O. Eyo" <7893459+eokoneyo@users.noreply.github.com> Date: Fri, 8 Nov 2024 23:23:16 +0100 Subject: [PATCH 45/52] [Spaces] update privilege selection text and icon (#199498) ## Summary Closes https://github.com/elastic/kibana-team/issues/1257 This PR modifies the spaces bulk edit context menu items to match the new design icons and text #### Visuals ##### After Screenshot 2024-11-08 at 16 06 20 ##### Before Screenshot 2024-11-08 at 15 59 02 ### Checklist Delete any items that are not applicable to this PR. - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [x] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) --- .../security/ui_components/src/constants.ts | 2 +- .../change_all_privileges.tsx | 48 +++- .../feature_table.test.tsx | 24 +- .../privilege_space_form.test.tsx | 248 +++++++++--------- .../space_assign_role_privilege_form.test.tsx | 79 +++--- 5 files changed, 217 insertions(+), 184 deletions(-) diff --git a/x-pack/packages/security/ui_components/src/constants.ts b/x-pack/packages/security/ui_components/src/constants.ts index a47a9bff9842d..d30c61bf02d6d 100644 --- a/x-pack/packages/security/ui_components/src/constants.ts +++ b/x-pack/packages/security/ui_components/src/constants.ts @@ -5,5 +5,5 @@ * 2.0. */ -export const NO_PRIVILEGE_VALUE: string = 'none'; +export const NO_PRIVILEGE_VALUE = 'none' as const; export const CUSTOM_PRIVILEGE_VALUE: string = 'custom'; diff --git a/x-pack/packages/security/ui_components/src/kibana_privilege_table/change_all_privileges.tsx b/x-pack/packages/security/ui_components/src/kibana_privilege_table/change_all_privileges.tsx index 4793f86a7a2a5..e475a5da7a106 100644 --- a/x-pack/packages/security/ui_components/src/kibana_privilege_table/change_all_privileges.tsx +++ b/x-pack/packages/security/ui_components/src/kibana_privilege_table/change_all_privileges.tsx @@ -15,9 +15,9 @@ import { EuiPopover, EuiText, } from '@elastic/eui'; -import _ from 'lodash'; import React, { Component } from 'react'; +import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import type { KibanaPrivilege } from '@kbn/security-role-management-model'; @@ -38,6 +38,43 @@ export class ChangeAllPrivilegesControl extends Component { isPopoverOpen: false, }; + private getPrivilegeCopy = (privilege: string): { label?: string; icon?: string } => { + switch (privilege) { + case 'all': + return { + icon: 'documentEdit', + label: i18n.translate( + 'xpack.security.management.editRole.changeAllPrivileges.allSelectionLabel', + { + defaultMessage: 'Grant full access for all', + } + ), + }; + case 'read': + return { + icon: 'glasses', + label: i18n.translate( + 'xpack.security.management.editRole.changeAllPrivileges.readSelectionLabel', + { + defaultMessage: 'Grant read access for all', + } + ), + }; + case 'none': + return { + icon: 'trash', + label: i18n.translate( + 'xpack.security.management.editRole.changeAllPrivileges.noneSelectionLabel', + { + defaultMessage: 'Revoke access to all', + } + ), + }; + default: + return {}; + } + }; + public render() { const button = ( { ); const items = this.props.privileges.map((privilege) => { + const { icon, label } = this.getPrivilegeCopy(privilege.id); return ( { @@ -65,21 +104,24 @@ export class ChangeAllPrivilegesControl extends Component { }} disabled={this.props.disabled} > - {_.upperFirst(privilege.id)} + {label} ); }); items.push( { this.onSelectPrivilege(NO_PRIVILEGE_VALUE); }} disabled={this.props.disabled} + // @ts-expect-error leaving this here so that when https://github.com/elastic/eui/issues/8123 is fixed we remove this comment + css={({ euiTheme }) => ({ color: euiTheme.colors.danger })} > - {_.upperFirst(NO_PRIVILEGE_VALUE)} + {this.getPrivilegeCopy(NO_PRIVILEGE_VALUE).label} ); diff --git a/x-pack/packages/security/ui_components/src/kibana_privilege_table/feature_table.test.tsx b/x-pack/packages/security/ui_components/src/kibana_privilege_table/feature_table.test.tsx index 2c858e7bb6ff6..2ed172a49ad8b 100644 --- a/x-pack/packages/security/ui_components/src/kibana_privilege_table/feature_table.test.tsx +++ b/x-pack/packages/security/ui_components/src/kibana_privilege_table/feature_table.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { EuiAccordion, EuiIconTip } from '@elastic/eui'; +import { EuiAccordion, EuiIconTip, EuiThemeProvider } from '@elastic/eui'; import React from 'react'; import type { KibanaFeature, SubFeatureConfig } from '@kbn/features-plugin/public'; @@ -47,16 +47,18 @@ const setup = (config: TestConfig) => { const onChange = jest.fn(); const onChangeAll = jest.fn(); const wrapper = mountWithIntl( - + + + ); const displayedPrivileges = config.calculateDisplayedPrivileges diff --git a/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_form.test.tsx b/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_form.test.tsx index 406e102b4529d..fb472191b561d 100644 --- a/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_form.test.tsx +++ b/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_form.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { EuiButtonGroup } from '@elastic/eui'; +import { EuiButtonGroup, EuiThemeProvider } from '@elastic/eui'; import React from 'react'; import { @@ -48,21 +48,28 @@ const displaySpaces: Space[] = [ }, ]; +const renderComponent = (props: React.ComponentProps) => { + return mountWithIntl( + + + + ); +}; + describe('PrivilegeSpaceForm', () => { it('renders an empty form when the role contains no Kibana privileges', () => { const role = createRole(); const kibanaPrivileges = createKibanaPrivileges(kibanaFeatures); - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + privilegeIndex: -1, + canCustomizeSubFeaturePrivileges: true, + onChange: jest.fn(), + onCancel: jest.fn(), + }); expect( wrapper.find(EuiButtonGroup).filter('[name="basePrivilegeButtonGroup"]').props().idSelected @@ -110,17 +117,15 @@ describe('PrivilegeSpaceForm', () => { ]); const kibanaPrivileges = createKibanaPrivileges(kibanaFeatures); - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + canCustomizeSubFeaturePrivileges: true, + privilegeIndex: 0, + onChange: jest.fn(), + onCancel: jest.fn(), + }); expect( wrapper.find(EuiButtonGroup).filter('[name="basePrivilegeButtonGroup"]').props().idSelected @@ -178,17 +183,15 @@ describe('PrivilegeSpaceForm', () => { ]); const kibanaPrivileges = createKibanaPrivileges(kibanaFeatures); - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + canCustomizeSubFeaturePrivileges: true, + privilegeIndex: 0, + onChange: jest.fn(), + onCancel: jest.fn(), + }); expect( wrapper.find(EuiButtonGroup).filter('[name="basePrivilegeButtonGroup"]').props().idSelected @@ -249,16 +252,15 @@ describe('PrivilegeSpaceForm', () => { const kibanaPrivileges = createKibanaPrivileges(kibanaFeatures); - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + privilegeIndex: -1, + canCustomizeSubFeaturePrivileges: true, + onChange: jest.fn(), + onCancel: jest.fn(), + }); wrapper.find(SpaceSelector).props().onChange(['*']); @@ -286,17 +288,15 @@ describe('PrivilegeSpaceForm', () => { ]); const kibanaPrivileges = createKibanaPrivileges(kibanaFeatures); - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + canCustomizeSubFeaturePrivileges: true, + privilegeIndex: 0, + onChange: jest.fn(), + onCancel: jest.fn(), + }); expect( wrapper.find(EuiButtonGroup).filter('[name="basePrivilegeButtonGroup"]').props().idSelected @@ -360,17 +360,15 @@ describe('PrivilegeSpaceForm', () => { const onChange = jest.fn(); - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + canCustomizeSubFeaturePrivileges: true, + privilegeIndex: 0, + onChange, + onCancel: jest.fn(), + }); findTestSubject(wrapper, 'changeAllPrivilegesButton').simulate('click'); findTestSubject(wrapper, 'changeAllPrivileges-read').simulate('click'); @@ -418,17 +416,15 @@ describe('PrivilegeSpaceForm', () => { const canCustomize = Symbol('can customize') as unknown as boolean; - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + canCustomizeSubFeaturePrivileges: canCustomize, + privilegeIndex: 0, + onChange, + onCancel: jest.fn(), + }); expect(wrapper.find(FeatureTable).props().canCustomizeSubFeaturePrivileges).toBe(canCustomize); }); @@ -464,17 +460,15 @@ describe('PrivilegeSpaceForm', () => { onChange.mockReset(); }); it('still allow other features privileges to be changed via "change read"', () => { - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + canCustomizeSubFeaturePrivileges: true, + privilegeIndex: 0, + onChange, + onCancel: jest.fn(), + }); findTestSubject(wrapper, 'changeAllPrivilegesButton').simulate('click'); findTestSubject(wrapper, 'changeAllPrivileges-read').simulate('click'); @@ -510,17 +504,15 @@ describe('PrivilegeSpaceForm', () => { }); it('still allow all privileges to be changed via "change all"', () => { - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + canCustomizeSubFeaturePrivileges: true, + privilegeIndex: 0, + onChange, + onCancel: jest.fn(), + }); findTestSubject(wrapper, 'changeAllPrivilegesButton').simulate('click'); findTestSubject(wrapper, 'changeAllPrivileges-all').simulate('click'); @@ -587,17 +579,15 @@ describe('PrivilegeSpaceForm', () => { }); it('still allow all features privileges to be changed via "change read" in foo space', () => { - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + canCustomizeSubFeaturePrivileges: true, + privilegeIndex: 0, + onChange, + onCancel: jest.fn(), + }); findTestSubject(wrapper, 'changeAllPrivilegesButton').simulate('click'); findTestSubject(wrapper, 'changeAllPrivileges-read').simulate('click'); @@ -631,17 +621,15 @@ describe('PrivilegeSpaceForm', () => { }); it('still allow other features privileges to be changed via "change all" in foo space', () => { - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role, + spaces: displaySpaces, + kibanaPrivileges, + canCustomizeSubFeaturePrivileges: true, + privilegeIndex: 0, + onChange, + onCancel: jest.fn(), + }); findTestSubject(wrapper, 'changeAllPrivilegesButton').simulate('click'); findTestSubject(wrapper, 'changeAllPrivileges-all').simulate('click'); @@ -692,17 +680,15 @@ describe('PrivilegeSpaceForm', () => { spaces: ['bar'], }, ]); - const wrapper = mountWithIntl( - - ); + const wrapper = renderComponent({ + role: roleAllSpace, + spaces: displaySpaces, + kibanaPrivileges, + canCustomizeSubFeaturePrivileges: true, + privilegeIndex: 0, + onChange, + onCancel: jest.fn(), + }); findTestSubject(wrapper, 'changeAllPrivilegesButton').simulate('click'); findTestSubject(wrapper, 'changeAllPrivileges-all').simulate('click'); diff --git a/x-pack/plugins/spaces/public/management/edit_space/roles/component/space_assign_role_privilege_form.test.tsx b/x-pack/plugins/spaces/public/management/edit_space/roles/component/space_assign_role_privilege_form.test.tsx index 7f15a54e095a6..1c97b9c4d2bc6 100644 --- a/x-pack/plugins/spaces/public/management/edit_space/roles/component/space_assign_role_privilege_form.test.tsx +++ b/x-pack/plugins/spaces/public/management/edit_space/roles/component/space_assign_role_privilege_form.test.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import { EuiThemeProvider } from '@elastic/eui'; import { render, screen, waitFor, within } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import crypto from 'crypto'; @@ -81,46 +82,48 @@ const renderPrivilegeRolesForm = ({ preSelectedRoles?: Role[]; } = {}) => { return render( - - _), - navigateToUrl: jest.fn(), - license: licenseMock, - isRoleManagementEnabled: true, - capabilities: { - navLinks: {}, - management: {}, - catalogue: {}, - spaces: { manage: true }, - }, - dispatch: dispatchMock, - state: { - roles: new Map(), - fetchRolesError: false, - }, - invokeClient: spacesClientsInvocatorMock, - }} - > - + + _), + navigateToUrl: jest.fn(), + license: licenseMock, + isRoleManagementEnabled: true, + capabilities: { + navLinks: {}, + management: {}, + catalogue: {}, + spaces: { manage: true }, + }, + dispatch: dispatchMock, + state: { + roles: new Map(), + fetchRolesError: false, + }, + invokeClient: spacesClientsInvocatorMock, }} - /> - - + > + + + + ); }; From 18a09337a5622b4a05745eacf23a7c94fc5bfee3 Mon Sep 17 00:00:00 2001 From: Kyle Pollich Date: Sat, 9 Nov 2024 09:27:11 -0500 Subject: [PATCH 46/52] [Fleet] Add registry config for failing Jest integration tests + unskip (#198840) ## Summary Closes https://github.com/elastic/kibana/issues/192713 Add `kibanaVersionCheckEnabled: false` to Jest integration test config + unskip failing 9.0 Jest integration tests. --------- Co-authored-by: Elastic Machine --- .../cloud_preconfiguration.test.ts | 2 +- .../fixtures/cloud_kibana_config.ts | 5 +++++ .../server/integration_tests/ha_setup.test.ts | 7 ++++++- .../reset_preconfiguration.test.ts | 15 ++++++++++----- .../fleet/server/routes/preconfiguration/index.ts | 8 ++++---- 5 files changed, 26 insertions(+), 11 deletions(-) diff --git a/x-pack/plugins/fleet/server/integration_tests/cloud_preconfiguration.test.ts b/x-pack/plugins/fleet/server/integration_tests/cloud_preconfiguration.test.ts index 9d529738aa6da..de5a04eb48afd 100644 --- a/x-pack/plugins/fleet/server/integration_tests/cloud_preconfiguration.test.ts +++ b/x-pack/plugins/fleet/server/integration_tests/cloud_preconfiguration.test.ts @@ -31,7 +31,7 @@ import { const logFilePath = Path.join(__dirname, 'logs.log'); // Failing 9.0 version update: https://github.com/elastic/kibana/issues/192624 -describe.skip('Fleet cloud preconfiguration', () => { +describe('Fleet cloud preconfiguration', () => { let esServer: TestElasticsearchUtils; let kbnServer: TestKibanaUtils; diff --git a/x-pack/plugins/fleet/server/integration_tests/fixtures/cloud_kibana_config.ts b/x-pack/plugins/fleet/server/integration_tests/fixtures/cloud_kibana_config.ts index fa9770a58f44e..da1a0a9a68386 100644 --- a/x-pack/plugins/fleet/server/integration_tests/fixtures/cloud_kibana_config.ts +++ b/x-pack/plugins/fleet/server/integration_tests/fixtures/cloud_kibana_config.ts @@ -8,6 +8,11 @@ export const CLOUD_KIBANA_CONFIG = { xpack: { fleet: { + internal: { + registry: { + kibanaVersionCheckEnabled: false, + }, + }, packages: [ { name: 'apm', diff --git a/x-pack/plugins/fleet/server/integration_tests/ha_setup.test.ts b/x-pack/plugins/fleet/server/integration_tests/ha_setup.test.ts index c0405b2523fa7..1d34153fab262 100644 --- a/x-pack/plugins/fleet/server/integration_tests/ha_setup.test.ts +++ b/x-pack/plugins/fleet/server/integration_tests/ha_setup.test.ts @@ -91,7 +91,7 @@ const createAndSetupRoot = async (config?: object) => { * Verifies that multiple Kibana instances running in parallel will not create duplicate preconfiguration objects. */ // Failing 9.0 version update: https://github.com/elastic/kibana/issues/192624 -describe.skip('Fleet setup preconfiguration with multiple instances Kibana', () => { +describe('Fleet setup preconfiguration with multiple instances Kibana', () => { let esServer: TestElasticsearchUtils; // let esClient: Client; let roots: Root[] = []; @@ -175,6 +175,11 @@ describe.skip('Fleet setup preconfiguration with multiple instances Kibana', () const preconfiguration = { registryUrl, + internal: { + registry: { + kibanaVersionCheckEnabled: false, + }, + }, packages: [ { name: 'fleet_server', diff --git a/x-pack/plugins/fleet/server/integration_tests/reset_preconfiguration.test.ts b/x-pack/plugins/fleet/server/integration_tests/reset_preconfiguration.test.ts index b3d9b65a1f3ef..65224e2408bd6 100644 --- a/x-pack/plugins/fleet/server/integration_tests/reset_preconfiguration.test.ts +++ b/x-pack/plugins/fleet/server/integration_tests/reset_preconfiguration.test.ts @@ -23,7 +23,7 @@ import { useDockerRegistry, waitForFleetSetup, getSupertestWithAdminUser } from const logFilePath = Path.join(__dirname, 'logs.log'); // Failing 9.0 version update: https://github.com/elastic/kibana/issues/192624 -describe.skip('Fleet preconfiguration reset', () => { +describe('Fleet preconfiguration reset', () => { let esServer: TestElasticsearchUtils; let kbnServer: TestKibanaUtils; @@ -47,6 +47,11 @@ describe.skip('Fleet preconfiguration reset', () => { xpack: { fleet: { registryUrl, + internal: { + registry: { + kibanaVersionCheckEnabled: false, + }, + }, packages: [ { name: 'fleet_server', @@ -253,7 +258,7 @@ describe.skip('Fleet preconfiguration reset', () => { ); await resetAPI .set('kbn-sxrf', 'xx') - .set('Elastic-Api-Version', `${API_VERSIONS.internal.v1}`) + .set('Elastic-Api-Version', `${API_VERSIONS.public.v1}`) .expect(200) .send(); @@ -298,7 +303,7 @@ describe.skip('Fleet preconfiguration reset', () => { ); await resetAPI .set('kbn-sxrf', 'xx') - .set('Elastic-Api-Version', `${API_VERSIONS.internal.v1}`) + .set('Elastic-Api-Version', `${API_VERSIONS.public.v1}`) .expect(200) .send(); @@ -336,7 +341,7 @@ describe.skip('Fleet preconfiguration reset', () => { ); await resetAPI .set('kbn-sxrf', 'xx') - .set('Elastic-Api-Version', `${API_VERSIONS.internal.v1}`) + .set('Elastic-Api-Version', `${API_VERSIONS.public.v1}`) .expect(200) .send(); @@ -373,7 +378,7 @@ describe.skip('Fleet preconfiguration reset', () => { ); await resetAPI .set('kbn-sxrf', 'xx') - .set('Elastic-Api-Version', `${API_VERSIONS.internal.v1}`) + .set('Elastic-Api-Version', `${API_VERSIONS.public.v1}`) .expect(200) .send(); diff --git a/x-pack/plugins/fleet/server/routes/preconfiguration/index.ts b/x-pack/plugins/fleet/server/routes/preconfiguration/index.ts index e78396005d4c2..c62c86953acaa 100644 --- a/x-pack/plugins/fleet/server/routes/preconfiguration/index.ts +++ b/x-pack/plugins/fleet/server/routes/preconfiguration/index.ts @@ -18,14 +18,14 @@ export const registerRoutes = (router: FleetAuthzRouter) => { router.versioned .post({ path: PRECONFIGURATION_API_ROUTES.RESET_PATTERN, - access: 'internal', + access: 'public', fleetAuthz: { fleet: { all: true }, }, }) .addVersion( { - version: API_VERSIONS.internal.v1, + version: API_VERSIONS.public.v1, validate: false, }, @@ -34,14 +34,14 @@ export const registerRoutes = (router: FleetAuthzRouter) => { router.versioned .post({ path: PRECONFIGURATION_API_ROUTES.RESET_ONE_PATTERN, - access: 'internal', + access: 'public', fleetAuthz: { fleet: { all: true }, }, }) .addVersion( { - version: API_VERSIONS.internal.v1, + version: API_VERSIONS.public.v1, validate: { request: PostResetOnePreconfiguredAgentPoliciesSchema }, }, resetOnePreconfigurationHandler From 9fdc04254d0caeed5f7c2d6f0c91531f4af44cb6 Mon Sep 17 00:00:00 2001 From: Christos Nasikas Date: Sat, 9 Nov 2024 17:33:11 +0200 Subject: [PATCH 47/52] [ResponseOps][Cases] Register `forwardCompatibility` schema for the Cases SO (#198498) ## Summary Summarize your PR. If it involves visual changes include a screenshot or gif. ### Checklist Delete any items that are not applicable to this PR. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### For maintainers - [x] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine --- .../check_registered_types.test.ts | 2 +- .../cases/model_versions.test.ts | 76 +++++++++---------- .../cases/model_versions.ts | 4 + .../saved_object_types/cases/schemas/index.ts | 10 +++ .../cases/schemas/latest.ts | 8 ++ .../saved_object_types/cases/schemas/v1.ts | 71 +++++++++++++++++ 6 files changed, 131 insertions(+), 40 deletions(-) create mode 100644 x-pack/plugins/cases/server/saved_object_types/cases/schemas/index.ts create mode 100644 x-pack/plugins/cases/server/saved_object_types/cases/schemas/latest.ts create mode 100644 x-pack/plugins/cases/server/saved_object_types/cases/schemas/v1.ts diff --git a/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts b/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts index af120096bdb2a..02f7007b51202 100644 --- a/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts +++ b/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts @@ -73,7 +73,7 @@ describe('checking migration metadata changes on all registered SO types', () => "canvas-element": "cdedc2123eb8a1506b87a56b0bcce60f4ec08bc8", "canvas-workpad": "9d82aafb19586b119e5c9382f938abe28c26ca5c", "canvas-workpad-template": "c077b0087346776bb3542b51e1385d172cb24179", - "cases": "2392189ed338857d4815a4cef6051f9ad124d39d", + "cases": "5433a9f1277f8f17bbc4fd20d33b1fc6d997931e", "cases-comments": "5cb0a421588831c2a950e50f486048b8aabbae25", "cases-configure": "44ed7b8e0f44df39516b8870589b89e32224d2bf", "cases-connector-mappings": "f9d1ac57e484e69506c36a8051e4d61f4a8cfd25", diff --git a/x-pack/plugins/cases/server/saved_object_types/cases/model_versions.test.ts b/x-pack/plugins/cases/server/saved_object_types/cases/model_versions.test.ts index 8520fd9673d31..2c301709ca5c9 100644 --- a/x-pack/plugins/cases/server/saved_object_types/cases/model_versions.test.ts +++ b/x-pack/plugins/cases/server/saved_object_types/cases/model_versions.test.ts @@ -10,51 +10,49 @@ import { modelVersion1 } from './model_versions'; describe('Model versions', () => { describe('1', () => { it('returns the model version correctly', () => { - expect(modelVersion1).toMatchInlineSnapshot(` - Object { - "changes": Array [ - Object { - "addedMappings": Object { - "customFields": Object { - "properties": Object { - "key": Object { - "type": "keyword", - }, - "type": Object { - "type": "keyword", - }, - "value": Object { - "fields": Object { - "boolean": Object { - "ignore_malformed": true, - "type": "boolean", - }, - "date": Object { - "ignore_malformed": true, - "type": "date", - }, - "ip": Object { - "ignore_malformed": true, - "type": "ip", - }, - "number": Object { - "ignore_malformed": true, - "type": "long", - }, - "string": Object { - "type": "text", - }, + expect(modelVersion1.changes).toMatchInlineSnapshot(` + Array [ + Object { + "addedMappings": Object { + "customFields": Object { + "properties": Object { + "key": Object { + "type": "keyword", + }, + "type": Object { + "type": "keyword", + }, + "value": Object { + "fields": Object { + "boolean": Object { + "ignore_malformed": true, + "type": "boolean", + }, + "date": Object { + "ignore_malformed": true, + "type": "date", + }, + "ip": Object { + "ignore_malformed": true, + "type": "ip", + }, + "number": Object { + "ignore_malformed": true, + "type": "long", + }, + "string": Object { + "type": "text", }, - "type": "keyword", }, + "type": "keyword", }, - "type": "nested", }, + "type": "nested", }, - "type": "mappings_addition", }, - ], - } + "type": "mappings_addition", + }, + ] `); }); }); diff --git a/x-pack/plugins/cases/server/saved_object_types/cases/model_versions.ts b/x-pack/plugins/cases/server/saved_object_types/cases/model_versions.ts index 56806e7dec607..7d46789a3b79f 100644 --- a/x-pack/plugins/cases/server/saved_object_types/cases/model_versions.ts +++ b/x-pack/plugins/cases/server/saved_object_types/cases/model_versions.ts @@ -6,6 +6,7 @@ */ import type { SavedObjectsModelVersion } from '@kbn/core-saved-objects-server'; +import { casesSchemaV1 } from './schemas'; /** * Adds custom fields to the cases SO. @@ -54,4 +55,7 @@ export const modelVersion1: SavedObjectsModelVersion = { }, }, ], + schemas: { + forwardCompatibility: casesSchemaV1.extends({}, { unknowns: 'ignore' }), + }, }; diff --git a/x-pack/plugins/cases/server/saved_object_types/cases/schemas/index.ts b/x-pack/plugins/cases/server/saved_object_types/cases/schemas/index.ts new file mode 100644 index 0000000000000..85d9239f72dba --- /dev/null +++ b/x-pack/plugins/cases/server/saved_object_types/cases/schemas/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './latest'; + +export { casesSchema as casesSchemaV1 } from './v1'; diff --git a/x-pack/plugins/cases/server/saved_object_types/cases/schemas/latest.ts b/x-pack/plugins/cases/server/saved_object_types/cases/schemas/latest.ts new file mode 100644 index 0000000000000..25300c97a6d2e --- /dev/null +++ b/x-pack/plugins/cases/server/saved_object_types/cases/schemas/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './v1'; diff --git a/x-pack/plugins/cases/server/saved_object_types/cases/schemas/v1.ts b/x-pack/plugins/cases/server/saved_object_types/cases/schemas/v1.ts new file mode 100644 index 0000000000000..1a6bb0a8cdd8c --- /dev/null +++ b/x-pack/plugins/cases/server/saved_object_types/cases/schemas/v1.ts @@ -0,0 +1,71 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +const UserSchema = schema.object({ + email: schema.nullable(schema.string()), + full_name: schema.nullable(schema.string()), + username: schema.nullable(schema.string()), + profile_uid: schema.nullable(schema.string()), +}); + +const UserProfileSchema = schema.object({ uid: schema.string() }); + +const ConnectorSchema = schema.object({ + name: schema.string(), + type: schema.string(), + fields: schema.arrayOf(schema.object({ key: schema.string(), value: schema.string() })), +}); + +const ExternalServiceSchema = schema.object({ + connector_name: schema.string(), + external_id: schema.string(), + external_title: schema.string(), + external_url: schema.string(), + pushed_at: schema.string(), + pushed_by: UserSchema, +}); + +const SettingsSchema = schema.object({ syncAlerts: schema.boolean() }); + +const CustomFieldsSchema = schema.arrayOf( + schema.object({ + key: schema.string(), + type: schema.string(), + value: schema.nullable(schema.any()), + }) +); + +export const casesSchema = schema.object({ + assignees: schema.arrayOf(UserProfileSchema), + category: schema.maybe(schema.nullable(schema.string())), + closed_at: schema.nullable(schema.string()), + closed_by: schema.nullable(UserSchema), + created_at: schema.string(), + created_by: UserSchema, + connector: ConnectorSchema, + customFields: schema.maybe(schema.nullable(CustomFieldsSchema)), + description: schema.string(), + duration: schema.nullable(schema.number()), + external_service: schema.nullable(ExternalServiceSchema), + owner: schema.string(), + settings: SettingsSchema, + severity: schema.oneOf([ + schema.literal(10), + schema.literal(20), + schema.literal(30), + schema.literal(40), + ]), + status: schema.oneOf([schema.literal(0), schema.literal(10), schema.literal(20)]), + tags: schema.arrayOf(schema.string()), + title: schema.string(), + total_alerts: schema.number(), + total_comments: schema.number(), + updated_at: schema.nullable(schema.string()), + updated_by: schema.nullable(UserSchema), +}); From 54b137052a6a5609a2389589c0f82baee65f0447 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Sun, 10 Nov 2024 18:24:01 +1100 Subject: [PATCH 48/52] [api-docs] 2024-11-10 Daily api_docs build (#199581) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/887 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- .../ai_assistant_management_selection.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.mdx | 2 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.devdocs.json | 284 +++++---- api_docs/controls.mdx | 7 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.devdocs.json | 583 ++++++------------ api_docs/dashboard.mdx | 7 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_quality.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_usage.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/dataset_quality.mdx | 2 +- api_docs/deprecations_by_api.mdx | 10 +- api_docs/deprecations_by_plugin.mdx | 2 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/discover_shared.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/entities_data_access.mdx | 2 +- api_docs/entity_manager.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/esql.mdx | 2 +- api_docs/esql_data_grid.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/fields_metadata.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/inference.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/ingest_pipelines.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/integration_assistant.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/inventory.devdocs.json | 4 +- api_docs/inventory.mdx | 2 +- api_docs/investigate.mdx | 2 +- api_docs/investigate_app.mdx | 2 +- api_docs/kbn_actions_types.mdx | 2 +- api_docs/kbn_ai_assistant.mdx | 2 +- api_docs/kbn_ai_assistant_common.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_log_pattern_analysis.mdx | 2 +- api_docs/kbn_aiops_log_rate_analysis.mdx | 2 +- .../kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_comparators.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerting_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_grouping.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_collection_utils.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_data_view.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_types.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_avc_banner.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_bfetch_error.mdx | 2 +- api_docs/kbn_calculate_auto.mdx | 2 +- .../kbn_calculate_width_from_char_count.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cbor.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_cloud_security_posture.mdx | 2 +- ...cloud_security_posture_common.devdocs.json | 2 +- .../kbn_cloud_security_posture_common.mdx | 2 +- api_docs/kbn_cloud_security_posture_graph.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mock.mdx | 2 +- api_docs/kbn_code_owners.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...ent_management_content_insights_public.mdx | 2 +- ...ent_management_content_insights_server.mdx | 2 +- ...bn_content_management_favorites_public.mdx | 2 +- ...bn_content_management_favorites_server.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...tent_management_table_list_view_common.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- .../kbn_content_management_user_profiles.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- ..._core_custom_branding_browser_internal.mdx | 2 +- ...kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- ...n_core_custom_branding_server_internal.mdx | 2 +- .../kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_feature_flags_browser.mdx | 2 +- ...bn_core_feature_flags_browser_internal.mdx | 2 +- .../kbn_core_feature_flags_browser_mocks.mdx | 2 +- api_docs/kbn_core_feature_flags_server.mdx | 2 +- ...kbn_core_feature_flags_server_internal.mdx | 2 +- .../kbn_core_feature_flags_server_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.devdocs.json | 36 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- .../kbn_core_plugins_contracts_browser.mdx | 2 +- .../kbn_core_plugins_contracts_server.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- .../kbn_core_saved_objects_api_browser.mdx | 2 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- ...kbn_core_saved_objects_common.devdocs.json | 96 +-- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...aved_objects_migration_server_internal.mdx | 2 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- ...kbn_core_saved_objects_server.devdocs.json | 24 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_security_browser.mdx | 2 +- .../kbn_core_security_browser_internal.mdx | 2 +- api_docs/kbn_core_security_browser_mocks.mdx | 2 +- api_docs/kbn_core_security_common.mdx | 2 +- api_docs/kbn_core_security_server.mdx | 2 +- .../kbn_core_security_server_internal.mdx | 2 +- api_docs/kbn_core_security_server_mocks.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- .../kbn_core_test_helpers_model_versions.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_profile_browser.mdx | 2 +- ...kbn_core_user_profile_browser_internal.mdx | 2 +- .../kbn_core_user_profile_browser_mocks.mdx | 2 +- api_docs/kbn_core_user_profile_common.mdx | 2 +- api_docs/kbn_core_user_profile_server.mdx | 2 +- .../kbn_core_user_profile_server_internal.mdx | 2 +- .../kbn_core_user_profile_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- .../kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_icons.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_forge.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_data_stream_adapter.mdx | 2 +- api_docs/kbn_data_view_utils.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_fleet.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_deeplinks_security.mdx | 2 +- api_docs/kbn_deeplinks_shared.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- .../kbn_discover_contextual_components.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_agent_utils.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_elastic_assistant_common.mdx | 2 +- api_docs/kbn_entities_schema.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_esql_ast.mdx | 2 +- api_docs/kbn_esql_editor.mdx | 2 +- api_docs/kbn_esql_utils.mdx | 2 +- api_docs/kbn_esql_validation_autocomplete.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_field_utils.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- api_docs/kbn_formatters.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- .../kbn_ftr_common_functional_ui_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_grid_layout.mdx | 2 +- api_docs/kbn_grouping.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- .../kbn_index_management_shared_types.mdx | 2 +- api_docs/kbn_inference_common.mdx | 2 +- api_docs/kbn_inference_integration_flyout.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_investigation_shared.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_ipynb.mdx | 2 +- api_docs/kbn_item_buffer.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_json_schemas.mdx | 2 +- .../kbn_kibana_manifest_schema.devdocs.json | 74 +-- api_docs/kbn_kibana_manifest_schema.mdx | 4 +- api_docs/kbn_language_documentation.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_lens_formula_docs.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_content_badge.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- .../kbn_management_settings_application.mdx | 2 +- ...ent_settings_components_field_category.mdx | 2 +- ...gement_settings_components_field_input.mdx | 2 +- ...nagement_settings_components_field_row.mdx | 2 +- ...bn_management_settings_components_form.mdx | 2 +- ...n_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- .../kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_manifest.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_cancellable_search.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- api_docs/kbn_ml_chi2test.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_field_stats_flyout.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_parse_interval.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_time_buckets.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_ui_actions.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_ml_validators.mdx | 2 +- api_docs/kbn_mock_idp_utils.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_object_versioning_utils.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- .../kbn_observability_alerting_rule_utils.mdx | 2 +- .../kbn_observability_alerting_test_data.mdx | 2 +- ...ility_get_padded_alert_time_range_util.mdx | 2 +- api_docs/kbn_observability_logs_overview.mdx | 2 +- ...kbn_observability_synthetics_test_data.mdx | 2 +- api_docs/kbn_openapi_bundler.mdx | 2 +- api_docs/kbn_openapi_generator.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_panel_loader.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_check.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_presentation_containers.mdx | 2 +- api_docs/kbn_presentation_publishing.mdx | 2 +- api_docs/kbn_product_doc_artifact_builder.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_hooks.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_recently_accessed.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_reporting_csv_share_panel.mdx | 2 +- api_docs/kbn_reporting_export_types_csv.mdx | 2 +- ...rting_export_types_csv_common.devdocs.json | 20 +- .../kbn_reporting_export_types_csv_common.mdx | 2 +- api_docs/kbn_reporting_export_types_pdf.mdx | 2 +- .../kbn_reporting_export_types_pdf_common.mdx | 2 +- api_docs/kbn_reporting_export_types_png.mdx | 2 +- .../kbn_reporting_export_types_png_common.mdx | 2 +- api_docs/kbn_reporting_mocks_server.mdx | 2 +- api_docs/kbn_reporting_public.mdx | 2 +- api_docs/kbn_reporting_server.mdx | 2 +- api_docs/kbn_resizable_layout.mdx | 2 +- .../kbn_response_ops_feature_flag_service.mdx | 2 +- api_docs/kbn_response_ops_rule_params.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rollup.mdx | 2 +- api_docs/kbn_router_to_openapispec.mdx | 2 +- api_docs/kbn_router_utils.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_screenshotting_server.mdx | 2 +- api_docs/kbn_search_api_keys_components.mdx | 2 +- api_docs/kbn_search_api_keys_server.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_errors.mdx | 2 +- api_docs/kbn_search_index_documents.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_search_shared_ui.mdx | 2 +- api_docs/kbn_search_types.mdx | 2 +- api_docs/kbn_security_api_key_management.mdx | 2 +- api_docs/kbn_security_authorization_core.mdx | 2 +- ...kbn_security_authorization_core_common.mdx | 2 +- api_docs/kbn_security_form_components.mdx | 2 +- api_docs/kbn_security_hardening.mdx | 2 +- api_docs/kbn_security_plugin_types_common.mdx | 2 +- api_docs/kbn_security_plugin_types_public.mdx | 2 +- api_docs/kbn_security_plugin_types_server.mdx | 2 +- .../kbn_security_role_management_model.mdx | 2 +- ...kbn_security_solution_distribution_bar.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- api_docs/kbn_security_ui_components.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- .../kbn_server_route_repository_client.mdx | 2 +- .../kbn_server_route_repository_utils.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- .../kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_error_boundary.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_tabbed_modal.mdx | 2 +- api_docs/kbn_shared_ux_table_persist.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_sort_predicates.mdx | 2 +- api_docs/kbn_sse_utils.mdx | 2 +- api_docs/kbn_sse_utils_client.mdx | 2 +- api_docs/kbn_sse_utils_server.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_synthetics_e2e.mdx | 2 +- api_docs/kbn_synthetics_private_location.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_eui_helpers.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_timerange.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_transpose_utils.mdx | 2 +- api_docs/kbn_triggers_actions_ui_types.mdx | 2 +- api_docs/kbn_try_in_console.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_unsaved_changes_badge.mdx | 2 +- api_docs/kbn_unsaved_changes_prompt.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_visualization_utils.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kbn_zod.mdx | 2 +- api_docs/kbn_zod_helpers.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/links.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/logs_data_access.mdx | 2 +- api_docs/logs_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/mock_idp_plugin.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_a_i_assistant_app.mdx | 2 +- .../observability_ai_assistant_management.mdx | 2 +- api_docs/observability_logs_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 10 +- api_docs/presentation_panel.mdx | 2 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/search_assistant.mdx | 2 +- api_docs/search_connectors.mdx | 2 +- api_docs/search_homepage.mdx | 2 +- api_docs/search_indices.mdx | 2 +- api_docs/search_inference_endpoints.mdx | 2 +- api_docs/search_notebooks.mdx | 2 +- api_docs/search_playground.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/slo.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.devdocs.json | 20 +- api_docs/visualizations.mdx | 2 +- 767 files changed, 1233 insertions(+), 1452 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 6704a26a09fe6..b8e1e2f95140f 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2024-11-08 +date: 2024-11-10 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 b6f67a358296d..00759b204646d 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/ai_assistant_management_selection.mdx b/api_docs/ai_assistant_management_selection.mdx index e0cdb16509a3a..55226b95b7e39 100644 --- a/api_docs/ai_assistant_management_selection.mdx +++ b/api_docs/ai_assistant_management_selection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementSelection title: "aiAssistantManagementSelection" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementSelection plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementSelection'] --- import aiAssistantManagementSelectionObj from './ai_assistant_management_selection.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 247becc1ccc96..51ff2b2177fb5 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 6e0378bd915aa..a226470d4e6c3 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 6617cc9d3ccc5..bda18816dc5a7 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2024-11-08 +date: 2024-11-10 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 4d9da0583867a..1567922bf310f 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index db57f7bf93c6a..e8d4cbfc2e8de 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2024-11-08 +date: 2024-11-10 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 51177fe8015d5..97275e9fa2082 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2024-11-08 +date: 2024-11-10 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 edf3028f980ba..4abcc9b29d104 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2024-11-08 +date: 2024-11-10 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 71a4d3c372aa6..18f0eec76147b 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2024-11-08 +date: 2024-11-10 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 92aa687ee433a..b244870c6ed5a 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2024-11-08 +date: 2024-11-10 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 61a1d0194645b..981162c665fee 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 24e6594cd45ef..96a185b5ecdac 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2024-11-08 +date: 2024-11-10 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 81e01f3419ad2..dcf04fa9d5218 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index fb87bd995b5c5..6054ff7c3b449 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2024-11-08 +date: 2024-11-10 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 ecead42cd70a5..0910343b0ba55 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2024-11-08 +date: 2024-11-10 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 085c35833c965..3d2e18a61a112 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.devdocs.json b/api_docs/controls.devdocs.json index edd1e4198cb54..5a0a3ae38133d 100644 --- a/api_docs/controls.devdocs.json +++ b/api_docs/controls.devdocs.json @@ -571,7 +571,7 @@ "label": "labelPosition", "description": [], "signature": [ - "\"twoLine\" | \"oneLine\"" + "\"oneLine\" | \"twoLine\"" ], "path": "src/plugins/controls/common/control_group/types.ts", "deprecated": false, @@ -669,7 +669,7 @@ "section": "def-common.ControlGroupSerializedState", "text": "ControlGroupSerializedState" }, - " extends Pick<", + " extends Omit<", { "pluginId": "controls", "scope": "common", @@ -685,7 +685,7 @@ "section": "def-common.DefaultControlState", "text": "DefaultControlState" }, - ">, \"chainingSystem\" | \"editorConfig\">" + ">, \"initialChildControlState\">" ], "path": "src/plugins/controls/common/control_group/types.ts", "deprecated": false, @@ -693,49 +693,21 @@ "children": [ { "parentPluginId": "controls", - "id": "def-public.ControlGroupSerializedState.panelsJSON", - "type": "string", - "tags": [], - "label": "panelsJSON", - "description": [], - "path": "src/plugins/controls/common/control_group/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "controls", - "id": "def-public.ControlGroupSerializedState.ignoreParentSettingsJSON", - "type": "string", - "tags": [], - "label": "ignoreParentSettingsJSON", - "description": [], - "path": "src/plugins/controls/common/control_group/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "controls", - "id": "def-public.ControlGroupSerializedState.controlStyle", - "type": "CompoundType", - "tags": [], - "label": "controlStyle", - "description": [], - "signature": [ - "\"twoLine\" | \"oneLine\"" - ], - "path": "src/plugins/controls/common/control_group/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "controls", - "id": "def-public.ControlGroupSerializedState.showApplySelections", - "type": "CompoundType", + "id": "def-public.ControlGroupSerializedState.controls", + "type": "Array", "tags": [], - "label": "showApplySelections", + "label": "controls", "description": [], "signature": [ - "boolean | undefined" + "(", + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.DefaultControlState", + "text": "DefaultControlState" + }, + " & { type: string; order: number; } & { id?: string | undefined; })[]" ], "path": "src/plugins/controls/common/control_group/types.ts", "deprecated": false, @@ -2438,20 +2410,14 @@ "functions": [ { "parentPluginId": "controls", - "id": "def-server.controlGroupSerializedStateToSerializableRuntimeState", + "id": "def-server.controlGroupSavedObjectStateToSerializableRuntimeState", "type": "Function", "tags": [], - "label": "controlGroupSerializedStateToSerializableRuntimeState", + "label": "controlGroupSavedObjectStateToSerializableRuntimeState", "description": [], "signature": [ - "(serializedState: ", - { - "pluginId": "controls", - "scope": "common", - "docId": "kibControlsPluginApi", - "section": "def-common.ControlGroupSerializedState", - "text": "ControlGroupSerializedState" - }, + "(savedObjectState: ", + "ControlGroupSavedObjectState", ") => ", "SerializableControlGroupState" ], @@ -2461,19 +2427,13 @@ "children": [ { "parentPluginId": "controls", - "id": "def-server.controlGroupSerializedStateToSerializableRuntimeState.$1", - "type": "Object", + "id": "def-server.controlGroupSavedObjectStateToSerializableRuntimeState.$1", + "type": "CompoundType", "tags": [], - "label": "serializedState", + "label": "savedObjectState", "description": [], "signature": [ - { - "pluginId": "controls", - "scope": "common", - "docId": "kibControlsPluginApi", - "section": "def-common.ControlGroupSerializedState", - "text": "ControlGroupSerializedState" - } + "ControlGroupSavedObjectState" ], "path": "src/plugins/controls/server/control_group/control_group_persistence.ts", "deprecated": false, @@ -2526,10 +2486,10 @@ }, { "parentPluginId": "controls", - "id": "def-server.serializableRuntimeStateToControlGroupSerializedState", + "id": "def-server.serializableRuntimeStateToControlGroupSavedObjectState", "type": "Function", "tags": [], - "label": "serializableRuntimeStateToControlGroupSerializedState", + "label": "serializableRuntimeStateToControlGroupSavedObjectState", "description": [], "signature": [ "(serializable: ", @@ -2541,13 +2501,7 @@ "text": "SerializableRecord" }, ") => ", - { - "pluginId": "controls", - "scope": "common", - "docId": "kibControlsPluginApi", - "section": "def-common.ControlGroupSerializedState", - "text": "ControlGroupSerializedState" - } + "ControlGroupSavedObjectState" ], "path": "src/plugins/controls/server/control_group/control_group_persistence.ts", "deprecated": false, @@ -2555,7 +2509,7 @@ "children": [ { "parentPluginId": "controls", - "id": "def-server.serializableRuntimeStateToControlGroupSerializedState.$1", + "id": "def-server.serializableRuntimeStateToControlGroupSavedObjectState.$1", "type": "Object", "tags": [], "label": "serializable", @@ -2587,7 +2541,7 @@ "tags": [], "label": "ControlGroupTelemetry", "description": [], - "path": "src/plugins/controls/server/control_group/control_group_telemetry.ts", + "path": "src/plugins/controls/server/control_group/types.ts", "deprecated": false, "trackAdoption": false, "children": [ @@ -2598,7 +2552,7 @@ "tags": [], "label": "total", "description": [], - "path": "src/plugins/controls/server/control_group/control_group_telemetry.ts", + "path": "src/plugins/controls/server/control_group/types.ts", "deprecated": false, "trackAdoption": false }, @@ -2612,7 +2566,7 @@ "signature": [ "{ [key: string]: number; }" ], - "path": "src/plugins/controls/server/control_group/control_group_telemetry.ts", + "path": "src/plugins/controls/server/control_group/types.ts", "deprecated": false, "trackAdoption": false }, @@ -2626,7 +2580,7 @@ "signature": [ "{ [key: string]: number; }" ], - "path": "src/plugins/controls/server/control_group/control_group_telemetry.ts", + "path": "src/plugins/controls/server/control_group/types.ts", "deprecated": false, "trackAdoption": false }, @@ -2640,7 +2594,7 @@ "signature": [ "{ [key: string]: number; }" ], - "path": "src/plugins/controls/server/control_group/control_group_telemetry.ts", + "path": "src/plugins/controls/server/control_group/types.ts", "deprecated": false, "trackAdoption": false }, @@ -2654,7 +2608,7 @@ "signature": [ "{ [key: string]: { total: number; details: { [key: string]: number; }; }; }" ], - "path": "src/plugins/controls/server/control_group/control_group_telemetry.ts", + "path": "src/plugins/controls/server/control_group/types.ts", "deprecated": false, "trackAdoption": false } @@ -2786,7 +2740,7 @@ "label": "labelPosition", "description": [], "signature": [ - "\"twoLine\" | \"oneLine\"" + "\"oneLine\" | \"twoLine\"" ], "path": "src/plugins/controls/common/control_group/types.ts", "deprecated": false, @@ -2884,7 +2838,7 @@ "section": "def-common.ControlGroupSerializedState", "text": "ControlGroupSerializedState" }, - " extends Pick<", + " extends Omit<", { "pluginId": "controls", "scope": "common", @@ -2900,7 +2854,7 @@ "section": "def-common.DefaultControlState", "text": "DefaultControlState" }, - ">, \"chainingSystem\" | \"editorConfig\">" + ">, \"initialChildControlState\">" ], "path": "src/plugins/controls/common/control_group/types.ts", "deprecated": false, @@ -2908,49 +2862,21 @@ "children": [ { "parentPluginId": "controls", - "id": "def-common.ControlGroupSerializedState.panelsJSON", - "type": "string", - "tags": [], - "label": "panelsJSON", - "description": [], - "path": "src/plugins/controls/common/control_group/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "controls", - "id": "def-common.ControlGroupSerializedState.ignoreParentSettingsJSON", - "type": "string", - "tags": [], - "label": "ignoreParentSettingsJSON", - "description": [], - "path": "src/plugins/controls/common/control_group/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "controls", - "id": "def-common.ControlGroupSerializedState.controlStyle", - "type": "CompoundType", - "tags": [], - "label": "controlStyle", - "description": [], - "signature": [ - "\"twoLine\" | \"oneLine\"" - ], - "path": "src/plugins/controls/common/control_group/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "controls", - "id": "def-common.ControlGroupSerializedState.showApplySelections", - "type": "CompoundType", + "id": "def-common.ControlGroupSerializedState.controls", + "type": "Array", "tags": [], - "label": "showApplySelections", + "label": "controls", "description": [], "signature": [ - "boolean | undefined" + "(", + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.DefaultControlState", + "text": "DefaultControlState" + }, + " & { type: string; order: number; } & { id?: string | undefined; })[]" ], "path": "src/plugins/controls/common/control_group/types.ts", "deprecated": false, @@ -3130,6 +3056,23 @@ "tags": [], "label": "ParentIgnoreSettings", "description": [], + "signature": [ + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.ParentIgnoreSettings", + "text": "ParentIgnoreSettings" + }, + " extends ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + } + ], "path": "src/plugins/controls/common/types.ts", "deprecated": false, "trackAdoption": false, @@ -3290,7 +3233,7 @@ "label": "ControlLabelPosition", "description": [], "signature": [ - "\"twoLine\" | \"oneLine\"" + "\"oneLine\" | \"twoLine\"" ], "path": "src/plugins/controls/common/types.ts", "deprecated": false, @@ -3327,6 +3270,36 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "controls", + "id": "def-common.DEFAULT_AUTO_APPLY_SELECTIONS", + "type": "boolean", + "tags": [], + "label": "DEFAULT_AUTO_APPLY_SELECTIONS", + "description": [], + "signature": [ + "true" + ], + "path": "src/plugins/controls/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "controls", + "id": "def-common.DEFAULT_CONTROL_CHAINING", + "type": "CompoundType", + "tags": [], + "label": "DEFAULT_CONTROL_CHAINING", + "description": [], + "signature": [ + "\"NONE\" | \"HIERARCHICAL\"" + ], + "path": "src/plugins/controls/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "controls", "id": "def-common.DEFAULT_CONTROL_GROW", @@ -3347,7 +3320,7 @@ "label": "DEFAULT_CONTROL_LABEL_POSITION", "description": [], "signature": [ - "\"twoLine\" | \"oneLine\"" + "\"oneLine\" | \"twoLine\"" ], "path": "src/plugins/controls/common/constants.ts", "deprecated": false, @@ -3415,6 +3388,67 @@ "initialIsOpen": false } ], - "objects": [] + "objects": [ + { + "parentPluginId": "controls", + "id": "def-common.CONTROL_CHAINING_OPTIONS", + "type": "Object", + "tags": [], + "label": "CONTROL_CHAINING_OPTIONS", + "description": [], + "signature": [ + "{ readonly NONE: \"NONE\"; readonly HIERARCHICAL: \"HIERARCHICAL\"; }" + ], + "path": "src/plugins/controls/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "controls", + "id": "def-common.CONTROL_LABEL_POSITION_OPTIONS", + "type": "Object", + "tags": [], + "label": "CONTROL_LABEL_POSITION_OPTIONS", + "description": [], + "signature": [ + "{ readonly ONE_LINE: \"oneLine\"; readonly TWO_LINE: \"twoLine\"; }" + ], + "path": "src/plugins/controls/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "controls", + "id": "def-common.CONTROL_WIDTH_OPTIONS", + "type": "Object", + "tags": [], + "label": "CONTROL_WIDTH_OPTIONS", + "description": [], + "signature": [ + "{ readonly SMALL: \"small\"; readonly MEDIUM: \"medium\"; readonly LARGE: \"large\"; }" + ], + "path": "src/plugins/controls/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "controls", + "id": "def-common.DEFAULT_IGNORE_PARENT_SETTINGS", + "type": "Object", + "tags": [], + "label": "DEFAULT_IGNORE_PARENT_SETTINGS", + "description": [], + "signature": [ + "{ readonly ignoreFilters: false; readonly ignoreQuery: false; readonly ignoreTimerange: false; readonly ignoreValidations: false; }" + ], + "path": "src/plugins/controls/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ] } } \ No newline at end of file diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index df2fe6e565984..cb2b856eeebd3 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 135 | 0 | 131 | 14 | +| 135 | 0 | 131 | 15 | ## Client @@ -47,6 +47,9 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib ## Common +### Objects + + ### Interfaces diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 62614cc71cd37..7f4299632010c 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.devdocs.json b/api_docs/dashboard.devdocs.json index 9d2107a8768c6..d77e83955513b 100644 --- a/api_docs/dashboard.devdocs.json +++ b/api_docs/dashboard.devdocs.json @@ -763,22 +763,7 @@ "label": "hits", "description": [], "signature": [ - { - "pluginId": "@kbn/content-management-utils", - "scope": "server", - "docId": "kibKbnContentManagementUtilsPluginApi", - "section": "def-server.SOWithMetadata", - "text": "SOWithMetadata" - }, - "<", - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.DashboardAttributes", - "text": "DashboardAttributes" - }, - ">[]" + "Readonly<{ error?: Readonly<{ metadata?: Readonly<{} & {}> | undefined; } & { error: string; message: string; statusCode: number; }> | undefined; version?: string | undefined; namespaces?: string[] | undefined; createdBy?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; managed?: boolean | undefined; originId?: string | undefined; } & { id: string; type: string; attributes: Readonly<{} & { title: string; description: string; timeRestore: boolean; }>; references: Readonly<{} & { id: string; type: string; name: string; }>[]; }>[]" ], "path": "src/plugins/dashboard/public/services/dashboard_content_management_service/lib/find_dashboards.ts", "deprecated": false, @@ -1300,15 +1285,7 @@ "section": "def-common.DashboardContainerInput", "text": "DashboardContainerInput" }, - ", \"executionContext\" | \"panels\" | \"controlGroupInput\">> & { dashboardId?: string | undefined; useHash?: boolean | undefined; preserveSavedFilters?: boolean | undefined; searchSessionId?: string | undefined; panels?: (", - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.SavedDashboardPanel", - "text": "SavedDashboardPanel" - }, - " & ", + ", \"executionContext\" | \"panels\" | \"controlGroupInput\">> & { dashboardId?: string | undefined; useHash?: boolean | undefined; preserveSavedFilters?: boolean | undefined; searchSessionId?: string | undefined; panels?: (Omit | undefined; savedObjectId?: string | undefined; } & {}>; gridData: Readonly<{} & { i: string; y: number; w: number; h: number; x: number; }>; panelIndex: string; }>, \"panelConfig\"> & { panelConfig: Readonly<{ version?: string | undefined; title?: string | undefined; description?: string | undefined; hidePanelTitles?: boolean | undefined; enhancements?: Record | undefined; savedObjectId?: string | undefined; } & {}> & { [key: string]: any; }; } & ", { "pluginId": "@kbn/utility-types", "scope": "common", @@ -1530,7 +1507,111 @@ "functions": [], "interfaces": [], "enums": [], - "misc": [], + "misc": [ + { + "parentPluginId": "dashboard", + "id": "def-server.DashboardAttributes", + "type": "Type", + "tags": [], + "label": "DashboardAttributes", + "description": [], + "signature": [ + "Omit | undefined; timeFrom?: string | undefined; timeTo?: string | undefined; controlGroupInput?: Readonly<{ enhancements?: Record | undefined; } & { chainingSystem: ", + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.ControlGroupChainingSystem", + "text": "ControlGroupChainingSystem" + }, + "; labelPosition: ", + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.ControlLabelPosition", + "text": "ControlLabelPosition" + }, + "; autoApplySelections: boolean; ignoreParentSettings: Readonly<{} & { ignoreFilters: boolean; ignoreQuery: boolean; ignoreTimerange: boolean; ignoreValidations: boolean; }>; controls: Readonly<{ controlConfig?: Record | undefined; } & { id: string; type: string; order: number; grow: boolean; width: ", + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.ControlWidth", + "text": "ControlWidth" + }, + "; }>[]; }> | undefined; } & { options: Readonly<{} & { hidePanelTitles: boolean; syncTooltips: boolean; useMargins: boolean; syncColors: boolean; syncCursor: boolean; }>; title: string; description: string; kibanaSavedObjectMeta: Readonly<{ searchSource?: Readonly<{ type?: string | undefined; sort?: Record | Readonly<{ numeric_type?: \"date\" | \"date_nanos\" | \"long\" | \"double\" | undefined; } & { order: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SortDirection", + "text": "SortDirection" + }, + "; }>>[] | undefined; filter?: Readonly<{ query?: Record | undefined; $state?: Readonly<{} & { store: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.FilterStateStore", + "text": "FilterStateStore" + }, + "; }> | undefined; } & { meta: Readonly<{ params?: any; key?: string | undefined; value?: string | undefined; type?: string | undefined; alias?: string | null | undefined; index?: string | undefined; disabled?: boolean | undefined; field?: string | undefined; group?: string | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; isMultiIndex?: boolean | undefined; } & {}>; }>[] | undefined; query?: Readonly<{} & { query: string | Record; language: string; }> | undefined; } & {}> | undefined; } & {}>; timeRestore: boolean; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; } & { type: string; panelConfig: Readonly<{ version?: string | undefined; title?: string | undefined; description?: string | undefined; hidePanelTitles?: boolean | undefined; enhancements?: Record | undefined; savedObjectId?: string | undefined; } & {}>; gridData: Readonly<{} & { i: string; y: number; w: number; h: number; x: number; }>; panelIndex: string; }>[]; }>, \"panels\"> & { panels: ", + "DashboardPanel", + "[]; }" + ], + "path": "src/plugins/dashboard/server/content_management/v3/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "dashboard", + "id": "def-server.DashboardAttributes", + "type": "Type", + "tags": [], + "label": "DashboardAttributes", + "description": [], + "signature": [ + "{ readonly version?: number | undefined; readonly timeRestore?: boolean | undefined; readonly refreshInterval?: Readonly<{ section?: number | undefined; display?: string | undefined; } & { value: number; pause: boolean; }> | undefined; readonly hits?: number | undefined; readonly timeFrom?: string | undefined; readonly timeTo?: string | undefined; readonly controlGroupInput?: Readonly<{ chainingSystem?: string | undefined; panelsJSON?: string | undefined; controlStyle?: string | undefined; ignoreParentSettingsJSON?: string | undefined; showApplySelections?: boolean | undefined; } & {}> | undefined; readonly optionsJSON?: string | undefined; readonly title: string; readonly description: string; readonly kibanaSavedObjectMeta: Readonly<{ searchSourceJSON?: string | undefined; } & {}>; readonly panelsJSON: string; }" + ], + "path": "src/plugins/dashboard/server/dashboard_saved_object/schema/v2/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "dashboard", + "id": "def-server.PUBLIC_API_PATH", + "type": "string", + "tags": [], + "label": "PUBLIC_API_PATH", + "description": [], + "signature": [ + "\"/api/dashboards/dashboard\"" + ], + "path": "src/plugins/dashboard/server/api/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "objects": [], "setup": { "parentPluginId": "dashboard", @@ -1566,10 +1647,10 @@ "functions": [ { "parentPluginId": "dashboard", - "id": "def-common.convertPanelMapToSavedPanels", + "id": "def-common.convertPanelMapToPanelsArray", "type": "Function", "tags": [], - "label": "convertPanelMapToSavedPanels", + "label": "convertPanelMapToPanelsArray", "description": [], "signature": [ "(panels: ", @@ -1580,77 +1661,7 @@ "section": "def-common.DashboardPanelMap", "text": "DashboardPanelMap" }, - ", removeLegacyVersion?: boolean | undefined) => ", - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.SavedDashboardPanel", - "text": "SavedDashboardPanel" - }, - "[]" - ], - "path": "src/plugins/dashboard/common/lib/dashboard_panel_converters.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "dashboard", - "id": "def-common.convertPanelMapToSavedPanels.$1", - "type": "Object", - "tags": [], - "label": "panels", - "description": [], - "signature": [ - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.DashboardPanelMap", - "text": "DashboardPanelMap" - } - ], - "path": "src/plugins/dashboard/common/lib/dashboard_panel_converters.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dashboard", - "id": "def-common.convertPanelMapToSavedPanels.$2", - "type": "CompoundType", - "tags": [], - "label": "removeLegacyVersion", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/dashboard/common/lib/dashboard_panel_converters.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.convertPanelStateToSavedDashboardPanel", - "type": "Function", - "tags": [], - "label": "convertPanelStateToSavedDashboardPanel", - "description": [], - "signature": [ - "(panelState: ", - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.DashboardPanelState", - "text": "DashboardPanelState" - }, - "<", + ", removeLegacyVersion?: boolean | undefined) => { panelRefName?: string | undefined; id?: string | undefined; title?: string | undefined; type: string; gridData: Readonly<{} & { i: string; y: number; w: number; h: number; x: number; }>; panelIndex: string; panelConfig: _.Omit, removeLegacyVersion: boolean | undefined) => ", - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.SavedDashboardPanel", - "text": "SavedDashboardPanel" - } + "> & { id: string; }, \"id\" | \"title\" | \"savedObjectId\">; version?: string | undefined; }[]" ], "path": "src/plugins/dashboard/common/lib/dashboard_panel_converters.ts", "deprecated": false, @@ -1673,28 +1677,19 @@ "children": [ { "parentPluginId": "dashboard", - "id": "def-common.convertPanelStateToSavedDashboardPanel.$1", + "id": "def-common.convertPanelMapToPanelsArray.$1", "type": "Object", "tags": [], - "label": "panelState", + "label": "panels", "description": [], "signature": [ { "pluginId": "dashboard", "scope": "common", "docId": "kibDashboardPluginApi", - "section": "def-common.DashboardPanelState", - "text": "DashboardPanelState" - }, - "<", - { - "pluginId": "embeddable", - "scope": "common", - "docId": "kibEmbeddablePluginApi", - "section": "def-common.SavedObjectEmbeddableInput", - "text": "SavedObjectEmbeddableInput" - }, - ">" + "section": "def-common.DashboardPanelMap", + "text": "DashboardPanelMap" + } ], "path": "src/plugins/dashboard/common/lib/dashboard_panel_converters.ts", "deprecated": false, @@ -1703,7 +1698,7 @@ }, { "parentPluginId": "dashboard", - "id": "def-common.convertPanelStateToSavedDashboardPanel.$2", + "id": "def-common.convertPanelMapToPanelsArray.$2", "type": "CompoundType", "tags": [], "label": "removeLegacyVersion", @@ -1722,75 +1717,14 @@ }, { "parentPluginId": "dashboard", - "id": "def-common.convertSavedDashboardPanelToPanelState", - "type": "Function", - "tags": [], - "label": "convertSavedDashboardPanelToPanelState", - "description": [], - "signature": [ - "(savedDashboardPanel: ", - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.SavedDashboardPanel", - "text": "SavedDashboardPanel" - }, - ") => ", - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.DashboardPanelState", - "text": "DashboardPanelState" - }, - "" - ], - "path": "src/plugins/dashboard/common/lib/dashboard_panel_converters.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "dashboard", - "id": "def-common.convertSavedDashboardPanelToPanelState.$1", - "type": "Object", - "tags": [], - "label": "savedDashboardPanel", - "description": [], - "signature": [ - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.SavedDashboardPanel", - "text": "SavedDashboardPanel" - } - ], - "path": "src/plugins/dashboard/common/lib/dashboard_panel_converters.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.convertSavedPanelsToPanelMap", + "id": "def-common.convertPanelsArrayToPanelMap", "type": "Function", "tags": [], - "label": "convertSavedPanelsToPanelMap", + "label": "convertPanelsArrayToPanelMap", "description": [], "signature": [ "(panels?: ", - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.SavedDashboardPanel", - "text": "SavedDashboardPanel" - }, + "DashboardPanel", "[] | undefined) => ", { "pluginId": "dashboard", @@ -1806,19 +1740,13 @@ "children": [ { "parentPluginId": "dashboard", - "id": "def-common.convertSavedPanelsToPanelMap.$1", + "id": "def-common.convertPanelsArrayToPanelMap.$1", "type": "Array", "tags": [], "label": "panels", "description": [], "signature": [ - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.SavedDashboardPanel", - "text": "SavedDashboardPanel" - }, + "DashboardPanel", "[] | undefined" ], "path": "src/plugins/dashboard/common/lib/dashboard_panel_converters.ts", @@ -1982,7 +1910,13 @@ "({ attributes, references = [] }: ", "DashboardAttributesAndReferences", ", deps: ", - "InjectExtractDeps", + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.InjectExtractDeps", + "text": "InjectExtractDeps" + }, ") => ", "DashboardAttributesAndReferences" ], @@ -2013,7 +1947,13 @@ "label": "deps", "description": [], "signature": [ - "InjectExtractDeps" + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.InjectExtractDeps", + "text": "InjectExtractDeps" + } ], "path": "src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.ts", "deprecated": false, @@ -2035,13 +1975,19 @@ "({ attributes, references = [] }: ", "DashboardAttributesAndReferences", ", deps: ", - "InjectExtractDeps", - ") => ", { "pluginId": "dashboard", "scope": "common", "docId": "kibDashboardPluginApi", - "section": "def-common.DashboardAttributes", + "section": "def-common.InjectExtractDeps", + "text": "InjectExtractDeps" + }, + ") => ", + { + "pluginId": "dashboard", + "scope": "server", + "docId": "kibDashboardPluginApi", + "section": "def-server.DashboardAttributes", "text": "DashboardAttributes" } ], @@ -2072,7 +2018,13 @@ "label": "deps", "description": [], "signature": [ - "InjectExtractDeps" + { + "pluginId": "dashboard", + "scope": "common", + "docId": "kibDashboardPluginApi", + "section": "def-common.InjectExtractDeps", + "text": "InjectExtractDeps" + } ], "path": "src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.ts", "deprecated": false, @@ -2517,75 +2469,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "dashboard", - "id": "def-common.DashboardOptions", - "type": "Interface", - "tags": [], - "label": "DashboardOptions", - "description": [], - "path": "src/plugins/dashboard/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "dashboard", - "id": "def-common.DashboardOptions.hidePanelTitles", - "type": "boolean", - "tags": [], - "label": "hidePanelTitles", - "description": [], - "path": "src/plugins/dashboard/common/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.DashboardOptions.useMargins", - "type": "boolean", - "tags": [], - "label": "useMargins", - "description": [], - "path": "src/plugins/dashboard/common/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.DashboardOptions.syncColors", - "type": "boolean", - "tags": [], - "label": "syncColors", - "description": [], - "path": "src/plugins/dashboard/common/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.DashboardOptions.syncTooltips", - "type": "boolean", - "tags": [], - "label": "syncTooltips", - "description": [], - "path": "src/plugins/dashboard/common/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.DashboardOptions.syncCursor", - "type": "boolean", - "tags": [], - "label": "syncCursor", - "description": [], - "path": "src/plugins/dashboard/common/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "dashboard", "id": "def-common.DashboardPanelMap", @@ -2667,7 +2550,7 @@ "label": "gridData", "description": [], "signature": [ - "GridData" + "{ readonly i: string; readonly y: number; readonly w: number; readonly h: number; readonly x: number; }" ], "path": "src/plugins/dashboard/common/dashboard_container/types.ts", "deprecated": false, @@ -2731,130 +2614,41 @@ }, { "parentPluginId": "dashboard", - "id": "def-common.SavedDashboardPanel", + "id": "def-common.InjectExtractDeps", "type": "Interface", "tags": [], - "label": "SavedDashboardPanel", - "description": [ - "\nA saved dashboard panel parsed directly from the Dashboard Attributes panels JSON" - ], - "path": "src/plugins/dashboard/common/content_management/v1/types.ts", + "label": "InjectExtractDeps", + "description": [], + "path": "src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "dashboard", - "id": "def-common.SavedDashboardPanel.embeddableConfig", + "id": "def-common.InjectExtractDeps.embeddablePersistableStateService", "type": "Object", "tags": [], - "label": "embeddableConfig", + "label": "embeddablePersistableStateService", "description": [], "signature": [ - "{ [key: string]: ", { - "pluginId": "@kbn/utility-types", + "pluginId": "kibanaUtils", "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.Serializable", - "text": "Serializable" + "docId": "kibKibanaUtilsPluginApi", + "section": "def-common.PersistableStateService", + "text": "PersistableStateService" }, - "; }" - ], - "path": "src/plugins/dashboard/common/content_management/v1/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.SavedDashboardPanel.id", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/dashboard/common/content_management/v1/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.SavedDashboardPanel.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "src/plugins/dashboard/common/content_management/v1/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.SavedDashboardPanel.panelRefName", - "type": "string", - "tags": [], - "label": "panelRefName", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/dashboard/common/content_management/v1/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.SavedDashboardPanel.gridData", - "type": "Object", - "tags": [], - "label": "gridData", - "description": [], - "signature": [ - "GridData" - ], - "path": "src/plugins/dashboard/common/content_management/v1/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.SavedDashboardPanel.panelIndex", - "type": "string", - "tags": [], - "label": "panelIndex", - "description": [], - "path": "src/plugins/dashboard/common/content_management/v1/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.SavedDashboardPanel.title", - "type": "string", - "tags": [], - "label": "title", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/dashboard/common/content_management/v1/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dashboard", - "id": "def-common.SavedDashboardPanel.version", - "type": "string", - "tags": [], - "label": "version", - "description": [ - "\nThis version key was used to store Kibana version information from versions 7.3.0 -> 8.11.0.\nAs of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the\nembeddable's input. (embeddableConfig in this type)." - ], - "signature": [ - "string | undefined" + "<", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableStateWithType", + "text": "EmbeddableStateWithType" + }, + ">" ], - "path": "src/plugins/dashboard/common/content_management/v1/types.ts", + "path": "src/plugins/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.ts", "deprecated": false, "trackAdoption": false } @@ -2864,29 +2658,6 @@ ], "enums": [], "misc": [ - { - "parentPluginId": "dashboard", - "id": "def-common.DashboardAttributes", - "type": "Type", - "tags": [], - "label": "DashboardAttributes", - "description": [], - "signature": [ - "Omit<", - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.DashboardAttributes", - "text": "DashboardAttributes" - }, - ", \"controlGroupInput\"> & { controlGroupInput?: ControlGroupAttributesV2 | undefined; }" - ], - "path": "src/plugins/dashboard/common/content_management/v2/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "dashboard", "id": "def-common.DashboardContainerByReferenceInput", @@ -2975,13 +2746,7 @@ "text": "SerializableRecord" }, " | undefined; disabledActions?: string[] | undefined; disableTriggers?: boolean | undefined; searchSessionId?: string | undefined; panels?: ", - { - "pluginId": "dashboard", - "scope": "common", - "docId": "kibDashboardPluginApi", - "section": "def-common.SavedDashboardPanel", - "text": "SavedDashboardPanel" - }, + "DashboardPanel", "[] | undefined; }" ], "path": "src/plugins/dashboard/common/types.ts", diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index de382aae4c01d..057695d3c3f88 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 130 | 0 | 125 | 14 | +| 114 | 0 | 111 | 13 | ## Client @@ -51,6 +51,9 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib ### Start +### Consts, variables and types + + ## Common ### Objects diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 9c8395e8b31b0..38972a956d976 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 8af0c6e6f46b4..5bd3d50643124 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_quality.mdx b/api_docs/data_quality.mdx index 13b15d4546a00..8219e0f0e96a2 100644 --- a/api_docs/data_quality.mdx +++ b/api_docs/data_quality.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataQuality title: "dataQuality" image: https://source.unsplash.com/400x175/?github description: API docs for the dataQuality plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataQuality'] --- import dataQualityObj from './data_quality.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index e5b40337e4fc6..edb8c7449f51c 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index b2b136ac0cf0f..4b2a71c75be0e 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_usage.mdx b/api_docs/data_usage.mdx index 8875fa7be0810..112703ea492e3 100644 --- a/api_docs/data_usage.mdx +++ b/api_docs/data_usage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataUsage title: "dataUsage" image: https://source.unsplash.com/400x175/?github description: API docs for the dataUsage plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataUsage'] --- import dataUsageObj from './data_usage.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index ee8bd18875a1e..da326b4c23f54 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2024-11-08 +date: 2024-11-10 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 f22c4551180a9..4c844be76ca42 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2024-11-08 +date: 2024-11-10 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 e2cff56dd2e87..3cd0e5edcb0ad 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 59b46f9a69703..4a6d3e0cc8aa3 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2024-11-08 +date: 2024-11-10 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 62a3622be07de..0a7c4debd41fd 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx index 1d3de15eae9e3..9d1c36d907a7e 100644 --- a/api_docs/dataset_quality.mdx +++ b/api_docs/dataset_quality.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/datasetQuality title: "datasetQuality" image: https://source.unsplash.com/400x175/?github description: API docs for the datasetQuality plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'datasetQuality'] --- import datasetQualityObj from './dataset_quality.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 842a4e7532241..a33d8fa45cb88 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -22,7 +22,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | actions, savedObjectsTagging, ml, enterpriseSearch | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjects, visualizations, aiops, dataVisualizer, ml, dashboardEnhanced, graph, lens, securitySolution, eventAnnotation, @kbn/core-saved-objects-browser-mocks | - | | | @kbn/core, embeddable, savedObjects, visualizations, canvas, graph, ml | - | -| | @kbn/core-saved-objects-base-server-internal, @kbn/core-saved-objects-migration-server-internal, @kbn/core-saved-objects-server-internal, @kbn/core-ui-settings-server-internal, @kbn/core-usage-data-server-internal, taskManager, dataViews, spaces, share, actions, data, alerting, @kbn/core-saved-objects-migration-server-mocks, lens, cases, savedSearch, canvas, fleet, cloudSecurityPosture, ml, logsShared, graph, lists, maps, infra, visualizations, apmDataAccess, securitySolution, apm, slo, synthetics, uptime, dashboard, eventAnnotation, links, savedObjectsManagement, @kbn/core-test-helpers-so-type-serializer, @kbn/core-saved-objects-api-server-internal | - | +| | @kbn/core-saved-objects-base-server-internal, @kbn/core-saved-objects-migration-server-internal, @kbn/core-saved-objects-server-internal, @kbn/core-ui-settings-server-internal, @kbn/core-usage-data-server-internal, taskManager, dataViews, spaces, share, actions, data, alerting, dashboard, @kbn/core-saved-objects-migration-server-mocks, lens, cases, savedSearch, canvas, fleet, cloudSecurityPosture, ml, logsShared, graph, lists, maps, infra, visualizations, apmDataAccess, securitySolution, apm, slo, synthetics, uptime, eventAnnotation, links, savedObjectsManagement, @kbn/core-test-helpers-so-type-serializer, @kbn/core-saved-objects-api-server-internal | - | | | stackAlerts, alerting, securitySolution, inputControlVis | - | | | graph, stackAlerts, inputControlVis, securitySolution | - | | | dataVisualizer, stackAlerts, expressionPartitionVis | - | @@ -49,7 +49,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @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-browser-mocks, fleet, graph, lists, osquery, securitySolution, alerting | - | | | @kbn/core-saved-objects-common, @kbn/core-saved-objects-server, @kbn/core, @kbn/alerting-types, alerting, actions, savedSearch, canvas, enterpriseSearch, securitySolution, taskManager, @kbn/core-saved-objects-server-internal, @kbn/core-saved-objects-api-server | - | | | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-api-server, @kbn/core, savedObjectsTagging, home, canvas, savedObjects, savedObjectsTaggingOss, lists, securitySolution, upgradeAssistant, savedObjectsManagement, @kbn/core-saved-objects-import-export-server-internal, @kbn/core-saved-objects-browser-mocks, @kbn/core-ui-settings-server-internal | - | -| | @kbn/core-saved-objects-migration-server-internal, dataViews, actions, data, alerting, lens, cases, savedSearch, canvas, savedObjectsTagging, graph, lists, maps, visualizations, securitySolution, dashboard, @kbn/core-test-helpers-so-type-serializer | - | +| | @kbn/core-saved-objects-migration-server-internal, dataViews, actions, data, alerting, dashboard, lens, cases, savedSearch, canvas, savedObjectsTagging, graph, lists, maps, visualizations, securitySolution, @kbn/core-test-helpers-so-type-serializer | - | | | @kbn/esql-utils, @kbn/securitysolution-utils, securitySolution | - | | | security, securitySolution, cloudLinks, cases | - | | | security, cases, searchPlayground, securitySolution | - | @@ -70,7 +70,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | alerting, observabilityAIAssistant, fleet, cloudSecurityPosture, entityManager, apm, serverlessSearch, transform, upgradeAssistant, synthetics, security | - | | | actions, alerting | - | | | monitoring | - | -| | @kbn/core-saved-objects-api-browser, @kbn/core, savedObjectsManagement, savedObjects, visualizations, savedObjectsTagging, eventAnnotation, lens, maps, graph, dashboard, kibanaUtils, expressions, data, savedObjectsTaggingOss, embeddable, uiActionsEnhanced, canvas, dashboardEnhanced, globalSearchProviders, controls | - | +| | @kbn/core-saved-objects-api-browser, @kbn/core, savedObjectsManagement, savedObjects, visualizations, savedObjectsTagging, eventAnnotation, lens, maps, graph, dashboard, kibanaUtils, expressions, data, savedObjectsTaggingOss, embeddable, uiActionsEnhanced, controls, canvas, dashboardEnhanced, globalSearchProviders | - | | | @kbn/core-saved-objects-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, home, savedObjects, visualizations, lens, visTypeTimeseries, @kbn/core-saved-objects-browser-mocks | - | | | @kbn/core-saved-objects-browser-internal, savedObjects, @kbn/core-saved-objects-browser-mocks | - | | | home, @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | @@ -102,7 +102,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-saved-objects-api-server-internal | - | | | @kbn/core-saved-objects-api-server-internal | - | | | @kbn/core-saved-objects-api-server-internal, canvas | - | -| | @kbn/core-saved-objects-api-server-internal, @kbn/core-saved-objects-migration-server-internal, spaces, data, savedSearch, cloudSecurityPosture, visualizations, dashboard, @kbn/core-test-helpers-so-type-serializer | - | +| | @kbn/core-saved-objects-api-server-internal, @kbn/core-saved-objects-migration-server-internal, spaces, data, dashboard, savedSearch, cloudSecurityPosture, visualizations, @kbn/core-test-helpers-so-type-serializer | - | | | @kbn/core-root-browser-internal, @kbn/core-saved-objects-browser-mocks | - | | | fleet, exploratoryView, osquery, synthetics | - | | | @kbn/security-plugin-types-server, telemetry, fleet, profiling, @kbn/security-authorization-core, security | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index df56c8e43c69a..77c822765565d 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index cda329988625e..44e1d57c4d6b4 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index a975debd0d7af..2a5a9fd0b5013 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 7b4c1df42ba67..ec8ee31563419 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2024-11-08 +date: 2024-11-10 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 51deeaacf6913..2678f6133ba75 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/discover_shared.mdx b/api_docs/discover_shared.mdx index 4f491dc9d2604..4329bc6ffc136 100644 --- a/api_docs/discover_shared.mdx +++ b/api_docs/discover_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverShared title: "discoverShared" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverShared plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverShared'] --- import discoverSharedObj from './discover_shared.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index d7f7a9735dac2..e7e55ffc348e9 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index 009cd0c393d09..219732e07f1a7 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 5b49d96f85ef5..c2b12a40e8e2d 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2024-11-08 +date: 2024-11-10 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 febdd9c427658..2fcf287eeea72 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2024-11-08 +date: 2024-11-10 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 bcd050233b978..34902ffc87542 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2024-11-08 +date: 2024-11-10 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 74a9d2a81b68e..4c644bbd2a7fe 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/entities_data_access.mdx b/api_docs/entities_data_access.mdx index 027e5a101d3ed..96d31ff61676a 100644 --- a/api_docs/entities_data_access.mdx +++ b/api_docs/entities_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/entitiesDataAccess title: "entitiesDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the entitiesDataAccess plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'entitiesDataAccess'] --- import entitiesDataAccessObj from './entities_data_access.devdocs.json'; diff --git a/api_docs/entity_manager.mdx b/api_docs/entity_manager.mdx index 70046ff8ee04a..80d39444e3f24 100644 --- a/api_docs/entity_manager.mdx +++ b/api_docs/entity_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/entityManager title: "entityManager" image: https://source.unsplash.com/400x175/?github description: API docs for the entityManager plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'entityManager'] --- import entityManagerObj from './entity_manager.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index 29865d8d1eae7..6b499b4ec061a 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/esql.mdx b/api_docs/esql.mdx index 02b9e5f7bf0a0..c2bd5fb7c2883 100644 --- a/api_docs/esql.mdx +++ b/api_docs/esql.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esql title: "esql" image: https://source.unsplash.com/400x175/?github description: API docs for the esql plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esql'] --- import esqlObj from './esql.devdocs.json'; diff --git a/api_docs/esql_data_grid.mdx b/api_docs/esql_data_grid.mdx index 9d4c812542ef7..0a11cabffc494 100644 --- a/api_docs/esql_data_grid.mdx +++ b/api_docs/esql_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esqlDataGrid title: "esqlDataGrid" image: https://source.unsplash.com/400x175/?github description: API docs for the esqlDataGrid plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esqlDataGrid'] --- import esqlDataGridObj from './esql_data_grid.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 3a678cccc3b1c..3dad1639c3440 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 036cc7e188b2d..2d89eb0a36e36 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index f2fce80196260..5623928823818 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2024-11-08 +date: 2024-11-10 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 262f52d713fc2..ad594d8eae248 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2024-11-08 +date: 2024-11-10 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 04f3fd63804af..3fa12da3b6f4c 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2024-11-08 +date: 2024-11-10 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 6f94113d42848..a57baa99df7e2 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2024-11-08 +date: 2024-11-10 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 d87b39cba6b6b..dc96b1dca4233 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2024-11-08 +date: 2024-11-10 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 4b8787ad60e15..2b9d36efb1cd8 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2024-11-08 +date: 2024-11-10 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 fd26d95393bcf..062a359c07041 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2024-11-08 +date: 2024-11-10 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 ddf3934a76d73..e228884ecf8e3 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2024-11-08 +date: 2024-11-10 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 84e18fef1df28..9995780f2d10e 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2024-11-08 +date: 2024-11-10 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 db9322acc694b..d6778f916fd7a 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2024-11-08 +date: 2024-11-10 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 74ead96aeaaf1..2e9dd01c5b8b0 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2024-11-08 +date: 2024-11-10 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 507b548f346da..602aa5d157db8 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2024-11-08 +date: 2024-11-10 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 77f176f33ec88..6a548c164d4f9 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2024-11-08 +date: 2024-11-10 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 e666d2dced5e5..49b120429a5dc 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2024-11-08 +date: 2024-11-10 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 d2f114ecc2b76..f1d557a4bf68f 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2024-11-08 +date: 2024-11-10 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 9c918665420a7..fc5b5c3d3279f 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2024-11-08 +date: 2024-11-10 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 70e7e6e249b99..ea2d7c08dffce 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2024-11-08 +date: 2024-11-10 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 2df76d1e98072..7dfcb56035a8e 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/fields_metadata.mdx b/api_docs/fields_metadata.mdx index b17a16aac47b2..e6d3c3ad2d3c5 100644 --- a/api_docs/fields_metadata.mdx +++ b/api_docs/fields_metadata.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldsMetadata title: "fieldsMetadata" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldsMetadata plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldsMetadata'] --- import fieldsMetadataObj from './fields_metadata.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 2c4f1cddbac83..67163b1958f1a 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2024-11-08 +date: 2024-11-10 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 6ee755b11f6a0..ca4b9fcd4b375 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2024-11-08 +date: 2024-11-10 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 0551a3829b3bd..af60e318bbf03 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2024-11-08 +date: 2024-11-10 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 dfdf371742060..f16b5191e3841 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2024-11-08 +date: 2024-11-10 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 6779611a3b92d..9b73fc69d72b3 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2024-11-08 +date: 2024-11-10 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 5ff6fe816e91f..14001b4740c04 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2024-11-08 +date: 2024-11-10 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 66855274a4f52..12e511babd65f 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2024-11-08 +date: 2024-11-10 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 1c23f39a9563b..afd91c27c6912 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2024-11-08 +date: 2024-11-10 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 ac72b635a197b..9b94ace7a2c6b 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2024-11-08 +date: 2024-11-10 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 d1a71faa8c1e7..54c5753290ada 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/inference.mdx b/api_docs/inference.mdx index 2fad506453812..cb96958e814ef 100644 --- a/api_docs/inference.mdx +++ b/api_docs/inference.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inference title: "inference" image: https://source.unsplash.com/400x175/?github description: API docs for the inference plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inference'] --- import inferenceObj from './inference.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index 1e4ad8240dd9f..a7a9de549fbf2 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/ingest_pipelines.mdx b/api_docs/ingest_pipelines.mdx index 2d6a4ebf7ba80..b04c6138150da 100644 --- a/api_docs/ingest_pipelines.mdx +++ b/api_docs/ingest_pipelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ingestPipelines title: "ingestPipelines" image: https://source.unsplash.com/400x175/?github description: API docs for the ingestPipelines plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ingestPipelines'] --- import ingestPipelinesObj from './ingest_pipelines.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 99f03fd02eba7..ef3c3275c8a17 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/integration_assistant.mdx b/api_docs/integration_assistant.mdx index ac275bbda2a08..1aafdf3098a88 100644 --- a/api_docs/integration_assistant.mdx +++ b/api_docs/integration_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/integrationAssistant title: "integrationAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the integrationAssistant plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'integrationAssistant'] --- import integrationAssistantObj from './integration_assistant.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index d5525a859f2f4..d77b22bf57341 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/inventory.devdocs.json b/api_docs/inventory.devdocs.json index acc804d848107..0e858f8be04a1 100644 --- a/api_docs/inventory.devdocs.json +++ b/api_docs/inventory.devdocs.json @@ -128,7 +128,9 @@ "LiteralC", "<\"entity.type\">, ", "LiteralC", - "<\"alertsCount\">]>; sortDirection: ", + "<\"alertsCount\">, ", + "LiteralC", + "<\"actions\">]>; sortDirection: ", "UnionC", "<[", "LiteralC", diff --git a/api_docs/inventory.mdx b/api_docs/inventory.mdx index 653d4240b093a..31f826ee9e7e0 100644 --- a/api_docs/inventory.mdx +++ b/api_docs/inventory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inventory title: "inventory" image: https://source.unsplash.com/400x175/?github description: API docs for the inventory plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inventory'] --- import inventoryObj from './inventory.devdocs.json'; diff --git a/api_docs/investigate.mdx b/api_docs/investigate.mdx index e40e593be9778..3bae92a3195a4 100644 --- a/api_docs/investigate.mdx +++ b/api_docs/investigate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/investigate title: "investigate" image: https://source.unsplash.com/400x175/?github description: API docs for the investigate plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'investigate'] --- import investigateObj from './investigate.devdocs.json'; diff --git a/api_docs/investigate_app.mdx b/api_docs/investigate_app.mdx index c90e748011e05..f4f668b214000 100644 --- a/api_docs/investigate_app.mdx +++ b/api_docs/investigate_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/investigateApp title: "investigateApp" image: https://source.unsplash.com/400x175/?github description: API docs for the investigateApp plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'investigateApp'] --- import investigateAppObj from './investigate_app.devdocs.json'; diff --git a/api_docs/kbn_actions_types.mdx b/api_docs/kbn_actions_types.mdx index 0367a1fd9e73e..3a44e27c1752c 100644 --- a/api_docs/kbn_actions_types.mdx +++ b/api_docs/kbn_actions_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-actions-types title: "@kbn/actions-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/actions-types plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/actions-types'] --- import kbnActionsTypesObj from './kbn_actions_types.devdocs.json'; diff --git a/api_docs/kbn_ai_assistant.mdx b/api_docs/kbn_ai_assistant.mdx index 71ceaa14aafc8..6fbd0bc24eaec 100644 --- a/api_docs/kbn_ai_assistant.mdx +++ b/api_docs/kbn_ai_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ai-assistant title: "@kbn/ai-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ai-assistant plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ai-assistant'] --- import kbnAiAssistantObj from './kbn_ai_assistant.devdocs.json'; diff --git a/api_docs/kbn_ai_assistant_common.mdx b/api_docs/kbn_ai_assistant_common.mdx index 86c5830cd6552..42c0153a9c304 100644 --- a/api_docs/kbn_ai_assistant_common.mdx +++ b/api_docs/kbn_ai_assistant_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ai-assistant-common title: "@kbn/ai-assistant-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ai-assistant-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ai-assistant-common'] --- import kbnAiAssistantCommonObj from './kbn_ai_assistant_common.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index a5dd1a96e73f1..1ffa0789a764d 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_log_pattern_analysis.mdx b/api_docs/kbn_aiops_log_pattern_analysis.mdx index 49111c2569963..3818bafb385b3 100644 --- a/api_docs/kbn_aiops_log_pattern_analysis.mdx +++ b/api_docs/kbn_aiops_log_pattern_analysis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-log-pattern-analysis title: "@kbn/aiops-log-pattern-analysis" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-log-pattern-analysis plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-log-pattern-analysis'] --- import kbnAiopsLogPatternAnalysisObj from './kbn_aiops_log_pattern_analysis.devdocs.json'; diff --git a/api_docs/kbn_aiops_log_rate_analysis.mdx b/api_docs/kbn_aiops_log_rate_analysis.mdx index da5eae049e0f7..48e0fb0e69db2 100644 --- a/api_docs/kbn_aiops_log_rate_analysis.mdx +++ b/api_docs/kbn_aiops_log_rate_analysis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-log-rate-analysis title: "@kbn/aiops-log-rate-analysis" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-log-rate-analysis plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-log-rate-analysis'] --- import kbnAiopsLogRateAnalysisObj from './kbn_aiops_log_rate_analysis.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 7526fe14aa5ac..34544911e0f1e 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_comparators.mdx b/api_docs/kbn_alerting_comparators.mdx index 3cfbde8fb0014..52eef1d8bdca3 100644 --- a/api_docs/kbn_alerting_comparators.mdx +++ b/api_docs/kbn_alerting_comparators.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-comparators title: "@kbn/alerting-comparators" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-comparators plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-comparators'] --- import kbnAlertingComparatorsObj from './kbn_alerting_comparators.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 19c85020e20b8..70984e50600e9 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerting_types.mdx b/api_docs/kbn_alerting_types.mdx index ae47504c0206b..cdcf09268a18f 100644 --- a/api_docs/kbn_alerting_types.mdx +++ b/api_docs/kbn_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-types title: "@kbn/alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-types plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-types'] --- import kbnAlertingTypesObj from './kbn_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 69bc35ff9f46e..22f3669564655 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2024-11-08 +date: 2024-11-10 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_grouping.mdx b/api_docs/kbn_alerts_grouping.mdx index ddea2fb23a67e..438f3260b4fff 100644 --- a/api_docs/kbn_alerts_grouping.mdx +++ b/api_docs/kbn_alerts_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-grouping title: "@kbn/alerts-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-grouping plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-grouping'] --- import kbnAlertsGroupingObj from './kbn_alerts_grouping.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index ccf4fa0fd12c2..71f7a2c838df7 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2024-11-08 +date: 2024-11-10 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 d72169fa4fe5c..4540cb045209a 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_collection_utils.mdx b/api_docs/kbn_analytics_collection_utils.mdx index a87ec95c1a066..c816ae99747c6 100644 --- a/api_docs/kbn_analytics_collection_utils.mdx +++ b/api_docs/kbn_analytics_collection_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-collection-utils title: "@kbn/analytics-collection-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-collection-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-collection-utils'] --- import kbnAnalyticsCollectionUtilsObj from './kbn_analytics_collection_utils.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index c340ad256a3cf..df615ee1d7c77 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_data_view.mdx b/api_docs/kbn_apm_data_view.mdx index ace71da2881f9..798ccf69a5ecd 100644 --- a/api_docs/kbn_apm_data_view.mdx +++ b/api_docs/kbn_apm_data_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-data-view title: "@kbn/apm-data-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-data-view plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-data-view'] --- import kbnApmDataViewObj from './kbn_apm_data_view.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 2e53fea8ba044..ab90bf6a85d0e 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2024-11-08 +date: 2024-11-10 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 1dff0cf581d47..48e740cc6c6d1 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2024-11-08 +date: 2024-11-10 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_types.mdx b/api_docs/kbn_apm_types.mdx index a11945141b136..2042138edca0e 100644 --- a/api_docs/kbn_apm_types.mdx +++ b/api_docs/kbn_apm_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-types title: "@kbn/apm-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-types plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-types'] --- import kbnApmTypesObj from './kbn_apm_types.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index d4129409576c8..2a2b9e51fedff 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_avc_banner.mdx b/api_docs/kbn_avc_banner.mdx index 48517ce41235e..f4d4fb1ccafb8 100644 --- a/api_docs/kbn_avc_banner.mdx +++ b/api_docs/kbn_avc_banner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-avc-banner title: "@kbn/avc-banner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/avc-banner plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/avc-banner'] --- import kbnAvcBannerObj from './kbn_avc_banner.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index 417e4b7c89f26..c4ef1fba843ff 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_bfetch_error.mdx b/api_docs/kbn_bfetch_error.mdx index 320746b6e9b9b..c4ef81d688a4e 100644 --- a/api_docs/kbn_bfetch_error.mdx +++ b/api_docs/kbn_bfetch_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-bfetch-error title: "@kbn/bfetch-error" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/bfetch-error plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bfetch-error'] --- import kbnBfetchErrorObj from './kbn_bfetch_error.devdocs.json'; diff --git a/api_docs/kbn_calculate_auto.mdx b/api_docs/kbn_calculate_auto.mdx index a763f35eda85e..bfe80a5f473f8 100644 --- a/api_docs/kbn_calculate_auto.mdx +++ b/api_docs/kbn_calculate_auto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-auto title: "@kbn/calculate-auto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-auto plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-auto'] --- import kbnCalculateAutoObj from './kbn_calculate_auto.devdocs.json'; diff --git a/api_docs/kbn_calculate_width_from_char_count.mdx b/api_docs/kbn_calculate_width_from_char_count.mdx index fcbc72ef960a5..bb02d73d56839 100644 --- a/api_docs/kbn_calculate_width_from_char_count.mdx +++ b/api_docs/kbn_calculate_width_from_char_count.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-width-from-char-count title: "@kbn/calculate-width-from-char-count" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-width-from-char-count plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-width-from-char-count'] --- import kbnCalculateWidthFromCharCountObj from './kbn_calculate_width_from_char_count.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index d245276d32f6a..d75f35e508612 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cbor.mdx b/api_docs/kbn_cbor.mdx index ab0c562249d57..d3ded1babe109 100644 --- a/api_docs/kbn_cbor.mdx +++ b/api_docs/kbn_cbor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cbor title: "@kbn/cbor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cbor plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cbor'] --- import kbnCborObj from './kbn_cbor.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 74057f2fd461f..59bd083939865 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2024-11-08 +date: 2024-11-10 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 1338a85f74493..fe7496fa5fc48 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2024-11-08 +date: 2024-11-10 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 7e2dc16042375..5c61643fe28d0 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2024-11-08 +date: 2024-11-10 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 7411283a6b45e..4ecf454766655 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2024-11-08 +date: 2024-11-10 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 d389dec4aa25b..6207ba4708f5c 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2024-11-08 +date: 2024-11-10 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 de79ef7a2019c..1140ef95f9154 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2024-11-08 +date: 2024-11-10 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 8115e0ac2ba45..54d2e9a9a1bd5 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_cloud_security_posture.mdx b/api_docs/kbn_cloud_security_posture.mdx index fdb3ecae7be14..2105d0f705b2e 100644 --- a/api_docs/kbn_cloud_security_posture.mdx +++ b/api_docs/kbn_cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cloud-security-posture title: "@kbn/cloud-security-posture" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cloud-security-posture plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cloud-security-posture'] --- import kbnCloudSecurityPostureObj from './kbn_cloud_security_posture.devdocs.json'; diff --git a/api_docs/kbn_cloud_security_posture_common.devdocs.json b/api_docs/kbn_cloud_security_posture_common.devdocs.json index 9416b32992a1d..6c0ae2a2db8aa 100644 --- a/api_docs/kbn_cloud_security_posture_common.devdocs.json +++ b/api_docs/kbn_cloud_security_posture_common.devdocs.json @@ -1547,7 +1547,7 @@ "label": "VulnSeverity", "description": [], "signature": [ - "\"UNKNOWN\" | \"LOW\" | \"MEDIUM\" | \"HIGH\" | \"CRITICAL\"" + "\"MEDIUM\" | \"UNKNOWN\" | \"LOW\" | \"HIGH\" | \"CRITICAL\"" ], "path": "x-pack/packages/kbn-cloud-security-posture/common/types/vulnerabilities.ts", "deprecated": false, diff --git a/api_docs/kbn_cloud_security_posture_common.mdx b/api_docs/kbn_cloud_security_posture_common.mdx index 9b6eb2a13d648..e0419e12a5953 100644 --- a/api_docs/kbn_cloud_security_posture_common.mdx +++ b/api_docs/kbn_cloud_security_posture_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cloud-security-posture-common title: "@kbn/cloud-security-posture-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cloud-security-posture-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cloud-security-posture-common'] --- import kbnCloudSecurityPostureCommonObj from './kbn_cloud_security_posture_common.devdocs.json'; diff --git a/api_docs/kbn_cloud_security_posture_graph.mdx b/api_docs/kbn_cloud_security_posture_graph.mdx index 5463412c8acc4..da7b99c4d816d 100644 --- a/api_docs/kbn_cloud_security_posture_graph.mdx +++ b/api_docs/kbn_cloud_security_posture_graph.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cloud-security-posture-graph title: "@kbn/cloud-security-posture-graph" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cloud-security-posture-graph plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cloud-security-posture-graph'] --- import kbnCloudSecurityPostureGraphObj from './kbn_cloud_security_posture_graph.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 053e88e555d29..2dbe9958c30ae 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mock.mdx b/api_docs/kbn_code_editor_mock.mdx index 8f525a751b000..65fb7e960dc50 100644 --- a/api_docs/kbn_code_editor_mock.mdx +++ b/api_docs/kbn_code_editor_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mock title: "@kbn/code-editor-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mock plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mock'] --- import kbnCodeEditorMockObj from './kbn_code_editor_mock.devdocs.json'; diff --git a/api_docs/kbn_code_owners.mdx b/api_docs/kbn_code_owners.mdx index 7150b08fe2e27..adfab103c2a09 100644 --- a/api_docs/kbn_code_owners.mdx +++ b/api_docs/kbn_code_owners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-owners title: "@kbn/code-owners" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-owners plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-owners'] --- import kbnCodeOwnersObj from './kbn_code_owners.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 41e5a376b977b..bacd8d90cbd72 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2024-11-08 +date: 2024-11-10 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 75a04520a8f23..872211553bbfe 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2024-11-08 +date: 2024-11-10 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 e26d80d11077f..1347f9befa003 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 e1325d801c1c4..5d155ab7305da 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2024-11-08 +date: 2024-11-10 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 af3796ce3ebb6..3722e6ade741d 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2024-11-08 +date: 2024-11-10 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_content_insights_public.mdx b/api_docs/kbn_content_management_content_insights_public.mdx index 1cb2b933db256..99edfc129929a 100644 --- a/api_docs/kbn_content_management_content_insights_public.mdx +++ b/api_docs/kbn_content_management_content_insights_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-insights-public title: "@kbn/content-management-content-insights-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-insights-public plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-insights-public'] --- import kbnContentManagementContentInsightsPublicObj from './kbn_content_management_content_insights_public.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_insights_server.mdx b/api_docs/kbn_content_management_content_insights_server.mdx index 6739013c77917..5082b4b2a6db1 100644 --- a/api_docs/kbn_content_management_content_insights_server.mdx +++ b/api_docs/kbn_content_management_content_insights_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-insights-server title: "@kbn/content-management-content-insights-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-insights-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-insights-server'] --- import kbnContentManagementContentInsightsServerObj from './kbn_content_management_content_insights_server.devdocs.json'; diff --git a/api_docs/kbn_content_management_favorites_public.mdx b/api_docs/kbn_content_management_favorites_public.mdx index 694522aad1832..5ce01aa6860d5 100644 --- a/api_docs/kbn_content_management_favorites_public.mdx +++ b/api_docs/kbn_content_management_favorites_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-favorites-public title: "@kbn/content-management-favorites-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-favorites-public plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-favorites-public'] --- import kbnContentManagementFavoritesPublicObj from './kbn_content_management_favorites_public.devdocs.json'; diff --git a/api_docs/kbn_content_management_favorites_server.mdx b/api_docs/kbn_content_management_favorites_server.mdx index b0a2eb96c4590..f99ace4c6a7cb 100644 --- a/api_docs/kbn_content_management_favorites_server.mdx +++ b/api_docs/kbn_content_management_favorites_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-favorites-server title: "@kbn/content-management-favorites-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-favorites-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-favorites-server'] --- import kbnContentManagementFavoritesServerObj from './kbn_content_management_favorites_server.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 00e6648652983..f061d59f9db2f 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2024-11-08 +date: 2024-11-10 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 d1a399e5d48df..8fddccb28f5e1 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_common.mdx b/api_docs/kbn_content_management_table_list_view_common.mdx index 258ba8e5ae2c6..f1fdf635a4a74 100644 --- a/api_docs/kbn_content_management_table_list_view_common.mdx +++ b/api_docs/kbn_content_management_table_list_view_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-common title: "@kbn/content-management-table-list-view-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-common'] --- import kbnContentManagementTableListViewCommonObj from './kbn_content_management_table_list_view_common.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 9b26b053cdaba..75317cbb18060 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_user_profiles.mdx b/api_docs/kbn_content_management_user_profiles.mdx index a136cbc423cc1..59dc618b47aef 100644 --- a/api_docs/kbn_content_management_user_profiles.mdx +++ b/api_docs/kbn_content_management_user_profiles.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-user-profiles title: "@kbn/content-management-user-profiles" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-user-profiles plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-user-profiles'] --- import kbnContentManagementUserProfilesObj from './kbn_content_management_user_profiles.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index db803939a093e..88be3d0829e79 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 c53a2d55730b7..c777392ba6175 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 8cdba55f0306a..e39d17bc3110d 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 b7e6156f37d54..0de9f23aa2f06 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 c6ac8353e4898..027b64516dd2e 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2024-11-08 +date: 2024-11-10 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 f4437b80e9930..ca52671875946 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 2f8e722e7484c..528184e40fe62 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 10e5f2efd1db0..5544997621fc7 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 6c6aae2613504..89b7c2b63cf08 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 d8db94bcc20d4..e44459ba92ccb 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 143141cda4b25..a59e0fd0122e9 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2024-11-08 +date: 2024-11-10 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 1d22fd1dbbd02..d3facda9cceca 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 d49fd90481cf6..ae9b561db4abf 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 cf4a96f7a9196..c777532f6b07e 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 3165ba05f1372..c7c42f06e30cc 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 a09e126ab40a8..43e7c3e5513f3 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2024-11-08 +date: 2024-11-10 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 bdfa8d07c3226..f19a27549639b 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 926e0786633c1..586c4f9c345cf 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 4c6788a6d0361..4ee4c2f5c8e4d 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 ec325021a8304..dfa28b6a22f83 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2024-11-08 +date: 2024-11-10 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 8344e08832d27..66420c5596455 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2024-11-08 +date: 2024-11-10 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 546bc395b8efc..6e19e15f1a23f 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 05efee394eac2..fae17c4d20213 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 7b76dc3b35ae6..ab7f74db2545d 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 1dff01b82d6a3..c34b4e1f533ca 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 e0f16729c2de0..009e5c702f757 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 f1acd9cb68d53..db761838cf7fe 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 c4e89aba9dc99..756e0a0cba8c7 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 1cf2bd3347683..03329ecd441e3 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2024-11-08 +date: 2024-11-10 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 c2f3cfd19af00..27a840cef5d73 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2024-11-08 +date: 2024-11-10 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 3ab0ddb98611d..843b9169cf8e3 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 31bde5c6e661e..88b5997a4315f 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 3bae1b7157877..95ef79887c8c9 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 547510822877f..54b8e9c5878db 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 12a1d16e2590d..5828e493045e7 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 5eb6e677f3bd8..db5e8657b9d26 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2024-11-08 +date: 2024-11-10 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 bd47957415e80..1f5ad1c886aed 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2024-11-08 +date: 2024-11-10 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 9a8b3c75785e3..b663a8930a225 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 76c29e6a00559..b72b34521f002 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 f0465b417b6fa..d3b56e55ecbdc 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 6682c8456b24b..1689c0c674626 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 17f26cb55d625..9ba038c0cbd37 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2024-11-08 +date: 2024-11-10 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 d41f16ebab204..fe3e04f5f54c7 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 a2587447b015a..7dc5ad0280dfd 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 003c373bc8f3c..551889a02bcbb 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 a62f04e7524d8..a47779bc7c152 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2024-11-08 +date: 2024-11-10 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 4ab53feb0a93c..d9af01ee7a939 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 b8aea54a9246f..576eb544e002d 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 b71bed10e7506..cb7556a01493f 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 5c2c83bcb34c1..a166c88361087 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 afd55e64c8652..08a53fcefcfa3 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 f5649ee11f0e0..54ea0083dbbd5 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 ae14c70e5a8e4..7721d2217fd65 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 092e26e39fe78..14e70ec33c1eb 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2024-11-08 +date: 2024-11-10 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 77a0e0888f3e9..d4030babd0cbe 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2024-11-08 +date: 2024-11-10 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 a0c9fd82aa011..038f106ae49fa 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 accf44121ce45..7ce2e42f0f3a8 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 e8eac256f3d63..267ab94c4500c 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 cde3eddba541d..c16e7f40af975 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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_feature_flags_browser.mdx b/api_docs/kbn_core_feature_flags_browser.mdx index 48b3b4672db9b..78c5943840e67 100644 --- a/api_docs/kbn_core_feature_flags_browser.mdx +++ b/api_docs/kbn_core_feature_flags_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-feature-flags-browser title: "@kbn/core-feature-flags-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-feature-flags-browser plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-feature-flags-browser'] --- import kbnCoreFeatureFlagsBrowserObj from './kbn_core_feature_flags_browser.devdocs.json'; diff --git a/api_docs/kbn_core_feature_flags_browser_internal.mdx b/api_docs/kbn_core_feature_flags_browser_internal.mdx index b3a2713360179..85d2546f097ae 100644 --- a/api_docs/kbn_core_feature_flags_browser_internal.mdx +++ b/api_docs/kbn_core_feature_flags_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-feature-flags-browser-internal title: "@kbn/core-feature-flags-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-feature-flags-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-feature-flags-browser-internal'] --- import kbnCoreFeatureFlagsBrowserInternalObj from './kbn_core_feature_flags_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_feature_flags_browser_mocks.mdx b/api_docs/kbn_core_feature_flags_browser_mocks.mdx index 9067c85849e05..cba51e77d5539 100644 --- a/api_docs/kbn_core_feature_flags_browser_mocks.mdx +++ b/api_docs/kbn_core_feature_flags_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-feature-flags-browser-mocks title: "@kbn/core-feature-flags-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-feature-flags-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-feature-flags-browser-mocks'] --- import kbnCoreFeatureFlagsBrowserMocksObj from './kbn_core_feature_flags_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_feature_flags_server.mdx b/api_docs/kbn_core_feature_flags_server.mdx index 8701e871ff56d..698de8981409b 100644 --- a/api_docs/kbn_core_feature_flags_server.mdx +++ b/api_docs/kbn_core_feature_flags_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-feature-flags-server title: "@kbn/core-feature-flags-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-feature-flags-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-feature-flags-server'] --- import kbnCoreFeatureFlagsServerObj from './kbn_core_feature_flags_server.devdocs.json'; diff --git a/api_docs/kbn_core_feature_flags_server_internal.mdx b/api_docs/kbn_core_feature_flags_server_internal.mdx index a1a83d8048184..24db35fafbf8d 100644 --- a/api_docs/kbn_core_feature_flags_server_internal.mdx +++ b/api_docs/kbn_core_feature_flags_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-feature-flags-server-internal title: "@kbn/core-feature-flags-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-feature-flags-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-feature-flags-server-internal'] --- import kbnCoreFeatureFlagsServerInternalObj from './kbn_core_feature_flags_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_feature_flags_server_mocks.mdx b/api_docs/kbn_core_feature_flags_server_mocks.mdx index cfa8b4234d073..841cf097df01c 100644 --- a/api_docs/kbn_core_feature_flags_server_mocks.mdx +++ b/api_docs/kbn_core_feature_flags_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-feature-flags-server-mocks title: "@kbn/core-feature-flags-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-feature-flags-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-feature-flags-server-mocks'] --- import kbnCoreFeatureFlagsServerMocksObj from './kbn_core_feature_flags_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index b09e03bad5c38..dcfe391a99df8 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 83812ff7f3da2..00137d31416fb 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 77f7075f6daa9..97710cf69f5df 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 defbc1d7bc628..41529e7adb136 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2024-11-08 +date: 2024-11-10 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 dfd3211714c36..89ae18137a86c 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 9832a6485a606..cf823ed9de48a 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2024-11-08 +date: 2024-11-10 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 6749b199fc181..d21471012ce06 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2024-11-08 +date: 2024-11-10 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 c493a8ce96f6b..57d2294508c0d 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 f4855c93f0f13..a1f7b520243e0 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 463a9f348ca9c..806e97209a176 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 d179a3f02bd81..7dea6b9b51af6 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 cec0b6a7b79ba..8be8df4eef115 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -15044,6 +15044,10 @@ "plugin": "data", "path": "src/plugins/data/server/scripts/route.ts" }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/options_list/options_list_cluster_settings_route.ts" + }, { "plugin": "@kbn/core-http-router-server-mocks", "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" @@ -15692,6 +15696,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/index_status/index.ts" }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/server/api/register_routes.ts" + }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/server/api/register_routes.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/tags/routes/get_tags_by_name.ts" @@ -15896,10 +15908,6 @@ "plugin": "dataUsage", "path": "x-pack/plugins/data_usage/server/routes/internal/data_streams.test.ts" }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/options_list/options_list_cluster_settings_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" @@ -16299,6 +16307,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/stored_scripts/create_script_route.ts" }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/server/api/register_routes.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/tags/routes/create_tag.ts" @@ -16538,6 +16550,10 @@ "plugin": "unifiedSearch", "path": "src/plugins/unified_search/server/autocomplete/value_suggestions_route.ts" }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/options_list/options_list_suggestions_route.ts" + }, { "plugin": "@kbn/core-http-router-server-mocks", "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" @@ -17226,6 +17242,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/exceptions/api/manage_exceptions/route.ts" }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/server/api/register_routes.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/dashboards/routes/get_dashboards_by_tags.ts" @@ -17426,10 +17446,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_delete_rules/route.ts" }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/options_list/options_list_suggestions_route.ts" - }, { "plugin": "dataViewFieldEditor", "path": "src/plugins/data_view_field_editor/server/routes/field_preview.ts" @@ -17900,6 +17916,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/stored_scripts/delete_script_route.ts" }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/server/api/register_routes.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/delete_timelines/index.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 6e20645c2b1a0..22a55999b2b20 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2024-11-08 +date: 2024-11-10 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 419c3526a65e0..76a3b0ffeb787 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 c282e1be93603..7e847684aadc7 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 048c1da5d793e..06174be7b93d2 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 10cb8a3cb75a6..b5de2f82119bd 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 5bba163c2afaa..1977c5e0a8be0 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2024-11-08 +date: 2024-11-10 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 36ab85680d2e3..eee3c8da40f38 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 c3958bda28e21..894797810843b 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 42e02c13c9cca..98f27e65cdc23 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 30bda01e38c78..034c9ad3f48cd 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 58ffccfb509f3..a4f0dddf96a5f 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 a96e3703c219e..a0046c0797b3e 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 67985d721ef3f..f5fd4db35139b 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 171dd966b627c..cc0d5956cd1fa 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2024-11-08 +date: 2024-11-10 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 59691c424ff6f..8aa59648d0797 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 f05f3b114201f..90380bb9c42a2 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 9b3281959e795..3fc4d0fc36ded 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 9b96ea2494bf8..1d68b54f686af 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2024-11-08 +date: 2024-11-10 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 f2e69f0a648d8..5590e08233ca1 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 e1ea026c12ff0..da22edb8269c7 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 9ac8290d32bdd..7f768178d564f 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 1142e934e9bc5..f411d12c497bc 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 e1c0be205352a..0bc94373c6df8 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2024-11-08 +date: 2024-11-10 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 45003661b13ad..6dfbeac99e48f 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 1360775d70360..2f12d246852d4 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 fa05735e2d139..b51ef6731a04f 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 38f3f0ab1e2e2..412506323d4dc 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2024-11-08 +date: 2024-11-10 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 d2dd69ff5a194..696aedd38ebf6 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 219bcb3c38874..a9f10d3f054b1 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 e00b56119a344..abc649756abaa 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 7f1d96ad0299a..5db989cb9a02e 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 8c6ab1e7fecae..da92f53770b46 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 76633106367d2..cd1254b8b4de4 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 0ff2eb63c839a..d84d540f812ac 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 3ea175cd6eaf0..8fad40262e6a5 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 79c2b662fbad5..cc93c2408a190 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 6335d301bdfd8..9d4d3224e6913 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_contracts_browser.mdx b/api_docs/kbn_core_plugins_contracts_browser.mdx index 61c04c16e9972..91b3a204785df 100644 --- a/api_docs/kbn_core_plugins_contracts_browser.mdx +++ b/api_docs/kbn_core_plugins_contracts_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-browser title: "@kbn/core-plugins-contracts-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-browser plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-browser'] --- import kbnCorePluginsContractsBrowserObj from './kbn_core_plugins_contracts_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_contracts_server.mdx b/api_docs/kbn_core_plugins_contracts_server.mdx index 6e04f5490ea88..828516d938845 100644 --- a/api_docs/kbn_core_plugins_contracts_server.mdx +++ b/api_docs/kbn_core_plugins_contracts_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-server title: "@kbn/core-plugins-contracts-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-server'] --- import kbnCorePluginsContractsServerObj from './kbn_core_plugins_contracts_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 39086653bf91d..b0ca1147804b4 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2024-11-08 +date: 2024-11-10 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 7b12de20e2cb4..a7c367e63cd8a 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 05c94fe8b3fbf..00979968dbfc2 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2024-11-08 +date: 2024-11-10 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 3ed674b2ec0b7..3cf0037d7aa8c 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 f335441f9c10f..2e226e422d9df 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 5abb1e8e86378..b1ddfdbb2b39e 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 8167644e3232b..da9c9329c82c1 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 dad32a926edc8..f6f429c22e458 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index e2dfcdcfa944a..f39127097422f 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index c938c04efe99e..553e6ff180341 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index 5bf08585d6d80..519c91ca3ec60 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 ffe03279d0a63..456c43b2938fd 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 27d0b78ed5dc0..8b01f07d1f648 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 a4fd564726f85..7419aa8865645 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 01ae33b8683b8..ad9815f9ab5f1 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 558fb5f5c4548..4cf04f0b1cb82 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 b6c10bc23fbf5..aa154124910a8 100644 --- a/api_docs/kbn_core_saved_objects_common.devdocs.json +++ b/api_docs/kbn_core_saved_objects_common.devdocs.json @@ -2438,6 +2438,54 @@ "plugin": "lens", "path": "x-pack/plugins/lens/common/embeddable_factory/index.ts" }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/control_group/control_group_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/control_group/control_group_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/control_group/control_group_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/options_list/options_list_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/options_list/options_list_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/options_list/options_list_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/range_slider/range_slider_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/range_slider/range_slider_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/range_slider/range_slider_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/time_slider/time_slider_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/time_slider/time_slider_persistable_state.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/time_slider/time_slider_persistable_state.ts" + }, { "plugin": "maps", "path": "x-pack/plugins/maps/common/migrations/references.ts" @@ -2558,54 +2606,6 @@ "plugin": "globalSearchProviders", "path": "x-pack/plugins/global_search_providers/server/providers/saved_objects/map_object_to_result.test.ts" }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/control_group/control_group_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/control_group/control_group_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/control_group/control_group_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/options_list/options_list_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/options_list/options_list_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/options_list/options_list_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/range_slider/range_slider_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/range_slider/range_slider_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/range_slider/range_slider_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/time_slider/time_slider_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/time_slider/time_slider_persistable_state.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/server/time_slider/time_slider_persistable_state.ts" - }, { "plugin": "expressions", "path": "src/plugins/expressions/common/executor/executor.test.ts" diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index cecb58a430d39..122e9c5027e88 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2024-11-08 +date: 2024-11-10 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 94016058867d7..c4b6619397acd 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 19c2dd446ba17..9b7ceeb031649 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 fd4468661f244..eed8fc80a82cf 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 e7df34f7f9fe4..7d9631a9a7ab4 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 3e9dd65d39ab2..92271de1c5c74 100644 --- a/api_docs/kbn_core_saved_objects_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server.devdocs.json @@ -10655,6 +10655,10 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/saved_objects/index.ts" }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts" + }, { "plugin": "@kbn/core-saved-objects-migration-server-mocks", "path": "packages/core/saved-objects/core-saved-objects-migration-server-mocks/src/kibana_migrator.mock.ts" @@ -10803,10 +10807,6 @@ "plugin": "uptime", "path": "x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/uptime_settings.ts" }, - { - "plugin": "dashboard", - "path": "src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts" - }, { "plugin": "eventAnnotation", "path": "src/plugins/event_annotation/server/saved_objects.ts" @@ -11322,6 +11322,10 @@ "plugin": "data", "path": "src/plugins/data/server/search/saved_objects/search_session.ts" }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts" + }, { "plugin": "savedSearch", "path": "src/plugins/saved_search/server/saved_objects/search.ts" @@ -11338,10 +11342,6 @@ "plugin": "visualizations", "path": "src/plugins/visualizations/server/saved_objects/visualization.ts" }, - { - "plugin": "dashboard", - "path": "src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts" - }, { "plugin": "@kbn/core-test-helpers-so-type-serializer", "path": "packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.ts" @@ -11494,6 +11494,10 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/saved_objects/index.ts" }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/saved_objects.ts" @@ -11566,10 +11570,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts" }, - { - "plugin": "dashboard", - "path": "src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts" - }, { "plugin": "@kbn/core-test-helpers-so-type-serializer", "path": "packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.ts" diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 4c320688d9926..8430dd99548bb 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2024-11-08 +date: 2024-11-10 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 deba9276128e3..f24bb0ea72eaa 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 fe9bdf75efd3c..668c2b2816408 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 d3a3cb1069a37..ff60605a55cf3 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_security_browser.mdx b/api_docs/kbn_core_security_browser.mdx index ad7a86ad40f65..69c3b72d20e45 100644 --- a/api_docs/kbn_core_security_browser.mdx +++ b/api_docs/kbn_core_security_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-browser title: "@kbn/core-security-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-browser plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-browser'] --- import kbnCoreSecurityBrowserObj from './kbn_core_security_browser.devdocs.json'; diff --git a/api_docs/kbn_core_security_browser_internal.mdx b/api_docs/kbn_core_security_browser_internal.mdx index 64a36d37e93ea..bc60bd1cb57c6 100644 --- a/api_docs/kbn_core_security_browser_internal.mdx +++ b/api_docs/kbn_core_security_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-browser-internal title: "@kbn/core-security-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-browser-internal'] --- import kbnCoreSecurityBrowserInternalObj from './kbn_core_security_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_security_browser_mocks.mdx b/api_docs/kbn_core_security_browser_mocks.mdx index 79de207f85196..4ecf160b14fa0 100644 --- a/api_docs/kbn_core_security_browser_mocks.mdx +++ b/api_docs/kbn_core_security_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-browser-mocks title: "@kbn/core-security-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-browser-mocks'] --- import kbnCoreSecurityBrowserMocksObj from './kbn_core_security_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_security_common.mdx b/api_docs/kbn_core_security_common.mdx index a420c8ae872c7..e1a555c9898fe 100644 --- a/api_docs/kbn_core_security_common.mdx +++ b/api_docs/kbn_core_security_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-common title: "@kbn/core-security-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-common'] --- import kbnCoreSecurityCommonObj from './kbn_core_security_common.devdocs.json'; diff --git a/api_docs/kbn_core_security_server.mdx b/api_docs/kbn_core_security_server.mdx index 04c338acd3cd6..177ab26c9f6d5 100644 --- a/api_docs/kbn_core_security_server.mdx +++ b/api_docs/kbn_core_security_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-server title: "@kbn/core-security-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-server'] --- import kbnCoreSecurityServerObj from './kbn_core_security_server.devdocs.json'; diff --git a/api_docs/kbn_core_security_server_internal.mdx b/api_docs/kbn_core_security_server_internal.mdx index d98cd64d16ba0..95285462ec83c 100644 --- a/api_docs/kbn_core_security_server_internal.mdx +++ b/api_docs/kbn_core_security_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-server-internal title: "@kbn/core-security-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-server-internal'] --- import kbnCoreSecurityServerInternalObj from './kbn_core_security_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_security_server_mocks.mdx b/api_docs/kbn_core_security_server_mocks.mdx index e44dbc843d12f..d3e9d7ee423f4 100644 --- a/api_docs/kbn_core_security_server_mocks.mdx +++ b/api_docs/kbn_core_security_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-server-mocks title: "@kbn/core-security-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-server-mocks'] --- import kbnCoreSecurityServerMocksObj from './kbn_core_security_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index fc199021f71ca..dd50142759b71 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2024-11-08 +date: 2024-11-10 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 f0071270786fc..d23544e689464 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 e2134560498fe..c353565cdc9e6 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2024-11-08 +date: 2024-11-10 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 ba3dd696d44b2..c109afd8f6234 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 8c725e072fa53..2bf3636a02e89 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 f81ff42792f0b..bb35ab5dbf02a 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2024-11-08 +date: 2024-11-10 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 6d63d01d6948d..6f11e379373e6 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 0edf2baceb5b7..e741bb5e7e4cd 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_model_versions.mdx b/api_docs/kbn_core_test_helpers_model_versions.mdx index 06b13a5f08f4f..b207e9f64712c 100644 --- a/api_docs/kbn_core_test_helpers_model_versions.mdx +++ b/api_docs/kbn_core_test_helpers_model_versions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions title: "@kbn/core-test-helpers-model-versions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-model-versions plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-model-versions'] --- import kbnCoreTestHelpersModelVersionsObj from './kbn_core_test_helpers_model_versions.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index b5793de0d5030..b0cdeaf2f00e8 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2024-11-08 +date: 2024-11-10 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 c396cca9b79c3..7e279df6cc60b 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 b609c8a57f828..fc6ad7b2c8869 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 35cb497c510bd..6e0ff959d7450 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 68e2a4f471519..1fb29c6c899aa 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 50e484eb7a701..fa2bce7f6cbde 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 07ec139589342..e2b7e33a64ecb 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 5c1d171f68e01..a0369dfa5c1cb 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2024-11-08 +date: 2024-11-10 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 54a83e4b82f12..0839550d97f61 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2024-11-08 +date: 2024-11-10 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 f28284118c30f..3de68be7936fa 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 29b97be3c6e81..48dec3594a8e8 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index e64ba9b03c545..cd16b7558abfc 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index a75a9e37de998..845e1f0f224d8 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 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 f1a9f5c098f0e..1500811c59061 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_browser.mdx b/api_docs/kbn_core_user_profile_browser.mdx index d4486c0625f9f..50570ba053980 100644 --- a/api_docs/kbn_core_user_profile_browser.mdx +++ b/api_docs/kbn_core_user_profile_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-browser title: "@kbn/core-user-profile-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-browser plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-browser'] --- import kbnCoreUserProfileBrowserObj from './kbn_core_user_profile_browser.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_browser_internal.mdx b/api_docs/kbn_core_user_profile_browser_internal.mdx index d787dc719d7cf..86d77d447dd1d 100644 --- a/api_docs/kbn_core_user_profile_browser_internal.mdx +++ b/api_docs/kbn_core_user_profile_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-browser-internal title: "@kbn/core-user-profile-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-browser-internal plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-browser-internal'] --- import kbnCoreUserProfileBrowserInternalObj from './kbn_core_user_profile_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_browser_mocks.mdx b/api_docs/kbn_core_user_profile_browser_mocks.mdx index 8a3b5e2c57314..cb9207ae2bc8c 100644 --- a/api_docs/kbn_core_user_profile_browser_mocks.mdx +++ b/api_docs/kbn_core_user_profile_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-browser-mocks title: "@kbn/core-user-profile-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-browser-mocks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-browser-mocks'] --- import kbnCoreUserProfileBrowserMocksObj from './kbn_core_user_profile_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_common.mdx b/api_docs/kbn_core_user_profile_common.mdx index eadb22f7c1b82..bc81d9a28fd43 100644 --- a/api_docs/kbn_core_user_profile_common.mdx +++ b/api_docs/kbn_core_user_profile_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-common title: "@kbn/core-user-profile-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-common'] --- import kbnCoreUserProfileCommonObj from './kbn_core_user_profile_common.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_server.mdx b/api_docs/kbn_core_user_profile_server.mdx index 8ec3d42aed2ed..bc877942ccac9 100644 --- a/api_docs/kbn_core_user_profile_server.mdx +++ b/api_docs/kbn_core_user_profile_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-server title: "@kbn/core-user-profile-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-server'] --- import kbnCoreUserProfileServerObj from './kbn_core_user_profile_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_server_internal.mdx b/api_docs/kbn_core_user_profile_server_internal.mdx index b3926fb49173e..720bc1b93fe6e 100644 --- a/api_docs/kbn_core_user_profile_server_internal.mdx +++ b/api_docs/kbn_core_user_profile_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-server-internal title: "@kbn/core-user-profile-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-server-internal plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-server-internal'] --- import kbnCoreUserProfileServerInternalObj from './kbn_core_user_profile_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_server_mocks.mdx b/api_docs/kbn_core_user_profile_server_mocks.mdx index 6fbe62968f648..6aa24c02eded8 100644 --- a/api_docs/kbn_core_user_profile_server_mocks.mdx +++ b/api_docs/kbn_core_user_profile_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-server-mocks title: "@kbn/core-user-profile-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-server-mocks'] --- import kbnCoreUserProfileServerMocksObj from './kbn_core_user_profile_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 3e62d2b94926c..5008643b50f55 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index cb2147a9be74d..d90dde244a34c 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 ea4fe79d5376b..380f53922e177 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2024-11-08 +date: 2024-11-10 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 e05c4d1e210eb..bd37988bcb376 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_icons.mdx b/api_docs/kbn_custom_icons.mdx index fb3ce441e0599..33f742426f3ed 100644 --- a/api_docs/kbn_custom_icons.mdx +++ b/api_docs/kbn_custom_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-icons title: "@kbn/custom-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-icons plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-icons'] --- import kbnCustomIconsObj from './kbn_custom_icons.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index 4a897ba3065b7..ca1d92e803ba3 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index d2b038947db14..68d52f798093a 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_forge.mdx b/api_docs/kbn_data_forge.mdx index 673efdc51855b..884c096c6f195 100644 --- a/api_docs/kbn_data_forge.mdx +++ b/api_docs/kbn_data_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-forge title: "@kbn/data-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-forge plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-forge'] --- import kbnDataForgeObj from './kbn_data_forge.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index eacea6c9a4fe4..06dbe09dee103 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_data_stream_adapter.mdx b/api_docs/kbn_data_stream_adapter.mdx index 65035f668ea7e..16e9c878c437f 100644 --- a/api_docs/kbn_data_stream_adapter.mdx +++ b/api_docs/kbn_data_stream_adapter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-stream-adapter title: "@kbn/data-stream-adapter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-stream-adapter plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-stream-adapter'] --- import kbnDataStreamAdapterObj from './kbn_data_stream_adapter.devdocs.json'; diff --git a/api_docs/kbn_data_view_utils.mdx b/api_docs/kbn_data_view_utils.mdx index d1024753a7127..be2e38e98ea8f 100644 --- a/api_docs/kbn_data_view_utils.mdx +++ b/api_docs/kbn_data_view_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-view-utils title: "@kbn/data-view-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-view-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-view-utils'] --- import kbnDataViewUtilsObj from './kbn_data_view_utils.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 0b511f5b2c92d..a7fd20e6ed966 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2024-11-08 +date: 2024-11-10 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 9751727d1bf61..83c60338d0c7e 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2024-11-08 +date: 2024-11-10 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 76472b9dfaee4..e20555dbab9a3 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_fleet.mdx b/api_docs/kbn_deeplinks_fleet.mdx index 839930a3e6f6c..0986c2ee9c48f 100644 --- a/api_docs/kbn_deeplinks_fleet.mdx +++ b/api_docs/kbn_deeplinks_fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-fleet title: "@kbn/deeplinks-fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-fleet plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-fleet'] --- import kbnDeeplinksFleetObj from './kbn_deeplinks_fleet.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index b2a9fb9da6459..f67b1d1beda2f 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2024-11-08 +date: 2024-11-10 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 34f0db982e8b6..a77d9fcc9adeb 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2024-11-08 +date: 2024-11-10 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 121cfa58f26d4..376e5e492d044 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 16a4c9b5ecc81..5f20b9959df1a 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_security.mdx b/api_docs/kbn_deeplinks_security.mdx index 88a6c3890ae94..06c29487c0aca 100644 --- a/api_docs/kbn_deeplinks_security.mdx +++ b/api_docs/kbn_deeplinks_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-security title: "@kbn/deeplinks-security" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-security plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-security'] --- import kbnDeeplinksSecurityObj from './kbn_deeplinks_security.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_shared.mdx b/api_docs/kbn_deeplinks_shared.mdx index dbd8e6f9ba8ed..d4a64d6bb2a2e 100644 --- a/api_docs/kbn_deeplinks_shared.mdx +++ b/api_docs/kbn_deeplinks_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-shared title: "@kbn/deeplinks-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-shared plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-shared'] --- import kbnDeeplinksSharedObj from './kbn_deeplinks_shared.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index 9d4062479db83..cb8fcf5ec07fb 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2024-11-08 +date: 2024-11-10 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 ead0618a413d7..18eecf2d4bcce 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2024-11-08 +date: 2024-11-10 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 ae08d2cc3c076..1135b89985cbb 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2024-11-08 +date: 2024-11-10 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 f896d8e5869e9..c1ddebf012dd8 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2024-11-08 +date: 2024-11-10 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 8dcbdc99097e1..893a968e13a5e 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2024-11-08 +date: 2024-11-10 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 95bed3be3a071..d116d9639ea1f 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2024-11-08 +date: 2024-11-10 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 2df94dbd57bb9..a5a03e485dad7 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2024-11-08 +date: 2024-11-10 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 3e2c8c039a5dc..126248514b123 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_contextual_components.mdx b/api_docs/kbn_discover_contextual_components.mdx index 34b3887389b03..f90b6f8985636 100644 --- a/api_docs/kbn_discover_contextual_components.mdx +++ b/api_docs/kbn_discover_contextual_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-contextual-components title: "@kbn/discover-contextual-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-contextual-components plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-contextual-components'] --- import kbnDiscoverContextualComponentsObj from './kbn_discover_contextual_components.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index d8b2a11080600..bf4f841400e20 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 bb13913af8c27..850c4a18ee39f 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2024-11-08 +date: 2024-11-10 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 ea0745b1e071b..2702f69156938 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 9c41ab045d009..089448654b158 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2024-11-08 +date: 2024-11-10 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 25fab3e0ace78..f31719fe91b92 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index f582862c25d23..996db7dec146d 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_agent_utils.mdx b/api_docs/kbn_elastic_agent_utils.mdx index 5a2dc8ce48d49..dda2e2030e569 100644 --- a/api_docs/kbn_elastic_agent_utils.mdx +++ b/api_docs/kbn_elastic_agent_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-agent-utils title: "@kbn/elastic-agent-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-agent-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-agent-utils'] --- import kbnElasticAgentUtilsObj from './kbn_elastic_agent_utils.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 0d9bef1cb826e..ef12d33ed1a75 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant_common.mdx b/api_docs/kbn_elastic_assistant_common.mdx index 55ca2b578b55d..a21a8df0dfa58 100644 --- a/api_docs/kbn_elastic_assistant_common.mdx +++ b/api_docs/kbn_elastic_assistant_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant-common title: "@kbn/elastic-assistant-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant-common'] --- import kbnElasticAssistantCommonObj from './kbn_elastic_assistant_common.devdocs.json'; diff --git a/api_docs/kbn_entities_schema.mdx b/api_docs/kbn_entities_schema.mdx index 71a6311cfff1f..21636d8849446 100644 --- a/api_docs/kbn_entities_schema.mdx +++ b/api_docs/kbn_entities_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-entities-schema title: "@kbn/entities-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/entities-schema plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/entities-schema'] --- import kbnEntitiesSchemaObj from './kbn_entities_schema.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 5359c43d55fb1..ebd77a91caaad 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2024-11-08 +date: 2024-11-10 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 890aa61c198f6..e408bd32ffd34 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2024-11-08 +date: 2024-11-10 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 26e2b95c05984..a0cbfffe7bc90 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2024-11-08 +date: 2024-11-10 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 3f44cf137bfc0..b4037d794893c 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2024-11-08 +date: 2024-11-10 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 d62ccb552272e..010294f3687c3 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2024-11-08 +date: 2024-11-10 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 deee79ce94dec..2ca9fb754a86f 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_esql_ast.mdx b/api_docs/kbn_esql_ast.mdx index 151c822a92008..868d111d0832f 100644 --- a/api_docs/kbn_esql_ast.mdx +++ b/api_docs/kbn_esql_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-esql-ast title: "@kbn/esql-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/esql-ast plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/esql-ast'] --- import kbnEsqlAstObj from './kbn_esql_ast.devdocs.json'; diff --git a/api_docs/kbn_esql_editor.mdx b/api_docs/kbn_esql_editor.mdx index 0824134ab7eba..d93d65c75fbe5 100644 --- a/api_docs/kbn_esql_editor.mdx +++ b/api_docs/kbn_esql_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-esql-editor title: "@kbn/esql-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/esql-editor plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/esql-editor'] --- import kbnEsqlEditorObj from './kbn_esql_editor.devdocs.json'; diff --git a/api_docs/kbn_esql_utils.mdx b/api_docs/kbn_esql_utils.mdx index 727915154ba2b..7eb695f3eb090 100644 --- a/api_docs/kbn_esql_utils.mdx +++ b/api_docs/kbn_esql_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-esql-utils title: "@kbn/esql-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/esql-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/esql-utils'] --- import kbnEsqlUtilsObj from './kbn_esql_utils.devdocs.json'; diff --git a/api_docs/kbn_esql_validation_autocomplete.mdx b/api_docs/kbn_esql_validation_autocomplete.mdx index aa22572b7af26..9cb6536735f14 100644 --- a/api_docs/kbn_esql_validation_autocomplete.mdx +++ b/api_docs/kbn_esql_validation_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-esql-validation-autocomplete title: "@kbn/esql-validation-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/esql-validation-autocomplete plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/esql-validation-autocomplete'] --- import kbnEsqlValidationAutocompleteObj from './kbn_esql_validation_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index 9be858ee19f98..cf150d8584947 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2024-11-08 +date: 2024-11-10 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 e2a372dc017ac..a6b94398890cc 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2024-11-08 +date: 2024-11-10 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 09c8793a17468..489e50b25ec96 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2024-11-08 +date: 2024-11-10 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 2dc340d10b4a7..55f5c1ba26bcb 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_field_utils.mdx b/api_docs/kbn_field_utils.mdx index 82ab947644e8c..59965cf55036b 100644 --- a/api_docs/kbn_field_utils.mdx +++ b/api_docs/kbn_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-utils title: "@kbn/field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-utils'] --- import kbnFieldUtilsObj from './kbn_field_utils.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 7cdcde9671e41..aaa171be04879 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_formatters.mdx b/api_docs/kbn_formatters.mdx index 4529bf50f3a4e..d0cd317591a25 100644 --- a/api_docs/kbn_formatters.mdx +++ b/api_docs/kbn_formatters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-formatters title: "@kbn/formatters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/formatters plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/formatters'] --- import kbnFormattersObj from './kbn_formatters.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index ac3c431152b53..7ca5d78746af0 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_ui_services.mdx b/api_docs/kbn_ftr_common_functional_ui_services.mdx index e356c685be1f3..d7acef3d9f421 100644 --- a/api_docs/kbn_ftr_common_functional_ui_services.mdx +++ b/api_docs/kbn_ftr_common_functional_ui_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-ui-services title: "@kbn/ftr-common-functional-ui-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-ui-services plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-ui-services'] --- import kbnFtrCommonFunctionalUiServicesObj from './kbn_ftr_common_functional_ui_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 327bce8b463a0..1113833946ce6 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2024-11-08 +date: 2024-11-10 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 ef59bcb8af553..345cbfb15640b 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2024-11-08 +date: 2024-11-10 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 3f8d8b67de9a6..dda4c0f14cc88 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_grid_layout.mdx b/api_docs/kbn_grid_layout.mdx index 5da69cea57077..ced780a7de485 100644 --- a/api_docs/kbn_grid_layout.mdx +++ b/api_docs/kbn_grid_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-grid-layout title: "@kbn/grid-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/grid-layout plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/grid-layout'] --- import kbnGridLayoutObj from './kbn_grid_layout.devdocs.json'; diff --git a/api_docs/kbn_grouping.mdx b/api_docs/kbn_grouping.mdx index e86696866ebe3..c734b583edd71 100644 --- a/api_docs/kbn_grouping.mdx +++ b/api_docs/kbn_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-grouping title: "@kbn/grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/grouping plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/grouping'] --- import kbnGroupingObj from './kbn_grouping.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 02b740d45425e..2d69201e6a3e9 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2024-11-08 +date: 2024-11-10 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 0728dcca96242..75f1a04ce809c 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2024-11-08 +date: 2024-11-10 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 ce7d9c980d9e8..dbbd634346bce 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 cfc4653c9d684..cfc60f348ca78 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2024-11-08 +date: 2024-11-10 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 60957f55c501c..0dbf15092c990 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2024-11-08 +date: 2024-11-10 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 75f3a0b462e4a..19368ad58deac 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2024-11-08 +date: 2024-11-10 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 3ef2b944a43f1..94eb34e6c2848 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2024-11-08 +date: 2024-11-10 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 aa7e212afa5c4..b771ec600f314 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2024-11-08 +date: 2024-11-10 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 66cb53b9d0cea..2a131f248499e 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_index_management_shared_types.mdx b/api_docs/kbn_index_management_shared_types.mdx index 4e437319c5109..9aa8c3d4a8525 100644 --- a/api_docs/kbn_index_management_shared_types.mdx +++ b/api_docs/kbn_index_management_shared_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-index-management-shared-types title: "@kbn/index-management-shared-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/index-management-shared-types plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/index-management-shared-types'] --- import kbnIndexManagementSharedTypesObj from './kbn_index_management_shared_types.devdocs.json'; diff --git a/api_docs/kbn_inference_common.mdx b/api_docs/kbn_inference_common.mdx index 54eb0648fcc21..5707b0dee8442 100644 --- a/api_docs/kbn_inference_common.mdx +++ b/api_docs/kbn_inference_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-inference-common title: "@kbn/inference-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/inference-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/inference-common'] --- import kbnInferenceCommonObj from './kbn_inference_common.devdocs.json'; diff --git a/api_docs/kbn_inference_integration_flyout.mdx b/api_docs/kbn_inference_integration_flyout.mdx index ebf96e2d92ba3..13f101fde9b1c 100644 --- a/api_docs/kbn_inference_integration_flyout.mdx +++ b/api_docs/kbn_inference_integration_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-inference_integration_flyout title: "@kbn/inference_integration_flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/inference_integration_flyout plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/inference_integration_flyout'] --- import kbnInferenceIntegrationFlyoutObj from './kbn_inference_integration_flyout.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index e17e2c3f4151a..4c34cfd001046 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2024-11-08 +date: 2024-11-10 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 3073961291f94..29c5511b68be6 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_investigation_shared.mdx b/api_docs/kbn_investigation_shared.mdx index f1881a4c0427d..2fa7a18034560 100644 --- a/api_docs/kbn_investigation_shared.mdx +++ b/api_docs/kbn_investigation_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-investigation-shared title: "@kbn/investigation-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/investigation-shared plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/investigation-shared'] --- import kbnInvestigationSharedObj from './kbn_investigation_shared.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index 6064b07b143e7..3b613b0693a90 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_ipynb.mdx b/api_docs/kbn_ipynb.mdx index fdcf6e763ffa1..3009daa0e2c87 100644 --- a/api_docs/kbn_ipynb.mdx +++ b/api_docs/kbn_ipynb.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ipynb title: "@kbn/ipynb" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ipynb plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ipynb'] --- import kbnIpynbObj from './kbn_ipynb.devdocs.json'; diff --git a/api_docs/kbn_item_buffer.mdx b/api_docs/kbn_item_buffer.mdx index ed72424a1f823..1b3675bc8b84e 100644 --- a/api_docs/kbn_item_buffer.mdx +++ b/api_docs/kbn_item_buffer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-item-buffer title: "@kbn/item-buffer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/item-buffer plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/item-buffer'] --- import kbnItemBufferObj from './kbn_item_buffer.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index d656e030306b6..a1cdf973c4c26 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2024-11-08 +date: 2024-11-10 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 f4895bf469e5d..a42099416fc08 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2024-11-08 +date: 2024-11-10 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 00b6fc21cb7ec..f380f815b2340 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_json_schemas.mdx b/api_docs/kbn_json_schemas.mdx index 1a37bf7cfc29b..600f8bee812ee 100644 --- a/api_docs/kbn_json_schemas.mdx +++ b/api_docs/kbn_json_schemas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-schemas title: "@kbn/json-schemas" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-schemas plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-schemas'] --- import kbnJsonSchemasObj from './kbn_json_schemas.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.devdocs.json b/api_docs/kbn_kibana_manifest_schema.devdocs.json index 296e6527f7bcb..a5cfad8409926 100644 --- a/api_docs/kbn_kibana_manifest_schema.devdocs.json +++ b/api_docs/kbn_kibana_manifest_schema.devdocs.json @@ -1024,66 +1024,6 @@ "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", "deprecated": false, "trackAdoption": false - }, - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-common.MANIFEST_V2.properties.group.default", - "type": "string", - "tags": [], - "label": "default", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-common.MANIFEST_V2.properties.visibility", - "type": "Object", - "tags": [], - "label": "visibility", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-common.MANIFEST_V2.properties.visibility.enum", - "type": "Array", - "tags": [], - "label": "enum", - "description": [], - "signature": [ - "string[]" - ], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-common.MANIFEST_V2.properties.visibility.description", - "type": "string", - "tags": [], - "label": "description", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/kibana-manifest-schema", - "id": "def-common.MANIFEST_V2.properties.visibility.default", - "type": "string", - "tags": [], - "label": "default", - "description": [], - "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", - "deprecated": false, - "trackAdoption": false } ] }, @@ -1398,6 +1338,20 @@ } ] }, + { + "parentPluginId": "@kbn/kibana-manifest-schema", + "id": "def-common.MANIFEST_V2.allOf", + "type": "Array", + "tags": [], + "label": "allOf", + "description": [], + "signature": [ + "{ if: { properties: { group: { const: string; }; }; }; then: { properties: { visibility: { enum: string[]; description: string; default: string; }; }; required: string[]; }; else: { properties: { visibility: { const: string; description: string; default: string; }; }; required: string[]; }; }[]" + ], + "path": "packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/kibana-manifest-schema", "id": "def-common.MANIFEST_V2.oneOf", diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index faac5d60525b5..dd2c54b529e61 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kiban | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 116 | 0 | 115 | 0 | +| 112 | 0 | 111 | 0 | ## Common diff --git a/api_docs/kbn_language_documentation.mdx b/api_docs/kbn_language_documentation.mdx index 2f3d89e8a6d52..92295b77760e7 100644 --- a/api_docs/kbn_language_documentation.mdx +++ b/api_docs/kbn_language_documentation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation title: "@kbn/language-documentation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation'] --- import kbnLanguageDocumentationObj from './kbn_language_documentation.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index 9122158b73b6f..700581c1f4cc8 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_lens_formula_docs.mdx b/api_docs/kbn_lens_formula_docs.mdx index 974997558e83f..95e4bc76d5fbb 100644 --- a/api_docs/kbn_lens_formula_docs.mdx +++ b/api_docs/kbn_lens_formula_docs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-formula-docs title: "@kbn/lens-formula-docs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-formula-docs plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-formula-docs'] --- import kbnLensFormulaDocsObj from './kbn_lens_formula_docs.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 1b39cca55836a..5e4e4d8296515 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2024-11-08 +date: 2024-11-10 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 6fc9b312f4281..be0f183a82854 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_content_badge.mdx b/api_docs/kbn_managed_content_badge.mdx index 7d52d8d0ccf53..96dda426347fe 100644 --- a/api_docs/kbn_managed_content_badge.mdx +++ b/api_docs/kbn_managed_content_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-content-badge title: "@kbn/managed-content-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-content-badge plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-content-badge'] --- import kbnManagedContentBadgeObj from './kbn_managed_content_badge.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index d6223c0522cf3..eeb5d66bd9c71 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2024-11-08 +date: 2024-11-10 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 1fa322802a4af..eb86ef98a7ca9 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_application.mdx b/api_docs/kbn_management_settings_application.mdx index 323e88672d630..65e8bbcbc1c3e 100644 --- a/api_docs/kbn_management_settings_application.mdx +++ b/api_docs/kbn_management_settings_application.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application title: "@kbn/management-settings-application" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-application plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-application'] --- import kbnManagementSettingsApplicationObj from './kbn_management_settings_application.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_category.mdx b/api_docs/kbn_management_settings_components_field_category.mdx index 7f52ca7fcef1d..0d9916e3ee079 100644 --- a/api_docs/kbn_management_settings_components_field_category.mdx +++ b/api_docs/kbn_management_settings_components_field_category.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category title: "@kbn/management-settings-components-field-category" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-category plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-category'] --- import kbnManagementSettingsComponentsFieldCategoryObj from './kbn_management_settings_components_field_category.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index b614530d1c75a..6f8aeed4cc3f2 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index 2bf21b48f6e2e..82e8285889844 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_form.mdx b/api_docs/kbn_management_settings_components_form.mdx index f3ebd5a3ed763..618aca65de9da 100644 --- a/api_docs/kbn_management_settings_components_form.mdx +++ b/api_docs/kbn_management_settings_components_form.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form title: "@kbn/management-settings-components-form" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-form plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-form'] --- import kbnManagementSettingsComponentsFormObj from './kbn_management_settings_components_form.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 22722b69371c1..9d566f9a6c0f3 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index 92eeab6b6cdad..6b89f67b5a37a 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 90e32df84fe0d..2ca4f14bea68e 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index a522b51af8889..6b7f0081a1f7c 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 126ba1827b64d..3476906b14250 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 5acf8a9fdd731..41476ad4398ee 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_manifest.mdx b/api_docs/kbn_manifest.mdx index c9a0da3ea626b..a0eb170086dbd 100644 --- a/api_docs/kbn_manifest.mdx +++ b/api_docs/kbn_manifest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-manifest title: "@kbn/manifest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/manifest plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/manifest'] --- import kbnManifestObj from './kbn_manifest.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 497e8aa8b178f..51cb11fcebb64 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2024-11-08 +date: 2024-11-10 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 d064958db6407..abf3bda5f933f 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 ad33bdaf02545..2348dac81da6e 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 269950642a803..45877286f45e9 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_cancellable_search.mdx b/api_docs/kbn_ml_cancellable_search.mdx index b3c689ef26802..f87deb92a7ea3 100644 --- a/api_docs/kbn_ml_cancellable_search.mdx +++ b/api_docs/kbn_ml_cancellable_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-cancellable-search title: "@kbn/ml-cancellable-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-cancellable-search plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-cancellable-search'] --- import kbnMlCancellableSearchObj from './kbn_ml_cancellable_search.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 7736b57a9dfb7..b2c17e20cb38b 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_chi2test.mdx b/api_docs/kbn_ml_chi2test.mdx index 8f206627b884a..859294aec3e90 100644 --- a/api_docs/kbn_ml_chi2test.mdx +++ b/api_docs/kbn_ml_chi2test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test title: "@kbn/ml-chi2test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-chi2test plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-chi2test'] --- import kbnMlChi2testObj from './kbn_ml_chi2test.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index c12840e9e4289..e3855f3b44236 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 290916a1c98c9..8fe36e7583714 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2024-11-08 +date: 2024-11-10 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 92ae5ad355ada..54c5002e3eac3 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2024-11-08 +date: 2024-11-10 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 2f9a18e15f171..a36e4dda743f6 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 0b497be7c04df..5c17c51d194e9 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2024-11-08 +date: 2024-11-10 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_field_stats_flyout.mdx b/api_docs/kbn_ml_field_stats_flyout.mdx index 2c7d6b98ad3bb..27e6e30a9dbdd 100644 --- a/api_docs/kbn_ml_field_stats_flyout.mdx +++ b/api_docs/kbn_ml_field_stats_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-field-stats-flyout title: "@kbn/ml-field-stats-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-field-stats-flyout plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-field-stats-flyout'] --- import kbnMlFieldStatsFlyoutObj from './kbn_ml_field_stats_flyout.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index ea44443a891ea..fa41e6be54536 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2024-11-08 +date: 2024-11-10 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 553ce0a5439fe..e403884bf0fae 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2024-11-08 +date: 2024-11-10 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 0fc425b16300a..4d28ea44b7a7d 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2024-11-08 +date: 2024-11-10 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 23e231b4fe7d4..4676703ad7e34 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2024-11-08 +date: 2024-11-10 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 b64215e1a7f0d..c70ef91f797da 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2024-11-08 +date: 2024-11-10 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 bd746544ad350..a063f835e52fb 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2024-11-08 +date: 2024-11-10 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 14d7ba475ac85..115f6ce86b6fa 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2024-11-08 +date: 2024-11-10 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_parse_interval.mdx b/api_docs/kbn_ml_parse_interval.mdx index 3fdb2f442202a..c4d670af31647 100644 --- a/api_docs/kbn_ml_parse_interval.mdx +++ b/api_docs/kbn_ml_parse_interval.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-parse-interval title: "@kbn/ml-parse-interval" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-parse-interval plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-parse-interval'] --- import kbnMlParseIntervalObj from './kbn_ml_parse_interval.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index de50d7f427e55..dce4ae2c19199 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 336f0adc0b583..0a2654df0647a 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 26fccfe192a25..2ad95a7ce8857 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 afb3e1bf5e7d2..c8412a0ff7d21 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 98fbf6549a4bd..65c696631c066 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_time_buckets.mdx b/api_docs/kbn_ml_time_buckets.mdx index 8d605931e1c5c..ca2251874675c 100644 --- a/api_docs/kbn_ml_time_buckets.mdx +++ b/api_docs/kbn_ml_time_buckets.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-time-buckets title: "@kbn/ml-time-buckets" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-time-buckets plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-time-buckets'] --- import kbnMlTimeBucketsObj from './kbn_ml_time_buckets.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 4e031ec162ff7..b623fde614418 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_ui_actions.mdx b/api_docs/kbn_ml_ui_actions.mdx index 79bb263e907f5..dc039d3c17adc 100644 --- a/api_docs/kbn_ml_ui_actions.mdx +++ b/api_docs/kbn_ml_ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-ui-actions title: "@kbn/ml-ui-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-ui-actions plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-ui-actions'] --- import kbnMlUiActionsObj from './kbn_ml_ui_actions.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 4914a7539747c..047116e2ef62a 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_ml_validators.mdx b/api_docs/kbn_ml_validators.mdx index da23b10e43b8f..c9b832bf5c5cf 100644 --- a/api_docs/kbn_ml_validators.mdx +++ b/api_docs/kbn_ml_validators.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-validators title: "@kbn/ml-validators" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-validators plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-validators'] --- import kbnMlValidatorsObj from './kbn_ml_validators.devdocs.json'; diff --git a/api_docs/kbn_mock_idp_utils.mdx b/api_docs/kbn_mock_idp_utils.mdx index 249614aea0880..a1b6a19e3d1fc 100644 --- a/api_docs/kbn_mock_idp_utils.mdx +++ b/api_docs/kbn_mock_idp_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mock-idp-utils title: "@kbn/mock-idp-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mock-idp-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mock-idp-utils'] --- import kbnMockIdpUtilsObj from './kbn_mock_idp_utils.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 43703245ab3c3..8f6716ec252af 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2024-11-08 +date: 2024-11-10 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 65dcf7f87bd67..2d9431bbfc379 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_object_versioning_utils.mdx b/api_docs/kbn_object_versioning_utils.mdx index fd136c9faab60..5aed21660e2c0 100644 --- a/api_docs/kbn_object_versioning_utils.mdx +++ b/api_docs/kbn_object_versioning_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning-utils title: "@kbn/object-versioning-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning-utils'] --- import kbnObjectVersioningUtilsObj from './kbn_object_versioning_utils.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 29fb8fe809985..5fa338f1213fc 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_observability_alerting_rule_utils.mdx b/api_docs/kbn_observability_alerting_rule_utils.mdx index 907a313018285..223b5a4d86259 100644 --- a/api_docs/kbn_observability_alerting_rule_utils.mdx +++ b/api_docs/kbn_observability_alerting_rule_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-rule-utils title: "@kbn/observability-alerting-rule-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alerting-rule-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-rule-utils'] --- import kbnObservabilityAlertingRuleUtilsObj from './kbn_observability_alerting_rule_utils.devdocs.json'; diff --git a/api_docs/kbn_observability_alerting_test_data.mdx b/api_docs/kbn_observability_alerting_test_data.mdx index a43345a5d6b3d..350c62a551288 100644 --- a/api_docs/kbn_observability_alerting_test_data.mdx +++ b/api_docs/kbn_observability_alerting_test_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-test-data title: "@kbn/observability-alerting-test-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alerting-test-data plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-test-data'] --- import kbnObservabilityAlertingTestDataObj from './kbn_observability_alerting_test_data.devdocs.json'; diff --git a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx index bcebf17d9b61c..72ea156722bdb 100644 --- a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx +++ b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-get-padded-alert-time-range-util title: "@kbn/observability-get-padded-alert-time-range-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-get-padded-alert-time-range-util plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-get-padded-alert-time-range-util'] --- import kbnObservabilityGetPaddedAlertTimeRangeUtilObj from './kbn_observability_get_padded_alert_time_range_util.devdocs.json'; diff --git a/api_docs/kbn_observability_logs_overview.mdx b/api_docs/kbn_observability_logs_overview.mdx index f94124b0204eb..38990a1868558 100644 --- a/api_docs/kbn_observability_logs_overview.mdx +++ b/api_docs/kbn_observability_logs_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-logs-overview title: "@kbn/observability-logs-overview" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-logs-overview plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-logs-overview'] --- import kbnObservabilityLogsOverviewObj from './kbn_observability_logs_overview.devdocs.json'; diff --git a/api_docs/kbn_observability_synthetics_test_data.mdx b/api_docs/kbn_observability_synthetics_test_data.mdx index 80207440f48f1..b6dca99b53968 100644 --- a/api_docs/kbn_observability_synthetics_test_data.mdx +++ b/api_docs/kbn_observability_synthetics_test_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-synthetics-test-data title: "@kbn/observability-synthetics-test-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-synthetics-test-data plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-synthetics-test-data'] --- import kbnObservabilitySyntheticsTestDataObj from './kbn_observability_synthetics_test_data.devdocs.json'; diff --git a/api_docs/kbn_openapi_bundler.mdx b/api_docs/kbn_openapi_bundler.mdx index 9c9ca617f7a19..ff2270f6e779a 100644 --- a/api_docs/kbn_openapi_bundler.mdx +++ b/api_docs/kbn_openapi_bundler.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-bundler title: "@kbn/openapi-bundler" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-bundler plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-bundler'] --- import kbnOpenapiBundlerObj from './kbn_openapi_bundler.devdocs.json'; diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx index 9b96dcbd701a8..0edcc4cae2722 100644 --- a/api_docs/kbn_openapi_generator.mdx +++ b/api_docs/kbn_openapi_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator title: "@kbn/openapi-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-generator plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-generator'] --- import kbnOpenapiGeneratorObj from './kbn_openapi_generator.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 3c42ab925cdb3..360f7ff6bf65a 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2024-11-08 +date: 2024-11-10 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 7d641e66e8b66..c3add8441c5b3 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2024-11-08 +date: 2024-11-10 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 26eaee29ebc63..d86d4a80de8a2 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_panel_loader.mdx b/api_docs/kbn_panel_loader.mdx index c55c229145138..d31b70779d540 100644 --- a/api_docs/kbn_panel_loader.mdx +++ b/api_docs/kbn_panel_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-panel-loader title: "@kbn/panel-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/panel-loader plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/panel-loader'] --- import kbnPanelLoaderObj from './kbn_panel_loader.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 49972ebf40bf8..9dda16b63cfcc 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_check.mdx b/api_docs/kbn_plugin_check.mdx index e9ca11fde534e..63dc2e06b8bfc 100644 --- a/api_docs/kbn_plugin_check.mdx +++ b/api_docs/kbn_plugin_check.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-check title: "@kbn/plugin-check" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-check plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-check'] --- import kbnPluginCheckObj from './kbn_plugin_check.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 5b7da9c74e5b4..423477a418778 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2024-11-08 +date: 2024-11-10 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 357552c8979e9..b3d7eb05ce47b 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_presentation_containers.mdx b/api_docs/kbn_presentation_containers.mdx index 04e58d402ee86..4549db49f0075 100644 --- a/api_docs/kbn_presentation_containers.mdx +++ b/api_docs/kbn_presentation_containers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-presentation-containers title: "@kbn/presentation-containers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/presentation-containers plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/presentation-containers'] --- import kbnPresentationContainersObj from './kbn_presentation_containers.devdocs.json'; diff --git a/api_docs/kbn_presentation_publishing.mdx b/api_docs/kbn_presentation_publishing.mdx index 31ca80fd15929..781ed0c621578 100644 --- a/api_docs/kbn_presentation_publishing.mdx +++ b/api_docs/kbn_presentation_publishing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-presentation-publishing title: "@kbn/presentation-publishing" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/presentation-publishing plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/presentation-publishing'] --- import kbnPresentationPublishingObj from './kbn_presentation_publishing.devdocs.json'; diff --git a/api_docs/kbn_product_doc_artifact_builder.mdx b/api_docs/kbn_product_doc_artifact_builder.mdx index 6a0cdf4d7be39..a68423c371d85 100644 --- a/api_docs/kbn_product_doc_artifact_builder.mdx +++ b/api_docs/kbn_product_doc_artifact_builder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-product-doc-artifact-builder title: "@kbn/product-doc-artifact-builder" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/product-doc-artifact-builder plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/product-doc-artifact-builder'] --- import kbnProductDocArtifactBuilderObj from './kbn_product_doc_artifact_builder.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index 71edf81a21d81..e1f113d529676 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index d7382bf46902f..1ad575c0449ee 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2024-11-08 +date: 2024-11-10 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 fc996620f0dfd..f0dd611a892b7 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_hooks.mdx b/api_docs/kbn_react_hooks.mdx index 892e3c21a849d..730027b674986 100644 --- a/api_docs/kbn_react_hooks.mdx +++ b/api_docs/kbn_react_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-hooks title: "@kbn/react-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-hooks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-hooks'] --- import kbnReactHooksObj from './kbn_react_hooks.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index 057dbcf34fe91..8ca4d214864ed 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2024-11-08 +date: 2024-11-10 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 ea0de169092c9..8e1e56347556f 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2024-11-08 +date: 2024-11-10 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 39a227a791f66..84a34d96fd9c2 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2024-11-08 +date: 2024-11-10 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 9c405a6b50d3b..fadebde226580 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2024-11-08 +date: 2024-11-10 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 51db2f0d12813..872075cc85af9 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2024-11-08 +date: 2024-11-10 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 432e7b7c29c3d..81c398d0953a1 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_recently_accessed.mdx b/api_docs/kbn_recently_accessed.mdx index fd7600355bb8a..8b82861786b7b 100644 --- a/api_docs/kbn_recently_accessed.mdx +++ b/api_docs/kbn_recently_accessed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-recently-accessed title: "@kbn/recently-accessed" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/recently-accessed plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/recently-accessed'] --- import kbnRecentlyAccessedObj from './kbn_recently_accessed.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 340bcfeb9166d..1a9bc978e8815 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2024-11-08 +date: 2024-11-10 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 ae83613587b70..6219e64230810 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2024-11-08 +date: 2024-11-10 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 8e2675af8dde7..fce761ca608db 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2024-11-08 +date: 2024-11-10 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 f5dcb4f88ddb8..7c92964419f52 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2024-11-08 +date: 2024-11-10 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 4d37210197d6a..b7cbf6c07aa13 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_csv_share_panel.mdx b/api_docs/kbn_reporting_csv_share_panel.mdx index 64b0af27f8979..79367332f7383 100644 --- a/api_docs/kbn_reporting_csv_share_panel.mdx +++ b/api_docs/kbn_reporting_csv_share_panel.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-csv-share-panel title: "@kbn/reporting-csv-share-panel" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-csv-share-panel plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-csv-share-panel'] --- import kbnReportingCsvSharePanelObj from './kbn_reporting_csv_share_panel.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv.mdx b/api_docs/kbn_reporting_export_types_csv.mdx index b99584e5b9fc6..fd7d81062dd9d 100644 --- a/api_docs/kbn_reporting_export_types_csv.mdx +++ b/api_docs/kbn_reporting_export_types_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv title: "@kbn/reporting-export-types-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv'] --- import kbnReportingExportTypesCsvObj from './kbn_reporting_export_types_csv.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv_common.devdocs.json b/api_docs/kbn_reporting_export_types_csv_common.devdocs.json index 96975b8370f4e..291e445f24f44 100644 --- a/api_docs/kbn_reporting_export_types_csv_common.devdocs.json +++ b/api_docs/kbn_reporting_export_types_csv_common.devdocs.json @@ -305,7 +305,15 @@ "\nPublic-facing interface\nApps should use this interface to build job params. The browserTimezone and version\nfields become automatically provided by Reporting" ], "signature": [ - "{ title: string; columns?: string[] | undefined; layout?: { id?: ", + "{ title: string; columns?: string[] | undefined; searchSource: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SerializedSearchSourceFields", + "text": "SerializedSearchSourceFields" + }, + "; layout?: { id?: ", { "pluginId": "screenshotting", "scope": "common", @@ -315,15 +323,7 @@ }, " | undefined; dimensions?: { width: number; height: number; } | undefined; selectors?: Partial<", "LayoutSelectorDictionary", - "> | undefined; zoom?: number | undefined; } | undefined; objectType: string; searchSource: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SerializedSearchSourceFields", - "text": "SerializedSearchSourceFields" - }, - "; pagingStrategy?: ", + "> | undefined; zoom?: number | undefined; } | undefined; objectType: string; pagingStrategy?: ", "CsvPagingStrategy", " | undefined; }" ], diff --git a/api_docs/kbn_reporting_export_types_csv_common.mdx b/api_docs/kbn_reporting_export_types_csv_common.mdx index e1b58f76b3a66..6f0e90696c23b 100644 --- a/api_docs/kbn_reporting_export_types_csv_common.mdx +++ b/api_docs/kbn_reporting_export_types_csv_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv-common title: "@kbn/reporting-export-types-csv-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv-common'] --- import kbnReportingExportTypesCsvCommonObj from './kbn_reporting_export_types_csv_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf.mdx b/api_docs/kbn_reporting_export_types_pdf.mdx index cc3dc68610e35..bef27400e8f41 100644 --- a/api_docs/kbn_reporting_export_types_pdf.mdx +++ b/api_docs/kbn_reporting_export_types_pdf.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf title: "@kbn/reporting-export-types-pdf" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf'] --- import kbnReportingExportTypesPdfObj from './kbn_reporting_export_types_pdf.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf_common.mdx b/api_docs/kbn_reporting_export_types_pdf_common.mdx index aff82d74afd14..30ac0f42d5d80 100644 --- a/api_docs/kbn_reporting_export_types_pdf_common.mdx +++ b/api_docs/kbn_reporting_export_types_pdf_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf-common title: "@kbn/reporting-export-types-pdf-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf-common'] --- import kbnReportingExportTypesPdfCommonObj from './kbn_reporting_export_types_pdf_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png.mdx b/api_docs/kbn_reporting_export_types_png.mdx index 9377d394d9612..1f3f42f3bc2cb 100644 --- a/api_docs/kbn_reporting_export_types_png.mdx +++ b/api_docs/kbn_reporting_export_types_png.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png title: "@kbn/reporting-export-types-png" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png'] --- import kbnReportingExportTypesPngObj from './kbn_reporting_export_types_png.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png_common.mdx b/api_docs/kbn_reporting_export_types_png_common.mdx index 4953fbf60fa43..7a9509c2ab7d4 100644 --- a/api_docs/kbn_reporting_export_types_png_common.mdx +++ b/api_docs/kbn_reporting_export_types_png_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png-common title: "@kbn/reporting-export-types-png-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png-common'] --- import kbnReportingExportTypesPngCommonObj from './kbn_reporting_export_types_png_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_mocks_server.mdx b/api_docs/kbn_reporting_mocks_server.mdx index 0dfa4c7344646..c96ead9dc5381 100644 --- a/api_docs/kbn_reporting_mocks_server.mdx +++ b/api_docs/kbn_reporting_mocks_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-mocks-server title: "@kbn/reporting-mocks-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-mocks-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-mocks-server'] --- import kbnReportingMocksServerObj from './kbn_reporting_mocks_server.devdocs.json'; diff --git a/api_docs/kbn_reporting_public.mdx b/api_docs/kbn_reporting_public.mdx index bdb9fc32119b1..fc78ba5e5c054 100644 --- a/api_docs/kbn_reporting_public.mdx +++ b/api_docs/kbn_reporting_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-public title: "@kbn/reporting-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-public plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-public'] --- import kbnReportingPublicObj from './kbn_reporting_public.devdocs.json'; diff --git a/api_docs/kbn_reporting_server.mdx b/api_docs/kbn_reporting_server.mdx index 1f06547bdb6f8..f1f62ca430eee 100644 --- a/api_docs/kbn_reporting_server.mdx +++ b/api_docs/kbn_reporting_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-server title: "@kbn/reporting-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-server'] --- import kbnReportingServerObj from './kbn_reporting_server.devdocs.json'; diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx index 47d3c4cbaeb12..44104bcc22961 100644 --- a/api_docs/kbn_resizable_layout.mdx +++ b/api_docs/kbn_resizable_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout title: "@kbn/resizable-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/resizable-layout plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout'] --- import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json'; diff --git a/api_docs/kbn_response_ops_feature_flag_service.mdx b/api_docs/kbn_response_ops_feature_flag_service.mdx index 847de7709f054..2f8f1dbc0cad3 100644 --- a/api_docs/kbn_response_ops_feature_flag_service.mdx +++ b/api_docs/kbn_response_ops_feature_flag_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-response-ops-feature-flag-service title: "@kbn/response-ops-feature-flag-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/response-ops-feature-flag-service plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/response-ops-feature-flag-service'] --- import kbnResponseOpsFeatureFlagServiceObj from './kbn_response_ops_feature_flag_service.devdocs.json'; diff --git a/api_docs/kbn_response_ops_rule_params.mdx b/api_docs/kbn_response_ops_rule_params.mdx index 4b54b85a7f56c..f1c7ce801a53b 100644 --- a/api_docs/kbn_response_ops_rule_params.mdx +++ b/api_docs/kbn_response_ops_rule_params.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-response-ops-rule-params title: "@kbn/response-ops-rule-params" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/response-ops-rule-params plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/response-ops-rule-params'] --- import kbnResponseOpsRuleParamsObj from './kbn_response_ops_rule_params.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 20ad7ef9f7f42..736828e0ee660 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rollup.mdx b/api_docs/kbn_rollup.mdx index 61b878a2ddbf0..60768cf395264 100644 --- a/api_docs/kbn_rollup.mdx +++ b/api_docs/kbn_rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rollup title: "@kbn/rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rollup plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rollup'] --- import kbnRollupObj from './kbn_rollup.devdocs.json'; diff --git a/api_docs/kbn_router_to_openapispec.mdx b/api_docs/kbn_router_to_openapispec.mdx index 2299b7fcaabe5..d9abbbb1bcd8e 100644 --- a/api_docs/kbn_router_to_openapispec.mdx +++ b/api_docs/kbn_router_to_openapispec.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-router-to-openapispec title: "@kbn/router-to-openapispec" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/router-to-openapispec plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/router-to-openapispec'] --- import kbnRouterToOpenapispecObj from './kbn_router_to_openapispec.devdocs.json'; diff --git a/api_docs/kbn_router_utils.mdx b/api_docs/kbn_router_utils.mdx index 90ef5fa7f7b6a..5c024727b2844 100644 --- a/api_docs/kbn_router_utils.mdx +++ b/api_docs/kbn_router_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-router-utils title: "@kbn/router-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/router-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/router-utils'] --- import kbnRouterUtilsObj from './kbn_router_utils.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index a5c108e1f7f50..5fd7882fa443a 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2024-11-08 +date: 2024-11-10 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 68288eaae5539..d77c4509bb9e7 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 5d38eb1a9b71f..b3ecca674cab1 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_screenshotting_server.mdx b/api_docs/kbn_screenshotting_server.mdx index cd4cd0d775727..25d7ceed25db1 100644 --- a/api_docs/kbn_screenshotting_server.mdx +++ b/api_docs/kbn_screenshotting_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-screenshotting-server title: "@kbn/screenshotting-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/screenshotting-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/screenshotting-server'] --- import kbnScreenshottingServerObj from './kbn_screenshotting_server.devdocs.json'; diff --git a/api_docs/kbn_search_api_keys_components.mdx b/api_docs/kbn_search_api_keys_components.mdx index 86822b889a8e6..fa0b92053ae25 100644 --- a/api_docs/kbn_search_api_keys_components.mdx +++ b/api_docs/kbn_search_api_keys_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-keys-components title: "@kbn/search-api-keys-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-keys-components plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-keys-components'] --- import kbnSearchApiKeysComponentsObj from './kbn_search_api_keys_components.devdocs.json'; diff --git a/api_docs/kbn_search_api_keys_server.mdx b/api_docs/kbn_search_api_keys_server.mdx index ad110e0d6cdb8..e6ea55259b3f6 100644 --- a/api_docs/kbn_search_api_keys_server.mdx +++ b/api_docs/kbn_search_api_keys_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-keys-server title: "@kbn/search-api-keys-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-keys-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-keys-server'] --- import kbnSearchApiKeysServerObj from './kbn_search_api_keys_server.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index cabc61bc9fa5a..337f147e31412 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 174a7ab6b1d85..f49adeadd5fb2 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_errors.mdx b/api_docs/kbn_search_errors.mdx index 74b43944caea4..99cae73c4bc89 100644 --- a/api_docs/kbn_search_errors.mdx +++ b/api_docs/kbn_search_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-errors title: "@kbn/search-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-errors plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-errors'] --- import kbnSearchErrorsObj from './kbn_search_errors.devdocs.json'; diff --git a/api_docs/kbn_search_index_documents.mdx b/api_docs/kbn_search_index_documents.mdx index bece850a69ab7..824741e454bde 100644 --- a/api_docs/kbn_search_index_documents.mdx +++ b/api_docs/kbn_search_index_documents.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-index-documents title: "@kbn/search-index-documents" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-index-documents plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-index-documents'] --- import kbnSearchIndexDocumentsObj from './kbn_search_index_documents.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 64d323ec4765f..c17d4290a9e6d 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_search_shared_ui.mdx b/api_docs/kbn_search_shared_ui.mdx index a38564c5119e0..0baa230c38638 100644 --- a/api_docs/kbn_search_shared_ui.mdx +++ b/api_docs/kbn_search_shared_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-shared-ui title: "@kbn/search-shared-ui" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-shared-ui plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-shared-ui'] --- import kbnSearchSharedUiObj from './kbn_search_shared_ui.devdocs.json'; diff --git a/api_docs/kbn_search_types.mdx b/api_docs/kbn_search_types.mdx index ed4cdfd8a56de..2621f48057e0c 100644 --- a/api_docs/kbn_search_types.mdx +++ b/api_docs/kbn_search_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-types title: "@kbn/search-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-types plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-types'] --- import kbnSearchTypesObj from './kbn_search_types.devdocs.json'; diff --git a/api_docs/kbn_security_api_key_management.mdx b/api_docs/kbn_security_api_key_management.mdx index ae34ad46bb64a..a7488482ed485 100644 --- a/api_docs/kbn_security_api_key_management.mdx +++ b/api_docs/kbn_security_api_key_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-api-key-management title: "@kbn/security-api-key-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-api-key-management plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-api-key-management'] --- import kbnSecurityApiKeyManagementObj from './kbn_security_api_key_management.devdocs.json'; diff --git a/api_docs/kbn_security_authorization_core.mdx b/api_docs/kbn_security_authorization_core.mdx index 2e55ef6daa3c6..4567131c545a5 100644 --- a/api_docs/kbn_security_authorization_core.mdx +++ b/api_docs/kbn_security_authorization_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-authorization-core title: "@kbn/security-authorization-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-authorization-core plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-authorization-core'] --- import kbnSecurityAuthorizationCoreObj from './kbn_security_authorization_core.devdocs.json'; diff --git a/api_docs/kbn_security_authorization_core_common.mdx b/api_docs/kbn_security_authorization_core_common.mdx index bccaa38065333..e67ef3ac5326c 100644 --- a/api_docs/kbn_security_authorization_core_common.mdx +++ b/api_docs/kbn_security_authorization_core_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-authorization-core-common title: "@kbn/security-authorization-core-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-authorization-core-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-authorization-core-common'] --- import kbnSecurityAuthorizationCoreCommonObj from './kbn_security_authorization_core_common.devdocs.json'; diff --git a/api_docs/kbn_security_form_components.mdx b/api_docs/kbn_security_form_components.mdx index 7e3efa1f8ea05..ca66db16c759a 100644 --- a/api_docs/kbn_security_form_components.mdx +++ b/api_docs/kbn_security_form_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-form-components title: "@kbn/security-form-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-form-components plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-form-components'] --- import kbnSecurityFormComponentsObj from './kbn_security_form_components.devdocs.json'; diff --git a/api_docs/kbn_security_hardening.mdx b/api_docs/kbn_security_hardening.mdx index 197db91b618e7..3d67c31c267f4 100644 --- a/api_docs/kbn_security_hardening.mdx +++ b/api_docs/kbn_security_hardening.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-hardening title: "@kbn/security-hardening" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-hardening plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-hardening'] --- import kbnSecurityHardeningObj from './kbn_security_hardening.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_common.mdx b/api_docs/kbn_security_plugin_types_common.mdx index 561e419ae51a8..2c2a8b853318d 100644 --- a/api_docs/kbn_security_plugin_types_common.mdx +++ b/api_docs/kbn_security_plugin_types_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-common title: "@kbn/security-plugin-types-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-common plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-common'] --- import kbnSecurityPluginTypesCommonObj from './kbn_security_plugin_types_common.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_public.mdx b/api_docs/kbn_security_plugin_types_public.mdx index d220488078789..122b4b8029a03 100644 --- a/api_docs/kbn_security_plugin_types_public.mdx +++ b/api_docs/kbn_security_plugin_types_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-public title: "@kbn/security-plugin-types-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-public plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-public'] --- import kbnSecurityPluginTypesPublicObj from './kbn_security_plugin_types_public.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_server.mdx b/api_docs/kbn_security_plugin_types_server.mdx index 21619e8927677..80da55ce1761c 100644 --- a/api_docs/kbn_security_plugin_types_server.mdx +++ b/api_docs/kbn_security_plugin_types_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-server title: "@kbn/security-plugin-types-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-server'] --- import kbnSecurityPluginTypesServerObj from './kbn_security_plugin_types_server.devdocs.json'; diff --git a/api_docs/kbn_security_role_management_model.mdx b/api_docs/kbn_security_role_management_model.mdx index 5c1221a8c425e..2109360e0cdfa 100644 --- a/api_docs/kbn_security_role_management_model.mdx +++ b/api_docs/kbn_security_role_management_model.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-role-management-model title: "@kbn/security-role-management-model" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-role-management-model plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-role-management-model'] --- import kbnSecurityRoleManagementModelObj from './kbn_security_role_management_model.devdocs.json'; diff --git a/api_docs/kbn_security_solution_distribution_bar.mdx b/api_docs/kbn_security_solution_distribution_bar.mdx index c855dcc9b17e8..88b8ec1de8d7e 100644 --- a/api_docs/kbn_security_solution_distribution_bar.mdx +++ b/api_docs/kbn_security_solution_distribution_bar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-distribution-bar title: "@kbn/security-solution-distribution-bar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-distribution-bar plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-distribution-bar'] --- import kbnSecuritySolutionDistributionBarObj from './kbn_security_solution_distribution_bar.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index e83918c2bbe10..779a9911a08fa 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 95a665ed8cb37..cdcd95b0c3276 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2024-11-08 +date: 2024-11-10 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 b6fc86d8144be..76c56922c81c8 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2024-11-08 +date: 2024-11-10 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 06d4e2ed54bc4..60e6a7d2000be 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2024-11-08 +date: 2024-11-10 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_security_ui_components.mdx b/api_docs/kbn_security_ui_components.mdx index cf571b3849e4c..37d4c192ec917 100644 --- a/api_docs/kbn_security_ui_components.mdx +++ b/api_docs/kbn_security_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-ui-components title: "@kbn/security-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-ui-components plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-ui-components'] --- import kbnSecurityUiComponentsObj from './kbn_security_ui_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 051c265acfa6c..533834a078201 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2024-11-08 +date: 2024-11-10 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 5f91edc132713..a5a76c2a621d9 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2024-11-08 +date: 2024-11-10 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 beb01e181ab51..f9d9670bbfe13 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index a150992d95a55..b096260aab33f 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 0654f7f93fbf2..0e8043dad9776 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 67752befb2b0b..93a50d11b4c91 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 d87e858e51a2c..efa99b0f6f001 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2024-11-08 +date: 2024-11-10 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 5533850c12072..35770f9043bec 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2024-11-08 +date: 2024-11-10 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 15824d3d311f6..34ad20adf6ee6 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2024-11-08 +date: 2024-11-10 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 cb42149764da0..a25185f6695a4 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 4b964a3bca363..cc960796a4748 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 8a88939ee0f21..cf4f6d047dd62 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2024-11-08 +date: 2024-11-10 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 88fc1d97ee43c..38ae43c653dc6 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2024-11-08 +date: 2024-11-10 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 12c39199b08e0..c68f97722f990 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 e7a9e8af3a9dd..aa0e2e5fcab6e 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2024-11-08 +date: 2024-11-10 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 ef10f57b0d126..cd7297ac80d4b 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2024-11-08 +date: 2024-11-10 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 22359c6c350a5..8beee33eb735d 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2024-11-08 +date: 2024-11-10 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 d77e206a7217d..1eff127b3a06b 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2024-11-08 +date: 2024-11-10 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 be4ca8b045df9..9df4eec1e987a 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository_client.mdx b/api_docs/kbn_server_route_repository_client.mdx index 753983a1b55cf..d1bb9f0ad1f37 100644 --- a/api_docs/kbn_server_route_repository_client.mdx +++ b/api_docs/kbn_server_route_repository_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository-client title: "@kbn/server-route-repository-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository-client plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository-client'] --- import kbnServerRouteRepositoryClientObj from './kbn_server_route_repository_client.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository_utils.mdx b/api_docs/kbn_server_route_repository_utils.mdx index 31da5fe73a963..02de1d6184fa9 100644 --- a/api_docs/kbn_server_route_repository_utils.mdx +++ b/api_docs/kbn_server_route_repository_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository-utils title: "@kbn/server-route-repository-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository-utils'] --- import kbnServerRouteRepositoryUtilsObj from './kbn_server_route_repository_utils.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 7203ed641c1de..869fd4cd64baa 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 47b89deb3a58f..512562032c82b 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index cbac194581266..48f452280e972 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index 9f87cdd013f99..787f084c3196a 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index 7df70e8ecd4e5..7f3d632b93817 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index 76b6c675a98b7..dbc0c11908b83 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2024-11-08 +date: 2024-11-10 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 5f6fe739eddef..8d0d496464107 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2024-11-08 +date: 2024-11-10 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 bf3f16cca48ff..a9f8d59e328c7 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 71bbcbc590061..e8b7c6946e11d 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 2c75ca29891b3..15a425bf79b6d 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2024-11-08 +date: 2024-11-10 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 c8f0a156976cd..961ddedb727c4 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2024-11-08 +date: 2024-11-10 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 9b6e5ffd18d1f..a30c2e0f0e514 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 44561591d2f43..2ea435507db21 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_error_boundary.mdx b/api_docs/kbn_shared_ux_error_boundary.mdx index 4b66fb9b11e91..48f71a31cb288 100644 --- a/api_docs/kbn_shared_ux_error_boundary.mdx +++ b/api_docs/kbn_shared_ux_error_boundary.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-error-boundary title: "@kbn/shared-ux-error-boundary" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-error-boundary plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-error-boundary'] --- import kbnSharedUxErrorBoundaryObj from './kbn_shared_ux_error_boundary.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 4fced2ce6fa9f..38845ac2c98f3 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2024-11-08 +date: 2024-11-10 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 87b27d3056de9..4648f38b03626 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2024-11-08 +date: 2024-11-10 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 0f105ea810e77..5c2de245d2a99 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 68444d537a6dd..c3018601c7aa2 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 b7b3e4fbea056..dabdaa1440d4f 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2024-11-08 +date: 2024-11-10 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 a3e86687c3fd9..8361002df79e6 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2024-11-08 +date: 2024-11-10 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 5503807fd9a6b..4b4d13d6babdf 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2024-11-08 +date: 2024-11-10 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 24b96c7f19021..6ca2bef2f70ec 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2024-11-08 +date: 2024-11-10 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 92854cdeecd2a..a594cb82773ef 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2024-11-08 +date: 2024-11-10 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 eb90658be4f9a..9027ddd9d7070 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 8b7ef14cf8a80..6db0d2a53d655 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2024-11-08 +date: 2024-11-10 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 c6b45a461c3ce..622fc16626862 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 2e050dfa10c27..392a19c0ff2ba 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2024-11-08 +date: 2024-11-10 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 4c19fa841bcf0..3cd5fdd946c70 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 8cd07954f8f9e..36f53f7fb26bf 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2024-11-08 +date: 2024-11-10 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 b76e22b550f2d..23584cbd75939 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 ee9fc7239c72c..78030bee3ea61 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2024-11-08 +date: 2024-11-10 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 38aafb97a6d7b..816bd076e2f95 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 df7c7a602f655..aac92dca8e4ef 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2024-11-08 +date: 2024-11-10 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 40b43bf250d8a..14bf07e7285d0 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2024-11-08 +date: 2024-11-10 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 ec8285cd47be6..c1f1afdfce475 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 80aed9b8df413..4a59f5fcb7e6e 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 f6bdd6c05397b..61432bb1cb274 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2024-11-08 +date: 2024-11-10 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 be4e708cde328..51df30ca370e8 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2024-11-08 +date: 2024-11-10 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 5c1f3ddd32c66..2e4d656d6cfa3 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 2440432306920..a2e464a5f3bce 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2024-11-08 +date: 2024-11-10 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 94fbd0463783b..737b8ee827601 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2024-11-08 +date: 2024-11-10 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 0f54e623c3f8b..9e46c20d39e30 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2024-11-08 +date: 2024-11-10 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 f48778e6dee12..1447daf701420 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2024-11-08 +date: 2024-11-10 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 396107646fb70..a4bb5abc40eba 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_tabbed_modal.mdx b/api_docs/kbn_shared_ux_tabbed_modal.mdx index 5e9b525aebc19..fba7362d90ec8 100644 --- a/api_docs/kbn_shared_ux_tabbed_modal.mdx +++ b/api_docs/kbn_shared_ux_tabbed_modal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-tabbed-modal title: "@kbn/shared-ux-tabbed-modal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-tabbed-modal plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-tabbed-modal'] --- import kbnSharedUxTabbedModalObj from './kbn_shared_ux_tabbed_modal.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_table_persist.mdx b/api_docs/kbn_shared_ux_table_persist.mdx index 6e92ad8946133..ed3afe540319d 100644 --- a/api_docs/kbn_shared_ux_table_persist.mdx +++ b/api_docs/kbn_shared_ux_table_persist.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-table-persist title: "@kbn/shared-ux-table-persist" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-table-persist plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-table-persist'] --- import kbnSharedUxTablePersistObj from './kbn_shared_ux_table_persist.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index bd7bd9e4adcfb..d1e21d7f7a4b2 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2024-11-08 +date: 2024-11-10 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 1ab4c31c12b34..7f701dd4df27e 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2024-11-08 +date: 2024-11-10 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 0574f4380f8f9..99a6d41a30c2f 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_sort_predicates.mdx b/api_docs/kbn_sort_predicates.mdx index 19943056cea2d..b3889f82599b2 100644 --- a/api_docs/kbn_sort_predicates.mdx +++ b/api_docs/kbn_sort_predicates.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-sort-predicates title: "@kbn/sort-predicates" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/sort-predicates plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sort-predicates'] --- import kbnSortPredicatesObj from './kbn_sort_predicates.devdocs.json'; diff --git a/api_docs/kbn_sse_utils.mdx b/api_docs/kbn_sse_utils.mdx index c05dda96f0561..205346bf5c085 100644 --- a/api_docs/kbn_sse_utils.mdx +++ b/api_docs/kbn_sse_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-sse-utils title: "@kbn/sse-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/sse-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sse-utils'] --- import kbnSseUtilsObj from './kbn_sse_utils.devdocs.json'; diff --git a/api_docs/kbn_sse_utils_client.mdx b/api_docs/kbn_sse_utils_client.mdx index c8924b05212fa..39bb1195eb7d9 100644 --- a/api_docs/kbn_sse_utils_client.mdx +++ b/api_docs/kbn_sse_utils_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-sse-utils-client title: "@kbn/sse-utils-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/sse-utils-client plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sse-utils-client'] --- import kbnSseUtilsClientObj from './kbn_sse_utils_client.devdocs.json'; diff --git a/api_docs/kbn_sse_utils_server.mdx b/api_docs/kbn_sse_utils_server.mdx index c4f9dc4aeb7df..a952d8edf93a1 100644 --- a/api_docs/kbn_sse_utils_server.mdx +++ b/api_docs/kbn_sse_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-sse-utils-server title: "@kbn/sse-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/sse-utils-server plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sse-utils-server'] --- import kbnSseUtilsServerObj from './kbn_sse_utils_server.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index a60df73d7e0ff..15dd7e55782b2 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2024-11-08 +date: 2024-11-10 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 2429d413ec29d..8e4d119dcefe8 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2024-11-08 +date: 2024-11-10 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 e758e40b16d0a..4af5ab6dee0ba 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_synthetics_e2e.mdx b/api_docs/kbn_synthetics_e2e.mdx index 6159129b13345..8c8b776b9b45f 100644 --- a/api_docs/kbn_synthetics_e2e.mdx +++ b/api_docs/kbn_synthetics_e2e.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-synthetics-e2e title: "@kbn/synthetics-e2e" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/synthetics-e2e plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/synthetics-e2e'] --- import kbnSyntheticsE2eObj from './kbn_synthetics_e2e.devdocs.json'; diff --git a/api_docs/kbn_synthetics_private_location.mdx b/api_docs/kbn_synthetics_private_location.mdx index 9a464625115e8..18fea93d54253 100644 --- a/api_docs/kbn_synthetics_private_location.mdx +++ b/api_docs/kbn_synthetics_private_location.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-synthetics-private-location title: "@kbn/synthetics-private-location" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/synthetics-private-location plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/synthetics-private-location'] --- import kbnSyntheticsPrivateLocationObj from './kbn_synthetics_private_location.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 88447d7f9d1ca..7a6b63ecd4124 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2024-11-08 +date: 2024-11-10 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 76412a8cc425b..a15de1f6a5561 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_eui_helpers.mdx b/api_docs/kbn_test_eui_helpers.mdx index b12fae9c9fedd..3d9768a9ee345 100644 --- a/api_docs/kbn_test_eui_helpers.mdx +++ b/api_docs/kbn_test_eui_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-eui-helpers title: "@kbn/test-eui-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-eui-helpers plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-eui-helpers'] --- import kbnTestEuiHelpersObj from './kbn_test_eui_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 18c40cfcf80f3..c8b5480f91c0c 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2024-11-08 +date: 2024-11-10 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 e51606e405ef9..4b9a19ce9504a 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_timerange.mdx b/api_docs/kbn_timerange.mdx index 5723a55844083..21c702c95dfa6 100644 --- a/api_docs/kbn_timerange.mdx +++ b/api_docs/kbn_timerange.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-timerange title: "@kbn/timerange" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/timerange plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/timerange'] --- import kbnTimerangeObj from './kbn_timerange.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 061721d4e42ae..0da3dc52112de 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_transpose_utils.mdx b/api_docs/kbn_transpose_utils.mdx index 8996c0e426f51..d86b9c49de2ca 100644 --- a/api_docs/kbn_transpose_utils.mdx +++ b/api_docs/kbn_transpose_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-transpose-utils title: "@kbn/transpose-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/transpose-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/transpose-utils'] --- import kbnTransposeUtilsObj from './kbn_transpose_utils.devdocs.json'; diff --git a/api_docs/kbn_triggers_actions_ui_types.mdx b/api_docs/kbn_triggers_actions_ui_types.mdx index f83e38c563a9c..748722f9b92a3 100644 --- a/api_docs/kbn_triggers_actions_ui_types.mdx +++ b/api_docs/kbn_triggers_actions_ui_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-triggers-actions-ui-types title: "@kbn/triggers-actions-ui-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/triggers-actions-ui-types plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/triggers-actions-ui-types'] --- import kbnTriggersActionsUiTypesObj from './kbn_triggers_actions_ui_types.devdocs.json'; diff --git a/api_docs/kbn_try_in_console.mdx b/api_docs/kbn_try_in_console.mdx index 384ba94e32416..61f96147d52d1 100644 --- a/api_docs/kbn_try_in_console.mdx +++ b/api_docs/kbn_try_in_console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-try-in-console title: "@kbn/try-in-console" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/try-in-console plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/try-in-console'] --- import kbnTryInConsoleObj from './kbn_try_in_console.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index e61c6c4e60f65..d5464c02d31a1 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2024-11-08 +date: 2024-11-10 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 951fd38cfd3f5..8bad02b6a3717 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2024-11-08 +date: 2024-11-10 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 7213bb5d09100..28923a8f18ec4 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2024-11-08 +date: 2024-11-10 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 00b3a371e8b2d..58d642fe77ac0 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2024-11-08 +date: 2024-11-10 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 8cd41b701df39..ae5dcb3375890 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 9a62e5878da50..59048cd124720 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index 20e95699082ff..1dc816a17050d 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 63149672f0e8b..787c8f7e3f8b6 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_unsaved_changes_badge.mdx b/api_docs/kbn_unsaved_changes_badge.mdx index 6c6d13b6dfe42..2180d5baa1dc1 100644 --- a/api_docs/kbn_unsaved_changes_badge.mdx +++ b/api_docs/kbn_unsaved_changes_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-badge title: "@kbn/unsaved-changes-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unsaved-changes-badge plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-badge'] --- import kbnUnsavedChangesBadgeObj from './kbn_unsaved_changes_badge.devdocs.json'; diff --git a/api_docs/kbn_unsaved_changes_prompt.mdx b/api_docs/kbn_unsaved_changes_prompt.mdx index 53e4634b00614..5696b7625df6d 100644 --- a/api_docs/kbn_unsaved_changes_prompt.mdx +++ b/api_docs/kbn_unsaved_changes_prompt.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-prompt title: "@kbn/unsaved-changes-prompt" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unsaved-changes-prompt plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-prompt'] --- import kbnUnsavedChangesPromptObj from './kbn_unsaved_changes_prompt.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 0c1620167f9de..2f0739ae6ff58 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2024-11-08 +date: 2024-11-10 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 222a1fba359e5..36de6d3eae04a 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2024-11-08 +date: 2024-11-10 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 f69eea72bebb1..89373e6d2df03 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2024-11-08 +date: 2024-11-10 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 01ea33c50465a..bce2c9af52df1 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2024-11-08 +date: 2024-11-10 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 11c8153c256b1..f9e0f66622396 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2024-11-08 +date: 2024-11-10 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 0b9448a1ea0d3..cb0969157dcf6 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_visualization_utils.mdx b/api_docs/kbn_visualization_utils.mdx index 852dc7e6b2a12..737cde28c134c 100644 --- a/api_docs/kbn_visualization_utils.mdx +++ b/api_docs/kbn_visualization_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-utils title: "@kbn/visualization-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-utils'] --- import kbnVisualizationUtilsObj from './kbn_visualization_utils.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 99d67c60780ae..076c670b97c1a 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 2da13049983ac..eae48191d72dd 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kbn_zod.mdx b/api_docs/kbn_zod.mdx index 65e84ce935146..13da366151958 100644 --- a/api_docs/kbn_zod.mdx +++ b/api_docs/kbn_zod.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod title: "@kbn/zod" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/zod plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod'] --- import kbnZodObj from './kbn_zod.devdocs.json'; diff --git a/api_docs/kbn_zod_helpers.mdx b/api_docs/kbn_zod_helpers.mdx index b015679a4c1ca..ed8163b868336 100644 --- a/api_docs/kbn_zod_helpers.mdx +++ b/api_docs/kbn_zod_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod-helpers title: "@kbn/zod-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/zod-helpers plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod-helpers'] --- import kbnZodHelpersObj from './kbn_zod_helpers.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 3098bf389c245..651c1de3dda37 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index cee158028879f..5ebfa1479f16d 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2024-11-08 +date: 2024-11-10 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 e9af1fb96c98b..353afbd895d02 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2024-11-08 +date: 2024-11-10 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 8c03dd9a57cb1..89d24cd56e713 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2024-11-08 +date: 2024-11-10 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 ee124ecb724e6..27fd95422a83d 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2024-11-08 +date: 2024-11-10 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 f4af804e37bb8..82d594715795c 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2024-11-08 +date: 2024-11-10 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 1fe24130b9134..0b8805d6fe14c 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 184ad7dedca26..7c35fda57a0f1 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/links.mdx b/api_docs/links.mdx index a698b69583117..6bc150a02b85b 100644 --- a/api_docs/links.mdx +++ b/api_docs/links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/links title: "links" image: https://source.unsplash.com/400x175/?github description: API docs for the links plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'links'] --- import linksObj from './links.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 15ce643599498..31687ce2284f3 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/logs_data_access.mdx b/api_docs/logs_data_access.mdx index 0c403c908dce7..079011547b5d2 100644 --- a/api_docs/logs_data_access.mdx +++ b/api_docs/logs_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsDataAccess title: "logsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the logsDataAccess plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsDataAccess'] --- import logsDataAccessObj from './logs_data_access.devdocs.json'; diff --git a/api_docs/logs_explorer.mdx b/api_docs/logs_explorer.mdx index 5ece126219b7b..82830dc1ff939 100644 --- a/api_docs/logs_explorer.mdx +++ b/api_docs/logs_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsExplorer title: "logsExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logsExplorer plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsExplorer'] --- import logsExplorerObj from './logs_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 32195a0533c89..acded0d8f4de5 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2024-11-08 +date: 2024-11-10 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 079f2a036f25a..1b0f19f9bd6b0 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2024-11-08 +date: 2024-11-10 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 d1255504c08e0..1ceb4f37271bc 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2024-11-08 +date: 2024-11-10 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 822e11eae5a75..41cd995ced4d5 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index b88e314fb7fd7..9b18e1b21dbd9 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 35dc55dcc5dd9..666ec0d2af6c1 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/mock_idp_plugin.mdx b/api_docs/mock_idp_plugin.mdx index 851e9778d2fb8..47ec05a51bb53 100644 --- a/api_docs/mock_idp_plugin.mdx +++ b/api_docs/mock_idp_plugin.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mockIdpPlugin title: "mockIdpPlugin" image: https://source.unsplash.com/400x175/?github description: API docs for the mockIdpPlugin plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mockIdpPlugin'] --- import mockIdpPluginObj from './mock_idp_plugin.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index df48ea60d01e1..d69d5817473b4 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2024-11-08 +date: 2024-11-10 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 01f1254fbb119..06a53c4a354ec 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2024-11-08 +date: 2024-11-10 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 74281e922c001..cad334d70f353 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2024-11-08 +date: 2024-11-10 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 c4fb179e1a37b..ba3b6a9de813f 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index b9ae109404bfa..c9cdbe04106e4 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index aef0a400528da..facd4ede933f2 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2024-11-08 +date: 2024-11-10 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 a0764ed14203c..d80f739ea4eca 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2024-11-08 +date: 2024-11-10 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 c5ada27b09aff..3f5579c41a4de 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant_app.mdx b/api_docs/observability_a_i_assistant_app.mdx index 3198fec3b5018..9a6b43e0a175c 100644 --- a/api_docs/observability_a_i_assistant_app.mdx +++ b/api_docs/observability_a_i_assistant_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistantApp title: "observabilityAIAssistantApp" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistantApp plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistantApp'] --- import observabilityAIAssistantAppObj from './observability_a_i_assistant_app.devdocs.json'; diff --git a/api_docs/observability_ai_assistant_management.mdx b/api_docs/observability_ai_assistant_management.mdx index 84dc69beb7044..24751d9e89f5a 100644 --- a/api_docs/observability_ai_assistant_management.mdx +++ b/api_docs/observability_ai_assistant_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAiAssistantManagement title: "observabilityAiAssistantManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAiAssistantManagement plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAiAssistantManagement'] --- import observabilityAiAssistantManagementObj from './observability_ai_assistant_management.devdocs.json'; diff --git a/api_docs/observability_logs_explorer.mdx b/api_docs/observability_logs_explorer.mdx index 6ea3459a739b1..2fa25d54b86ed 100644 --- a/api_docs/observability_logs_explorer.mdx +++ b/api_docs/observability_logs_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogsExplorer title: "observabilityLogsExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogsExplorer plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogsExplorer'] --- import observabilityLogsExplorerObj from './observability_logs_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 75024e3509aac..2386b5450ba81 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2024-11-08 +date: 2024-11-10 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 f0f3f13928126..64a73a489b4ef 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2024-11-08 +date: 2024-11-10 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 371a8f884f009..c5287111fa891 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index df2dddc7b6913..97772c39311ee 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index e5c66a3bfbac9..daa9a785426a9 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -21,7 +21,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 54162 | 240 | 40645 | 2000 | +| 54142 | 240 | 40627 | 2000 | ## Plugin Directory @@ -49,11 +49,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | The cloud security posture plugin | 13 | 0 | 2 | 2 | | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 39 | 0 | 30 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Content management app | 149 | 0 | 125 | 6 | -| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Controls Plugin contains embeddable components intended to create a simple query interface for end users, and a powerful editing suite that allows dashboard authors to build controls | 135 | 0 | 131 | 14 | +| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Controls Plugin contains embeddable components intended to create a simple query interface for end users, and a powerful editing suite that allows dashboard authors to build controls | 135 | 0 | 131 | 15 | | crossClusterReplication | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 0 | 0 | 0 | 0 | | customBranding | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Enables customization of Kibana | 0 | 0 | 0 | 0 | | | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 268 | 0 | 249 | 1 | -| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 130 | 0 | 125 | 14 | +| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 114 | 0 | 111 | 13 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 54 | 0 | 51 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3209 | 31 | 2594 | 24 | | | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | - | 6 | 0 | 6 | 0 | @@ -560,7 +560,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 87 | 0 | 79 | 6 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 41 | 2 | 35 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 9 | 0 | 7 | 0 | -| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 116 | 0 | 115 | 0 | +| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 112 | 0 | 111 | 0 | | | [@elastic/kibana-esql](https://github.com/orgs/elastic/teams/kibana-esql) | - | 11 | 0 | 7 | 0 | | | [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/teams/obs-ux-infra_services-team) | - | 193 | 0 | 190 | 6 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 172 | 0 | 172 | 1 | diff --git a/api_docs/presentation_panel.mdx b/api_docs/presentation_panel.mdx index 3bd379009a4f8..f9ecadc3d4d07 100644 --- a/api_docs/presentation_panel.mdx +++ b/api_docs/presentation_panel.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationPanel title: "presentationPanel" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationPanel plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationPanel'] --- import presentationPanelObj from './presentation_panel.devdocs.json'; diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 1f4ffd0eae41b..ab330280b81fa 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2024-11-08 +date: 2024-11-10 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 5be552805c091..07d33ef2fa528 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 2c3cac2583ba2..1f2f98966446c 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index ca18a36ef699c..07cd882b80112 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2024-11-08 +date: 2024-11-10 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 cd5af5a1179c5..c1f9d099d5286 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2024-11-08 +date: 2024-11-10 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 fd74b2796567f..fadca7cb9bdc1 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2024-11-08 +date: 2024-11-10 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 d16b7bccd2821..9921188605b31 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2024-11-08 +date: 2024-11-10 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 908c791e878fb..7566e69c16f2a 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2024-11-08 +date: 2024-11-10 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 0bb0e230d1ba0..491b871300911 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2024-11-08 +date: 2024-11-10 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 ea14400c6f714..5d94314705e01 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2024-11-08 +date: 2024-11-10 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 00f5c846f6658..118c24136f5ef 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2024-11-08 +date: 2024-11-10 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 b7cdd644004fa..75a6b4174e58a 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2024-11-08 +date: 2024-11-10 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 81559a1a13110..ead5baa3d5ac6 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2024-11-08 +date: 2024-11-10 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 996b2bb90f536..738c02dad4966 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2024-11-08 +date: 2024-11-10 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 a6adc2968720b..71f5ab5571587 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2024-11-08 +date: 2024-11-10 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 613bb628d5a4c..24fa328a75566 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/search_assistant.mdx b/api_docs/search_assistant.mdx index 2837f94afe4ed..7c1f19f27d53b 100644 --- a/api_docs/search_assistant.mdx +++ b/api_docs/search_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchAssistant title: "searchAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the searchAssistant plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchAssistant'] --- import searchAssistantObj from './search_assistant.devdocs.json'; diff --git a/api_docs/search_connectors.mdx b/api_docs/search_connectors.mdx index df5b281bb399a..dfe86ece22bfc 100644 --- a/api_docs/search_connectors.mdx +++ b/api_docs/search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchConnectors title: "searchConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the searchConnectors plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchConnectors'] --- import searchConnectorsObj from './search_connectors.devdocs.json'; diff --git a/api_docs/search_homepage.mdx b/api_docs/search_homepage.mdx index 34ecab54df0ab..6e389b22c5927 100644 --- a/api_docs/search_homepage.mdx +++ b/api_docs/search_homepage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchHomepage title: "searchHomepage" image: https://source.unsplash.com/400x175/?github description: API docs for the searchHomepage plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchHomepage'] --- import searchHomepageObj from './search_homepage.devdocs.json'; diff --git a/api_docs/search_indices.mdx b/api_docs/search_indices.mdx index 3e1b928a56d92..b2100c97e4e85 100644 --- a/api_docs/search_indices.mdx +++ b/api_docs/search_indices.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchIndices title: "searchIndices" image: https://source.unsplash.com/400x175/?github description: API docs for the searchIndices plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchIndices'] --- import searchIndicesObj from './search_indices.devdocs.json'; diff --git a/api_docs/search_inference_endpoints.mdx b/api_docs/search_inference_endpoints.mdx index e875b75f28272..994ccfc5b4b11 100644 --- a/api_docs/search_inference_endpoints.mdx +++ b/api_docs/search_inference_endpoints.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchInferenceEndpoints title: "searchInferenceEndpoints" image: https://source.unsplash.com/400x175/?github description: API docs for the searchInferenceEndpoints plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchInferenceEndpoints'] --- import searchInferenceEndpointsObj from './search_inference_endpoints.devdocs.json'; diff --git a/api_docs/search_notebooks.mdx b/api_docs/search_notebooks.mdx index 1f0587205c6fa..d648b1a534cd0 100644 --- a/api_docs/search_notebooks.mdx +++ b/api_docs/search_notebooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchNotebooks title: "searchNotebooks" image: https://source.unsplash.com/400x175/?github description: API docs for the searchNotebooks plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchNotebooks'] --- import searchNotebooksObj from './search_notebooks.devdocs.json'; diff --git a/api_docs/search_playground.mdx b/api_docs/search_playground.mdx index 3d839d7504981..403fc7d682cda 100644 --- a/api_docs/search_playground.mdx +++ b/api_docs/search_playground.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchPlayground title: "searchPlayground" image: https://source.unsplash.com/400x175/?github description: API docs for the searchPlayground plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchPlayground'] --- import searchPlaygroundObj from './search_playground.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 7a0bc056c3e3c..34f62d1079a7c 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index f2f2cf19b0233..cf577629871c7 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 6180fcf3a8f25..c4bea975988c2 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2024-11-08 +date: 2024-11-10 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 eeaa62fa48e24..62018e2ccdd41 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2024-11-08 +date: 2024-11-10 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 32a9b4b4e3de7..3b1fc801bb820 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2024-11-08 +date: 2024-11-10 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 0251502819580..b9f62ae5a5cc4 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2024-11-08 +date: 2024-11-10 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 d6ed4d4d25bb0..3eb9d112921d5 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2024-11-08 +date: 2024-11-10 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 6ae46db0c0ac0..c8d9e01e24b9b 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2024-11-08 +date: 2024-11-10 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 3b1b2acd710f4..0edc2ef35af65 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/slo.mdx b/api_docs/slo.mdx index e836b1af8d3c6..76877cd128826 100644 --- a/api_docs/slo.mdx +++ b/api_docs/slo.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/slo title: "slo" image: https://source.unsplash.com/400x175/?github description: API docs for the slo plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'slo'] --- import sloObj from './slo.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index dbf1db63c4b1e..deee9fdb541a2 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2024-11-08 +date: 2024-11-10 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 6d50acdaef9ce..31865d22e5f25 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2024-11-08 +date: 2024-11-10 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 d88658aca46a5..4cfcbc6251dc3 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2024-11-08 +date: 2024-11-10 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 ca50115bec3a5..103cb9696b4b7 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2024-11-08 +date: 2024-11-10 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 5d11b45be141c..70bdd783a5209 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2024-11-08 +date: 2024-11-10 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 32eef2a11561f..60dbb98e2ab1c 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2024-11-08 +date: 2024-11-10 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 fd7d20cb0050c..72c605c6c1dfa 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index 332497eb55f07..0dabf140492db 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 250773ae4251e..7ae72ce36d8f7 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 77cac359f1d8a..d40bd69ad446e 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2024-11-08 +date: 2024-11-10 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 8f6347c4807d5..ecedd96703059 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2024-11-08 +date: 2024-11-10 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 31d3acffe3e2f..ba5312049eed5 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2024-11-08 +date: 2024-11-10 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 0c8085602765e..6ab39442c68e4 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2024-11-08 +date: 2024-11-10 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 15b0d49965f2f..80b5b40d74e20 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index bc1083e293713..8fd6c87236457 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 98d8dc385256b..3b74c67464fd3 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2024-11-08 +date: 2024-11-10 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 29b5704a7aabf..55716f98e2008 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2024-11-08 +date: 2024-11-10 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 2d8c0355020ea..eda199e57b834 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2024-11-08 +date: 2024-11-10 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 74e42b8aa4dcb..2b537d4507d08 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2024-11-08 +date: 2024-11-10 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 8efe175e268dc..9ff8d507cecf6 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2024-11-08 +date: 2024-11-10 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 8c915398c2102..8707950662e17 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2024-11-08 +date: 2024-11-10 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 d3cf78795af73..85d480beecafc 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2024-11-08 +date: 2024-11-10 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 e92277c0ae8e0..2342e5aa55692 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2024-11-08 +date: 2024-11-10 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 09e63f5a8bf9e..ff5ef4fd5d2f9 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2024-11-08 +date: 2024-11-10 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 37226efc05fa1..c4707e4e80795 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2024-11-08 +date: 2024-11-10 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 cada8fcff3214..7c5e17d7aa3c6 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2024-11-08 +date: 2024-11-10 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 2d8f9e3966590..6b3471e086144 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2024-11-08 +date: 2024-11-10 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 d00b29cd1ddd0..41f321cff8c43 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2024-11-08 +date: 2024-11-10 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 41958729b33d3..38d8f5afeca7a 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2024-11-08 +date: 2024-11-10 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 9a11466bb00b3..8726e55be8332 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2024-11-08 +date: 2024-11-10 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 166164637eafb..64dbbbbf238d0 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2024-11-08 +date: 2024-11-10 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 305ff28e2aa8b..785f62076ab15 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.devdocs.json b/api_docs/visualizations.devdocs.json index b3a0a1f575137..bcaf2ac9154d3 100644 --- a/api_docs/visualizations.devdocs.json +++ b/api_docs/visualizations.devdocs.json @@ -6984,7 +6984,15 @@ "section": "def-public.PublishingSubject", "text": "PublishingSubject" }, - "; lockHoverActions: (lock: boolean) => void; disableTriggers: boolean; timeRange$: ", + "; lockHoverActions: (lock: boolean) => void; disableTriggers: boolean; savedObjectId: ", + { + "pluginId": "@kbn/presentation-publishing", + "scope": "public", + "docId": "kibKbnPresentationPublishingPluginApi", + "section": "def-public.PublishingSubject", + "text": "PublishingSubject" + }, + "; timeRange$: ", { "pluginId": "@kbn/presentation-publishing", "scope": "public", @@ -7096,15 +7104,7 @@ "section": "def-public.PhaseEvent", "text": "PhaseEvent" }, - " | undefined>; setPanelTitle: (newTitle: string | undefined) => void; isEditingEnabled: () => boolean; setHidePanelTitle: (hide: boolean | undefined) => void; getTypeDisplayName: () => string; setPanelDescription: (newTitle: string | undefined) => void; savedObjectId: ", - { - "pluginId": "@kbn/presentation-publishing", - "scope": "public", - "docId": "kibKbnPresentationPublishingPluginApi", - "section": "def-public.PublishingSubject", - "text": "PublishingSubject" - }, - "; render: (domNode: HTMLElement) => Promise; getEditHref: () => Promise; reload: () => Promise; updateInput: (changes: Partial<", + " | undefined>; setPanelTitle: (newTitle: string | undefined) => void; isEditingEnabled: () => boolean; setHidePanelTitle: (hide: boolean | undefined) => void; getTypeDisplayName: () => string; setPanelDescription: (newTitle: string | undefined) => void; render: (domNode: HTMLElement) => Promise; getEditHref: () => Promise; reload: () => Promise; updateInput: (changes: Partial<", { "pluginId": "visualizations", "scope": "public", diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 940bb153c02ae..abda17709cebd 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2024-11-08 +date: 2024-11-10 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From d8055465071542e84059250aecc8f8fc81bf72f4 Mon Sep 17 00:00:00 2001 From: Matthew Kime Date: Sun, 10 Nov 2024 20:18:49 -0600 Subject: [PATCH 49/52] [ilm] Remove observability solution dependency on index lifecycle management plugin bundle (#199383) Create package for observability solution's dependencies from index lifecycle management. Previously it relied on the plugin bundle but thats best avoided with our sustainable architecture efforts. Part of https://github.com/elastic/kibana-team/issues/1179 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .github/CODEOWNERS | 1 + package.json | 1 + tsconfig.base.json | 2 ++ .../README.md | 3 +++ .../index.ts | 9 +++++++++ .../kibana.jsonc | 5 +++++ .../package.json | 6 ++++++ .../src}/policies.ts | 0 .../tsconfig.json | 20 +++++++++++++++++++ .../common/types/index.ts | 2 +- .../public/locator.ts | 3 ++- .../index_lifecycle_management/tsconfig.json | 1 + .../synthetics/kibana.jsonc | 3 +-- .../components/settings/hooks/api.ts | 2 +- .../components/settings/policy_link.tsx | 2 +- .../synthetics/tsconfig.json | 4 ++-- yarn.lock | 4 ++++ 17 files changed, 60 insertions(+), 8 deletions(-) create mode 100644 x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/README.md create mode 100644 x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/index.ts create mode 100644 x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/kibana.jsonc create mode 100644 x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/package.json rename x-pack/{plugins/index_lifecycle_management/common/types => packages/index-lifecycle-management/index_lifecycle_management_common_shared/src}/policies.ts (100%) create mode 100644 x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/tsconfig.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 6dc2aa32a79a9..73a670d145347 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -766,6 +766,7 @@ x-pack/examples/triggers_actions_ui_example @elastic/response-ops x-pack/examples/ui_actions_enhanced_examples @elastic/appex-sharedux x-pack/packages/ai-infra/inference-common @elastic/appex-ai-infra x-pack/packages/ai-infra/product-doc-artifact-builder @elastic/appex-ai-infra +x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared @elastic/kibana-management x-pack/packages/index-management/index_management_shared_types @elastic/kibana-management x-pack/packages/kbn-ai-assistant @elastic/search-kibana x-pack/packages/kbn-ai-assistant-common @elastic/search-kibana diff --git a/package.json b/package.json index ddf84de2e78c7..024cedb6e9556 100644 --- a/package.json +++ b/package.json @@ -567,6 +567,7 @@ "@kbn/i18n-react": "link:packages/kbn-i18n-react", "@kbn/iframe-embedded-plugin": "link:x-pack/test/functional_embedded/plugins/iframe_embedded", "@kbn/image-embeddable-plugin": "link:src/plugins/image_embeddable", + "@kbn/index-lifecycle-management-common-shared": "link:x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared", "@kbn/index-lifecycle-management-plugin": "link:x-pack/plugins/index_lifecycle_management", "@kbn/index-management-plugin": "link:x-pack/plugins/index_management", "@kbn/index-management-shared-types": "link:x-pack/packages/index-management/index_management_shared_types", diff --git a/tsconfig.base.json b/tsconfig.base.json index 7b1bc834fcc28..68faf44ed74d4 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1034,6 +1034,8 @@ "@kbn/import-locator/*": ["packages/kbn-import-locator/*"], "@kbn/import-resolver": ["packages/kbn-import-resolver"], "@kbn/import-resolver/*": ["packages/kbn-import-resolver/*"], + "@kbn/index-lifecycle-management-common-shared": ["x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared"], + "@kbn/index-lifecycle-management-common-shared/*": ["x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/*"], "@kbn/index-lifecycle-management-plugin": ["x-pack/plugins/index_lifecycle_management"], "@kbn/index-lifecycle-management-plugin/*": ["x-pack/plugins/index_lifecycle_management/*"], "@kbn/index-management-plugin": ["x-pack/plugins/index_management"], diff --git a/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/README.md b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/README.md new file mode 100644 index 0000000000000..66d1ff7e3c8f2 --- /dev/null +++ b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/README.md @@ -0,0 +1,3 @@ +# @kbn/index-lifecycle-management-common-shared + +Contains types and functions used and exported by the index lifecycle management plugin. Primarily used to address dependency issues. diff --git a/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/index.ts b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/index.ts new file mode 100644 index 0000000000000..044ab18aa34df --- /dev/null +++ b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const ILM_LOCATOR_ID = 'ILM_LOCATOR_ID'; +export * from './src/policies'; diff --git a/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/kibana.jsonc b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/kibana.jsonc new file mode 100644 index 0000000000000..dfaef1d0dfb9c --- /dev/null +++ b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/index-lifecycle-management-common-shared", + "owner": "@elastic/kibana-management" +} diff --git a/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/package.json b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/package.json new file mode 100644 index 0000000000000..9c3e7c99dd7d9 --- /dev/null +++ b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/index-lifecycle-management-common-shared", + "private": true, + "version": "1.0.0", + "license": "Elastic License 2.0" +} diff --git a/x-pack/plugins/index_lifecycle_management/common/types/policies.ts b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/src/policies.ts similarity index 100% rename from x-pack/plugins/index_lifecycle_management/common/types/policies.ts rename to x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/src/policies.ts diff --git a/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/tsconfig.json b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/tsconfig.json new file mode 100644 index 0000000000000..12a691a15cc4f --- /dev/null +++ b/x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + ] +} diff --git a/x-pack/plugins/index_lifecycle_management/common/types/index.ts b/x-pack/plugins/index_lifecycle_management/common/types/index.ts index bc7e881a8c230..ee5939e328ce5 100644 --- a/x-pack/plugins/index_lifecycle_management/common/types/index.ts +++ b/x-pack/plugins/index_lifecycle_management/common/types/index.ts @@ -7,7 +7,7 @@ export * from './api'; -export * from './policies'; +export * from '@kbn/index-lifecycle-management-common-shared'; /** * These roles reflect how nodes are stratified into different data tiers. diff --git a/x-pack/plugins/index_lifecycle_management/public/locator.ts b/x-pack/plugins/index_lifecycle_management/public/locator.ts index 24599b6a6b47e..382cbc4ad1838 100644 --- a/x-pack/plugins/index_lifecycle_management/public/locator.ts +++ b/x-pack/plugins/index_lifecycle_management/public/locator.ts @@ -8,6 +8,7 @@ import type { SerializableRecord } from '@kbn/utility-types'; import { ManagementAppLocator } from '@kbn/management-plugin/common'; import { LocatorDefinition } from '@kbn/share-plugin/public'; +import { ILM_LOCATOR_ID } from '@kbn/index-lifecycle-management-common-shared'; import { getPoliciesListPath, getPolicyCreatePath, @@ -15,7 +16,7 @@ import { } from './application/services/navigation'; import { PLUGIN } from '../common/constants'; -export const ILM_LOCATOR_ID = 'ILM_LOCATOR_ID'; +export { ILM_LOCATOR_ID }; export interface IlmLocatorParams extends SerializableRecord { page: 'policies_list' | 'policy_edit' | 'policy_create'; diff --git a/x-pack/plugins/index_lifecycle_management/tsconfig.json b/x-pack/plugins/index_lifecycle_management/tsconfig.json index 7c3913fcae1bd..08346dcdc2d35 100644 --- a/x-pack/plugins/index_lifecycle_management/tsconfig.json +++ b/x-pack/plugins/index_lifecycle_management/tsconfig.json @@ -41,6 +41,7 @@ "@kbn/react-kibana-context-render", "@kbn/unsaved-changes-prompt", "@kbn/shared-ux-table-persist", + "@kbn/index-lifecycle-management-common-shared", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/observability_solution/synthetics/kibana.jsonc b/x-pack/plugins/observability_solution/synthetics/kibana.jsonc index 89870a9e6c881..44d549843f469 100644 --- a/x-pack/plugins/observability_solution/synthetics/kibana.jsonc +++ b/x-pack/plugins/observability_solution/synthetics/kibana.jsonc @@ -63,8 +63,7 @@ "kibanaUtils", "observability", "spaces", - "indexLifecycleManagement", "unifiedDocViewer" ] } -} \ No newline at end of file +} diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/api.ts b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/api.ts index ad3d45d0ba806..a113f86bdfef4 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/api.ts +++ b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/hooks/api.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { PolicyFromES } from '@kbn/index-lifecycle-management-plugin/common/types'; +import { PolicyFromES } from '@kbn/index-lifecycle-management-common-shared'; import { DataStream } from '@kbn/index-management-plugin/common'; import { CatIndicesResponse } from '@elastic/elasticsearch/lib/api/types'; import { apiService } from '../../../../../utils/api_service'; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/policy_link.tsx b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/policy_link.tsx index 0c9cb465c127f..3918e20bccabd 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/policy_link.tsx +++ b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/policy_link.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { EuiIconTip, EuiLink, EuiSkeletonText, EuiToolTip, EuiText } from '@elastic/eui'; import { useKibana } from '@kbn/kibana-react-plugin/public'; -import { ILM_LOCATOR_ID } from '@kbn/index-lifecycle-management-plugin/public'; +import { ILM_LOCATOR_ID } from '@kbn/index-lifecycle-management-common-shared'; import { useFetcher } from '@kbn/observability-shared-plugin/public'; import { i18n } from '@kbn/i18n'; import { useSyntheticsSettingsContext } from '../../contexts'; diff --git a/x-pack/plugins/observability_solution/synthetics/tsconfig.json b/x-pack/plugins/observability_solution/synthetics/tsconfig.json index 5df6d4257b4e9..267298a234271 100644 --- a/x-pack/plugins/observability_solution/synthetics/tsconfig.json +++ b/x-pack/plugins/observability_solution/synthetics/tsconfig.json @@ -18,7 +18,6 @@ "@kbn/observability-plugin", "@kbn/fleet-plugin", "@kbn/unified-search-plugin", - "@kbn/index-lifecycle-management-plugin", "@kbn/i18n", "@kbn/core", "@kbn/config-schema", @@ -105,7 +104,8 @@ "@kbn/slo-plugin", "@kbn/ebt-tools", "@kbn/alerting-types", - "@kbn/core-chrome-browser" + "@kbn/core-chrome-browser", + "@kbn/index-lifecycle-management-common-shared" ], "exclude": ["target/**/*"] } diff --git a/yarn.lock b/yarn.lock index 1b79af13e5007..c76300ed160d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5322,6 +5322,10 @@ version "0.0.0" uid "" +"@kbn/index-lifecycle-management-common-shared@link:x-pack/packages/index-lifecycle-management/index_lifecycle_management_common_shared": + version "0.0.0" + uid "" + "@kbn/index-lifecycle-management-plugin@link:x-pack/plugins/index_lifecycle_management": version "0.0.0" uid "" From 4eda49f0cfa971dc6e32e9a03f4242430e55b7b4 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Mon, 11 Nov 2024 17:57:32 +1100 Subject: [PATCH 50/52] [ES|QL] Update function metadata (#199586) This PR updates the function definitions and inline docs based on the latest metadata from Elasticsearch. --- .../src/definitions/generated/scalar_functions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kbn-esql-validation-autocomplete/src/definitions/generated/scalar_functions.ts b/packages/kbn-esql-validation-autocomplete/src/definitions/generated/scalar_functions.ts index 4b0ea8ee564ed..739a12095ac23 100644 --- a/packages/kbn-esql-validation-autocomplete/src/definitions/generated/scalar_functions.ts +++ b/packages/kbn-esql-validation-autocomplete/src/definitions/generated/scalar_functions.ts @@ -1294,7 +1294,7 @@ const dateDiffDefinition: FunctionDefinition = { validate: undefined, examples: [ 'ROW date1 = TO_DATETIME("2023-12-02T11:00:00.000Z"), date2 = TO_DATETIME("2023-12-02T11:00:00.001Z")\n| EVAL dd_ms = DATE_DIFF("microseconds", date1, date2)', - 'ROW end_23="2023-12-31T23:59:59.999Z"::DATETIME,\n start_24="2024-01-01T00:00:00.000Z"::DATETIME,\n end_24="2024-12-31T23:59:59.999"::DATETIME\n| EVAL end23_to_start24=DATE_DIFF("year", end_23, start_24)\n| EVAL end23_to_end24=DATE_DIFF("year", end_23, end_24)\n| EVAL start_to_end_24=DATE_DIFF("year", start_24, end_24)', + 'ROW end_23=TO_DATETIME("2023-12-31T23:59:59.999Z"),\n start_24=TO_DATETIME("2024-01-01T00:00:00.000Z"),\n end_24=TO_DATETIME("2024-12-31T23:59:59.999")\n| EVAL end23_to_start24=DATE_DIFF("year", end_23, start_24)\n| EVAL end23_to_end24=DATE_DIFF("year", end_23, end_24)\n| EVAL start_to_end_24=DATE_DIFF("year", start_24, end_24)', ], }; From c8227a26941a76044a89d27662dae029644b3ea7 Mon Sep 17 00:00:00 2001 From: Anton Dosov Date: Mon, 11 Nov 2024 09:31:15 +0100 Subject: [PATCH 51/52] [React@18] Upgrade `@testing-library/react` (#198918) --- package.json | 4 +- .../src/jest/mocks/react_dom_client_mock.ts | 10 +++ packages/kbn-test/src/jest/resolver.js | 7 ++ .../src/jest/setup/react_testing_library.js | 31 +++++++++ ..._timeline_items_from_conversation.test.tsx | 2 +- .../summary_actions/check_all/index.test.tsx | 3 +- .../components/add_comment/index.test.tsx | 65 ++++++++++++------- .../public/components/create/index.test.tsx | 4 +- .../kubernetes_security/public/test/index.tsx | 4 +- .../transaction_action_menu.test.tsx.snap | 2 +- .../mock/endpoint/app_context_render.tsx | 2 +- .../related_integrations.test.tsx | 6 ++ .../session_view/public/test/index.tsx | 2 +- .../public/connector_types/lib/test_utils.tsx | 2 +- .../components/health_check.test.tsx | 2 +- .../rules_settings_modal.test.tsx | 2 + yarn.lock | 38 +++++------ 17 files changed, 128 insertions(+), 58 deletions(-) create mode 100644 packages/kbn-test/src/jest/mocks/react_dom_client_mock.ts diff --git a/package.json b/package.json index 024cedb6e9556..afda7cd4c9125 100644 --- a/package.json +++ b/package.json @@ -1518,9 +1518,9 @@ "@storybook/react": "^6.5.16", "@storybook/testing-react": "^1.3.0", "@storybook/theming": "^6.5.16", - "@testing-library/dom": "^8.19.0", + "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.5.0", - "@testing-library/react": "^12.1.5", + "@testing-library/react": "^16.0.1", "@testing-library/react-hooks": "^8.0.1", "@testing-library/user-event": "^14.5.2", "@types/adm-zip": "^0.5.0", diff --git a/packages/kbn-test/src/jest/mocks/react_dom_client_mock.ts b/packages/kbn-test/src/jest/mocks/react_dom_client_mock.ts new file mode 100644 index 0000000000000..4e24481458767 --- /dev/null +++ b/packages/kbn-test/src/jest/mocks/react_dom_client_mock.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", 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", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +export {}; diff --git a/packages/kbn-test/src/jest/resolver.js b/packages/kbn-test/src/jest/resolver.js index aab1b0f597284..a3303ecf17e45 100644 --- a/packages/kbn-test/src/jest/resolver.js +++ b/packages/kbn-test/src/jest/resolver.js @@ -58,6 +58,13 @@ module.exports = (request, options) => { }); } + // This is a workaround to run tests with React 17 and the latest @testing-library/react + // This will be removed once we upgrade to React 18 and start transitioning to the Concurrent Mode + // Tracking issue to clean this up https://github.com/elastic/kibana/issues/199100 + if (request === 'react-dom/client') { + return Path.resolve(__dirname, 'mocks/react_dom_client_mock.ts'); + } + if (request === `elastic-apm-node`) { return APM_AGENT_MOCK; } diff --git a/packages/kbn-test/src/jest/setup/react_testing_library.js b/packages/kbn-test/src/jest/setup/react_testing_library.js index a04ee097a5ec7..1444aa41949ef 100644 --- a/packages/kbn-test/src/jest/setup/react_testing_library.js +++ b/packages/kbn-test/src/jest/setup/react_testing_library.js @@ -19,3 +19,34 @@ import { configure } from '@testing-library/react'; // instead of default 'data-testid', use kibana's 'data-test-subj' configure({ testIdAttribute: 'data-test-subj', asyncUtilTimeout: 4500 }); + +/* eslint-env jest */ + +// This is a workaround to run tests with React 17 and the latest @testing-library/react +// Tracking issue to clean this up https://github.com/elastic/kibana/issues/199100 +jest.mock('@testing-library/react', () => { + const actual = jest.requireActual('@testing-library/react'); + + return { + ...actual, + render: (ui, options) => actual.render(ui, { ...options, legacyRoot: true }), + renderHook: (render, options) => actual.renderHook(render, { ...options, legacyRoot: true }), + }; +}); + +// This is a workaround to run tests with React 17 and the latest @testing-library/react +// And prevent the act warnings that were supposed to be muted by @testing-library +// The testing library mutes the act warnings in some cases by setting IS_REACT_ACT_ENVIRONMENT which is React@18 feature https://github.com/testing-library/react-testing-library/pull/1137/ +// Using this console override we're muting the act warnings as well +// Tracking issue to clean this up https://github.com/elastic/kibana/issues/199100 +// NOTE: we're not muting all the act warnings but only those that testing-library wanted to mute +const originalConsoleError = console.error; +console.error = (...args) => { + if (global.IS_REACT_ACT_ENVIRONMENT === false) { + if (args[0].includes('Warning: An update to %s inside a test was not wrapped in act')) { + return; + } + } + + originalConsoleError(...args); +}; diff --git a/x-pack/packages/kbn-ai-assistant/src/utils/get_timeline_items_from_conversation.test.tsx b/x-pack/packages/kbn-ai-assistant/src/utils/get_timeline_items_from_conversation.test.tsx index 337c11419209e..6a304430103ab 100644 --- a/x-pack/packages/kbn-ai-assistant/src/utils/get_timeline_items_from_conversation.test.tsx +++ b/x-pack/packages/kbn-ai-assistant/src/utils/get_timeline_items_from_conversation.test.tsx @@ -18,7 +18,7 @@ const mockChatService = createMockChatService(); let items: ReturnType; -function Providers({ children }: { children: React.ReactElement }) { +function Providers({ children }: { children: React.ReactNode }) { return ( { // simulate the wall clock advancing for (let i = 0; i < totalIndexNames + 1; i++) { - act(() => { + await act(async () => { jest.advanceTimersByTime(1000 * 10); }); - await waitFor(() => {}); } }); diff --git a/x-pack/plugins/cases/public/components/add_comment/index.test.tsx b/x-pack/plugins/cases/public/components/add_comment/index.test.tsx index 68cf0c8a1e2b5..5664151aa6df0 100644 --- a/x-pack/plugins/cases/public/components/add_comment/index.test.tsx +++ b/x-pack/plugins/cases/public/components/add_comment/index.test.tsx @@ -21,12 +21,13 @@ import { CasesTimelineIntegrationProvider } from '../timeline_context'; import { timelineIntegrationMock } from '../__mock__/timeline'; import type { CaseAttachmentWithoutOwner } from '../../types'; import type { AppMockRenderer } from '../../common/mock'; +import { useCreateAttachments } from '../../containers/use_create_attachments'; -jest.mock('../../containers/api', () => ({ - createAttachments: jest.fn(), -})); +jest.mock('../../containers/use_create_attachments'); -const createAttachmentsMock = createAttachments as jest.Mock; +const useCreateAttachmentsMock = useCreateAttachments as jest.Mock; + +const createAttachmentsMock = jest.fn().mockImplementation(() => defaultResponse); const onCommentSaving = jest.fn(); const onCommentPosted = jest.fn(); @@ -58,7 +59,10 @@ describe('AddComment ', () => { beforeEach(() => { jest.clearAllMocks(); appMockRender = createAppMockRenderer(); - createAttachmentsMock.mockImplementation(() => defaultResponse); + useCreateAttachmentsMock.mockReturnValue({ + isLoading: false, + mutate: createAttachmentsMock, + }); }); afterEach(() => { @@ -72,6 +76,11 @@ describe('AddComment ', () => { }); it('should render spinner and disable submit when loading', async () => { + useCreateAttachmentsMock.mockReturnValue({ + isLoading: true, + mutateAsync: createAttachmentsMock, + }); + appMockRender.render(); fireEvent.change(screen.getByLabelText('caseComment'), { @@ -109,16 +118,19 @@ describe('AddComment ', () => { await waitFor(() => expect(onCommentSaving).toBeCalled()); await waitFor(() => - expect(createAttachmentsMock).toBeCalledWith({ - caseId: addCommentProps.caseId, - attachments: [ - { - comment: sampleData.comment, - owner: SECURITY_SOLUTION_OWNER, - type: AttachmentType.user, - }, - ], - }) + expect(createAttachmentsMock).toBeCalledWith( + { + caseId: addCommentProps.caseId, + attachments: [ + { + comment: sampleData.comment, + type: AttachmentType.user, + }, + ], + caseOwner: SECURITY_SOLUTION_OWNER, + }, + { onSuccess: expect.any(Function) } + ) ); await waitFor(() => { expect(screen.getByTestId('euiMarkdownEditorTextArea')).toHaveTextContent(''); @@ -258,16 +270,19 @@ describe('draft comment ', () => { await waitFor(() => { expect(onCommentSaving).toBeCalled(); - expect(createAttachmentsMock).toBeCalledWith({ - caseId: addCommentProps.caseId, - attachments: [ - { - comment: sampleData.comment, - owner: SECURITY_SOLUTION_OWNER, - type: AttachmentType.user, - }, - ], - }); + expect(createAttachmentsMock).toBeCalledWith( + { + caseId: addCommentProps.caseId, + attachments: [ + { + comment: sampleData.comment, + type: AttachmentType.user, + }, + ], + caseOwner: SECURITY_SOLUTION_OWNER, + }, + { onSuccess: expect.any(Function) } + ); }); await waitFor(() => { diff --git a/x-pack/plugins/cases/public/components/create/index.test.tsx b/x-pack/plugins/cases/public/components/create/index.test.tsx index bb519b1f6f778..37e817d00f331 100644 --- a/x-pack/plugins/cases/public/components/create/index.test.tsx +++ b/x-pack/plugins/cases/public/components/create/index.test.tsx @@ -172,6 +172,8 @@ describe('CreateCase case', () => { await user.click(screen.getByTestId('create-case-submit')); - expect(defaultProps.onSuccess).toHaveBeenCalled(); + await waitFor(() => { + expect(defaultProps.onSuccess).toHaveBeenCalled(); + }); }); }); diff --git a/x-pack/plugins/kubernetes_security/public/test/index.tsx b/x-pack/plugins/kubernetes_security/public/test/index.tsx index a267169e6cf18..4aeaf93f746cc 100644 --- a/x-pack/plugins/kubernetes_security/public/test/index.tsx +++ b/x-pack/plugins/kubernetes_security/public/test/index.tsx @@ -17,7 +17,7 @@ import { coreMock } from '@kbn/core/public/mocks'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { EuiThemeProvider } from '@kbn/kibana-react-plugin/common'; -type UiRender = (ui: React.ReactElement, options?: RenderOptions) => RenderResult; +type UiRender = (ui: React.ReactNode, options?: RenderOptions) => RenderResult; /** * Mocked app root context renderer @@ -113,7 +113,7 @@ export const createAppRootMockRenderer = (): AppContextTestRender => { }, }); - const AppWrapper: React.FC<{ children: React.ReactElement }> = ({ children }) => ( + const AppWrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => ( {children} diff --git a/x-pack/plugins/observability_solution/apm/public/components/shared/transaction_action_menu/__snapshots__/transaction_action_menu.test.tsx.snap b/x-pack/plugins/observability_solution/apm/public/components/shared/transaction_action_menu/__snapshots__/transaction_action_menu.test.tsx.snap index 023caad499485..63f0a9ff2f3ce 100644 --- a/x-pack/plugins/observability_solution/apm/public/components/shared/transaction_action_menu/__snapshots__/transaction_action_menu.test.tsx.snap +++ b/x-pack/plugins/observability_solution/apm/public/components/shared/transaction_action_menu/__snapshots__/transaction_action_menu.test.tsx.snap @@ -3,7 +3,7 @@ exports[`TransactionActionMenu matches the snapshot 1`] = `