From b3b947248031633aab22087ae3377eb199042532 Mon Sep 17 00:00:00 2001 From: Melissa Alvarez Date: Tue, 3 Oct 2023 08:36:30 -0600 Subject: [PATCH 01/35] [ML] Anomaly detection results functional tests: retry forecast chart check (#167820) ## Summary Fixes https://github.com/elastic/kibana/issues/164381 Flaky test runner build: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3279 This PR ensures enough time is given for the forecast chart to show up correctly by adding retries. ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [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 --- .../forecasts.ts | 3 +-- .../test/functional/services/ml/forecast.ts | 21 +++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/x-pack/test/functional/apps/ml/anomaly_detection_result_views/forecasts.ts b/x-pack/test/functional/apps/ml/anomaly_detection_result_views/forecasts.ts index 63f72381d0185e..93ec331230a8a0 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection_result_views/forecasts.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection_result_views/forecasts.ts @@ -42,8 +42,7 @@ export default function ({ getService }: FtrProviderContext) { describe('forecasts', function () { this.tags(['ml']); - // FLAKY: https://github.com/elastic/kibana/issues/164381 - describe.skip('with single metric job', function () { + describe('with single metric job', function () { before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/farequote'); await ml.testResources.createIndexPatternIfNeeded('ft_farequote', '@timestamp'); diff --git a/x-pack/test/functional/services/ml/forecast.ts b/x-pack/test/functional/services/ml/forecast.ts index c26216c97adfe3..8b131578fd65fd 100644 --- a/x-pack/test/functional/services/ml/forecast.ts +++ b/x-pack/test/functional/services/ml/forecast.ts @@ -11,6 +11,7 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export function MachineLearningForecastProvider({ getService }: FtrProviderContext) { const testSubjects = getService('testSubjects'); + const retry = getService('retry'); return { async assertForecastButtonExists() { @@ -32,14 +33,22 @@ export function MachineLearningForecastProvider({ getService }: FtrProviderConte }, async assertForecastChartElementsExists() { - await testSubjects.existOrFail(`mlForecastArea`, { - timeout: 30 * 1000, + await retry.tryForTime(3000, async () => { + await testSubjects.existOrFail(`mlForecastArea`, { + timeout: 30 * 1000, + }); }); - await testSubjects.existOrFail(`mlForecastValuesline`, { - timeout: 30 * 1000, + + await retry.tryForTime(3000, async () => { + await testSubjects.existOrFail(`mlForecastValuesline`, { + timeout: 30 * 1000, + }); }); - await testSubjects.existOrFail(`mlForecastMarkers`, { - timeout: 30 * 1000, + + await retry.tryForTime(3000, async () => { + await testSubjects.existOrFail(`mlForecastMarkers`, { + timeout: 30 * 1000, + }); }); }, From 8e7b2338ba414c58872d36973ab30813cd93cea2 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Tue, 3 Oct 2023 15:44:35 +0100 Subject: [PATCH 02/35] skip flaky suite (#167869) --- .../functional/test_suites/observability/cases/configure.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts b/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts index a19ef4ebf2e4a5..ef58b18181f7ba 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts @@ -49,7 +49,8 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { }); }); - describe('Connectors', function () { + // FLAKY: https://github.com/elastic/kibana/issues/167869 + describe.skip('Connectors', function () { it('defaults the connector to none correctly', async () => { expect(await testSubjects.exists('dropdown-connector-no-connector')).to.be(true); }); From 43a04a4205ede340c6fba2b3b06a7a2b1ce5d855 Mon Sep 17 00:00:00 2001 From: Walter Rafelsberger Date: Tue, 3 Oct 2023 17:14:00 +0200 Subject: [PATCH 03/35] [ML] Transforms: Use `delete_dest_index` flag instead of ES call to delete destination index. (#166797) Part of #166796. Depends on https://github.com/elastic/elasticsearch/pull/99738. Uses the `delete_dest_index` flag instead of ES call to delete destination index in the transforms UI when deleting transforms. The PR also fixes some code related to destination indices for transforms and data frame analytics. A destination index can be just a single string. Before the properly typed transform APIs were available via `estypes`, we accidentally treated destination indices similar to source indices which might also be arrays of indices. --- .../common/get_destination_index.ts | 2 +- .../action_delete/use_delete_action.tsx | 4 +++- .../analytics_service/delete_analytics.ts | 4 +--- .../public/app/hooks/use_data_view_exists.ts | 2 +- .../public/app/hooks/use_delete_transform.tsx | 2 +- .../action_discover/use_action_discover.tsx | 9 ++------- .../transform_list/expanded_row.tsx | 6 ++---- .../transform/server/routes/api/transforms.ts | 20 ++++--------------- 8 files changed, 15 insertions(+), 34 deletions(-) diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/common/get_destination_index.ts b/x-pack/plugins/ml/public/application/data_frame_analytics/common/get_destination_index.ts index 20de54fe548282..792c5d12a19233 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/common/get_destination_index.ts +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/common/get_destination_index.ts @@ -8,4 +8,4 @@ import type { DataFrameAnalyticsConfig } from '@kbn/ml-data-frame-analytics-utils'; export const getDestinationIndex = (jobConfig: DataFrameAnalyticsConfig | undefined) => - (Array.isArray(jobConfig?.dest.index) ? jobConfig?.dest.index[0] : jobConfig?.dest.index) ?? ''; + jobConfig?.dest.index ?? ''; diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_delete/use_delete_action.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_delete/use_delete_action.tsx index 01b6e3a3f50ad2..1a828f6b6cdf0c 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_delete/use_delete_action.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/action_delete/use_delete_action.tsx @@ -29,6 +29,8 @@ import { deleteActionNameText, DeleteActionName } from './delete_action_name'; import { JobType } from '../../../../../../../common/types/saved_objects'; +import { getDestinationIndex } from '../../../../common/get_destination_index'; + const DF_ANALYTICS_JOB_TYPE: JobType = 'data-frame-analytics'; type DataFrameAnalyticsListRowEssentials = Pick; @@ -51,7 +53,7 @@ export const useDeleteAction = (canDeleteDataFrameAnalytics: boolean) => { application: { capabilities }, } = useMlKibana().services; - const indexName = item?.config.dest.index ?? ''; + const indexName = getDestinationIndex(item?.config); const toastNotificationService = useToastNotificationService(); diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/services/analytics_service/delete_analytics.ts b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/services/analytics_service/delete_analytics.ts index 535424650d1df6..8929f39bea43c2 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/services/analytics_service/delete_analytics.ts +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/services/analytics_service/delete_analytics.ts @@ -51,9 +51,7 @@ export const deleteAnalyticsAndDestIndex = async ( deleteDestIndexPattern: boolean, toastNotificationService: ToastNotificationService ) => { - const destinationIndex = Array.isArray(analyticsConfig.dest.index) - ? analyticsConfig.dest.index[0] - : analyticsConfig.dest.index; + const destinationIndex = analyticsConfig.dest.index; try { if (isDataFrameAnalyticsFailed(analyticsStats.state)) { await ml.dataFrameAnalytics.stopDataFrameAnalytics(analyticsConfig.id, true); diff --git a/x-pack/plugins/transform/public/app/hooks/use_data_view_exists.ts b/x-pack/plugins/transform/public/app/hooks/use_data_view_exists.ts index d74fa9c909a5d7..b81a5e7f9eb255 100644 --- a/x-pack/plugins/transform/public/app/hooks/use_data_view_exists.ts +++ b/x-pack/plugins/transform/public/app/hooks/use_data_view_exists.ts @@ -26,7 +26,7 @@ export const useDataViewExists = (items: TransformListRow[]) => { return false; } const config = items[0].config; - const indexName = Array.isArray(config.dest.index) ? config.dest.index[0] : config.dest.index; + const indexName = config.dest.index; if (indexName === undefined) { return false; diff --git a/x-pack/plugins/transform/public/app/hooks/use_delete_transform.tsx b/x-pack/plugins/transform/public/app/hooks/use_delete_transform.tsx index a7ed779c47cc70..f88ef1e39d446c 100644 --- a/x-pack/plugins/transform/public/app/hooks/use_delete_transform.tsx +++ b/x-pack/plugins/transform/public/app/hooks/use_delete_transform.tsx @@ -56,7 +56,7 @@ export const useDeleteIndexAndTargetIndex = (items: TransformListRow[]) => { useEffect(() => { if (dataViewExistsError !== null && items.length === 1) { const config = items[0].config; - const indexName = Array.isArray(config.dest.index) ? config.dest.index[0] : config.dest.index; + const indexName = config.dest.index; toastNotifications.addDanger( i18n.translate( diff --git a/x-pack/plugins/transform/public/app/sections/transform_management/components/action_discover/use_action_discover.tsx b/x-pack/plugins/transform/public/app/sections/transform_management/components/action_discover/use_action_discover.tsx index 24ee1f9dfe0929..6d818c90ba7fcc 100644 --- a/x-pack/plugins/transform/public/app/sections/transform_management/components/action_discover/use_action_discover.tsx +++ b/x-pack/plugins/transform/public/app/sections/transform_management/components/action_discover/use_action_discover.tsx @@ -19,9 +19,6 @@ import { DiscoverActionName, } from './discover_action_name'; -const getDataViewTitleFromTargetIndex = (item: TransformListRow) => - Array.isArray(item.config.dest.index) ? item.config.dest.index.join(',') : item.config.dest.index; - export type DiscoverAction = ReturnType; export const useDiscoverAction = (forceDisable: boolean) => { const { @@ -48,8 +45,7 @@ export const useDiscoverAction = (forceDisable: boolean) => { (item: TransformListRow) => { const locator = share.url.locators.get(DISCOVER_APP_LOCATOR); if (!locator) return; - const dataViewTitle = getDataViewTitleFromTargetIndex(item); - const dataViewId = getDataViewIdByTitle(dataViewTitle); + const dataViewId = getDataViewIdByTitle(item.config.dest.index); locator.navigateSync({ indexPatternId: dataViewId, }); @@ -59,8 +55,7 @@ export const useDiscoverAction = (forceDisable: boolean) => { const dataViewExists = useCallback( (item: TransformListRow) => { - const dataViewTitle = getDataViewTitleFromTargetIndex(item); - const dataViewId = getDataViewIdByTitle(dataViewTitle); + const dataViewId = getDataViewIdByTitle(item.config.dest.index); return dataViewId !== undefined; }, [getDataViewIdByTitle] diff --git a/x-pack/plugins/transform/public/app/sections/transform_management/components/transform_list/expanded_row.tsx b/x-pack/plugins/transform/public/app/sections/transform_management/components/transform_list/expanded_row.tsx index 079b3f72b59bda..0ab68c5481387f 100644 --- a/x-pack/plugins/transform/public/app/sections/transform_management/components/transform_list/expanded_row.tsx +++ b/x-pack/plugins/transform/public/app/sections/transform_management/components/transform_list/expanded_row.tsx @@ -101,7 +101,7 @@ export const ExpandedRow: FC = ({ item, onAlertEdit, transformsStatsLoadi }, { title: 'transform_version', - description: item.config.version, + description: item.config.version ?? '', }, { title: 'description', @@ -120,9 +120,7 @@ export const ExpandedRow: FC = ({ item, onAlertEdit, transformsStatsLoadi }, { title: 'destination_index', - description: Array.isArray(item.config.dest.index) - ? item.config.dest.index[0] - : item.config.dest.index, + description: item.config.dest.index, }, { title: 'authorization', diff --git a/x-pack/plugins/transform/server/routes/api/transforms.ts b/x-pack/plugins/transform/server/routes/api/transforms.ts index 822441c07812bc..80d44c0e907bf0 100644 --- a/x-pack/plugins/transform/server/routes/api/transforms.ts +++ b/x-pack/plugins/transform/server/routes/api/transforms.ts @@ -677,9 +677,7 @@ async function deleteTransforms( transform_id: transformId, }); const transformConfig = body.transforms[0]; - destinationIndex = Array.isArray(transformConfig.dest.index) - ? transformConfig.dest.index[0] - : transformConfig.dest.index; + destinationIndex = transformConfig.dest.index; } catch (getTransformConfigError) { transformDeleted.error = getTransformConfigError.meta.body.error; results[transformId] = { @@ -692,19 +690,6 @@ async function deleteTransforms( continue; } } - // If user checks box to delete the destinationIndex associated with the job - if (destinationIndex && deleteDestIndex) { - try { - // If user does have privilege to delete the index, then delete the index - // if no permission then return 403 forbidden - await esClient.asCurrentUser.indices.delete({ - index: destinationIndex, - }); - destIndexDeleted.success = true; - } catch (deleteIndexError) { - destIndexDeleted.error = deleteIndexError.meta.body.error; - } - } // Delete the data view if there's a data view that matches the name of dest index if (destinationIndex && deleteDestDataView) { @@ -723,8 +708,11 @@ async function deleteTransforms( await esClient.asCurrentUser.transform.deleteTransform({ transform_id: transformId, force: shouldForceDelete && needToForceDelete, + // @ts-expect-error ES type needs to be updated + delete_dest_index: deleteDestIndex, }); transformDeleted.success = true; + destIndexDeleted.success = deleteDestIndex; } catch (deleteTransformJobError) { transformDeleted.error = deleteTransformJobError.meta.body.error; if (deleteTransformJobError.statusCode === 403) { From 2daa9dc3a7bb7bee19ac9936063275b94c6f1045 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Tue, 3 Oct 2023 16:20:07 +0100 Subject: [PATCH 04/35] skip flaky suite (#167175) --- test/functional/apps/dashboard/group2/dashboard_filter_bar.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/functional/apps/dashboard/group2/dashboard_filter_bar.ts b/test/functional/apps/dashboard/group2/dashboard_filter_bar.ts index da9660ac4f4cb1..044339930ae168 100644 --- a/test/functional/apps/dashboard/group2/dashboard_filter_bar.ts +++ b/test/functional/apps/dashboard/group2/dashboard_filter_bar.ts @@ -193,7 +193,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); - describe('saved search filtering', function () { + // FLAKY: https://github.com/elastic/kibana/issues/167175 + describe.skip('saved search filtering', function () { before(async () => { await filterBar.ensureFieldEditorModalIsClosed(); await PageObjects.dashboard.gotoDashboardLandingPage(); From 671158973949f3ae72e9708e2991ea5ee6ecc5f6 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Tue, 3 Oct 2023 16:21:32 +0100 Subject: [PATCH 05/35] skip flaky suite (#167812) --- x-pack/test/saved_object_tagging/functional/tests/create.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/saved_object_tagging/functional/tests/create.ts b/x-pack/test/saved_object_tagging/functional/tests/create.ts index 16c8958c0fa622..a2bde4ab579dcb 100644 --- a/x-pack/test/saved_object_tagging/functional/tests/create.ts +++ b/x-pack/test/saved_object_tagging/functional/tests/create.ts @@ -15,7 +15,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const tagManagementPage = PageObjects.tagManagement; - describe('create tag', () => { + // FLAKY: https://github.com/elastic/kibana/issues/167812 + describe.skip('create tag', () => { let tagModal: typeof tagManagementPage['tagModal']; before(async () => { From 7550f9e0de83d3e785661459a03796e8cb3118f0 Mon Sep 17 00:00:00 2001 From: Nathan Reese Date: Tue, 3 Oct 2023 09:24:29 -0600 Subject: [PATCH 06/35] [inspector] rename clusters tab to 'Clustesrs and shards' (#167814) Updated figma designs have change label to 'Clustesrs and shards' Screenshot 2023-10-02 at 11 24 42 AM --- .../public/views/requests/components/request_details.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/inspector/public/views/requests/components/request_details.tsx b/src/plugins/inspector/public/views/requests/components/request_details.tsx index 9c1b4d3d51ba9b..7677cca66b3692 100644 --- a/src/plugins/inspector/public/views/requests/components/request_details.tsx +++ b/src/plugins/inspector/public/views/requests/components/request_details.tsx @@ -36,7 +36,7 @@ const DETAILS: DetailViewData[] = [ { name: 'Clusters', label: i18n.translate('inspector.requests.clustersTabLabel', { - defaultMessage: 'Clusters', + defaultMessage: 'Clusters and shards', }), component: ClustersView, }, From 0fc24f4181b70c88bc7cacbe0d295b6dd5255438 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Tue, 3 Oct 2023 09:14:26 -0700 Subject: [PATCH 07/35] [DOCS] Move preconfigured ServiceNow connector details (#166202) --- .../action-types/servicenow-itom.asciidoc | 60 +------ .../action-types/servicenow-sir.asciidoc | 66 +------- .../action-types/servicenow.asciidoc | 66 +------- .../pre-configured-connectors.asciidoc | 155 +++++++++++++++++- docs/settings/alert-action-settings.asciidoc | 33 +++- 5 files changed, 197 insertions(+), 183 deletions(-) diff --git a/docs/management/connectors/action-types/servicenow-itom.asciidoc b/docs/management/connectors/action-types/servicenow-itom.asciidoc index 1549949cd23b9d..3f104006cd1e70 100644 --- a/docs/management/connectors/action-types/servicenow-itom.asciidoc +++ b/docs/management/connectors/action-types/servicenow-itom.asciidoc @@ -3,6 +3,10 @@ ++++ {sn-itom} ++++ +:frontmatter-description: Add a connector that can create {sn} events. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The {sn-itom} connector uses the https://docs.servicenow.com/bundle/rome-it-operations-management/page/product/event-management/task/send-events-via-web-service.html[event API] @@ -79,62 +83,6 @@ JWT Key ID:: The key ID assigned to the JWT verifier map of your OAuth applicati Private Key:: The RSA private key generated during setup. Private Key Password:: The password for the RSA private key generated during setup, if set. -[float] -[[preconfigured-servicenow-itom-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -Connector using Basic Authentication -[source,text] --- -xpack.actions.preconfigured: - my-servicenow-itom: - name: preconfigured-servicenow-connector-type - actionTypeId: .servicenow-itom - config: - apiUrl: https://example.service-now.com/ - secrets: - username: testuser - password: passwordkeystorevalue --- - -Connector using OAuth -[source,text] --- - my-servicenow: - name: preconfigured-oauth-servicenow-connector-type - actionTypeId: .servicenow-itom - config: - apiUrl: https://example.service-now.com/ - usesTableApi: false - isOAuth: true - userIdentifierValue: testuser@email.com - clientId: abcdefghijklmnopqrstuvwxyzabcdef - jwtKeyId: fedcbazyxwvutsrqponmlkjihgfedcba - secrets: - clientSecret: secretsecret - privateKey: -----BEGIN RSA PRIVATE KEY-----\nprivatekeyhere\n-----END RSA PRIVATE KEY----- --- - -Config defines information for the connector type. - -`apiUrl`:: An address that corresponds to *URL*. -`isOAuth`:: A boolean that corresponds to *Is OAuth* and indicates if the connector uses Basic Authentication or OAuth. -`userIdentifierValue`:: A string that corresponds to *User Identifier*. Required if `isOAuth` is set to `true`. -`clientId`:: A string that corresponds to *Client ID*, used for OAuth authentication. Required if `isOAuth` is set to `true`. -`jwtKeyId`:: A string that corresponds to *JWT Key ID*, used for OAuth authentication. Required if `isOAuth` is set to `true`. - -Secrets defines sensitive information for the connector type. - -`username`:: A string that corresponds to *Username*. Required if `isOAuth` is set to `false`. -`password`:: A string that corresponds to *Password*. Should be stored in the <>. Required if `isOAuth` is set to `false`. -`clientSecret`:: A string that corresponds to *Client Secret*. Required if `isOAuth` is set to `true`. -`privateKey`:: A string that corresponds to *Private Key*. Required if `isOAuth` is set to `true`. -`privateKeyPassword`:: A string that corresponds to *Private Key Password*. - [float] [[servicenow-itom-action-configuration]] === Test connectors diff --git a/docs/management/connectors/action-types/servicenow-sir.asciidoc b/docs/management/connectors/action-types/servicenow-sir.asciidoc index 0fc96f9baa85cf..30ea222aa4e141 100644 --- a/docs/management/connectors/action-types/servicenow-sir.asciidoc +++ b/docs/management/connectors/action-types/servicenow-sir.asciidoc @@ -3,6 +3,10 @@ ++++ {sn-sir} ++++ +:frontmatter-description: Add a connector that can create {sn} security incidents. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The {sn-sir} connector uses the https://developer.servicenow.com/dev.do#!/reference/api/sandiego/rest/c_ImportSetAPI[import set API] @@ -122,68 +126,6 @@ JWT Key ID:: The key ID assigned to the JWT verifier map of your OAuth applicati Private Key:: The RSA private key generated during setup. Private Key Password:: The password for the RSA private key generated during setup, if set. -[float] -[[preconfigured-servicenow-sir-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -Connector using Basic Authentication -[source,text] --- -xpack.actions.preconfigured: - my-servicenow-sir: - name: preconfigured-servicenow-connector-type - actionTypeId: .servicenow-sir - config: - apiUrl: https://example.service-now.com/ - usesTableApi: false - secrets: - username: testuser - password: passwordkeystorevalue --- - -Connector using OAuth -[source,text] --- -xpack.actions.preconfigured: - my-servicenow: - name: preconfigured-oauth-servicenow-connector-type - actionTypeId: .servicenow-sir - config: - apiUrl: https://example.service-now.com/ - usesTableApi: false - isOAuth: true - userIdentifierValue: testuser@email.com - clientId: abcdefghijklmnopqrstuvwxyzabcdef - jwtKeyId: fedcbazyxwvutsrqponmlkjihgfedcba - secrets: - clientSecret: secretsecret - privateKey: -----BEGIN RSA PRIVATE KEY-----\nprivatekeyhere\n-----END RSA PRIVATE KEY----- --- - -Config defines information for the connector type. - -`apiUrl`:: An address that corresponds to *URL*. -`usesTableApi`:: A boolean that indicates if the connector uses the Table API or the Import Set API. - -NOTE: If `usesTableApi` is set to false, the Elastic application should be installed in {sn}. - -`isOAuth`:: A boolean that corresponds to *Is OAuth* and indicates if the connector uses Basic Authentication or OAuth. -`userIdentifierValue`:: A string that corresponds to *User Identifier*. Required if `isOAuth` is set to `true`. -`clientId`:: A string that corresponds to *Client ID*, used for OAuth authentication. Required if `isOAuth` is set to `true`. -`jwtKeyId`:: A string that corresponds to *JWT Key ID*, used for OAuth authentication. Required if `isOAuth` is set to `true`. - -Secrets defines sensitive information for the connector type. - -`username`:: A string that corresponds to *Username*. Required if `isOAuth` is set to `false`. -`password`:: A string that corresponds to *Password*. Should be stored in the <>. Required if `isOAuth` is set to `false`. -`clientSecret`:: A string that corresponds to *Client Secret*. Required if `isOAuth` is set to `true`. -`privateKey`:: A string that corresponds to *Private Key*. Required if `isOAuth` is set to `true`. -`privateKeyPassword`:: A string that corresponds to *Private Key Password*. - [float] [[servicenow-sir-action-configuration]] === Test connectors diff --git a/docs/management/connectors/action-types/servicenow.asciidoc b/docs/management/connectors/action-types/servicenow.asciidoc index 21511004512328..f3c636df29b6bd 100644 --- a/docs/management/connectors/action-types/servicenow.asciidoc +++ b/docs/management/connectors/action-types/servicenow.asciidoc @@ -3,6 +3,10 @@ ++++ {sn-itsm} ++++ +:frontmatter-description: Add a connector that can create {sn} incidents. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The {sn-itsm} connector uses the https://developer.servicenow.com/dev.do#!/reference/api/sandiego/rest/c_ImportSetAPI[import set API] @@ -206,68 +210,6 @@ JWT Key ID:: The key ID assigned to the JWT Verifier Map of your OAuth applicati Private Key:: The RSA private key generated during setup. Private Key Password:: The password for the RSA private key generated during setup, if set. -[float] -[[preconfigured-servicenow-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -Connector using Basic Authentication -[source,text] --- -xpack.actions.preconfigured: - my-servicenow: - name: preconfigured-servicenow-connector-type - actionTypeId: .servicenow - config: - apiUrl: https://example.service-now.com/ - usesTableApi: false - secrets: - username: testuser - password: passwordkeystorevalue --- - -Connector using OAuth -[source,text] --- -xpack.actions.preconfigured: - my-servicenow: - name: preconfigured-oauth-servicenow-connector-type - actionTypeId: .servicenow - config: - apiUrl: https://example.service-now.com/ - usesTableApi: false - isOAuth: true - userIdentifierValue: testuser@email.com - clientId: abcdefghijklmnopqrstuvwxyzabcdef - jwtKeyId: fedcbazyxwvutsrqponmlkjihgfedcba - secrets: - clientSecret: secretsecret - privateKey: -----BEGIN RSA PRIVATE KEY-----\nprivatekeyhere\n-----END RSA PRIVATE KEY----- --- - -Config defines information for the connector type. - -`apiUrl`:: An address that corresponds to *URL*. -`usesTableApi`:: A boolean that indicates if the connector uses the Table API or the Import Set API. - -NOTE: If `usesTableApi` is set to false, the Elastic application should be installed in {sn}. - -`isOAuth`:: A boolean that corresponds to *Is OAuth* and indicates if the connector uses Basic Authentication or OAuth. -`userIdentifierValue`:: A string that corresponds to *User Identifier*. Required if `isOAuth` is set to `true`. -`clientId`:: A string that corresponds to *Client ID*, used for OAuth authentication. Required if `isOAuth` is set to `true`. -`jwtKeyId`:: A string that corresponds to *JWT Key ID*, used for OAuth authentication. Required if `isOAuth` is set to `true`. - -Secrets defines sensitive information for the connector type. - -`username`:: A string that corresponds to *Username*. Required if `isOAuth` is set to `false`. -`password`:: A string that corresponds to *Password*. Should be stored in the <>. Required if `isOAuth` is set to `false`. -`clientSecret`:: A string that corresponds to *Client Secret*. Required if `isOAuth` is set to `true`. -`privateKey`:: A string that corresponds to *Private Key*. Required if `isOAuth` is set to `true`. -`privateKeyPassword`:: A string that corresponds to *Private Key Password*. - [float] [[servicenow-action-configuration]] === Test connectors diff --git a/docs/management/connectors/pre-configured-connectors.asciidoc b/docs/management/connectors/pre-configured-connectors.asciidoc index 79b4e331fa19ad..6e6694e8a839db 100644 --- a/docs/management/connectors/pre-configured-connectors.asciidoc +++ b/docs/management/connectors/pre-configured-connectors.asciidoc @@ -117,6 +117,9 @@ Index names must start with `kibana-alert-history-` to take advantage of the pre * <> * <> * <> +* <> +* <> +* <> * <> * <> * <> @@ -442,6 +445,155 @@ xpack.actions.preconfigured: actionTypeId: .server-log -- +[float] +[[preconfigured-servicenow-itom-configuration]] +==== {sn-itom} connectors + +The following example creates a <> with basic authentication: + +[source,text] +-- +xpack.actions.preconfigured: + my-servicenow-itom: + name: preconfigured-servicenow-connector-type + actionTypeId: .servicenow-itom + config: + apiUrl: https://example.service-now.com/ <1> + secrets: + username: testuser <2> + password: passwordkeystorevalue <3> +-- +<1> The ServiceNow instance URL. +<2> A user name. +<3> A password. NOTE: This value should be stored in the <>. + +The following example creates a {sn-itom} connector with OAuth authentication: + +[source,text] +-- +xpack.actions.preconfigured: + my-servicenow: + name: preconfigured-oauth-servicenow-connector-type + actionTypeId: .servicenow-itom + config: + apiUrl: https://example.service-now.com/ + isOAuth: true <1> + userIdentifierValue: testuser@email.com <2> + clientId: abcdefghijklmnopqrstuvwxyzabcdef <3> + jwtKeyId: fedcbazyxwvutsrqponmlkjihgfedcba <4> + secrets: + clientSecret: secretsecret <5> + privateKey: -----BEGIN RSA PRIVATE KEY-----\nprivatekeyhere\n-----END RSA PRIVATE KEY----- <6> +-- +<1> Specifies whether the connector uses basic or OAuth authentication. +<2> The user identifier. +<3> The client identifier assigned to your OAuth application. +<4> The key identifier assigned to the JWT verifier map of your OAuth application. +<5> The client secret assigned to your OAuth application. +<6> The RSA private key. If it has a password, you must also provide `privateKeyPassword`. + +[float] +[[preconfigured-servicenow-configuration]] +==== {sn-itsm} connectors + +The following example creates a <> with basic authentication: + +[source,text] +-- +xpack.actions.preconfigured: + my-servicenow: + name: preconfigured-servicenow-connector-type + actionTypeId: .servicenow + config: + apiUrl: https://example.service-now.com/ <1> + usesTableApi: false <2> + secrets: + username: testuser <3> + password: passwordkeystorevalue <4> +-- +<1> The ServiceNow instance URL. +<2> Specifies whether the connector uses the Table API or the Import Set API. If `usesTableApi` is `false`, the Elastic application should be installed in {sn}. +<3> The user name. +<4> The password. NOTE: This value should be stored in the <>. + +The following example creates a {sn-itsm} connector with OAuth authentication: + +[source,text] +-- +xpack.actions.preconfigured: + my-servicenow: + name: preconfigured-oauth-servicenow-connector-type + actionTypeId: .servicenow + config: + apiUrl: https://example.service-now.com/ + usesTableApi: false + isOAuth: true <1> + userIdentifierValue: testuser@email.com <2> + clientId: abcdefghijklmnopqrstuvwxyzabcdef <3> + jwtKeyId: fedcbazyxwvutsrqponmlkjihgfedcba <4> + secrets: + clientSecret: secretsecret <5> + privateKey: -----BEGIN RSA PRIVATE KEY-----\nprivatekeyhere\n-----END RSA PRIVATE KEY----- <6> +-- +<1> Specifies whether the connector uses basic or OAuth authentication. +<2> The user identifier. +<3> The client identifier assigned to your OAuth application. +<4> The key ID assigned to the JWT verifier map of your OAuth application. +<5> The client secret assigned to the OAuth application. +<6> The RSA private key. If it has a password, you must also provide `privateKeyPassword`. + +[float] +[[preconfigured-servicenow-sir-configuration]] +==== {sn-sir} connectors + +The following example creates a <> with basic authentication: + +[source,text] +-- +xpack.actions.preconfigured: + my-servicenow-sir: + name: preconfigured-servicenow-connector-type + actionTypeId: .servicenow-sir + config: + apiUrl: https://example.service-now.com/ <1> + usesTableApi: false <2> + secrets: + username: testuser <3> + password: passwordkeystorevalue <4> +-- +<1> The ServiceNow instance URL. +<2> Specifies whether the connector uses the Table API or the Import Set API. If `usesTableApi` is false, the Elastic application should be installed in {sn}. +<3> The user name. +<4> The password. NOTE: This value should be stored in the <>. + +The following example creates a {sn-sir} connector with OAuth authentication: + +[source,text] +-- +xpack.actions.preconfigured: + my-servicenow: + name: preconfigured-oauth-servicenow-connector-type + actionTypeId: .servicenow-sir + config: + apiUrl: https://example.service-now.com/ + usesTableApi: false + isOAuth: true <1> + userIdentifierValue: testuser@email.com <2> + clientId: abcdefghijklmnopqrstuvwxyzabcdef <3> + jwtKeyId: fedcbazyxwvutsrqponmlkjihgfedcba <4> + secrets: + clientSecret: secretsecret <5> + privateKey: -----BEGIN RSA PRIVATE KEY-----\nprivatekeyhere\n-----END RSA PRIVATE KEY----- <6> +-- +<1> Specifies whether the connector uses basic or OAuth authentication. +<2> The user identifier. +<3> The client identifier assigned to the OAuth application. +<4> The key ID assigned to the JWT verifier map of your OAuth application. +<5> The client secret assigned to the OAuth application. +<6> The RSA private key. If it has a password, you must also specify +`privateKeyPassword`. + + [float] [[preconfigured-slack-configuration]] ==== Slack connectors @@ -605,7 +757,6 @@ xpack.actions.preconfigured: NOTE: SSL authentication is not supported in preconfigured webhook connectors. - [float] [[preconfigured-cases-webhook-configuration]] ==== {webhook-cm} connectors @@ -664,7 +815,7 @@ The following example creates an <> wit [source,text] -- xpack.actions.preconfigured: -my-xmatters: + my-xmatters: name: preconfigured-xmatters-connector-type actionTypeId: .xmatters config: diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index 76b1ebadc98d14..4312d2825a9d49 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -272,6 +272,7 @@ A configuration URL that varies by connector: * For a <>, specifies the Jira instance URL. * For an <>, specifies the {opsgenie} URL. For example, `https://api.opsgenie.com` or `https://api.eu.opsgenie.com`. * For a <>, specifies the PagerDuty event URL. Defaults to `https://events.pagerduty.com/v2/enqueue`. +* For a <>, <>, or <> specifies the ServiceNow instance URL. * For a <>, specifies the {swimlane} instance URL. NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname in the URL is added to the allowed hosts. @@ -285,7 +286,12 @@ An application ID that varies by connector: -- `xpack.actions.preconfigured..config.clientId`:: -For an <>, specifies a GUID format value that corresponds to the client ID, which is a part of OAuth 2.0 client credentials authentication. +A client identifier that varies by connector: ++ +-- +* For an <>, specifies a GUID format value that corresponds to the client ID, which is a part of OAuth 2.0 client credentials authentication. +* For a <>, <>, or <> specifies the client identifier assigned to the OAuth application. +-- `xpack.actions.preconfigured..config.configUrl`:: For an <> with basic authentication, specifies the request URL for the Elastic Alerts trigger in xMatters. @@ -350,6 +356,12 @@ For an <>, specifies the host name of the ser `xpack.actions.preconfigured..config.index`:: For an <>, specifies the {es} index. +`xpack.actions.preconfigured..config.isOAuth`:: +For a <>, <>, or <>, specifies whether to use basic or OAuth authentication. + +`xpack.actions.preconfigured..config.jwtKeyId`:: +For a <>, <>, or <>, specifies the key ID assigned to the JWT verifier map of your OAuth application. It is required when `xpack.actions.preconfigured..config.isOAuth` is `true`. + `xpack.actions.preconfigured..config.mappings`:: For a <>, specifies field mappings. @@ -427,9 +439,16 @@ A configuration URL that varies by connector: NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure this hostname is added to the allowed hosts. -- +`xpack.actions.preconfigured..config.userIdentifierValue`:: +For a <>, <>, or <>, specifies the user identifier. It is required when required when `xpack.actions.preconfigured..config.isOAuth` is `true`. + `xpack.actions.preconfigured..config.usesBasic`:: For an <>, specifies whether it uses HTTP basic authentication. Defaults to `true`. +`xpack.actions.preconfigured..config.usesTableApi`:: +For a <> or <>, specifies whether the connector uses the Table API or the Import Set API. +If set to `false`, the Elastic application should be installed in ServiceNow. + `xpack.actions.preconfigured..config.viewIncidentUrl`:: For a <>, specifies a URL string with either the external service ID or external service title Mustache variable to view a case in the external system. @@ -466,6 +485,7 @@ A client secret that varies by connector: + -- * For an <>, specifies the client secret that you generated for your app in the app registration portal. It is required when the email service is `exchange_server`, which uses OAuth 2.0 client credentials authentication. +* For a <>, <>, or <>, specifies the client secret assigned to the OAuth application. It is required when `xpack.actions.preconfigured..config.isOAuth` is `true`. NOTE: The client secret must be URL-encoded. -- @@ -482,10 +502,18 @@ An email address that varies by connector: A password secret that varies by connector: + -- + * For an <>, <>, or <>, specifies a password that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. +* For a <>, <>, or <>, specifies a password that is required when `xpack.actions.preconfigured..config.isOAuth` is `false`. * For an <>, specifies a password that is required when `xpack.actions.preconfigured..config.usesBasic` is `true`. -- +`xpack.actions.preconfigured..secrets.privateKey`:: +For a <>, <>, or <>, specifies the RSA private key. It is required when `xpack.actions.preconfigured..config.isOAuth` is `true`. + +`xpack.actions.preconfigured..secrets.privateKeyPassword`:: +For a <>, <>, or <>, specifies the password for the RSA private key. + `xpack.actions.preconfigured..secrets.routingKey`:: For a <>, specifies the 32 character PagerDuty Integration Key for an integration on a service, also referred to as the routing key. @@ -523,6 +551,9 @@ For a <>, specifies the Slack webhook URL. NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname is added to the allowed hosts. -- +`xpack.actions.preconfigured..secrets.username`:: +For a <>, <>, or <>, specifies a user name that is required when `xpack.actions.preconfigured..config.isOAuth` is `false`. + [float] [[alert-settings]] === Alerting settings From 9f2cac09c8697fbcc17a3aa2f88006e5d42b6b82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yulia=20=C4=8Cech?= <6585477+yuliacech@users.noreply.github.com> Date: Tue, 3 Oct 2023 19:15:30 +0200 Subject: [PATCH 08/35] [Console] Regenerate autocomplete definitions (#167431) --- .../lib/spec_definitions/json/generated/bulk.json | 2 ++ .../json/generated/cluster.get_settings.json | 2 +- .../json/generated/cluster.pending_tasks.json | 2 +- .../json/generated/cluster.put_settings.json | 2 +- .../json/generated/cluster.stats.json | 2 +- .../lib/spec_definitions/json/generated/create.json | 2 ++ .../lib/spec_definitions/json/generated/delete.json | 2 ++ .../json/generated/delete_by_query.json | 7 ++++++- .../json/generated/delete_script.json | 2 ++ .../spec_definitions/json/generated/eql.delete.json | 2 +- .../lib/spec_definitions/json/generated/eql.get.json | 2 +- .../json/generated/eql.get_status.json | 2 +- .../spec_definitions/json/generated/eql.search.json | 2 +- .../lib/spec_definitions/json/generated/explain.json | 2 +- .../json/generated/graph.explore.json | 2 +- .../lib/spec_definitions/json/generated/index.json | 2 ++ .../json/generated/indices.add_block.json | 2 +- .../json/generated/indices.analyze.json | 2 +- .../json/generated/indices.clone.json | 3 +++ .../json/generated/indices.close.json | 5 ++++- .../json/generated/indices.create.json | 5 ++++- .../json/generated/indices.delete.json | 2 ++ .../json/generated/indices.delete_alias.json | 2 ++ .../json/generated/indices.delete_data_lifecycle.json | 2 +- .../json/generated/indices.delete_template.json | 4 +++- .../json/generated/indices.disk_usage.json | 4 ++-- .../json/generated/indices.downsample.json | 2 +- .../json/generated/indices.exists_template.json | 2 +- .../generated/indices.explain_data_lifecycle.json | 2 +- .../json/generated/indices.flush.json | 2 +- .../json/generated/indices.get_data_lifecycle.json | 2 +- .../json/generated/indices.get_mapping.json | 1 + .../json/generated/indices.get_template.json | 3 ++- .../spec_definitions/json/generated/indices.open.json | 3 +++ .../json/generated/indices.put_alias.json | 2 ++ .../json/generated/indices.put_data_lifecycle.json | 4 +++- .../json/generated/indices.put_mapping.json | 2 ++ .../json/generated/indices.put_template.json | 1 + .../json/generated/indices.refresh.json | 2 +- .../json/generated/indices.rollover.json | 5 ++++- .../json/generated/indices.shrink.json | 5 ++++- .../json/generated/indices.split.json | 5 ++++- .../json/generated/indices.unfreeze.json | 6 +++++- .../json/generated/indices.update_aliases.json | 2 ++ .../json/generated/ingest.delete_pipeline.json | 2 ++ .../json/generated/ingest.geo_ip_stats.json | 2 +- .../json/generated/ingest.processor_grok.json | 2 +- .../json/generated/ingest.put_pipeline.json | 2 +- .../spec_definitions/json/generated/license.get.json | 2 +- .../json/generated/nodes.reload_secure_settings.json | 1 + .../spec_definitions/json/generated/nodes.usage.json | 1 + .../spec_definitions/json/generated/put_script.json | 2 ++ .../lib/spec_definitions/json/generated/reindex.json | 9 +++++++-- .../json/generated/rollup.stop_job.json | 1 + .../spec_definitions/json/generated/search_mvt.json | 2 +- .../json/generated/security.clear_api_key_cache.json | 2 +- .../json/generated/security.has_privileges.json | 2 +- .../json/generated/sql.clear_cursor.json | 2 +- .../json/generated/sql.delete_async.json | 2 +- .../json/generated/sql.get_async.json | 2 +- .../json/generated/sql.get_async_status.json | 2 +- .../spec_definitions/json/generated/sql.query.json | 2 +- .../json/generated/sql.translate.json | 2 +- ...onyms.delete.json => synonyms.delete_synonym.json} | 4 ++-- ....delete.json => synonyms.delete_synonym_rule.json} | 4 ++-- .../{synonyms.get.json => synonyms.get_synonym.json} | 8 +++++--- ...m_rule.get.json => synonyms.get_synonym_rule.json} | 4 ++-- ..._sets.get.json => synonyms.get_synonyms_sets.json} | 6 ++++-- .../{synonyms.put.json => synonyms.put_synonym.json} | 4 ++-- ...m_rule.put.json => synonyms.put_synonym_rule.json} | 4 ++-- .../spec_definitions/json/generated/tasks.get.json | 3 ++- .../json/generated/update_by_query.json | 11 +++++++++-- .../json/generated/update_by_query_rethrottle.json | 4 +++- .../{synonyms.put.json => synonyms.put_synonym.json} | 2 +- ...m_rule.put.json => synonyms.put_synonym_rule.json} | 2 +- 75 files changed, 150 insertions(+), 67 deletions(-) rename src/plugins/console/server/lib/spec_definitions/json/generated/{synonyms.delete.json => synonyms.delete_synonym.json} (87%) rename src/plugins/console/server/lib/spec_definitions/json/generated/{synonym_rule.delete.json => synonyms.delete_synonym_rule.json} (84%) rename src/plugins/console/server/lib/spec_definitions/json/generated/{synonyms.get.json => synonyms.get_synonym.json} (82%) rename src/plugins/console/server/lib/spec_definitions/json/generated/{synonym_rule.get.json => synonyms.get_synonym_rule.json} (84%) rename src/plugins/console/server/lib/spec_definitions/json/generated/{synonyms_sets.get.json => synonyms.get_synonyms_sets.json} (85%) rename src/plugins/console/server/lib/spec_definitions/json/generated/{synonyms.put.json => synonyms.put_synonym.json} (88%) rename src/plugins/console/server/lib/spec_definitions/json/generated/{synonym_rule.put.json => synonyms.put_synonym_rule.json} (84%) rename src/plugins/console/server/lib/spec_definitions/json/overrides/{synonyms.put.json => synonyms.put_synonym.json} (83%) rename src/plugins/console/server/lib/spec_definitions/json/overrides/{synonym_rule.put.json => synonyms.put_synonym_rule.json} (67%) diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/bulk.json b/src/plugins/console/server/lib/spec_definitions/json/generated/bulk.json index b2304f6820209a..863a6e6189d775 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/bulk.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/bulk.json @@ -16,10 +16,12 @@ "_source_excludes": [], "_source_includes": [], "timeout": [ + "1m", "-1", "0" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ], diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.get_settings.json b/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.get_settings.json index fece78e78a9573..d9dac49f2ae8af 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.get_settings.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.get_settings.json @@ -27,7 +27,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/cluster-get-settings.html", "availability": { "stack": true, - "serverless": true + "serverless": false } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.pending_tasks.json b/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.pending_tasks.json index de56bdd39beb9b..b6dcc75a38d3bc 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.pending_tasks.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.pending_tasks.json @@ -21,7 +21,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/cluster-pending.html", "availability": { "stack": true, - "serverless": true + "serverless": false } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.put_settings.json b/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.put_settings.json index 45a00c8c9264b5..7a9e5bcf5d3138 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.put_settings.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.put_settings.json @@ -26,7 +26,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/cluster-update-settings.html", "availability": { "stack": true, - "serverless": true + "serverless": false } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.stats.json b/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.stats.json index afa73eb2e247a0..b8ec786416310d 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.stats.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.stats.json @@ -21,7 +21,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/cluster-stats.html", "availability": { "stack": true, - "serverless": true + "serverless": false } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/create.json b/src/plugins/console/server/lib/spec_definitions/json/generated/create.json index 8df30b59b667d5..bff286eb029fd2 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/create.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/create.json @@ -13,6 +13,7 @@ ], "routing": "", "timeout": [ + "1m", "-1", "0" ], @@ -24,6 +25,7 @@ "force" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/delete.json b/src/plugins/console/server/lib/spec_definitions/json/generated/delete.json index ba53dcd65a5a96..0267f7191b44ac 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/delete.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/delete.json @@ -14,6 +14,7 @@ ], "routing": "", "timeout": [ + "1m", "-1", "0" ], @@ -25,6 +26,7 @@ "force" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/delete_by_query.json b/src/plugins/console/server/lib/spec_definitions/json/generated/delete_by_query.json index 071071d4255b06..f4b0048b7c72af 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/delete_by_query.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/delete_by_query.json @@ -38,7 +38,9 @@ "-1", "0" ], - "scroll_size": "", + "scroll_size": [ + "1000" + ], "search_timeout": [ "-1", "0" @@ -48,17 +50,20 @@ "dfs_query_then_fetch" ], "slices": [ + "1", "auto" ], "sort": "", "stats": "", "terminate_after": "", "timeout": [ + "1m", "-1", "0" ], "version": "__flag__", "wait_for_active_shards": [ + "1", "all", "index-setting" ], diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/delete_script.json b/src/plugins/console/server/lib/spec_definitions/json/generated/delete_script.json index 838b35c4049e28..cf71108e29addf 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/delete_script.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/delete_script.json @@ -6,10 +6,12 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.delete.json b/src/plugins/console/server/lib/spec_definitions/json/generated/eql.delete.json index 03f4d173141f40..1273848309b56c 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.delete.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/eql.delete.json @@ -15,7 +15,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.get.json b/src/plugins/console/server/lib/spec_definitions/json/generated/eql.get.json index 5fac8429f3660a..78e7f48069cb87 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.get.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/eql.get.json @@ -23,7 +23,7 @@ "documentation": " https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/get-async-eql-search-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.get_status.json b/src/plugins/console/server/lib/spec_definitions/json/generated/eql.get_status.json index b814a29e51d4e0..74683e246654a3 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.get_status.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/eql.get_status.json @@ -15,7 +15,7 @@ "documentation": " https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/get-async-eql-status-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.search.json b/src/plugins/console/server/lib/spec_definitions/json/generated/eql.search.json index cddd1ed088a8aa..77cd26f4989abe 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.search.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/eql.search.json @@ -35,7 +35,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/explain.json b/src/plugins/console/server/lib/spec_definitions/json/generated/explain.json index 759d8231be36f2..a45b7b81742279 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/explain.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/explain.json @@ -31,7 +31,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/search-explain.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/graph.explore.json b/src/plugins/console/server/lib/spec_definitions/json/generated/graph.explore.json index 681bb8d255d1ad..a35cac6b59b49c 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/graph.explore.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/graph.explore.json @@ -18,7 +18,7 @@ "patterns": [ "{index}/_graph/explore" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/graph-explore-api.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/graph-explore-api.html", "availability": { "stack": true, "serverless": true diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/index.json b/src/plugins/console/server/lib/spec_definitions/json/generated/index.json index 6773c25aa6b2ae..a39a0aa7c21628 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/index.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/index.json @@ -19,6 +19,7 @@ ], "routing": "", "timeout": [ + "1m", "-1", "0" ], @@ -30,6 +31,7 @@ "force" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ], diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.add_block.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.add_block.json index c7b876c42b21c4..07c9950394e5dc 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.add_block.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.add_block.json @@ -40,7 +40,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/index-modules-blocks.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.analyze.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.analyze.json index 305e8e21aa773f..c9d523a77873b2 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.analyze.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.analyze.json @@ -14,7 +14,7 @@ "_analyze", "{index}/_analyze" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-analyze.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/indices-analyze.html", "availability": { "stack": true, "serverless": true diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.clone.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.clone.json index 0c1203ec256bc6..4a80c853cb6796 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.clone.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.clone.json @@ -6,14 +6,17 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.close.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.close.json index 9b06b6ce40b91e..24d156e636b37b 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.close.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.close.json @@ -15,14 +15,17 @@ ], "ignore_unavailable": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ] @@ -33,7 +36,7 @@ "patterns": [ "{index}/_close" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/indices-close.html", "availability": { "stack": true, "serverless": false diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.create.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.create.json index f5925f9311e93d..e8f1699416f257 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.create.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.create.json @@ -6,14 +6,17 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ] @@ -24,7 +27,7 @@ "patterns": [ "{index}" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-create-index.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/indices-create-index.html", "availability": { "stack": true, "serverless": true diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete.json index 0d8f7dc354559d..845b9e60b861ec 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete.json @@ -15,10 +15,12 @@ ], "ignore_unavailable": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_alias.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_alias.json index dfc26fc89d24c2..fdff5139506fdf 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_alias.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_alias.json @@ -6,10 +6,12 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_data_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_data_lifecycle.json index a73fb1be20dc7a..73b6ce6d5916b9 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_data_lifecycle.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_data_lifecycle.json @@ -27,7 +27,7 @@ "patterns": [ "_data_stream/{name}/_lifecycle" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/dlm-delete-lifecycle.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/data-streams-delete-lifecycle.html", "availability": { "stack": true, "serverless": true diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_template.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_template.json index 3d51659ef76002..99e379a038b9fb 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_template.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_template.json @@ -6,10 +6,12 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ] @@ -23,7 +25,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html", "availability": { "stack": true, - "serverless": true + "serverless": false } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.disk_usage.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.disk_usage.json index 49eadca2f194f3..8b83b0f64dd518 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.disk_usage.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.disk_usage.json @@ -23,10 +23,10 @@ "patterns": [ "{index}/_disk_usage" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-disk-usage.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/indices-disk-usage.html", "availability": { "stack": true, - "serverless": true + "serverless": false } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.downsample.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.downsample.json index a51b465f964d01..c3752ef1c2ce02 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.downsample.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.downsample.json @@ -12,7 +12,7 @@ "patterns": [ "{index}/_downsample/{target_index}" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-rollup.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/indices-downsample-data-stream.html", "availability": { "stack": true, "serverless": false diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_template.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_template.json index adc9c7a6ddb981..ecfbd25d0b60dd 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_template.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_template.json @@ -21,7 +21,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html", "availability": { "stack": true, - "serverless": true + "serverless": false } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.explain_data_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.explain_data_lifecycle.json index 0869814bc94d9a..ea5cbbc1d74cef 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.explain_data_lifecycle.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.explain_data_lifecycle.json @@ -17,7 +17,7 @@ "patterns": [ "{index}/_lifecycle/explain" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/dlm-explain-lifecycle.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams-explain-lifecycle.html", "availability": { "stack": true, "serverless": true diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.flush.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.flush.json index d021851331d8e1..263eae37c64356 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.flush.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.flush.json @@ -25,7 +25,7 @@ "_flush", "{index}/_flush" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-flush.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/indices-flush.html", "availability": { "stack": true, "serverless": false diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_data_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_data_lifecycle.json index f774ae29c048d7..a76f0214dba7c3 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_data_lifecycle.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_data_lifecycle.json @@ -20,7 +20,7 @@ "patterns": [ "_data_stream/{name}/_lifecycle" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/dlm-get-lifecycle.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/data-streams-get-lifecycle.html", "availability": { "stack": true, "serverless": true diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_mapping.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_mapping.json index 561368173d0571..46c2425b1ceb8b 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_mapping.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_mapping.json @@ -16,6 +16,7 @@ "ignore_unavailable": "__flag__", "local": "__flag__", "master_timeout": [ + "30s", "-1", "0" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_template.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_template.json index 2926f21a08dcee..9556552da5c9cc 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_template.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_template.json @@ -8,6 +8,7 @@ "flat_settings": "__flag__", "local": "__flag__", "master_timeout": [ + "30s", "-1", "0" ] @@ -22,7 +23,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html", "availability": { "stack": true, - "serverless": true + "serverless": false } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.open.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.open.json index 0132181928b5bb..0125fc7f4d7293 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.open.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.open.json @@ -15,14 +15,17 @@ ], "ignore_unavailable": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_alias.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_alias.json index 741d0cee9fd0db..fe8044e5f0834a 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_alias.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_alias.json @@ -6,10 +6,12 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_data_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_data_lifecycle.json index 03536defd4bbea..9812babcf68f59 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_data_lifecycle.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_data_lifecycle.json @@ -13,10 +13,12 @@ "none" ], "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ] @@ -27,7 +29,7 @@ "patterns": [ "_data_stream/{name}/_lifecycle" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/dlm-put-lifecycle.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/data-streams-put-lifecycle.html", "availability": { "stack": true, "serverless": true diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_mapping.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_mapping.json index 381559aff46241..f9c661b283e3cd 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_mapping.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_mapping.json @@ -15,10 +15,12 @@ ], "ignore_unavailable": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ], diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_template.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_template.json index e2583840f41991..79d1b509f3a875 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_template.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_template.json @@ -13,6 +13,7 @@ "0" ], "timeout": [ + "30s", "-1", "0" ], diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.refresh.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.refresh.json index b4dfd2893db22e..8e631a9a4b567f 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.refresh.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.refresh.json @@ -26,7 +26,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-refresh.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.rollover.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.rollover.json index 5c29c31eb2b7bc..a5db7cf65966b7 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.rollover.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.rollover.json @@ -7,14 +7,17 @@ "pretty": "__flag__", "dry_run": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ] @@ -26,7 +29,7 @@ "{alias}/_rollover", "{alias}/_rollover/{new_index}" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-rollover-index.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/indices-rollover-index.html", "availability": { "stack": true, "serverless": true diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.shrink.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.shrink.json index d1d98561a2f7b6..82b5854dd46423 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.shrink.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.shrink.json @@ -6,14 +6,17 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ] @@ -25,7 +28,7 @@ "patterns": [ "{index}/_shrink/{target}" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-shrink-index.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/indices-shrink-index.html", "availability": { "stack": true, "serverless": false diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.split.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.split.json index 156fef6d2ea7cf..bd9ebf0b1097cf 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.split.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.split.json @@ -6,14 +6,17 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ] @@ -25,7 +28,7 @@ "patterns": [ "{index}/_split/{target}" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-split-index.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/indices-split-index.html", "availability": { "stack": true, "serverless": false diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.unfreeze.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.unfreeze.json index a55bbaadfadf00..9b9789d3d97724 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.unfreeze.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.unfreeze.json @@ -15,14 +15,18 @@ ], "ignore_unavailable": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ], - "wait_for_active_shards": "" + "wait_for_active_shards": [ + "1" + ] }, "methods": [ "POST" diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.update_aliases.json b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.update_aliases.json index dfd0b52dafa324..5044968a4f5933 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.update_aliases.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/indices.update_aliases.json @@ -6,10 +6,12 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.delete_pipeline.json b/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.delete_pipeline.json index 676940ce9ed05a..c92d22288dd549 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.delete_pipeline.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.delete_pipeline.json @@ -6,10 +6,12 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.geo_ip_stats.json b/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.geo_ip_stats.json index 071ce1b5e89fdb..1cd9132dd7d158 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.geo_ip_stats.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.geo_ip_stats.json @@ -12,7 +12,7 @@ "patterns": [ "_ingest/geoip/stats" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/geoip-stats-api.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/geoip-processor.html", "availability": { "stack": true, "serverless": false diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.processor_grok.json b/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.processor_grok.json index 0d1c76a56eef6c..6cc97c5525167b 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.processor_grok.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.processor_grok.json @@ -12,7 +12,7 @@ "patterns": [ "_ingest/processor/grok" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/grok-processor.html#grok-processor-rest-get", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/grok-processor.html", "availability": { "stack": true, "serverless": true diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.put_pipeline.json b/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.put_pipeline.json index 71083c1bc7dd0e..364011946fa2e5 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.put_pipeline.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.put_pipeline.json @@ -23,7 +23,7 @@ "patterns": [ "_ingest/pipeline/{id}" ], - "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-pipeline-api.html", + "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/ingest.html", "availability": { "stack": true, "serverless": true diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/license.get.json b/src/plugins/console/server/lib/spec_definitions/json/generated/license.get.json index 194c4fa7158e12..f28214188e79a8 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/license.get.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/license.get.json @@ -17,7 +17,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-license.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.reload_secure_settings.json b/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.reload_secure_settings.json index 8605011a1afde2..bd7c158796de70 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.reload_secure_settings.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.reload_secure_settings.json @@ -6,6 +6,7 @@ "human": "__flag__", "pretty": "__flag__", "timeout": [ + "30s", "-1", "0" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.usage.json b/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.usage.json index 2c2c870c650bd9..f84b1d2d48a9c4 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.usage.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.usage.json @@ -6,6 +6,7 @@ "human": "__flag__", "pretty": "__flag__", "timeout": [ + "30s", "-1", "0" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/put_script.json b/src/plugins/console/server/lib/spec_definitions/json/generated/put_script.json index 529be68f97c109..85cd77924ee9df 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/put_script.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/put_script.json @@ -6,10 +6,12 @@ "human": "__flag__", "pretty": "__flag__", "master_timeout": [ + "30s", "-1", "0" ], "timeout": [ + "30s", "-1", "0" ] diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/reindex.json b/src/plugins/console/server/lib/spec_definitions/json/generated/reindex.json index edb56b62dcd6db..423a8fda844c8d 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/reindex.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/reindex.json @@ -6,19 +6,24 @@ "human": "__flag__", "pretty": "__flag__", "refresh": "__flag__", - "requests_per_second": "", + "requests_per_second": [ + "-1" + ], "scroll": [ "-1", "0" ], "slices": [ + "1", "auto" ], "timeout": [ + "1m", "-1", "0" ], "wait_for_active_shards": [ + "1", "all", "index-setting" ], @@ -34,7 +39,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-reindex.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.stop_job.json b/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.stop_job.json index d67ebe0768c828..ecdb9372b22e87 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.stop_job.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.stop_job.json @@ -6,6 +6,7 @@ "human": "__flag__", "pretty": "__flag__", "timeout": [ + "30s", "-1", "0" ], diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_mvt.json b/src/plugins/console/server/lib/spec_definitions/json/generated/search_mvt.json index be7602ac954c2b..6691874a137be9 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/search_mvt.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/search_mvt.json @@ -36,7 +36,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/search-vector-tile-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_api_key_cache.json b/src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_api_key_cache.json index 73dfb646278795..04cc162e377f44 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_api_key_cache.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_api_key_cache.json @@ -15,7 +15,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-clear-api-key-cache.html", "availability": { "stack": true, - "serverless": true + "serverless": false } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.has_privileges.json b/src/plugins/console/server/lib/spec_definitions/json/generated/security.has_privileges.json index 2e051b7ffc9f9d..9c678e7bc5c8e4 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/security.has_privileges.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/security.has_privileges.json @@ -17,7 +17,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-has-privileges.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.clear_cursor.json b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.clear_cursor.json index 707b10430d4c64..f66c1e55c31e43 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.clear_cursor.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.clear_cursor.json @@ -15,7 +15,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/clear-sql-cursor-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.delete_async.json b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.delete_async.json index 06635b945741a5..184d2f2a164451 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.delete_async.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.delete_async.json @@ -15,7 +15,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-async-sql-search-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async.json b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async.json index dc88affe81c361..4a24f3f2b15633 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async.json @@ -27,7 +27,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-async-sql-search-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async_status.json b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async_status.json index 4b6020f23a18b5..7d4a714a1e77df 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async_status.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async_status.json @@ -15,7 +15,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-async-sql-search-status-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.query.json b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.query.json index 3ac18e2b81035d..565281f08349a2 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.query.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.query.json @@ -17,7 +17,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-search-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.translate.json b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.translate.json index a75471e3c7450a..fda9def4a1b5b3 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.translate.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/sql.translate.json @@ -16,7 +16,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-translate-api.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.delete.json b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.delete_synonym.json similarity index 87% rename from src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.delete.json rename to src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.delete_synonym.json index e931ac69c473e9..9c2b72d8d3a6c9 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.delete.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.delete_synonym.json @@ -1,5 +1,5 @@ { - "synonyms.delete": { + "synonyms.delete_synonym": { "url_params": { "error_trace": "__flag__", "filter_path": [], @@ -10,7 +10,7 @@ "DELETE" ], "patterns": [ - "_synonyms/{synonyms_set}" + "_synonyms/{id}" ], "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-synonyms-set.html", "availability": { diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/synonym_rule.delete.json b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.delete_synonym_rule.json similarity index 84% rename from src/plugins/console/server/lib/spec_definitions/json/generated/synonym_rule.delete.json rename to src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.delete_synonym_rule.json index a4f50d9ea08fc8..fc5b150337d894 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/synonym_rule.delete.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.delete_synonym_rule.json @@ -1,5 +1,5 @@ { - "synonym_rule.delete": { + "synonyms.delete_synonym_rule": { "url_params": { "error_trace": "__flag__", "filter_path": [], @@ -10,7 +10,7 @@ "DELETE" ], "patterns": [ - "_synonyms/{synonyms_set}/{synonym_rule}" + "_synonyms/{set_id}/{rule_id}" ], "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-synonym-rule.html", "availability": { diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get.json b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get_synonym.json similarity index 82% rename from src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get.json rename to src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get_synonym.json index 1fabfd8216929b..b180ea625639ac 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get_synonym.json @@ -1,18 +1,20 @@ { - "synonyms.get": { + "synonyms.get_synonym": { "url_params": { "error_trace": "__flag__", "filter_path": [], "human": "__flag__", "pretty": "__flag__", "from": "", - "size": "" + "size": [ + "10" + ] }, "methods": [ "GET" ], "patterns": [ - "_synonyms/{synonyms_set}" + "_synonyms/{id}" ], "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-synonyms-set.html", "availability": { diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/synonym_rule.get.json b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get_synonym_rule.json similarity index 84% rename from src/plugins/console/server/lib/spec_definitions/json/generated/synonym_rule.get.json rename to src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get_synonym_rule.json index 01f52d0dff7330..b6c0a7c2e523c3 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/synonym_rule.get.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get_synonym_rule.json @@ -1,5 +1,5 @@ { - "synonym_rule.get": { + "synonyms.get_synonym_rule": { "url_params": { "error_trace": "__flag__", "filter_path": [], @@ -10,7 +10,7 @@ "GET" ], "patterns": [ - "_synonyms/{synonyms_set}/{synonym_rule}" + "_synonyms/{set_id}/{rule_id}" ], "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-synonym-rule.html", "availability": { diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms_sets.get.json b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get_synonyms_sets.json similarity index 85% rename from src/plugins/console/server/lib/spec_definitions/json/generated/synonyms_sets.get.json rename to src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get_synonyms_sets.json index 9addedfbb6f26a..894bf417ef41b2 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms_sets.get.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.get_synonyms_sets.json @@ -1,12 +1,14 @@ { - "synonyms_sets.get": { + "synonyms.get_synonyms_sets": { "url_params": { "error_trace": "__flag__", "filter_path": [], "human": "__flag__", "pretty": "__flag__", "from": "", - "size": "" + "size": [ + "10" + ] }, "methods": [ "GET" diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.put.json b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.put_synonym.json similarity index 88% rename from src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.put.json rename to src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.put_synonym.json index 8184d8f17a8517..519e2df3a7d692 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.put.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.put_synonym.json @@ -1,5 +1,5 @@ { - "synonyms.put": { + "synonyms.put_synonym": { "url_params": { "error_trace": "__flag__", "filter_path": [], @@ -10,7 +10,7 @@ "PUT" ], "patterns": [ - "_synonyms/{synonyms_set}" + "_synonyms/{id}" ], "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-synonyms-set.html", "availability": { diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/synonym_rule.put.json b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.put_synonym_rule.json similarity index 84% rename from src/plugins/console/server/lib/spec_definitions/json/generated/synonym_rule.put.json rename to src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.put_synonym_rule.json index 4bfe6687e8b46b..96dec0f4b5d404 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/synonym_rule.put.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/synonyms.put_synonym_rule.json @@ -1,5 +1,5 @@ { - "synonym_rule.put": { + "synonyms.put_synonym_rule": { "url_params": { "error_trace": "__flag__", "filter_path": [], @@ -10,7 +10,7 @@ "PUT" ], "patterns": [ - "_synonyms/{synonyms_set}/{synonym_rule}" + "_synonyms/{set_id}/{rule_id}" ], "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-synonym-rule.html", "availability": { diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/tasks.get.json b/src/plugins/console/server/lib/spec_definitions/json/generated/tasks.get.json index 466409ec48b601..d695d1285c7c7b 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/tasks.get.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/tasks.get.json @@ -6,6 +6,7 @@ "human": "__flag__", "pretty": "__flag__", "timeout": [ + "30s", "-1", "0" ], @@ -20,7 +21,7 @@ "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/tasks.html", "availability": { "stack": true, - "serverless": false + "serverless": true } } } diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query.json b/src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query.json index 5063d21f55eb56..787d36fdb2ec61 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query.json @@ -32,13 +32,17 @@ "preference": "", "refresh": "__flag__", "request_cache": "__flag__", - "requests_per_second": "", + "requests_per_second": [ + "-1" + ], "routing": "", "scroll": [ "-1", "0" ], - "scroll_size": "", + "scroll_size": [ + "1000" + ], "search_timeout": [ "-1", "0" @@ -48,18 +52,21 @@ "dfs_query_then_fetch" ], "slices": [ + "1", "auto" ], "sort": "", "stats": "", "terminate_after": "", "timeout": [ + "1m", "-1", "0" ], "version": "__flag__", "version_type": "__flag__", "wait_for_active_shards": [ + "1", "all", "index-setting" ], diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query_rethrottle.json b/src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query_rethrottle.json index 722bd66411346f..38a90b22ffa660 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query_rethrottle.json +++ b/src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query_rethrottle.json @@ -5,7 +5,9 @@ "filter_path": [], "human": "__flag__", "pretty": "__flag__", - "requests_per_second": "" + "requests_per_second": [ + "-1" + ] }, "methods": [ "POST" diff --git a/src/plugins/console/server/lib/spec_definitions/json/overrides/synonyms.put.json b/src/plugins/console/server/lib/spec_definitions/json/overrides/synonyms.put_synonym.json similarity index 83% rename from src/plugins/console/server/lib/spec_definitions/json/overrides/synonyms.put.json rename to src/plugins/console/server/lib/spec_definitions/json/overrides/synonyms.put_synonym.json index 0f1b931c21736b..d3f559626df90a 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/overrides/synonyms.put.json +++ b/src/plugins/console/server/lib/spec_definitions/json/overrides/synonyms.put_synonym.json @@ -1,5 +1,5 @@ { - "synonyms.put": { + "synonyms.put_synonym": { "data_autocomplete_rules": { "synonyms_set": [ { diff --git a/src/plugins/console/server/lib/spec_definitions/json/overrides/synonym_rule.put.json b/src/plugins/console/server/lib/spec_definitions/json/overrides/synonyms.put_synonym_rule.json similarity index 67% rename from src/plugins/console/server/lib/spec_definitions/json/overrides/synonym_rule.put.json rename to src/plugins/console/server/lib/spec_definitions/json/overrides/synonyms.put_synonym_rule.json index 1f02d1b495f7ab..049382db1f9e1a 100644 --- a/src/plugins/console/server/lib/spec_definitions/json/overrides/synonym_rule.put.json +++ b/src/plugins/console/server/lib/spec_definitions/json/overrides/synonyms.put_synonym_rule.json @@ -1,5 +1,5 @@ { - "synonym_rule.put": { + "synonyms.put_synonym_rule": { "data_autocomplete_rules": { "synonyms": "" } From 60f66eaf06cd92967cb569a577b50d83e4c94b12 Mon Sep 17 00:00:00 2001 From: Jeramy Soucy Date: Tue, 3 Oct 2023 14:16:42 -0400 Subject: [PATCH 09/35] =?UTF-8?q?Upgrade=20postcss@8.4.14=E2=86=928.4.31?= =?UTF-8?q?=20(#167815)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Upgrades dev-only dependency `postcss` where possible (v8.4.14 to v8.4.31). --- package.json | 2 +- yarn.lock | 19 +++++-------------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index e5c77f4f844f5f..6ade30114dcf01 100644 --- a/package.json +++ b/package.json @@ -1564,7 +1564,7 @@ "pixelmatch": "^5.3.0", "playwright": "=1.37.0", "pngjs": "^3.4.0", - "postcss": "^8.4.14", + "postcss": "^8.4.31", "postcss-loader": "^4.2.0", "postcss-prefix-selector": "^1.16.0", "postcss-scss": "^4.0.4", diff --git a/yarn.lock b/yarn.lock index 81045d21f49ac9..8efceaca770155 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22688,7 +22688,7 @@ nanoid@3.3.3: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== -nanoid@^3.3.1, nanoid@^3.3.4: +nanoid@^3.3.1: version "3.3.4" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== @@ -24625,19 +24625,10 @@ postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0 picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.4.14: - version "8.4.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" - integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.23: - version "8.4.25" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.25.tgz#4a133f5e379eda7f61e906c3b1aaa9b81292726f" - integrity sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw== +postcss@^8.4.14, postcss@^8.4.23, postcss@^8.4.31: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== dependencies: nanoid "^3.3.6" picocolors "^1.0.0" From 959f6239b02ccf65f0330aea627ea98261786f75 Mon Sep 17 00:00:00 2001 From: Rickyanto Ang Date: Tue, 3 Oct 2023 11:43:23 -0700 Subject: [PATCH 10/35] [Cloud Security][CIS GCP]Migration for new fields (#167545) ## Summary This PR is for migrating account.type fields for GCP when it doesnt have it --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Kfir Peled Co-authored-by: Kfir Peled <61654899+kfirpeled@users.noreply.github.com> --- .../group2/check_registered_types.test.ts | 2 +- .../fleet/server/saved_objects/index.ts | 19 ++- .../cloud_security_posture/index.ts | 8 ++ .../cloud_security_posture/to_v8_11_0.test.ts | 125 ++++++++++++++++++ .../cloud_security_posture/to_v8_11_0.ts | 36 +++++ 5 files changed, 184 insertions(+), 6 deletions(-) create mode 100644 x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/index.ts create mode 100644 x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/to_v8_11_0.test.ts create mode 100644 x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/to_v8_11_0.ts diff --git a/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts index b5a1591e7a5bd2..26ab99d41633d4 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts @@ -107,7 +107,7 @@ describe('checking migration metadata changes on all registered SO types', () => "ingest-agent-policies": "f11cc19275f4c3e4ee7c5cd6423b6706b21b989d", "ingest-download-sources": "279a68147e62e4d8858c09ad1cf03bd5551ce58d", "ingest-outputs": "b4e636b13a5d0f89f0400fb67811d4cca4736eb0", - "ingest-package-policies": "8ec637429836f80f1fcc798bcee7c5916eceaed5", + "ingest-package-policies": "a0c9fb48e04dcd638e593db55f1c6451523f90ea", "ingest_manager_settings": "64955ef1b7a9ffa894d4bb9cf863b5602bfa6885", "inventory-view": "b8683c8e352a286b4aca1ab21003115a4800af83", "kql-telemetry": "93c1d16c1a0dfca9c8842062cf5ef8f62ae401ad", diff --git a/x-pack/plugins/fleet/server/saved_objects/index.ts b/x-pack/plugins/fleet/server/saved_objects/index.ts index b21af06c383491..9bf37677ae9055 100644 --- a/x-pack/plugins/fleet/server/saved_objects/index.ts +++ b/x-pack/plugins/fleet/server/saved_objects/index.ts @@ -30,17 +30,14 @@ import { migratePackagePolicyToV8110, } from './migrations/security_solution/to_v8_11_0'; +import { migrateCspPackagePolicyToV8110 } from './migrations/cloud_security_posture'; + import { migrateOutputEvictionsFromV8100, migrateOutputToV8100 } from './migrations/to_v8_10_0'; import { migrateSyntheticsPackagePolicyToV8100 } from './migrations/synthetics/to_v8_10_0'; import { migratePackagePolicyEvictionsFromV8100 } from './migrations/security_solution/to_v8_10_0'; -import { - migratePackagePolicyEvictionsFromV81102, - migratePackagePolicyToV81102, -} from './migrations/security_solution/to_v8_11_0_2'; - import { migrateAgentPolicyToV7100, migratePackagePolicyToV7100, @@ -78,6 +75,10 @@ import { } from './migrations/security_solution'; import { migratePackagePolicyToV880 } from './migrations/to_v8_8_0'; import { migrateAgentPolicyToV890 } from './migrations/to_v8_9_0'; +import { + migratePackagePolicyToV81102, + migratePackagePolicyEvictionsFromV81102, +} from './migrations/security_solution/to_v8_11_0_2'; /* * Saved object types and mappings @@ -351,6 +352,14 @@ const getSavedObjectTypes = (): { [key: string]: SavedObjectsType } => ({ forwardCompatibility: migratePackagePolicyEvictionsFromV81102, }, }, + '4': { + changes: [ + { + type: 'data_backfill', + backfillFn: migrateCspPackagePolicyToV8110, + }, + ], + }, }, migrations: { '7.10.0': migratePackagePolicyToV7100, diff --git a/x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/index.ts b/x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/index.ts new file mode 100644 index 00000000000000..d9f2adb59e575a --- /dev/null +++ b/x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { migrateCspPackagePolicyToV8110 } from './to_v8_11_0'; diff --git a/x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/to_v8_11_0.test.ts b/x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/to_v8_11_0.test.ts new file mode 100644 index 00000000000000..ec6313080642b3 --- /dev/null +++ b/x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/to_v8_11_0.test.ts @@ -0,0 +1,125 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { SavedObjectModelTransformationContext } from '@kbn/core-saved-objects-server'; + +import { migrateCspPackagePolicyToV8110 as migration } from './to_v8_11_0'; + +describe('8.11.0 Cloud Security Posture Package Policy migration', () => { + const policyDoc = ( + accountType: string, + isAccountTypeCorrect: boolean, + packageName: string + ): any => { + return { + id: 'mock-saved-csp-object-id', + attributes: { + name: 'cloud_security_posture_test', + package: { + name: packageName, + title: '', + version: '', + }, + id: 'ID_123', + policy_id: '', + enabled: true, + namespace: '', + revision: 0, + updated_at: '', + updated_by: '', + created_at: '', + created_by: '', + inputs: [ + { + type: accountType, + enabled: true, + streams: [ + { + vars: { + ...(isAccountTypeCorrect && { + 'gcp.account_type': { value: 'single-account', type: 'text' }, + }), + }, + }, + ], + config: {}, + }, + ], + }, + type: ' nested', + }; + }; + + it('adds gcp.account_type to policy, set to single', () => { + const initialDoc = policyDoc('cloudbeat/cis_gcp', false, 'cloud_security_posture'); + const migratedDoc = policyDoc('cloudbeat/cis_gcp', true, 'cloud_security_posture'); + expect(migration(initialDoc, {} as SavedObjectModelTransformationContext)).toEqual({ + attributes: migratedDoc.attributes, + }); + }); + + it('if there are no type cloudbeat/cis_gcp, do not add gcp.account_type', () => { + const initialDoc = policyDoc('cloudbeat/cis_aws', false, 'cloud_security_posture'); + const migratedDoc = policyDoc('cloudbeat/cis_aws', false, 'cloud_security_posture'); + expect(migration(initialDoc, {} as SavedObjectModelTransformationContext)).toEqual({ + attributes: migratedDoc.attributes, + }); + }); + + it('if there are no cloud_security_posture package, do not change the doc', () => { + const initialDoc = policyDoc('cloudbeat/cis_gcp', false, 'NOT_cloud_security_posture'); + const migratedDoc = policyDoc('cloudbeat/cis_gcp', false, 'NOT_cloud_security_posture'); + expect(migration(initialDoc, {} as SavedObjectModelTransformationContext)).toEqual({ + attributes: migratedDoc.attributes, + }); + }); + + it('if gcp.account_type exist and already has a value, do not set it to single-account', () => { + const policyDocWithAccountType = (): any => { + return { + id: 'mock-saved-csp-object-id', + attributes: { + name: 'cloud_security_posture_test', + package: { + name: 'cloud_security_posture', + title: '', + version: '', + }, + id: 'ID_1234', + policy_id: '', + enabled: true, + namespace: '', + revision: 0, + updated_at: '', + updated_by: '', + created_at: '', + created_by: '', + inputs: [ + { + type: 'cloudbeat/cis_gcp', + enabled: true, + streams: [ + { + vars: { + 'gcp.account_type': { value: 'single-account-MAYBE', type: 'text' }, + }, + }, + ], + config: {}, + }, + ], + }, + type: ' nested', + }; + }; + const initialDoc = policyDocWithAccountType(); + const migratedDoc = policyDocWithAccountType(); + expect(migration(initialDoc, {} as SavedObjectModelTransformationContext)).toEqual({ + attributes: migratedDoc.attributes, + }); + }); +}); diff --git a/x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/to_v8_11_0.ts b/x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/to_v8_11_0.ts new file mode 100644 index 00000000000000..dd6760a9dc4ac0 --- /dev/null +++ b/x-pack/plugins/fleet/server/saved_objects/migrations/cloud_security_posture/to_v8_11_0.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; 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 { PackagePolicy } from '../../../../common'; + +export const migrateCspPackagePolicyToV8110: SavedObjectModelDataBackfillFn< + PackagePolicy, + PackagePolicy +> = (packagePolicyDoc) => { + if (packagePolicyDoc.attributes.package?.name !== 'cloud_security_posture') { + return { attributes: packagePolicyDoc.attributes }; + } + + const updatedAttributes = packagePolicyDoc.attributes; + + const gcpPackage = updatedAttributes.inputs.find((input) => input.type === 'cloudbeat/cis_gcp'); + + if (gcpPackage) { + const isGcpAccountTypeExists = gcpPackage.streams[0]?.vars?.hasOwnProperty('gcp.account_type'); + + if (!isGcpAccountTypeExists) { + const migratedPolicy = { 'gcp.account_type': { value: 'single-account', type: 'text' } }; + gcpPackage.streams[0].vars = { ...(gcpPackage.streams[0].vars || {}), ...migratedPolicy }; + } + } + + return { + attributes: updatedAttributes, + }; +}; From b39c608744f46bc0deac9b2268495cd02a315c15 Mon Sep 17 00:00:00 2001 From: Maxim Kholod Date: Tue, 3 Oct 2023 21:24:16 +0200 Subject: [PATCH 11/35] [Cloud Security] add more information about testing to Cloud Security Posture plugin readme (#167508) --- .../plugins/cloud_security_posture/README.md | 63 ++++++++++++++++--- 1 file changed, 55 insertions(+), 8 deletions(-) diff --git a/x-pack/plugins/cloud_security_posture/README.md b/x-pack/plugins/cloud_security_posture/README.md index f9c760fbeb99fc..0befebb667de68 100755 --- a/x-pack/plugins/cloud_security_posture/README.md +++ b/x-pack/plugins/cloud_security_posture/README.md @@ -6,17 +6,21 @@ Cloud Posture automates the identification and remediation of risks across cloud ## Development -read [Kibana Contributing Guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for more details +Read [Kibana Contributing Guide](https://github.com/elastic/kibana/blob/main/CONTRIBUTING.md) for more details ## Testing -for general guidelines, read [Kibana Testing Guide](https://www.elastic.co/guide/en/kibana/current/development-tests.html) for more details +For general guidelines, read [Kibana Testing Guide](https://www.elastic.co/guide/en/kibana/current/development-tests.html) for more details ### Tests 1. Unit Tests (Jest) - located in sibling files to the source code -2. [Integration Tests](../../test/api_integration/apis/cloud_security_posture/index.ts) -3. [End-to-End Tests](../../test/cloud_security_posture_functional/pages/index.ts) +1. [API Integration Tests](../../test/api_integration/apis/cloud_security_posture/config.ts) +1. [Telemetry Integration Tests](../../test/cloud_security_posture_api/config.ts) +1. [End-to-End Tests](../../test/cloud_security_posture_functional/config.ts) +1. [Serverless API Integration tests](../../test_serverless/api_integration/test_suites/security/config.ts) +1. [Serverless End-to-End Tests](../../test_serverless/functional/test_suites/security/config.ts) + ### Tools @@ -32,6 +36,17 @@ Run **ESLint**: yarn lint:es x-pack/plugins/cloud_security_posture ``` +Run **i18n check**: +```bash +node scripts/i18n_check.js +``` + +> **Note** +> +> i18n should run on project scope as it checks translations files outside of our plugin. +> +> Fixes can be applied using the --fix flag + Run [**Unit Tests**](https://www.elastic.co/guide/en/kibana/current/development-tests.html#_unit_testing): ```bash @@ -39,6 +54,7 @@ yarn test:jest --config x-pack/plugins/cloud_security_posture/jest.config.js ``` > **Note** +> > for a coverage report, add the `--coverage` flag, and run `open target/kibana-coverage/jest/x-pack/plugins/cloud_security_posture/index.html` Run [**Integration Tests**](https://docs.elastic.dev/kibana-dev-docs/tutorials/testing-plugins#): @@ -50,14 +66,45 @@ yarn test:ftr --config x-pack/test/api_integration/config.ts Run [**End-to-End Tests**](https://www.elastic.co/guide/en/kibana/current/development-tests.html#_running_functional_tests): ```bash -yarn test:ftr --config x-pack/test/cloud_security_posture_functional/config.ts --debug +yarn test:ftr --config x-pack/test/cloud_security_posture_functional/config.ts +yarn test:ftr --config x-pack/test/api_integration/config.ts --include-tag=cloud_security_posture +yarn test:ftr --config x-pack/test/cloud_security_posture_api/config.ts +yarn test:ftr --config x-pack/test_serverless/api_integration/test_suites/security/config.ts --include-tag=cloud_security_posture +yarn test:ftr --config x-pack/test_serverless/functional/test_suites/security/config.cloud_security_posture.ts ``` -
+#### Run **FTR tests (integration or e2e) for development** + +Functional test runner (FTR) can be used separately with `ftr:runner` and `ftr:server`. This is convenient while developing tests. -test runner (FTR) can be used separately with `ftr:runner` and `ftr:server`: +For example, +run ESS (stateful) api integration tests: ```bash yarn test:ftr:server --config x-pack/test/api_integration/config.ts -yarn test:ftr:runner --include-tag=cloud_security_posture --config x-pack/test/api_integration/config.ts +yarn test:ftr:runner --config x-pack/test/api_integration/apis/cloud_security_posture/config.ts +``` + +run ESS (stateful) telemetry integration tests: +```bash +yarn test:ftr:server --config x-pack/test/cloud_security_posture_api/config.ts +yarn test:ftr:runner --config x-pack/test/cloud_security_posture_api/config.ts ``` + +run ESS (stateful) e2e tests: +```bash +yarn test:ftr:server --config x-pack/test/cloud_security_posture_functional/config.ts +yarn test:ftr:runner --config x-pack/test/cloud_security_posture_functional/config.ts +``` + +run serverless api integration tests: +```bash +yarn test:ftr:server --config x-pack/test_serverless/api_integration/test_suites/security/config.ts +yarn test:ftr:runner --config x-pack/test_serverless/api_integration/test_suites/security/config.ts --include-tag=cloud_security_posture +``` + +run serverless e2e tests: +```bash +yarn test:ftr:server --config x-pack/test_serverless/functional/test_suites/security/config.cloud_security_posture.ts +yarn test:ftr:runner ---config x-pack/test_serverless/functional/test_suites/security/config.cloud_security_posture.ts +``` \ No newline at end of file From d0c9f37d16af236f60edab5d86547af232b6b97f Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Tue, 3 Oct 2023 21:50:03 +0200 Subject: [PATCH 12/35] [Security Solution] Increassing parallelism for Serverless Investigations execution (#167920) --- .buildkite/pipelines/pull_request/base.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipelines/pull_request/base.yml b/.buildkite/pipelines/pull_request/base.yml index 977e46e2beaea3..94f983f1d5e6f6 100644 --- a/.buildkite/pipelines/pull_request/base.yml +++ b/.buildkite/pipelines/pull_request/base.yml @@ -87,7 +87,7 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 40 - parallelism: 2 + parallelism: 4 retry: automatic: - exit_status: '*' From 39c98880099735c3f42dc25e989a4bdb87b63e65 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 3 Oct 2023 15:32:38 -0500 Subject: [PATCH 13/35] [ci] Synchronize serverless tests between pipelines (#167934) We're running serverless cypress tests in three locations 1) on-merge 2) pull requests 3) verifying the latest elasticsearch snapshot These have diverged slightly, causing a small issue where we missed timeouts in pull requests due to a longer timeout in on-merge (which triggers our notifications). Timeouts are all set to 60 minutes. Target time is 40 minutes, with a 20 minute buffer that we can use to increase the parallelism as needed. --- .../verify_es_serverless_image.yml | 6 +-- .buildkite/pipelines/on_merge.yml | 6 +-- .buildkite/pipelines/pull_request/base.yml | 42 +++++++++---------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.buildkite/pipelines/es_serverless/verify_es_serverless_image.yml b/.buildkite/pipelines/es_serverless/verify_es_serverless_image.yml index dd6fd12c7c013b..aabbcbd3255a4d 100644 --- a/.buildkite/pipelines/es_serverless/verify_es_serverless_image.yml +++ b/.buildkite/pipelines/es_serverless/verify_es_serverless_image.yml @@ -50,7 +50,7 @@ steps: agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 40 + timeout_in_minutes: 60 parallelism: 2 retry: automatic: @@ -74,8 +74,8 @@ steps: agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 120 - parallelism: 2 + timeout_in_minutes: 60 + parallelism: 4 retry: automatic: - exit_status: '*' diff --git a/.buildkite/pipelines/on_merge.yml b/.buildkite/pipelines/on_merge.yml index ed33671ee2ed1e..d567ac16af588e 100644 --- a/.buildkite/pipelines/on_merge.yml +++ b/.buildkite/pipelines/on_merge.yml @@ -84,7 +84,7 @@ steps: agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 40 + timeout_in_minutes: 60 parallelism: 2 retry: automatic: @@ -108,8 +108,8 @@ steps: agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 120 - parallelism: 2 + timeout_in_minutes: 60 + parallelism: 4 retry: automatic: - exit_status: '*' diff --git a/.buildkite/pipelines/pull_request/base.yml b/.buildkite/pipelines/pull_request/base.yml index 94f983f1d5e6f6..04861de3dfac91 100644 --- a/.buildkite/pipelines/pull_request/base.yml +++ b/.buildkite/pipelines/pull_request/base.yml @@ -62,49 +62,49 @@ steps: agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 40 + timeout_in_minutes: 60 parallelism: 2 retry: automatic: - exit_status: '*' limit: 1 - # status_exception: Native role management is not enabled in this Elasticsearch instance - # - command: .buildkite/scripts/steps/functional/security_serverless_defend_workflows.sh - # label: 'Serverless Security Defend Workflows Cypress Tests' - # agents: - # queue: n2-4-spot - # depends_on: build - # timeout_in_minutes: 40 - # retry: - # automatic: - # - exit_status: '*' - # limit: 1 - - - command: .buildkite/scripts/steps/functional/security_serverless_investigations.sh - label: 'Serverless Security Investigations Cypress Tests' + - command: .buildkite/scripts/steps/functional/security_serverless_explore.sh + label: 'Serverless Explore - Security Solution Cypress Tests' agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 40 - parallelism: 4 + timeout_in_minutes: 60 + parallelism: 2 retry: automatic: - exit_status: '*' limit: 1 - - command: .buildkite/scripts/steps/functional/security_serverless_explore.sh - label: 'Serverless Security Explore Cypress Tests' + - command: .buildkite/scripts/steps/functional/security_serverless_investigations.sh + label: 'Serverless Investigations - Security Solution Cypress Tests' agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 40 - parallelism: 2 + timeout_in_minutes: 60 + parallelism: 4 retry: automatic: - exit_status: '*' limit: 1 + # status_exception: Native role management is not enabled in this Elasticsearch instance + # - command: .buildkite/scripts/steps/functional/security_serverless_defend_workflows.sh + # label: 'Serverless Security Defend Workflows Cypress Tests' + # agents: + # queue: n2-4-spot + # depends_on: build + # timeout_in_minutes: 60 + # retry: + # automatic: + # - exit_status: '*' + # limit: 1 + - command: .buildkite/scripts/steps/lint.sh label: 'Linting' agents: From 172f2ebb82ab2b3793d689607a72739966cc02e9 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Tue, 3 Oct 2023 16:36:59 -0400 Subject: [PATCH 14/35] skip failing test suite (#167914) --- .../e2e/investigations/alerts/detection_page_filters.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts index 113c10cf2d9107..1b129d98d9e0d9 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts @@ -108,7 +108,8 @@ const assertFilterControlsWithFilterObject = ( }); }; -describe(`Detections : Page Filters`, { tags: ['@ess', '@serverless'] }, () => { +// Failing: See https://github.com/elastic/kibana/issues/167914 +describe.skip(`Detections : Page Filters`, { tags: ['@ess', '@serverless'] }, () => { before(() => { cleanKibana(); createRule(getNewRule({ rule_id: 'custom_rule_filters' })); From efdd5730a03d47f433abc794fe4d180cd5cd5b5b Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Tue, 3 Oct 2023 16:38:43 -0400 Subject: [PATCH 15/35] skip failing test suite (#167915) --- .../e2e/investigations/alerts/detection_page_filters.cy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts index 1b129d98d9e0d9..6aa483cf7f7850 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/detection_page_filters.cy.ts @@ -109,6 +109,7 @@ const assertFilterControlsWithFilterObject = ( }; // Failing: See https://github.com/elastic/kibana/issues/167914 +// Failing: See https://github.com/elastic/kibana/issues/167915 describe.skip(`Detections : Page Filters`, { tags: ['@ess', '@serverless'] }, () => { before(() => { cleanKibana(); From b804e10ce3fdb309aa238b878b751f0d105a9696 Mon Sep 17 00:00:00 2001 From: Saarika Bhasi <55930906+saarikabhasi@users.noreply.github.com> Date: Tue, 3 Oct 2023 17:09:25 -0400 Subject: [PATCH 16/35] [Search][Search Experience] Gated form is shown only when user is admin and kibana_uis_enabled is false (#167918) ## Summary This PR fixes issue with non-admin user not able access WS personal path routes(`/p/`) routes when `kibana_uis_enabled` is `false`. The gated form will only be accessible when `kibana_uis_enabled = false` and `isAdmin == true` In other cases all routes are accessible by all users. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../workplace_search/index.test.tsx | 84 +++++++++-- .../applications/workplace_search/index.tsx | 130 ++++++++++-------- 2 files changed, 143 insertions(+), 71 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.test.tsx index 453a6346f86901..67711682391263 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.test.tsx @@ -18,12 +18,20 @@ import { shallow } from 'enzyme'; import { VersionMismatchPage } from '../shared/version_mismatch'; import { WorkplaceSearchHeaderActions } from './components/layout'; +import { SourcesRouter } from './views/content_sources'; import { SourceAdded } from './views/content_sources/components/source_added'; import { ErrorState } from './views/error_state'; +import { NotFound } from './views/not_found'; import { Overview } from './views/overview'; +import { RoleMappings } from './views/role_mappings'; import { SetupGuide } from './views/setup_guide'; -import { WorkplaceSearch, WorkplaceSearchUnconfigured, WorkplaceSearchConfigured } from '.'; +import { + WorkplaceSearch, + WorkplaceSearchUnconfigured, + WorkplaceSearchConfigured, + WorkplaceSearchConfiguredRoutes, +} from '.'; describe('WorkplaceSearch', () => { it('renders VersionMismatchPage when there are mismatching versions', () => { @@ -89,24 +97,33 @@ describe('WorkplaceSearchConfigured', () => { }); it('renders chrome and header actions', () => { - setMockValues({ organization: { kibanaUIsEnabled: false } }); - const wrapper = shallow(); - expect(wrapper.find(Overview)).toHaveLength(1); + setMockValues({ + account: { isAdmin: true }, + organization: { kibanaUIsEnabled: true }, + }); + const props = { isAdmin: true, kibanaUIsEnabled: true }; + const wrapperConfiguredRoutes = shallow(); + expect(wrapperConfiguredRoutes.find(Overview)).toHaveLength(1); + shallow(); expect(mockKibanaValues.setChromeIsVisible).toHaveBeenCalledWith(true); expect(mockKibanaValues.renderHeaderActions).toHaveBeenCalledWith(WorkplaceSearchHeaderActions); }); it('initializes app data with passed props', () => { const { workplaceSearch } = DEFAULT_INITIAL_APP_DATA; - setMockValues({ organization: { kibanaUIsEnabled: false } }); + setMockValues({ account: { isAdmin: true }, organization: { kibanaUIsEnabled: false } }); shallow(); expect(initializeAppData).toHaveBeenCalledWith({ workplaceSearch }); }); it('does not re-initialize app data or re-render header actions', () => { - setMockValues({ hasInitialized: true, organization: { kibanaUIsEnabled: false } }); + setMockValues({ + account: { isAdmin: true }, + hasInitialized: true, + organization: { kibanaUIsEnabled: false }, + }); shallow(); @@ -115,14 +132,57 @@ describe('WorkplaceSearchConfigured', () => { }); it('renders SourceAdded', () => { - setMockValues({ organization: { kibanaUIsEnabled: true } }); - const wrapper = shallow(); + setMockValues({ organization: { kibanaUIsEnabled: true }, account: { isAdmin: true } }); + const props = { isAdmin: true, kibanaUIsEnabled: true }; + const wrapper = shallow(); expect(wrapper.find(SourceAdded)).toHaveLength(1); }); - it('renders Overview when kibanaUIsEnabled is true', () => { - setMockValues({ organization: { kibanaUIsEnabled: false } }); - const wrapper = shallow(); - expect(wrapper.find(Overview)).toHaveLength(1); + describe('when admin user is logged in', () => { + it('all routes accessible when kibanaUIsEnabled is true', () => { + setMockValues({ + account: { isAdmin: true }, + organization: { kibanaUIsEnabled: true }, + }); + const props = { isAdmin: true, kibanaUIsEnabled: true }; + + const wrapper = shallow(); + expect(wrapper.find(RoleMappings)).toHaveLength(1); + }); + + it('only Overview and Notfound routes are available when kibanaUIsEnabled is false', () => { + setMockValues({ + account: { isAdmin: true }, + organization: { kibanaUIsEnabled: false }, + }); + const props = { isAdmin: true, kibanaUIsEnabled: false }; + + const wrapper = shallow(); + expect(wrapper.find(RoleMappings)).toHaveLength(0); + expect(wrapper.find(Overview)).toHaveLength(1); + expect(wrapper.find(NotFound)).toHaveLength(1); + }); + }); + describe('when non admin user is logged in, all routes are accessible', () => { + it('when kibanaUIsEnabled is true ', () => { + setMockValues({ + account: { isAdmin: false }, + organization: { kibanaUIsEnabled: true }, + }); + const props = { isAdmin: true, kibanaUIsEnabled: true }; + + const wrapper = shallow(); + expect(wrapper.find(RoleMappings)).toHaveLength(1); + }); + it('when kibanaUIsEnabled is false ', () => { + setMockValues({ + account: { isAdmin: false }, + organization: { kibanaUIsEnabled: false }, + }); + const props = { isAdmin: false, kibanaUIsEnabled: false }; + + const wrapper = shallow(); + expect(wrapper.find(SourcesRouter)).toHaveLength(2); + }); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx index 74921301669e7f..e9332fe81bdabf 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx @@ -73,10 +73,80 @@ export const WorkplaceSearch: React.FC = (props) => { return ; }; +export const WorkplaceSearchConfiguredRoutes: React.FC<{ + isAdmin: boolean; + kibanaUIsEnabled: boolean; +}> = ({ isAdmin, kibanaUIsEnabled }) => { + const isblockingRoutes = isAdmin && !kibanaUIsEnabled; + return !isblockingRoutes ? ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) : ( + + + + + + + + + ); +}; export const WorkplaceSearchConfigured: React.FC = (props) => { const { hasInitialized, organization: { kibanaUIsEnabled }, + account: { isAdmin }, } = useValues(AppLogic); const { initializeAppData, setContext } = useActions(AppLogic); const { renderHeaderActions, setChromeIsVisible } = useValues(KibanaLogic); @@ -100,65 +170,7 @@ export const WorkplaceSearchConfigured: React.FC = (props) => { } }, [hasInitialized]); - return ( - - - - - {kibanaUIsEnabled && ( - <> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - )} - - - - - - ); + return ; }; export const WorkplaceSearchUnconfigured: React.FC = () => ( From 8b6ba3d15ff18de07d32ab2302bf9e18844ce25c Mon Sep 17 00:00:00 2001 From: Georgii Gorbachev Date: Tue, 3 Oct 2023 23:23:46 +0200 Subject: [PATCH 17/35] [Security Solution] Detection Engine health API: cluster health endpoint (#165602) **Epic:** https://github.com/elastic/kibana/issues/125642 ## Summary This PR implements the `_cluster` health endpoint. It returns the same metrics as the `_space` health endpoint. The difference is that: - the `_cluster` health endpoint calculates its metrics on top of data from all Kibana spaces - the `_space` health endpoint calculates its metrics on top of data from the current Kibana space (the one specified in the URL) Additionally, it fixes a few bugs in the existing health endpoints related to scoping. This PR ensures that we only aggregate _detection_ rules in the saved objects and the `.kibana-event-log-*` indices, and not any types of rules. ## RBAC The `_cluster` health endpoint can be called by any user with at least Read privilege to Security Solution. ## Documentation I also updated the health API's README and added a new document describing what health data we return from what endpoints: ``` security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/health_data.md ``` ### Checklist Delete any items that are not applicable to this PR. - [x] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [x] Added more info to the dev docs - [ ] [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 --- .../detection_engine_health/README.md | 1718 +-------------- .../get_cluster_health_route.ts | 3 - .../detection_engine_health/health_data.md | 152 ++ .../health_endpoints.md | 1944 +++++++++++++++++ .../model/cluster_health.mock.ts | 10 +- .../model/cluster_health.ts | 19 +- .../model/health_stats.mock.ts | 17 +- .../model/health_stats.ts | 47 +- .../model/rule_health.mock.ts | 6 +- .../model/rule_health.ts | 16 +- .../model/space_health.mock.ts | 6 +- .../model/space_health.ts | 16 +- .../get_cluster_health_route.ts | 4 +- .../get_rule_health/get_rule_health_route.ts | 2 +- .../get_space_health_route.ts | 2 +- .../detection_engine_health_client.ts | 13 +- .../aggregations/health_stats_for_rule.ts | 8 +- .../aggregations/rule_execution_stats.ts | 61 +- .../event_log/event_log_health_client.ts | 135 +- .../aggregations/health_stats_for_cluster.ts | 23 + .../aggregations/health_stats_for_space.ts | 4 +- .../rule_objects/aggregations/rule_stats.ts | 6 +- .../rule_objects/filters.ts | 8 + .../rule_objects_health_client.ts | 84 +- .../rule_spaces/aggregations/spaces.ts | 48 + .../rule_spaces/rule_spaces_client.ts | 51 + .../logic/event_log/event_log_fields.ts | 1 + .../rule_monitoring/logic/service.ts | 47 +- 28 files changed, 2516 insertions(+), 1935 deletions(-) create mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/health_data.md create mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/health_endpoints.md create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/health_stats_for_cluster.ts create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/filters.ts create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_spaces/aggregations/spaces.ts create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_spaces/rule_spaces_client.ts diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/README.md b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/README.md index 81ee936e714fe1..949dc743dcefc6 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/README.md +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/README.md @@ -6,1719 +6,7 @@ This health API allows users to get health overview of the Detection Engine acro In the future, this API might become helpful for building more Rule Monitoring UIs giving our users more clarity and transparency about the work of the Detection Engine. -## Rule health endpoint +See more info: -🚧 NOTE: this endpoint is **partially implemented**. 🚧 - -```txt -POST /internal/detection_engine/health/_rule -``` - -Get health overview of a rule. Scope: a given detection rule in the current Kibana space. -Returns: - -- health stats at the moment of the API call (rule and its execution summary) -- health stats over a specified period of time ("health interval") -- health stats history within the same interval in the form of a histogram - (the same stats are calculated over each of the discreet sub-intervals of the whole interval) - -Minimal required parameters: - -```json -{ - "rule_id": "d4beff10-f045-11ed-89d8-3b6931af10bc" -} -``` - -Response: - -```json -{ - "timings": { - "requested_at": "2023-05-26T16:09:54.128Z", - "processed_at": "2023-05-26T16:09:54.778Z", - "processing_time_ms": 650 - }, - "parameters": { - "interval": { - "type": "last_day", - "granularity": "hour", - "from": "2023-05-25T16:09:54.128Z", - "to": "2023-05-26T16:09:54.128Z", - "duration": "PT24H" - }, - "rule_id": "d4beff10-f045-11ed-89d8-3b6931af10bc" - }, - "health": { - "stats_at_the_moment": { - "rule": { - "id": "d4beff10-f045-11ed-89d8-3b6931af10bc", - "updated_at": "2023-05-26T15:44:21.689Z", - "updated_by": "elastic", - "created_at": "2023-05-11T21:50:23.830Z", - "created_by": "elastic", - "name": "Test rule", - "tags": ["foo"], - "interval": "1m", - "enabled": true, - "revision": 2, - "description": "-", - "risk_score": 21, - "severity": "low", - "license": "", - "output_index": "", - "meta": { - "from": "6h", - "kibana_siem_app_url": "http://localhost:5601/kbn/app/security" - }, - "author": [], - "false_positives": [], - "from": "now-21660s", - "rule_id": "e46eaaf3-6d81-4cdb-8cbb-b2201a11358b", - "max_signals": 100, - "risk_score_mapping": [], - "severity_mapping": [], - "threat": [], - "to": "now", - "references": [], - "version": 3, - "exceptions_list": [], - "immutable": false, - "related_integrations": [], - "required_fields": [], - "setup": "", - "type": "query", - "language": "kuery", - "index": [ - "apm-*-transaction*", - "auditbeat-*", - "endgame-*", - "filebeat-*", - "logs-*", - "packetbeat-*", - "traces-apm*", - "winlogbeat-*", - "-*elastic-cloud-logs-*", - "foo-*" - ], - "query": "*", - "filters": [], - "actions": [ - { - "group": "default", - "id": "bd59c4e0-f045-11ed-89d8-3b6931af10bc", - "params": { - "body": "Hello world" - }, - "action_type_id": ".webhook", - "uuid": "f8b87eb0-58bb-4d4b-a584-084d44ab847e", - "frequency": { - "summary": true, - "throttle": null, - "notifyWhen": "onActiveAlert" - } - } - ], - "execution_summary": { - "last_execution": { - "date": "2023-05-26T16:09:36.848Z", - "status": "succeeded", - "status_order": 0, - "message": "Rule execution completed successfully", - "metrics": { - "total_search_duration_ms": 2, - "execution_gap_duration_s": 80395 - } - } - } - } - }, - "stats_over_interval": { - "number_of_executions": { - "total": 21, - "by_outcome": { - "succeeded": 20, - "warning": 0, - "failed": 1 - } - }, - "number_of_logged_messages": { - "total": 42, - "by_level": { - "error": 1, - "warn": 0, - "info": 41, - "debug": 0, - "trace": 0 - } - }, - "number_of_detected_gaps": { - "total": 1, - "total_duration_s": 80395 - }, - "schedule_delay_ms": { - "percentiles": { - "1.0": 3061, - "5.0": 3083, - "25.0": 3112, - "50.0": 6049, - "75.0": 6069.5, - "95.0": 100093.79999999986, - "99.0": 207687 - } - }, - "execution_duration_ms": { - "percentiles": { - "1.0": 226, - "5.0": 228.2, - "25.0": 355.5, - "50.0": 422, - "75.0": 447, - "95.0": 677.75, - "99.0": 719 - } - }, - "search_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 1.1, - "25.0": 2.75, - "50.0": 7, - "75.0": 13.5, - "95.0": 29.59999999999998, - "99.0": 45 - } - }, - "indexing_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 0, - "95.0": 0, - "99.0": 0 - } - }, - "top_errors": [ - { - "count": 1, - "message": "day were not queried between this rule execution and the last execution so signals may have been missed Consider increasing your look behind time or adding more Kibana instances" - } - ], - "top_warnings": [] - }, - "history_over_interval": { - "buckets": [ - { - "timestamp": "2023-05-26T15:00:00.000Z", - "stats": { - "number_of_executions": { - "total": 12, - "by_outcome": { - "succeeded": 11, - "warning": 0, - "failed": 1 - } - }, - "number_of_logged_messages": { - "total": 24, - "by_level": { - "error": 1, - "warn": 0, - "info": 23, - "debug": 0, - "trace": 0 - } - }, - "number_of_detected_gaps": { - "total": 1, - "total_duration_s": 80395 - }, - "schedule_delay_ms": { - "percentiles": { - "1.0": 3106, - "5.0": 3106.8, - "25.0": 3124.5, - "50.0": 6067.5, - "75.0": 9060.5, - "95.0": 188124.59999999971, - "99.0": 207687 - } - }, - "execution_duration_ms": { - "percentiles": { - "1.0": 230, - "5.0": 236.2, - "25.0": 354, - "50.0": 405, - "75.0": 447.5, - "95.0": 563.3999999999999, - "99.0": 576 - } - }, - "search_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 0.20000000000000018, - "25.0": 2.5, - "50.0": 5, - "75.0": 14, - "95.0": 42.19999999999996, - "99.0": 45 - } - }, - "indexing_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 0, - "95.0": 0, - "99.0": 0 - } - } - } - }, - { - "timestamp": "2023-05-26T16:00:00.000Z", - "stats": { - "number_of_executions": { - "total": 9, - "by_outcome": { - "succeeded": 9, - "warning": 0, - "failed": 0 - } - }, - "number_of_logged_messages": { - "total": 18, - "by_level": { - "error": 0, - "warn": 0, - "info": 18, - "debug": 0, - "trace": 0 - } - }, - "number_of_detected_gaps": { - "total": 0, - "total_duration_s": 0 - }, - "schedule_delay_ms": { - "percentiles": { - "1.0": 3061, - "5.0": 3061, - "25.0": 3104.75, - "50.0": 3115, - "75.0": 6053, - "95.0": 6068, - "99.0": 6068 - } - }, - "execution_duration_ms": { - "percentiles": { - "1.0": 226.00000000000003, - "5.0": 226, - "25.0": 356, - "50.0": 436, - "75.0": 495.5, - "95.0": 719, - "99.0": 719 - } - }, - "search_duration_ms": { - "percentiles": { - "1.0": 2, - "5.0": 2, - "25.0": 5.75, - "50.0": 8, - "75.0": 13.75, - "95.0": 17, - "99.0": 17 - } - }, - "indexing_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 0, - "95.0": 0, - "99.0": 0 - } - } - } - } - ] - } - } -} -``` - -## Space health endpoint - -🚧 NOTE: this endpoint is **partially implemented**. 🚧 - -```txt -POST /internal/detection_engine/health/_space -GET /internal/detection_engine/health/_space -``` - -Get health overview of the current Kibana space. Scope: all detection rules in the space. -Returns: - -- health stats at the moment of the API call -- health stats over a specified period of time ("health interval") -- health stats history within the same interval in the form of a histogram - (the same stats are calculated over each of the discreet sub-intervals of the whole interval) - -Minimal required parameters for the `POST` route: empty object. - -```json -{} -``` - -The `GET` route doesn't accept any parameters and uses the default parameters instead: - -- interval: `last_day` -- granularity: `hour` -- debug: `false` - -Response: - -```json -{ - "timings": { - "requested_at": "2023-05-26T16:24:21.628Z", - "processed_at": "2023-05-26T16:24:22.880Z", - "processing_time_ms": 1252 - }, - "parameters": { - "interval": { - "type": "last_day", - "granularity": "hour", - "from": "2023-05-25T16:24:21.628Z", - "to": "2023-05-26T16:24:21.628Z", - "duration": "PT24H" - } - }, - "health": { - "stats_at_the_moment": { - "number_of_rules": { - "all": { - "total": 777, - "enabled": 777, - "disabled": 0 - }, - "by_origin": { - "prebuilt": { - "total": 776, - "enabled": 776, - "disabled": 0 - }, - "custom": { - "total": 1, - "enabled": 1, - "disabled": 0 - } - }, - "by_type": { - "siem.eqlRule": { - "total": 381, - "enabled": 381, - "disabled": 0 - }, - "siem.queryRule": { - "total": 325, - "enabled": 325, - "disabled": 0 - }, - "siem.mlRule": { - "total": 47, - "enabled": 47, - "disabled": 0 - }, - "siem.thresholdRule": { - "total": 18, - "enabled": 18, - "disabled": 0 - }, - "siem.newTermsRule": { - "total": 4, - "enabled": 4, - "disabled": 0 - }, - "siem.indicatorRule": { - "total": 2, - "enabled": 2, - "disabled": 0 - } - }, - "by_outcome": { - "warning": { - "total": 307, - "enabled": 307, - "disabled": 0 - }, - "succeeded": { - "total": 266, - "enabled": 266, - "disabled": 0 - }, - "failed": { - "total": 204, - "enabled": 204, - "disabled": 0 - } - } - } - }, - "stats_over_interval": { - "number_of_executions": { - "total": 5622, - "by_outcome": { - "succeeded": 1882, - "warning": 2129, - "failed": 2120 - } - }, - "number_of_logged_messages": { - "total": 11756, - "by_level": { - "error": 2120, - "warn": 2129, - "info": 7507, - "debug": 0, - "trace": 0 - } - }, - "number_of_detected_gaps": { - "total": 777, - "total_duration_s": 514415894 - }, - "schedule_delay_ms": { - "percentiles": { - "1.0": 216, - "5.0": 3048.5, - "25.0": 3105, - "50.0": 3129, - "75.0": 6112.355119825708, - "95.0": 134006, - "99.0": 195578 - } - }, - "execution_duration_ms": { - "percentiles": { - "1.0": 275, - "5.0": 323.375, - "25.0": 370.80555555555554, - "50.0": 413.1122337092731, - "75.0": 502.25233127864715, - "95.0": 685.8055555555555, - "99.0": 1194.75 - } - }, - "search_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 15, - "95.0": 30, - "99.0": 99.44000000000005 - } - }, - "indexing_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 0, - "95.0": 0, - "99.0": 0 - } - }, - "top_errors": [ - { - "count": 1202, - "message": "An error occurred during rule execution message verification_exception" - }, - { - "count": 777, - "message": "were not queried between this rule execution and the last execution so signals may have been missed Consider increasing your look behind time or adding more Kibana instances" - }, - { - "count": 3, - "message": "An error occurred during rule execution message rare_error_code missing" - }, - { - "count": 3, - "message": "An error occurred during rule execution message v3_windows_anomalous_path_activity missing" - }, - { - "count": 3, - "message": "An error occurred during rule execution message v3_windows_rare_user_type10_remote_login missing" - } - ], - "top_warnings": [ - { - "count": 2129, - "message": "This rule is attempting to query data from Elasticsearch indices listed in the Index pattern section of the rule definition however no index matching was found This warning will continue to appear until matching index is created or this rule is disabled" - } - ] - }, - "history_over_interval": { - "buckets": [ - { - "timestamp": "2023-05-26T15:00:00.000Z", - "stats": { - "number_of_executions": { - "total": 2245, - "by_outcome": { - "succeeded": 566, - "warning": 849, - "failed": 1336 - } - }, - "number_of_logged_messages": { - "total": 4996, - "by_level": { - "error": 1336, - "warn": 849, - "info": 2811, - "debug": 0, - "trace": 0 - } - }, - "number_of_detected_gaps": { - "total": 777, - "total_duration_s": 514415894 - }, - "schedule_delay_ms": { - "percentiles": { - "1.0": 256, - "5.0": 3086.9722222222217, - "25.0": 3133, - "50.0": 6126, - "75.0": 59484.25, - "95.0": 179817.25, - "99.0": 202613 - } - }, - "execution_duration_ms": { - "percentiles": { - "1.0": 280.6, - "5.0": 327.7, - "25.0": 371.5208333333333, - "50.0": 415.6190476190476, - "75.0": 505.7642857142857, - "95.0": 740.4375, - "99.0": 1446.1500000000005 - } - }, - "search_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 8, - "95.0": 25, - "99.0": 46 - } - }, - "indexing_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 0, - "95.0": 0, - "99.0": 0 - } - } - } - }, - { - "timestamp": "2023-05-26T16:00:00.000Z", - "stats": { - "number_of_executions": { - "total": 3363, - "by_outcome": { - "succeeded": 1316, - "warning": 1280, - "failed": 784 - } - }, - "number_of_logged_messages": { - "total": 6760, - "by_level": { - "error": 784, - "warn": 1280, - "info": 4696, - "debug": 0, - "trace": 0 - } - }, - "number_of_detected_gaps": { - "total": 0, - "total_duration_s": 0 - }, - "schedule_delay_ms": { - "percentiles": { - "1.0": 207, - "5.0": 3042, - "25.0": 3098.46511627907, - "50.0": 3112, - "75.0": 3145.2820512820517, - "95.0": 6100.571428571428, - "99.0": 6123 - } - }, - "execution_duration_ms": { - "percentiles": { - "1.0": 275, - "5.0": 319.85714285714283, - "25.0": 370.0357142857143, - "50.0": 410.79999229108853, - "75.0": 500.7692307692308, - "95.0": 675, - "99.0": 781.3999999999996 - } - }, - "search_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 9, - "75.0": 17.555555555555557, - "95.0": 34, - "99.0": 110.5 - } - }, - "indexing_duration_ms": { - "percentiles": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 0, - "95.0": 0, - "99.0": 0 - } - } - } - } - ] - } - } -} -``` - -## Cluster health endpoint - -🚧 NOTE: this endpoint is **not implemented**. 🚧 - -```txt -POST /internal/detection_engine/health/_cluster -GET /internal/detection_engine/health/_cluster -``` - -Minimal required parameters for the `POST` route: empty object. - -```json -{} -``` - -The `GET` route doesn't accept any parameters and uses the default parameters instead: - -- interval: `last_day` -- granularity: `hour` -- debug: `false` - -Response: - -```json -{ - "message": "Not implemented", - "timings": { - "requested_at": "2023-05-26T16:32:01.878Z", - "processed_at": "2023-05-26T16:32:01.881Z", - "processing_time_ms": 3 - }, - "parameters": { - "interval": { - "type": "last_week", - "granularity": "hour", - "from": "2023-05-19T16:32:01.878Z", - "to": "2023-05-26T16:32:01.878Z", - "duration": "PT168H" - } - }, - "health": { - "stats_at_the_moment": { - "number_of_rules": { - "all": { - "total": 0, - "enabled": 0, - "disabled": 0 - }, - "by_origin": { - "prebuilt": { - "total": 0, - "enabled": 0, - "disabled": 0 - }, - "custom": { - "total": 0, - "enabled": 0, - "disabled": 0 - } - }, - "by_type": {}, - "by_outcome": {} - } - }, - "stats_over_interval": { - "message": "Not implemented" - }, - "history_over_interval": { - "buckets": [] - } - } -} -``` - -## Optional parameters - -All the three endpoints accept optional `interval` and `debug` request parameters. - -### Health interval - -You can change the interval over which the health stats will be calculated. If you don't specify it, by default health stats will be calculated over the last day with the granularity of 1 hour. - -```json -{ - "interval": { - "type": "last_week", - "granularity": "day" - } -} -``` - -You can also specify a custom date range with exact interval bounds. - -```json -{ - "interval": { - "type": "custom_range", - "granularity": "minute", - "from": "2023-05-20T16:24:21.628Z", - "to": "2023-05-26T16:24:21.628Z" - } -} -``` - -Please keep in mind that requesting large intervals with small granularity can generate substantial load on the system and enormous API responses. - -### Debug mode - -You can also include various debug information in the response, such as queries and aggregations sent to Elasticsearch and response received from it. - -```json -{ - "debug": true -} -``` - -In the response you will find something like that: - -```json -{ - "health": { - "debug": { - "rulesClient": { - "request": { - "aggs": { - "rulesByEnabled": { - "terms": { - "field": "alert.attributes.enabled" - } - }, - "rulesByOrigin": { - "terms": { - "field": "alert.attributes.params.immutable" - }, - "aggs": { - "rulesByEnabled": { - "terms": { - "field": "alert.attributes.enabled" - } - } - } - }, - "rulesByType": { - "terms": { - "field": "alert.attributes.alertTypeId" - }, - "aggs": { - "rulesByEnabled": { - "terms": { - "field": "alert.attributes.enabled" - } - } - } - }, - "rulesByOutcome": { - "terms": { - "field": "alert.attributes.lastRun.outcome" - }, - "aggs": { - "rulesByEnabled": { - "terms": { - "field": "alert.attributes.enabled" - } - } - } - } - } - }, - "response": { - "aggregations": { - "rulesByOutcome": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "warning", - "doc_count": 307, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 307 - } - ] - } - }, - { - "key": "succeeded", - "doc_count": 266, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 266 - } - ] - } - }, - { - "key": "failed", - "doc_count": 204, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 204 - } - ] - } - } - ] - }, - "rulesByType": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "siem.eqlRule", - "doc_count": 381, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 381 - } - ] - } - }, - { - "key": "siem.queryRule", - "doc_count": 325, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 325 - } - ] - } - }, - { - "key": "siem.mlRule", - "doc_count": 47, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 47 - } - ] - } - }, - { - "key": "siem.thresholdRule", - "doc_count": 18, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 18 - } - ] - } - }, - { - "key": "siem.newTermsRule", - "doc_count": 4, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 4 - } - ] - } - }, - { - "key": "siem.indicatorRule", - "doc_count": 2, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 2 - } - ] - } - } - ] - }, - "rulesByOrigin": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "true", - "doc_count": 776, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 776 - } - ] - } - }, - { - "key": "false", - "doc_count": 1, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 1 - } - ] - } - } - ] - }, - "rulesByEnabled": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": 1, - "key_as_string": "true", - "doc_count": 777 - } - ] - } - } - } - }, - "eventLog": { - "request": { - "aggs": { - "totalExecutions": { - "cardinality": { - "field": "kibana.alert.rule.execution.uuid" - } - }, - "executeEvents": { - "filter": { - "term": { - "event.action": "execute" - } - }, - "aggs": { - "executionDurationMs": { - "percentiles": { - "field": "kibana.alert.rule.execution.metrics.total_run_duration_ms", - "missing": 0, - "percents": [1, 5, 25, 50, 75, 95, 99] - } - }, - "scheduleDelayNs": { - "percentiles": { - "field": "kibana.task.schedule_delay", - "missing": 0, - "percents": [1, 5, 25, 50, 75, 95, 99] - } - } - } - }, - "statusChangeEvents": { - "filter": { - "bool": { - "filter": [ - { - "term": { - "event.action": "status-change" - } - } - ], - "must_not": [ - { - "terms": { - "kibana.alert.rule.execution.status": ["running", "going to run"] - } - } - ] - } - }, - "aggs": { - "executionsByStatus": { - "terms": { - "field": "kibana.alert.rule.execution.status" - } - } - } - }, - "executionMetricsEvents": { - "filter": { - "term": { - "event.action": "execution-metrics" - } - }, - "aggs": { - "gaps": { - "filter": { - "exists": { - "field": "kibana.alert.rule.execution.metrics.execution_gap_duration_s" - } - }, - "aggs": { - "totalGapDurationS": { - "sum": { - "field": "kibana.alert.rule.execution.metrics.execution_gap_duration_s" - } - } - } - }, - "searchDurationMs": { - "percentiles": { - "field": "kibana.alert.rule.execution.metrics.total_search_duration_ms", - "missing": 0, - "percents": [1, 5, 25, 50, 75, 95, 99] - } - }, - "indexingDurationMs": { - "percentiles": { - "field": "kibana.alert.rule.execution.metrics.total_indexing_duration_ms", - "missing": 0, - "percents": [1, 5, 25, 50, 75, 95, 99] - } - } - } - }, - "messageContainingEvents": { - "filter": { - "terms": { - "event.action": ["status-change", "message"] - } - }, - "aggs": { - "messagesByLogLevel": { - "terms": { - "field": "log.level" - } - }, - "errors": { - "filter": { - "term": { - "log.level": "error" - } - }, - "aggs": { - "topErrors": { - "categorize_text": { - "field": "message", - "size": 5, - "similarity_threshold": 99 - } - } - } - }, - "warnings": { - "filter": { - "term": { - "log.level": "warn" - } - }, - "aggs": { - "topWarnings": { - "categorize_text": { - "field": "message", - "size": 5, - "similarity_threshold": 99 - } - } - } - } - } - }, - "statsHistory": { - "date_histogram": { - "field": "@timestamp", - "calendar_interval": "hour" - }, - "aggs": { - "totalExecutions": { - "cardinality": { - "field": "kibana.alert.rule.execution.uuid" - } - }, - "executeEvents": { - "filter": { - "term": { - "event.action": "execute" - } - }, - "aggs": { - "executionDurationMs": { - "percentiles": { - "field": "kibana.alert.rule.execution.metrics.total_run_duration_ms", - "missing": 0, - "percents": [1, 5, 25, 50, 75, 95, 99] - } - }, - "scheduleDelayNs": { - "percentiles": { - "field": "kibana.task.schedule_delay", - "missing": 0, - "percents": [1, 5, 25, 50, 75, 95, 99] - } - } - } - }, - "statusChangeEvents": { - "filter": { - "bool": { - "filter": [ - { - "term": { - "event.action": "status-change" - } - } - ], - "must_not": [ - { - "terms": { - "kibana.alert.rule.execution.status": ["running", "going to run"] - } - } - ] - } - }, - "aggs": { - "executionsByStatus": { - "terms": { - "field": "kibana.alert.rule.execution.status" - } - } - } - }, - "executionMetricsEvents": { - "filter": { - "term": { - "event.action": "execution-metrics" - } - }, - "aggs": { - "gaps": { - "filter": { - "exists": { - "field": "kibana.alert.rule.execution.metrics.execution_gap_duration_s" - } - }, - "aggs": { - "totalGapDurationS": { - "sum": { - "field": "kibana.alert.rule.execution.metrics.execution_gap_duration_s" - } - } - } - }, - "searchDurationMs": { - "percentiles": { - "field": "kibana.alert.rule.execution.metrics.total_search_duration_ms", - "missing": 0, - "percents": [1, 5, 25, 50, 75, 95, 99] - } - }, - "indexingDurationMs": { - "percentiles": { - "field": "kibana.alert.rule.execution.metrics.total_indexing_duration_ms", - "missing": 0, - "percents": [1, 5, 25, 50, 75, 95, 99] - } - } - } - }, - "messageContainingEvents": { - "filter": { - "terms": { - "event.action": ["status-change", "message"] - } - }, - "aggs": { - "messagesByLogLevel": { - "terms": { - "field": "log.level" - } - } - } - } - } - } - } - }, - "response": { - "aggregations": { - "statsHistory": { - "buckets": [ - { - "key_as_string": "2023-05-26T15:00:00.000Z", - "key": 1685113200000, - "doc_count": 11388, - "statusChangeEvents": { - "doc_count": 2751, - "executionsByStatus": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "failed", - "doc_count": 1336 - }, - { - "key": "partial failure", - "doc_count": 849 - }, - { - "key": "succeeded", - "doc_count": 566 - } - ] - } - }, - "totalExecutions": { - "value": 2245 - }, - "messageContainingEvents": { - "doc_count": 4996, - "messagesByLogLevel": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "info", - "doc_count": 2811 - }, - { - "key": "error", - "doc_count": 1336 - }, - { - "key": "warn", - "doc_count": 849 - } - ] - } - }, - "executeEvents": { - "doc_count": 2245, - "scheduleDelayNs": { - "values": { - "1.0": 256000000, - "5.0": 3086972222.222222, - "25.0": 3133000000, - "50.0": 6126000000, - "75.0": 59484250000, - "95.0": 179817250000, - "99.0": 202613000000 - } - }, - "executionDurationMs": { - "values": { - "1.0": 280.6, - "5.0": 327.7, - "25.0": 371.5208333333333, - "50.0": 415.6190476190476, - "75.0": 505.575, - "95.0": 740.4375, - "99.0": 1446.1500000000005 - } - } - }, - "executionMetricsEvents": { - "doc_count": 1902, - "searchDurationMs": { - "values": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 8, - "95.0": 25, - "99.0": 46 - } - }, - "gaps": { - "doc_count": 777, - "totalGapDurationS": { - "value": 514415894 - } - }, - "indexingDurationMs": { - "values": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 0, - "95.0": 0, - "99.0": 0 - } - } - } - }, - { - "key_as_string": "2023-05-26T16:00:00.000Z", - "key": 1685116800000, - "doc_count": 28325, - "statusChangeEvents": { - "doc_count": 6126, - "executionsByStatus": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "succeeded", - "doc_count": 2390 - }, - { - "key": "partial failure", - "doc_count": 2305 - }, - { - "key": "failed", - "doc_count": 1431 - } - ] - } - }, - "totalExecutions": { - "value": 6170 - }, - "messageContainingEvents": { - "doc_count": 12252, - "messagesByLogLevel": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "info", - "doc_count": 8516 - }, - { - "key": "warn", - "doc_count": 2305 - }, - { - "key": "error", - "doc_count": 1431 - } - ] - } - }, - "executeEvents": { - "doc_count": 6126, - "scheduleDelayNs": { - "values": { - "1.0": 193000000, - "5.0": 3017785185.1851854, - "25.0": 3086000000, - "50.0": 3105877192.982456, - "75.0": 3134645161.290323, - "95.0": 6081772222.222222, - "99.0": 6122000000 - } - }, - "executionDurationMs": { - "values": { - "1.0": 275.17333333333335, - "5.0": 324.8014285714285, - "25.0": 377.0752688172043, - "50.0": 431, - "75.0": 532.3870967741935, - "95.0": 720.6761904761904, - "99.0": 922.6799999999985 - } - } - }, - "executionMetricsEvents": { - "doc_count": 3821, - "searchDurationMs": { - "values": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 9.8, - "75.0": 18, - "95.0": 40.17499999999999, - "99.0": 124 - } - }, - "gaps": { - "doc_count": 0, - "totalGapDurationS": { - "value": 0 - } - }, - "indexingDurationMs": { - "values": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 0, - "95.0": 0, - "99.0": 0 - } - } - } - } - ] - }, - "statusChangeEvents": { - "doc_count": 8877, - "executionsByStatus": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "partial failure", - "doc_count": 3154 - }, - { - "key": "succeeded", - "doc_count": 2956 - }, - { - "key": "failed", - "doc_count": 2767 - } - ] - } - }, - "totalExecutions": { - "value": 8455 - }, - "messageContainingEvents": { - "doc_count": 17248, - "messagesByLogLevel": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "info", - "doc_count": 11327 - }, - { - "key": "warn", - "doc_count": 3154 - }, - { - "key": "error", - "doc_count": 2767 - } - ] - }, - "warnings": { - "doc_count": 3154, - "topWarnings": { - "buckets": [ - { - "doc_count": 3154, - "key": "This rule is attempting to query data from Elasticsearch indices listed in the Index pattern section of the rule definition however no index matching was found This warning will continue to appear until matching index is created or this rule is disabled", - "regex": ".*?This.+?rule.+?is.+?attempting.+?to.+?query.+?data.+?from.+?Elasticsearch.+?indices.+?listed.+?in.+?the.+?Index.+?pattern.+?section.+?of.+?the.+?rule.+?definition.+?however.+?no.+?index.+?matching.+?was.+?found.+?This.+?warning.+?will.+?continue.+?to.+?appear.+?until.+?matching.+?index.+?is.+?created.+?or.+?this.+?rule.+?is.+?disabled.*?", - "max_matching_length": 342 - } - ] - } - }, - "errors": { - "doc_count": 2767, - "topErrors": { - "buckets": [ - { - "doc_count": 1802, - "key": "An error occurred during rule execution message verification_exception", - "regex": ".*?An.+?error.+?occurred.+?during.+?rule.+?execution.+?message.+?verification_exception.*?", - "max_matching_length": 2064 - }, - { - "doc_count": 777, - "key": "were not queried between this rule execution and the last execution so signals may have been missed Consider increasing your look behind time or adding more Kibana instances", - "regex": ".*?were.+?not.+?queried.+?between.+?this.+?rule.+?execution.+?and.+?the.+?last.+?execution.+?so.+?signals.+?may.+?have.+?been.+?missed.+?Consider.+?increasing.+?your.+?look.+?behind.+?time.+?or.+?adding.+?more.+?Kibana.+?instances.*?", - "max_matching_length": 216 - }, - { - "doc_count": 4, - "key": "An error occurred during rule execution message rare_error_code missing", - "regex": ".*?An.+?error.+?occurred.+?during.+?rule.+?execution.+?message.+?rare_error_code.+?missing.*?", - "max_matching_length": 82 - }, - { - "doc_count": 4, - "key": "An error occurred during rule execution message v3_windows_anomalous_path_activity missing", - "regex": ".*?An.+?error.+?occurred.+?during.+?rule.+?execution.+?message.+?v3_windows_anomalous_path_activity.+?missing.*?", - "max_matching_length": 103 - }, - { - "doc_count": 4, - "key": "An error occurred during rule execution message v3_windows_rare_user_type10_remote_login missing", - "regex": ".*?An.+?error.+?occurred.+?during.+?rule.+?execution.+?message.+?v3_windows_rare_user_type10_remote_login.+?missing.*?", - "max_matching_length": 110 - } - ] - } - } - }, - "executeEvents": { - "doc_count": 8371, - "scheduleDelayNs": { - "values": { - "1.0": 206000000, - "5.0": 3027000000, - "25.0": 3092000000, - "50.0": 3116000000, - "75.0": 3278666666.6666665, - "95.0": 99656950000, - "99.0": 186632790000 - } - }, - "executionDurationMs": { - "values": { - "1.0": 275.5325, - "5.0": 326.07857142857137, - "25.0": 375.68969144460027, - "50.0": 427, - "75.0": 526.2948717948718, - "95.0": 727.2480952380952, - "99.0": 1009.5299999999934 - } - } - }, - "executionMetricsEvents": { - "doc_count": 5723, - "searchDurationMs": { - "values": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 4, - "75.0": 16, - "95.0": 34.43846153846145, - "99.0": 116.51333333333302 - } - }, - "gaps": { - "doc_count": 777, - "totalGapDurationS": { - "value": 514415894 - } - }, - "indexingDurationMs": { - "values": { - "1.0": 0, - "5.0": 0, - "25.0": 0, - "50.0": 0, - "75.0": 0, - "95.0": 0, - "99.0": 0 - } - } - } - } - } - } - } - } -} -``` +- [Detection Engine health data](./health_data.md) +- [Detection Engine health endpoints](./health_endpoints.md) diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/get_cluster_health/get_cluster_health_route.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/get_cluster_health/get_cluster_health_route.ts index dafa1e4a4a1dfc..fd2c07352dc95d 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/get_cluster_health/get_cluster_health_route.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/get_cluster_health/get_cluster_health_route.ts @@ -51,9 +51,6 @@ export interface GetClusterHealthRequest { * Response body of the endpoint. */ export interface GetClusterHealthResponse { - // TODO: https://github.com/elastic/kibana/issues/125642 Implement the endpoint and remove the `message` property - message: 'Not implemented'; - /** * Request processing times and durations. */ diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/health_data.md b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/health_data.md new file mode 100644 index 00000000000000..052d81d9ffe6ab --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/health_data.md @@ -0,0 +1,152 @@ +# Detection Engine health data + +This document describes the data (state, aggregated metrics, aggregated logs, and other data) we return or are planning to return from the Detection Engine health API. + +Legend for the tables below: + +- ✅ - implemented +- 🚧 - in development +- 👍 - planned +- ❓ - maybe planned +- ❌ - not planned or applicable +- TED - "total, enabled, disabled" (applies to the "number of rules" state or metrics) + +## Health overview + +Health overview data is intended to give a broad, high-level picture of detection rules' health and performance. It is returned from the following three endpoints: + +- **Cluster health**: `/internal/detection_engine/health/_cluster` + - Returns: health overview of the whole cluster + - Scope: all detection rules in all Kibana spaces +- **Space health**: `/internal/detection_engine/health/_space` + - Returns: health overview of a given Kibana space + - Scope: all detection rules in the space +- **Rule health**: `/internal/detection_engine/health/_rule` + - Returns: health overview of a given rule + - Scope: a given detection rule in a given Kibana space + +All three endpoints accept a datetime interval parameter (**"health interval"**) over which they calculate health metrics, such as the number of rule executions happened during this interval. + +All three endpoints return: + +- **Health state at the moment of the API call**. Applies to the "now" moment. Can answer the following type of questions: + - "What rules do I have now?" + - "Are my rules healthy now? What are their last execution statuses?" + - "Are my rules running fast enough now? What are their last execution durations?" +- **Health stats over the specified "health interval"**. Can answer the following type of questions: + - "Overall, were my rules healthy and performant last 24 hours?" + - "How many rule executions in total happened last 24 hours?" + - "What were typical rule execution errors and warnings last 24 hours?" + - "How fast, on average, were my rules executing during this timeframe?", where "on average" can be, for example, a median, or a 95th percentile of the "execution duration" metric. +- **Health history over the specified "health interval"**. Shows dynamics of change of health stats, calculated within the "health interval" in the form of a histogram (the same stats are calculated over each of the discreet sub-intervals of the whole interval). Can answer the following type of questions: + - "How was my rules' health and performance changing during the last 24 hours? Show me stats calculated for each hour." + - "How many rule executions happened every hour of the last 24 hours?" + - "What were typical rule execution errors and warnings every hour of the last 24 hours?" + - "How fast, on average, were my rules executing every hour of the last 24 hours?" + +Below is the data we return or could return from these three endpoints. + +### Health overview: state at the moment of the API call + +ℹ️ When we say "rule" we mean `{ space_id, rule_id, rule_name? }`. + +| Data | `_cluster` | `_space` | `_rule` | +| ------------------------------------------------------------------------ | ---------- | -------- | ------- | +| **RULE OBJECT** | | | | +| rule object with all attributes | ❌ | ❌ | ✅ | +| rule's execution summary (contains last execution status and metrics) | ❌ | ❌ | ✅ | +| rule's exceptions | ❌ | ❌ | ❓ | +| rule's actions | ❌ | ❌ | ✅ | +| rule's action connectors | ❌ | ❌ | ❓ | +| **SYSTEM** | | | | +| number of ES nodes: total | 👍 | ❌ | ❌ | +| number of ES nodes of each role | 👍 | ❌ | ❌ | +| number of Kibana instances: total | 👍 | ❌ | ❌ | +| number of Kibana instances of each role | 👍 | ❌ | ❌ | +| number of Kibana spaces: total | 👍 | ❌ | ❌ | +| number of Kibana spaces: w/ alerting rules (of all types) | 👍 | ❌ | ❌ | +| number of Kibana spaces: w/ detection rules | 👍 | ❌ | ❌ | +| **AGGREGATED RULES** | | | | +| number of all rules: TED | ✅ | ✅ | ❌ | +| number of prebuilt rules: TED | ✅ | ✅ | ❌ | +| number of custom rules: TED | ✅ | ✅ | ❌ | +| number of rules of each type: TED | ✅ | ✅ | ❌ | +| number of prebuilt rules of each type: TED | 👍 | 👍 | ❌ | +| number of custom rules of each type: TED | 👍 | 👍 | ❌ | +| number of rules with exceptions: TED | ❓ | ❓ | ❌ | +| number of rules with notification actions: TED | ❓ | ❓ | ❌ | +| number of rules with legacy notification actions: TED | ❓ | ❓ | ❌ | +| number of rules with response actions: TED | ❓ | ❓ | ❌ | +| **AGGREGATED LAST EXECUTION RESULTS** | | | | +| number of rules by execution outcome ("succeeded", "warning", "failed") | ✅ | ✅ | ❌ | +| top X most common "failed" outcomes | 👍 | 👍 | ❌ | +| top X most common "warning" outcomes | 👍 | 👍 | ❌ | +| number of rules for each most common execution outcome | 👍 | 👍 | ❌ | +| rules for each most common execution outcome | 👍 | 👍 | ❌ | +| top X rules by execution duration (desc) | 👍 | 👍 | ❌ | +| top X rules by search duration (desc) | 👍 | 👍 | ❌ | +| top X rules by indexing duration (desc) | 👍 | 👍 | ❌ | +| top X rules by detected gap duration (desc) | 👍 | 👍 | ❌ | +| top X rules by schedule delay aka drift (desc) | 👍 | 👍 | ❌ | +| top X rules by number of shards queried (desc) | 👍 | 👍 | ❌ | +| top X rules by number of shards queried in a particular data tier (desc) | 👍 | 👍 | ❌ | + +### Health overview: stats and history over interval + +ℹ️ [S, H] == [Stats over interval, History over interval] + +| Data | `_cluster` [S,H] | `_space` [S,H] | `_rule` [S,H] | +| ------------------------------------------------------------------- | ---------------- | -------------- | ------------- | +| **AGGREGATED EXECUTION STATUSES** | | | | +| number of executions: total | [✅, ✅] | [✅, ✅] | [✅, ✅] | +| number of executions: by outcome ("succeeded", "warning", "failed") | [✅, ✅] | [✅, ✅] | [✅, ✅] | +| top X "failed" outcomes (status messages) | [👍, ❓] | [👍, ❓] | [👍, ❓] | +| top X "warning" outcomes (status messages) | [👍, ❓] | [👍, ❓] | [👍, ❓] | +| **AGGREGATED EXECUTION METRICS** | | | | +| aggregated execution duration (percentiles: 50, 95, 99, 99.9) | [✅, ✅] | [✅, ✅] | [✅, ✅] | +| aggregated search duration (percentiles: 50, 95, 99, 99.9) | [✅, ✅] | [✅, ✅] | [✅, ✅] | +| aggregated indexing duration (percentiles: 50, 95, 99, 99.9) | [✅, ✅] | [✅, ✅] | [✅, ✅] | +| aggregated schedule delay aka drift (percentiles: 50, 95, 99, 99.9) | [✅, ✅] | [✅, ✅] | [✅, ✅] | +| detected gaps: total number | [✅, ✅] | [✅, ✅] | [✅, ✅] | +| detected gaps: total duration | [✅, ✅] | [✅, ✅] | [✅, ✅] | +| number of detected alerts (those we generated in memory) | [👍, 👍] | [👍, 👍] | [👍, 👍] | +| number of created alerts (those we wrote to the `.alerts-*` index) | [👍, 👍] | [👍, 👍] | [👍, 👍] | +| number of not created alerts because of cirquit breaker | [👍, 👍] | [👍, 👍] | [👍, 👍] | +| number of executions when cirquit breaker was hit | [👍, 👍] | [👍, 👍] | [👍, 👍] | +| number of triggered actions | [❓, ❓] | [❓, ❓] | [❓, ❓] | +| **AGGREGATED EXECUTION LOGS (MESSAGE EVENTS)** | | | | +| number of logged messages: total | [✅, ✅] | [✅, ✅] | [✅, ✅] | +| number of logged messages: by log level | [✅, ✅] | [✅, ✅] | [✅, ✅] | +| top X errors (messages with log level "error") | [✅, ❓] | [✅, ❓] | [✅, ❓] | +| top X warnings (messages with log level "warn") | [✅, ❓] | [✅, ❓] | [✅, ❓] | +| top X error codes (we don't have error codes in our logs yet) | | | | + +## Health details + +Detailed health data can be used for digging deeper into detection rules' health and performance, when the overall picture is clear. It should be returned from dedicated endpoints. Each kind of details we can calculate within either of two scopes: + +- The whole cluster, i.e. all Kibana spaces. +- A given Kibana space. + +**NOTE**: As of now, we don't have any endpoints that would return detailed data. + +ℹ️ When we say "rule" we mean `{ space_id, rule_id, rule_name? }`. + +| Data | Scope: cluster | Scope: space | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ------------ | +| **RULES SORTED BY EXECUTION STATUSES** | | | +| top X rules by number of execution outcomes: total (desc) - in other words, rules that were running most often within a given interval | 👍 | 👍 | +| top X rules by number of execution outcomes: by outcome (desc) - in other words, rules that were failing/succeeding/etc most often within a given interval | 👍 | 👍 | +| **RULES SORTED BY EXECUTION METRICS** | | | +| top X rules by execution duration (percentile, desc) | 👍 | 👍 | +| top X rules by search duration (percentile, desc) | 👍 | 👍 | +| top X rules by indexing duration (percentile, desc) | 👍 | 👍 | +| top X rules by detected gap duration (percentile, desc) | 👍 | 👍 | +| top X rules by schedule delay aka drift (percentile, desc) | 👍 | 👍 | +| top X rules by number of shards queried (percentile, desc) | 👍 | 👍 | +| top X rules by number of shards queried in a particular data tier (percentile, desc) | 👍 | 👍 | +| top X rules that are consuming the most total execution time - summing execution time over the executions for that rule, so it accounts for rules that are running more often | 👍 | 👍 | +| **RULES SORTED BY EXECUTION LOGS (MESSAGE EVENTS)** | | | +| top X rules by number of logged messages (log level, desc) - errors and warnings are most interesting | 👍 | 👍 | +| **SOURCE INDICES / DATA QUALITY** | | | +| all rules that are querying indices with future timestamps + the actual index names with future timestamps in them (the API would need to check all rule's index patterns and data views) | 👍 | 👍 | diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/health_endpoints.md b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/health_endpoints.md new file mode 100644 index 00000000000000..c82153a0dad4ef --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/health_endpoints.md @@ -0,0 +1,1944 @@ +# Detection Engine health endpoints + +## Rule health endpoint + +🚧 NOTE: this endpoint is **partially implemented**. 🚧 + +```txt +POST /internal/detection_engine/health/_rule +``` + +Get health overview of a rule. Scope: a given detection rule in the current Kibana space. +Returns: + +- health stats at the moment of the API call (rule and its execution summary) +- health stats over a specified period of time ("health interval") +- health stats history within the same interval in the form of a histogram + (the same stats are calculated over each of the discreet sub-intervals of the whole interval) + +Minimal required parameters: + +```json +{ + "rule_id": "d4beff10-f045-11ed-89d8-3b6931af10bc" +} +``` + +Response: + +```json +{ + "timings": { + "requested_at": "2023-05-26T16:09:54.128Z", + "processed_at": "2023-05-26T16:09:54.778Z", + "processing_time_ms": 650 + }, + "parameters": { + "interval": { + "type": "last_day", + "granularity": "hour", + "from": "2023-05-25T16:09:54.128Z", + "to": "2023-05-26T16:09:54.128Z", + "duration": "PT24H" + }, + "rule_id": "d4beff10-f045-11ed-89d8-3b6931af10bc" + }, + "health": { + "state_at_the_moment": { + "rule": { + "id": "d4beff10-f045-11ed-89d8-3b6931af10bc", + "updated_at": "2023-05-26T15:44:21.689Z", + "updated_by": "elastic", + "created_at": "2023-05-11T21:50:23.830Z", + "created_by": "elastic", + "name": "Test rule", + "tags": ["foo"], + "interval": "1m", + "enabled": true, + "revision": 2, + "description": "-", + "risk_score": 21, + "severity": "low", + "license": "", + "output_index": "", + "meta": { + "from": "6h", + "kibana_siem_app_url": "http://localhost:5601/kbn/app/security" + }, + "author": [], + "false_positives": [], + "from": "now-21660s", + "rule_id": "e46eaaf3-6d81-4cdb-8cbb-b2201a11358b", + "max_signals": 100, + "risk_score_mapping": [], + "severity_mapping": [], + "threat": [], + "to": "now", + "references": [], + "version": 3, + "exceptions_list": [], + "immutable": false, + "related_integrations": [], + "required_fields": [], + "setup": "", + "type": "query", + "language": "kuery", + "index": [ + "apm-*-transaction*", + "auditbeat-*", + "endgame-*", + "filebeat-*", + "logs-*", + "packetbeat-*", + "traces-apm*", + "winlogbeat-*", + "-*elastic-cloud-logs-*", + "foo-*" + ], + "query": "*", + "filters": [], + "actions": [ + { + "group": "default", + "id": "bd59c4e0-f045-11ed-89d8-3b6931af10bc", + "params": { + "body": "Hello world" + }, + "action_type_id": ".webhook", + "uuid": "f8b87eb0-58bb-4d4b-a584-084d44ab847e", + "frequency": { + "summary": true, + "throttle": null, + "notifyWhen": "onActiveAlert" + } + } + ], + "execution_summary": { + "last_execution": { + "date": "2023-05-26T16:09:36.848Z", + "status": "succeeded", + "status_order": 0, + "message": "Rule execution completed successfully", + "metrics": { + "total_search_duration_ms": 2, + "execution_gap_duration_s": 80395 + } + } + } + } + }, + "stats_over_interval": { + "number_of_executions": { + "total": 21, + "by_outcome": { + "succeeded": 20, + "warning": 0, + "failed": 1 + } + }, + "number_of_logged_messages": { + "total": 42, + "by_level": { + "error": 1, + "warn": 0, + "info": 41, + "debug": 0, + "trace": 0 + } + }, + "number_of_detected_gaps": { + "total": 1, + "total_duration_s": 80395 + }, + "schedule_delay_ms": { + "percentiles": { + "1.0": 3061, + "5.0": 3083, + "25.0": 3112, + "50.0": 6049, + "75.0": 6069.5, + "95.0": 100093.79999999986, + "99.0": 207687 + } + }, + "execution_duration_ms": { + "percentiles": { + "1.0": 226, + "5.0": 228.2, + "25.0": 355.5, + "50.0": 422, + "75.0": 447, + "95.0": 677.75, + "99.0": 719 + } + }, + "search_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 1.1, + "25.0": 2.75, + "50.0": 7, + "75.0": 13.5, + "95.0": 29.59999999999998, + "99.0": 45 + } + }, + "indexing_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 0, + "95.0": 0, + "99.0": 0 + } + }, + "top_errors": [ + { + "count": 1, + "message": "day were not queried between this rule execution and the last execution so signals may have been missed Consider increasing your look behind time or adding more Kibana instances" + } + ], + "top_warnings": [] + }, + "history_over_interval": { + "buckets": [ + { + "timestamp": "2023-05-26T15:00:00.000Z", + "stats": { + "number_of_executions": { + "total": 12, + "by_outcome": { + "succeeded": 11, + "warning": 0, + "failed": 1 + } + }, + "number_of_logged_messages": { + "total": 24, + "by_level": { + "error": 1, + "warn": 0, + "info": 23, + "debug": 0, + "trace": 0 + } + }, + "number_of_detected_gaps": { + "total": 1, + "total_duration_s": 80395 + }, + "schedule_delay_ms": { + "percentiles": { + "1.0": 3106, + "5.0": 3106.8, + "25.0": 3124.5, + "50.0": 6067.5, + "75.0": 9060.5, + "95.0": 188124.59999999971, + "99.0": 207687 + } + }, + "execution_duration_ms": { + "percentiles": { + "1.0": 230, + "5.0": 236.2, + "25.0": 354, + "50.0": 405, + "75.0": 447.5, + "95.0": 563.3999999999999, + "99.0": 576 + } + }, + "search_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 0.20000000000000018, + "25.0": 2.5, + "50.0": 5, + "75.0": 14, + "95.0": 42.19999999999996, + "99.0": 45 + } + }, + "indexing_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 0, + "95.0": 0, + "99.0": 0 + } + } + } + }, + { + "timestamp": "2023-05-26T16:00:00.000Z", + "stats": { + "number_of_executions": { + "total": 9, + "by_outcome": { + "succeeded": 9, + "warning": 0, + "failed": 0 + } + }, + "number_of_logged_messages": { + "total": 18, + "by_level": { + "error": 0, + "warn": 0, + "info": 18, + "debug": 0, + "trace": 0 + } + }, + "number_of_detected_gaps": { + "total": 0, + "total_duration_s": 0 + }, + "schedule_delay_ms": { + "percentiles": { + "1.0": 3061, + "5.0": 3061, + "25.0": 3104.75, + "50.0": 3115, + "75.0": 6053, + "95.0": 6068, + "99.0": 6068 + } + }, + "execution_duration_ms": { + "percentiles": { + "1.0": 226.00000000000003, + "5.0": 226, + "25.0": 356, + "50.0": 436, + "75.0": 495.5, + "95.0": 719, + "99.0": 719 + } + }, + "search_duration_ms": { + "percentiles": { + "1.0": 2, + "5.0": 2, + "25.0": 5.75, + "50.0": 8, + "75.0": 13.75, + "95.0": 17, + "99.0": 17 + } + }, + "indexing_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 0, + "95.0": 0, + "99.0": 0 + } + } + } + } + ] + } + } +} +``` + +## Space health endpoint + +🚧 NOTE: this endpoint is **partially implemented**. 🚧 + +```txt +POST /internal/detection_engine/health/_space +GET /internal/detection_engine/health/_space +``` + +Get health overview of the current Kibana space. Scope: all detection rules in the space. +Returns: + +- health stats at the moment of the API call +- health stats over a specified period of time ("health interval") +- health stats history within the same interval in the form of a histogram + (the same stats are calculated over each of the discreet sub-intervals of the whole interval) + +Minimal required parameters for the `POST` route: empty object. + +```json +{} +``` + +The `GET` route doesn't accept any parameters and uses the default parameters instead: + +- interval: `last_day` +- granularity: `hour` +- debug: `false` + +Response: + +```json +{ + "timings": { + "requested_at": "2023-05-26T16:24:21.628Z", + "processed_at": "2023-05-26T16:24:22.880Z", + "processing_time_ms": 1252 + }, + "parameters": { + "interval": { + "type": "last_day", + "granularity": "hour", + "from": "2023-05-25T16:24:21.628Z", + "to": "2023-05-26T16:24:21.628Z", + "duration": "PT24H" + } + }, + "health": { + "state_at_the_moment": { + "number_of_rules": { + "all": { + "total": 777, + "enabled": 777, + "disabled": 0 + }, + "by_origin": { + "prebuilt": { + "total": 776, + "enabled": 776, + "disabled": 0 + }, + "custom": { + "total": 1, + "enabled": 1, + "disabled": 0 + } + }, + "by_type": { + "siem.eqlRule": { + "total": 381, + "enabled": 381, + "disabled": 0 + }, + "siem.queryRule": { + "total": 325, + "enabled": 325, + "disabled": 0 + }, + "siem.mlRule": { + "total": 47, + "enabled": 47, + "disabled": 0 + }, + "siem.thresholdRule": { + "total": 18, + "enabled": 18, + "disabled": 0 + }, + "siem.newTermsRule": { + "total": 4, + "enabled": 4, + "disabled": 0 + }, + "siem.indicatorRule": { + "total": 2, + "enabled": 2, + "disabled": 0 + } + }, + "by_outcome": { + "warning": { + "total": 307, + "enabled": 307, + "disabled": 0 + }, + "succeeded": { + "total": 266, + "enabled": 266, + "disabled": 0 + }, + "failed": { + "total": 204, + "enabled": 204, + "disabled": 0 + } + } + } + }, + "stats_over_interval": { + "number_of_executions": { + "total": 5622, + "by_outcome": { + "succeeded": 1882, + "warning": 2129, + "failed": 2120 + } + }, + "number_of_logged_messages": { + "total": 11756, + "by_level": { + "error": 2120, + "warn": 2129, + "info": 7507, + "debug": 0, + "trace": 0 + } + }, + "number_of_detected_gaps": { + "total": 777, + "total_duration_s": 514415894 + }, + "schedule_delay_ms": { + "percentiles": { + "1.0": 216, + "5.0": 3048.5, + "25.0": 3105, + "50.0": 3129, + "75.0": 6112.355119825708, + "95.0": 134006, + "99.0": 195578 + } + }, + "execution_duration_ms": { + "percentiles": { + "1.0": 275, + "5.0": 323.375, + "25.0": 370.80555555555554, + "50.0": 413.1122337092731, + "75.0": 502.25233127864715, + "95.0": 685.8055555555555, + "99.0": 1194.75 + } + }, + "search_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 15, + "95.0": 30, + "99.0": 99.44000000000005 + } + }, + "indexing_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 0, + "95.0": 0, + "99.0": 0 + } + }, + "top_errors": [ + { + "count": 1202, + "message": "An error occurred during rule execution message verification_exception" + }, + { + "count": 777, + "message": "were not queried between this rule execution and the last execution so signals may have been missed Consider increasing your look behind time or adding more Kibana instances" + }, + { + "count": 3, + "message": "An error occurred during rule execution message rare_error_code missing" + }, + { + "count": 3, + "message": "An error occurred during rule execution message v3_windows_anomalous_path_activity missing" + }, + { + "count": 3, + "message": "An error occurred during rule execution message v3_windows_rare_user_type10_remote_login missing" + } + ], + "top_warnings": [ + { + "count": 2129, + "message": "This rule is attempting to query data from Elasticsearch indices listed in the Index pattern section of the rule definition however no index matching was found This warning will continue to appear until matching index is created or this rule is disabled" + } + ] + }, + "history_over_interval": { + "buckets": [ + { + "timestamp": "2023-05-26T15:00:00.000Z", + "stats": { + "number_of_executions": { + "total": 2245, + "by_outcome": { + "succeeded": 566, + "warning": 849, + "failed": 1336 + } + }, + "number_of_logged_messages": { + "total": 4996, + "by_level": { + "error": 1336, + "warn": 849, + "info": 2811, + "debug": 0, + "trace": 0 + } + }, + "number_of_detected_gaps": { + "total": 777, + "total_duration_s": 514415894 + }, + "schedule_delay_ms": { + "percentiles": { + "1.0": 256, + "5.0": 3086.9722222222217, + "25.0": 3133, + "50.0": 6126, + "75.0": 59484.25, + "95.0": 179817.25, + "99.0": 202613 + } + }, + "execution_duration_ms": { + "percentiles": { + "1.0": 280.6, + "5.0": 327.7, + "25.0": 371.5208333333333, + "50.0": 415.6190476190476, + "75.0": 505.7642857142857, + "95.0": 740.4375, + "99.0": 1446.1500000000005 + } + }, + "search_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 8, + "95.0": 25, + "99.0": 46 + } + }, + "indexing_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 0, + "95.0": 0, + "99.0": 0 + } + } + } + }, + { + "timestamp": "2023-05-26T16:00:00.000Z", + "stats": { + "number_of_executions": { + "total": 3363, + "by_outcome": { + "succeeded": 1316, + "warning": 1280, + "failed": 784 + } + }, + "number_of_logged_messages": { + "total": 6760, + "by_level": { + "error": 784, + "warn": 1280, + "info": 4696, + "debug": 0, + "trace": 0 + } + }, + "number_of_detected_gaps": { + "total": 0, + "total_duration_s": 0 + }, + "schedule_delay_ms": { + "percentiles": { + "1.0": 207, + "5.0": 3042, + "25.0": 3098.46511627907, + "50.0": 3112, + "75.0": 3145.2820512820517, + "95.0": 6100.571428571428, + "99.0": 6123 + } + }, + "execution_duration_ms": { + "percentiles": { + "1.0": 275, + "5.0": 319.85714285714283, + "25.0": 370.0357142857143, + "50.0": 410.79999229108853, + "75.0": 500.7692307692308, + "95.0": 675, + "99.0": 781.3999999999996 + } + }, + "search_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 9, + "75.0": 17.555555555555557, + "95.0": 34, + "99.0": 110.5 + } + }, + "indexing_duration_ms": { + "percentiles": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 0, + "95.0": 0, + "99.0": 0 + } + } + } + } + ] + } + } +} +``` + +## Cluster health endpoint + +🚧 NOTE: this endpoint is **partially implemented**. 🚧 + +```txt +POST /internal/detection_engine/health/_cluster +GET /internal/detection_engine/health/_cluster +``` + +Minimal required parameters for the `POST` route: empty object. + +```json +{} +``` + +The `GET` route doesn't accept any parameters and uses the default parameters instead: + +- interval: `last_day` +- granularity: `hour` +- debug: `false` + +Response: + +```json +{ + "timings": { + "requested_at": "2023-09-15T13:41:44.565Z", + "processed_at": "2023-09-15T13:41:44.648Z", + "processing_time_ms": 83 + }, + "parameters": { + "interval": { + "type": "last_day", + "granularity": "hour", + "from": "2023-09-14T13:41:44.565Z", + "to": "2023-09-15T13:41:44.565Z", + "duration": "PT24H" + } + }, + "health": { + "state_at_the_moment": { + "number_of_rules": { + "all": { + "total": 40, + "enabled": 40, + "disabled": 0 + }, + "by_origin": { + "prebuilt": { + "total": 40, + "enabled": 40, + "disabled": 0 + }, + "custom": { + "total": 0, + "enabled": 0, + "disabled": 0 + } + }, + "by_type": { + "siem.queryRule": { + "total": 28, + "enabled": 28, + "disabled": 0 + }, + "siem.mlRule": { + "total": 10, + "enabled": 10, + "disabled": 0 + }, + "siem.newTermsRule": { + "total": 2, + "enabled": 2, + "disabled": 0 + } + }, + "by_outcome": { + "warning": { + "total": 30, + "enabled": 30, + "disabled": 0 + }, + "failed": { + "total": 10, + "enabled": 10, + "disabled": 0 + } + } + } + }, + "stats_over_interval": { + "number_of_executions": { + "total": 290, + "by_outcome": { + "succeeded": 0, + "warning": 240, + "failed": 90 + } + }, + "number_of_logged_messages": { + "total": 620, + "by_level": { + "error": 90, + "warn": 240, + "info": 290, + "debug": 0, + "trace": 0 + } + }, + "number_of_detected_gaps": { + "total": 40, + "total_duration_s": 12986680 + }, + "schedule_delay_ms": { + "percentiles": { + "50.0": 261, + "95.0": 330999215.3, + "99.0": 331057597, + "99.9": 331057597 + } + }, + "execution_duration_ms": { + "percentiles": { + "50.0": 530.5, + "95.0": 1864.350000000016, + "99.0": 13863.33, + "99.9": 13871.133 + } + }, + "search_duration_ms": { + "percentiles": { + "50.0": 0, + "95.0": 0, + "99.0": 0, + "99.9": 0 + } + }, + "indexing_duration_ms": { + "percentiles": { + "50.0": 0, + "95.0": 0, + "99.0": 0, + "99.9": 0 + } + }, + "top_errors": [ + { + "count": 40, + "message": "days were not queried between this rule execution and the last execution so signals may have been missed Consider increasing your look behind time or adding more Kibana instances" + }, + { + "count": 10, + "message": "An error occurred during rule execution message high_distinct_count_error_message missing" + }, + { + "count": 10, + "message": "An error occurred during rule execution message rare_error_code missing" + }, + { + "count": 10, + "message": "An error occurred during rule execution message rare_method_for_a_city missing" + }, + { + "count": 10, + "message": "An error occurred during rule execution message rare_method_for_a_username missing" + } + ], + "top_warnings": [ + { + "count": 240, + "message": "This rule is attempting to query data from Elasticsearch indices listed in the Index pattern section of the rule definition however no index matching filebeat logs-aws was found This warning will continue to appear until matching index is created or this rule is disabled" + } + ] + }, + "history_over_interval": { + "buckets": [ + { + "timestamp": "2023-09-15T12:00:00.000Z", + "stats": { + "number_of_executions": { + "total": 110, + "by_outcome": { + "succeeded": 0, + "warning": 90, + "failed": 60 + } + }, + "number_of_logged_messages": { + "total": 260, + "by_level": { + "error": 60, + "warn": 90, + "info": 110, + "debug": 0, + "trace": 0 + } + }, + "number_of_detected_gaps": { + "total": 40, + "total_duration_s": 12986680 + }, + "schedule_delay_ms": { + "percentiles": { + "50.0": 2975, + "95.0": 331046564.55, + "99.0": 331057597, + "99.9": 331057597 + } + }, + "execution_duration_ms": { + "percentiles": { + "50.0": 677.5, + "95.0": 8943.65, + "99.0": 13868.73, + "99.9": 13871.673 + } + }, + "search_duration_ms": { + "percentiles": { + "50.0": 0, + "95.0": 0, + "99.0": 0, + "99.9": 0 + } + }, + "indexing_duration_ms": { + "percentiles": { + "50.0": 0, + "95.0": 0, + "99.0": 0, + "99.9": 0 + } + } + } + }, + { + "timestamp": "2023-09-15T13:00:00.000Z", + "stats": { + "number_of_executions": { + "total": 180, + "by_outcome": { + "succeeded": 0, + "warning": 150, + "failed": 30 + } + }, + "number_of_logged_messages": { + "total": 360, + "by_level": { + "error": 30, + "warn": 150, + "info": 180, + "debug": 0, + "trace": 0 + } + }, + "number_of_detected_gaps": { + "total": 0, + "total_duration_s": 0 + }, + "schedule_delay_ms": { + "percentiles": { + "50.0": 246.5, + "95.0": 3245.35, + "99.0": 3905.0100000000216, + "99.9": 6173.243000000005 + } + }, + "execution_duration_ms": { + "percentiles": { + "50.0": 503.5, + "95.0": 692.15, + "99.0": 758.63, + "99.9": 763.4630000000001 + } + }, + "search_duration_ms": { + "percentiles": { + "50.0": 0, + "95.0": 0, + "99.0": 0, + "99.9": 0 + } + }, + "indexing_duration_ms": { + "percentiles": { + "50.0": 0, + "95.0": 0, + "99.0": 0, + "99.9": 0 + } + } + } + } + ] + } + } +} +``` + +## Optional parameters + +All the three endpoints accept optional `interval` and `debug` request parameters. + +### Health interval + +You can change the interval over which the health stats will be calculated. If you don't specify it, by default health stats will be calculated over the last day with the granularity of 1 hour. + +```json +{ + "interval": { + "type": "last_week", + "granularity": "day" + } +} +``` + +You can also specify a custom date range with exact interval bounds. + +```json +{ + "interval": { + "type": "custom_range", + "granularity": "minute", + "from": "2023-05-20T16:24:21.628Z", + "to": "2023-05-26T16:24:21.628Z" + } +} +``` + +Please keep in mind that requesting large intervals with small granularity can generate substantial load on the system and enormous API responses. + +### Debug mode + +You can also include various debug information in the response, such as queries and aggregations sent to Elasticsearch and response received from it. + +```json +{ + "debug": true +} +``` + +In the response you will find something like that: + +```json +{ + "health": { + "debug": { + "rulesClient": { + "request": { + "aggs": { + "rulesByEnabled": { + "terms": { + "field": "alert.attributes.enabled" + } + }, + "rulesByOrigin": { + "terms": { + "field": "alert.attributes.params.immutable" + }, + "aggs": { + "rulesByEnabled": { + "terms": { + "field": "alert.attributes.enabled" + } + } + } + }, + "rulesByType": { + "terms": { + "field": "alert.attributes.alertTypeId" + }, + "aggs": { + "rulesByEnabled": { + "terms": { + "field": "alert.attributes.enabled" + } + } + } + }, + "rulesByOutcome": { + "terms": { + "field": "alert.attributes.lastRun.outcome" + }, + "aggs": { + "rulesByEnabled": { + "terms": { + "field": "alert.attributes.enabled" + } + } + } + } + } + }, + "response": { + "aggregations": { + "rulesByOutcome": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": "warning", + "doc_count": 307, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 307 + } + ] + } + }, + { + "key": "succeeded", + "doc_count": 266, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 266 + } + ] + } + }, + { + "key": "failed", + "doc_count": 204, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 204 + } + ] + } + } + ] + }, + "rulesByType": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": "siem.eqlRule", + "doc_count": 381, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 381 + } + ] + } + }, + { + "key": "siem.queryRule", + "doc_count": 325, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 325 + } + ] + } + }, + { + "key": "siem.mlRule", + "doc_count": 47, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 47 + } + ] + } + }, + { + "key": "siem.thresholdRule", + "doc_count": 18, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 18 + } + ] + } + }, + { + "key": "siem.newTermsRule", + "doc_count": 4, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 4 + } + ] + } + }, + { + "key": "siem.indicatorRule", + "doc_count": 2, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 2 + } + ] + } + } + ] + }, + "rulesByOrigin": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": "true", + "doc_count": 776, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 776 + } + ] + } + }, + { + "key": "false", + "doc_count": 1, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 1 + } + ] + } + } + ] + }, + "rulesByEnabled": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": 1, + "key_as_string": "true", + "doc_count": 777 + } + ] + } + } + } + }, + "eventLog": { + "request": { + "aggs": { + "totalExecutions": { + "cardinality": { + "field": "kibana.alert.rule.execution.uuid" + } + }, + "executeEvents": { + "filter": { + "term": { + "event.action": "execute" + } + }, + "aggs": { + "executionDurationMs": { + "percentiles": { + "field": "kibana.alert.rule.execution.metrics.total_run_duration_ms", + "missing": 0, + "percents": [1, 5, 25, 50, 75, 95, 99] + } + }, + "scheduleDelayNs": { + "percentiles": { + "field": "kibana.task.schedule_delay", + "missing": 0, + "percents": [1, 5, 25, 50, 75, 95, 99] + } + } + } + }, + "statusChangeEvents": { + "filter": { + "bool": { + "filter": [ + { + "term": { + "event.action": "status-change" + } + } + ], + "must_not": [ + { + "terms": { + "kibana.alert.rule.execution.status": ["running", "going to run"] + } + } + ] + } + }, + "aggs": { + "executionsByStatus": { + "terms": { + "field": "kibana.alert.rule.execution.status" + } + } + } + }, + "executionMetricsEvents": { + "filter": { + "term": { + "event.action": "execution-metrics" + } + }, + "aggs": { + "gaps": { + "filter": { + "exists": { + "field": "kibana.alert.rule.execution.metrics.execution_gap_duration_s" + } + }, + "aggs": { + "totalGapDurationS": { + "sum": { + "field": "kibana.alert.rule.execution.metrics.execution_gap_duration_s" + } + } + } + }, + "searchDurationMs": { + "percentiles": { + "field": "kibana.alert.rule.execution.metrics.total_search_duration_ms", + "missing": 0, + "percents": [1, 5, 25, 50, 75, 95, 99] + } + }, + "indexingDurationMs": { + "percentiles": { + "field": "kibana.alert.rule.execution.metrics.total_indexing_duration_ms", + "missing": 0, + "percents": [1, 5, 25, 50, 75, 95, 99] + } + } + } + }, + "messageContainingEvents": { + "filter": { + "terms": { + "event.action": ["status-change", "message"] + } + }, + "aggs": { + "messagesByLogLevel": { + "terms": { + "field": "log.level" + } + }, + "errors": { + "filter": { + "term": { + "log.level": "error" + } + }, + "aggs": { + "topErrors": { + "categorize_text": { + "field": "message", + "size": 5, + "similarity_threshold": 99 + } + } + } + }, + "warnings": { + "filter": { + "term": { + "log.level": "warn" + } + }, + "aggs": { + "topWarnings": { + "categorize_text": { + "field": "message", + "size": 5, + "similarity_threshold": 99 + } + } + } + } + } + }, + "statsHistory": { + "date_histogram": { + "field": "@timestamp", + "calendar_interval": "hour" + }, + "aggs": { + "totalExecutions": { + "cardinality": { + "field": "kibana.alert.rule.execution.uuid" + } + }, + "executeEvents": { + "filter": { + "term": { + "event.action": "execute" + } + }, + "aggs": { + "executionDurationMs": { + "percentiles": { + "field": "kibana.alert.rule.execution.metrics.total_run_duration_ms", + "missing": 0, + "percents": [1, 5, 25, 50, 75, 95, 99] + } + }, + "scheduleDelayNs": { + "percentiles": { + "field": "kibana.task.schedule_delay", + "missing": 0, + "percents": [1, 5, 25, 50, 75, 95, 99] + } + } + } + }, + "statusChangeEvents": { + "filter": { + "bool": { + "filter": [ + { + "term": { + "event.action": "status-change" + } + } + ], + "must_not": [ + { + "terms": { + "kibana.alert.rule.execution.status": ["running", "going to run"] + } + } + ] + } + }, + "aggs": { + "executionsByStatus": { + "terms": { + "field": "kibana.alert.rule.execution.status" + } + } + } + }, + "executionMetricsEvents": { + "filter": { + "term": { + "event.action": "execution-metrics" + } + }, + "aggs": { + "gaps": { + "filter": { + "exists": { + "field": "kibana.alert.rule.execution.metrics.execution_gap_duration_s" + } + }, + "aggs": { + "totalGapDurationS": { + "sum": { + "field": "kibana.alert.rule.execution.metrics.execution_gap_duration_s" + } + } + } + }, + "searchDurationMs": { + "percentiles": { + "field": "kibana.alert.rule.execution.metrics.total_search_duration_ms", + "missing": 0, + "percents": [1, 5, 25, 50, 75, 95, 99] + } + }, + "indexingDurationMs": { + "percentiles": { + "field": "kibana.alert.rule.execution.metrics.total_indexing_duration_ms", + "missing": 0, + "percents": [1, 5, 25, 50, 75, 95, 99] + } + } + } + }, + "messageContainingEvents": { + "filter": { + "terms": { + "event.action": ["status-change", "message"] + } + }, + "aggs": { + "messagesByLogLevel": { + "terms": { + "field": "log.level" + } + } + } + } + } + } + } + }, + "response": { + "aggregations": { + "statsHistory": { + "buckets": [ + { + "key_as_string": "2023-05-26T15:00:00.000Z", + "key": 1685113200000, + "doc_count": 11388, + "statusChangeEvents": { + "doc_count": 2751, + "executionsByStatus": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": "failed", + "doc_count": 1336 + }, + { + "key": "partial failure", + "doc_count": 849 + }, + { + "key": "succeeded", + "doc_count": 566 + } + ] + } + }, + "totalExecutions": { + "value": 2245 + }, + "messageContainingEvents": { + "doc_count": 4996, + "messagesByLogLevel": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": "info", + "doc_count": 2811 + }, + { + "key": "error", + "doc_count": 1336 + }, + { + "key": "warn", + "doc_count": 849 + } + ] + } + }, + "executeEvents": { + "doc_count": 2245, + "scheduleDelayNs": { + "values": { + "1.0": 256000000, + "5.0": 3086972222.222222, + "25.0": 3133000000, + "50.0": 6126000000, + "75.0": 59484250000, + "95.0": 179817250000, + "99.0": 202613000000 + } + }, + "executionDurationMs": { + "values": { + "1.0": 280.6, + "5.0": 327.7, + "25.0": 371.5208333333333, + "50.0": 415.6190476190476, + "75.0": 505.575, + "95.0": 740.4375, + "99.0": 1446.1500000000005 + } + } + }, + "executionMetricsEvents": { + "doc_count": 1902, + "searchDurationMs": { + "values": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 8, + "95.0": 25, + "99.0": 46 + } + }, + "gaps": { + "doc_count": 777, + "totalGapDurationS": { + "value": 514415894 + } + }, + "indexingDurationMs": { + "values": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 0, + "95.0": 0, + "99.0": 0 + } + } + } + }, + { + "key_as_string": "2023-05-26T16:00:00.000Z", + "key": 1685116800000, + "doc_count": 28325, + "statusChangeEvents": { + "doc_count": 6126, + "executionsByStatus": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": "succeeded", + "doc_count": 2390 + }, + { + "key": "partial failure", + "doc_count": 2305 + }, + { + "key": "failed", + "doc_count": 1431 + } + ] + } + }, + "totalExecutions": { + "value": 6170 + }, + "messageContainingEvents": { + "doc_count": 12252, + "messagesByLogLevel": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": "info", + "doc_count": 8516 + }, + { + "key": "warn", + "doc_count": 2305 + }, + { + "key": "error", + "doc_count": 1431 + } + ] + } + }, + "executeEvents": { + "doc_count": 6126, + "scheduleDelayNs": { + "values": { + "1.0": 193000000, + "5.0": 3017785185.1851854, + "25.0": 3086000000, + "50.0": 3105877192.982456, + "75.0": 3134645161.290323, + "95.0": 6081772222.222222, + "99.0": 6122000000 + } + }, + "executionDurationMs": { + "values": { + "1.0": 275.17333333333335, + "5.0": 324.8014285714285, + "25.0": 377.0752688172043, + "50.0": 431, + "75.0": 532.3870967741935, + "95.0": 720.6761904761904, + "99.0": 922.6799999999985 + } + } + }, + "executionMetricsEvents": { + "doc_count": 3821, + "searchDurationMs": { + "values": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 9.8, + "75.0": 18, + "95.0": 40.17499999999999, + "99.0": 124 + } + }, + "gaps": { + "doc_count": 0, + "totalGapDurationS": { + "value": 0 + } + }, + "indexingDurationMs": { + "values": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 0, + "95.0": 0, + "99.0": 0 + } + } + } + } + ] + }, + "statusChangeEvents": { + "doc_count": 8877, + "executionsByStatus": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": "partial failure", + "doc_count": 3154 + }, + { + "key": "succeeded", + "doc_count": 2956 + }, + { + "key": "failed", + "doc_count": 2767 + } + ] + } + }, + "totalExecutions": { + "value": 8455 + }, + "messageContainingEvents": { + "doc_count": 17248, + "messagesByLogLevel": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": "info", + "doc_count": 11327 + }, + { + "key": "warn", + "doc_count": 3154 + }, + { + "key": "error", + "doc_count": 2767 + } + ] + }, + "warnings": { + "doc_count": 3154, + "topWarnings": { + "buckets": [ + { + "doc_count": 3154, + "key": "This rule is attempting to query data from Elasticsearch indices listed in the Index pattern section of the rule definition however no index matching was found This warning will continue to appear until matching index is created or this rule is disabled", + "regex": ".*?This.+?rule.+?is.+?attempting.+?to.+?query.+?data.+?from.+?Elasticsearch.+?indices.+?listed.+?in.+?the.+?Index.+?pattern.+?section.+?of.+?the.+?rule.+?definition.+?however.+?no.+?index.+?matching.+?was.+?found.+?This.+?warning.+?will.+?continue.+?to.+?appear.+?until.+?matching.+?index.+?is.+?created.+?or.+?this.+?rule.+?is.+?disabled.*?", + "max_matching_length": 342 + } + ] + } + }, + "errors": { + "doc_count": 2767, + "topErrors": { + "buckets": [ + { + "doc_count": 1802, + "key": "An error occurred during rule execution message verification_exception", + "regex": ".*?An.+?error.+?occurred.+?during.+?rule.+?execution.+?message.+?verification_exception.*?", + "max_matching_length": 2064 + }, + { + "doc_count": 777, + "key": "were not queried between this rule execution and the last execution so signals may have been missed Consider increasing your look behind time or adding more Kibana instances", + "regex": ".*?were.+?not.+?queried.+?between.+?this.+?rule.+?execution.+?and.+?the.+?last.+?execution.+?so.+?signals.+?may.+?have.+?been.+?missed.+?Consider.+?increasing.+?your.+?look.+?behind.+?time.+?or.+?adding.+?more.+?Kibana.+?instances.*?", + "max_matching_length": 216 + }, + { + "doc_count": 4, + "key": "An error occurred during rule execution message rare_error_code missing", + "regex": ".*?An.+?error.+?occurred.+?during.+?rule.+?execution.+?message.+?rare_error_code.+?missing.*?", + "max_matching_length": 82 + }, + { + "doc_count": 4, + "key": "An error occurred during rule execution message v3_windows_anomalous_path_activity missing", + "regex": ".*?An.+?error.+?occurred.+?during.+?rule.+?execution.+?message.+?v3_windows_anomalous_path_activity.+?missing.*?", + "max_matching_length": 103 + }, + { + "doc_count": 4, + "key": "An error occurred during rule execution message v3_windows_rare_user_type10_remote_login missing", + "regex": ".*?An.+?error.+?occurred.+?during.+?rule.+?execution.+?message.+?v3_windows_rare_user_type10_remote_login.+?missing.*?", + "max_matching_length": 110 + } + ] + } + } + }, + "executeEvents": { + "doc_count": 8371, + "scheduleDelayNs": { + "values": { + "1.0": 206000000, + "5.0": 3027000000, + "25.0": 3092000000, + "50.0": 3116000000, + "75.0": 3278666666.6666665, + "95.0": 99656950000, + "99.0": 186632790000 + } + }, + "executionDurationMs": { + "values": { + "1.0": 275.5325, + "5.0": 326.07857142857137, + "25.0": 375.68969144460027, + "50.0": 427, + "75.0": 526.2948717948718, + "95.0": 727.2480952380952, + "99.0": 1009.5299999999934 + } + } + }, + "executionMetricsEvents": { + "doc_count": 5723, + "searchDurationMs": { + "values": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 4, + "75.0": 16, + "95.0": 34.43846153846145, + "99.0": 116.51333333333302 + } + }, + "gaps": { + "doc_count": 777, + "totalGapDurationS": { + "value": 514415894 + } + }, + "indexingDurationMs": { + "values": { + "1.0": 0, + "5.0": 0, + "25.0": 0, + "50.0": 0, + "75.0": 0, + "95.0": 0, + "99.0": 0 + } + } + } + } + } + } + } + } +} +``` diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/cluster_health.mock.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/cluster_health.mock.ts index 6bd740a87cf545..6fac9e9b385212 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/cluster_health.mock.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/cluster_health.mock.ts @@ -10,17 +10,13 @@ import { healthStatsMock } from './health_stats.mock'; const getEmptyClusterHealthSnapshot = (): ClusterHealthSnapshot => { return { - stats_at_the_moment: healthStatsMock.getEmptyRuleStats(), - stats_over_interval: { - message: 'Not implemented', - }, + state_at_the_moment: healthStatsMock.getEmptyHealthOverviewState(), + stats_over_interval: healthStatsMock.getEmptyHealthOverviewStats(), history_over_interval: { buckets: [ { timestamp: '2023-05-15T16:12:14.967Z', - stats: { - message: 'Not implemented', - }, + stats: healthStatsMock.getEmptyHealthOverviewStats(), }, ], }, diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/cluster_health.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/cluster_health.ts index 441eef935ade55..bbf838a828dfec 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/cluster_health.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/cluster_health.ts @@ -6,7 +6,7 @@ */ import type { HealthParameters, HealthSnapshot } from './health_metadata'; -import type { RuleStats, StatsHistory } from './health_stats'; +import type { HealthOverviewStats, HealthOverviewState, HealthHistory } from './health_stats'; /** * Health calculation parameters for the whole cluster. @@ -18,30 +18,27 @@ export type ClusterHealthParameters = HealthParameters; */ export interface ClusterHealthSnapshot extends HealthSnapshot { /** - * Health stats at the moment of the calculation request. + * Health state at the moment of the calculation request. */ - stats_at_the_moment: ClusterHealthStatsAtTheMoment; + state_at_the_moment: ClusterHealthState; /** * Health stats calculated over the interval specified in the health parameters. */ - stats_over_interval: ClusterHealthStatsOverInterval; + stats_over_interval: ClusterHealthStats; /** * History of change of the same health stats during the interval. */ - history_over_interval: StatsHistory; + history_over_interval: HealthHistory; } /** - * Health stats at the moment of the calculation request. + * Health state at the moment of the calculation request. */ -export type ClusterHealthStatsAtTheMoment = RuleStats; +export type ClusterHealthState = HealthOverviewState; /** * Health stats calculated over a given interval. */ -export interface ClusterHealthStatsOverInterval { - // TODO: https://github.com/elastic/kibana/issues/125642 Implement and delete this `message` - message: 'Not implemented'; -} +export type ClusterHealthStats = HealthOverviewStats; diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/health_stats.mock.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/health_stats.mock.ts index 545a1b0ef0440b..ffb9275bdd89ae 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/health_stats.mock.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/health_stats.mock.ts @@ -7,12 +7,12 @@ import type { AggregatedMetric, - RuleExecutionStats, - RuleStats, + HealthOverviewStats, + HealthOverviewState, TotalEnabledDisabled, } from './health_stats'; -const getEmptyRuleStats = (): RuleStats => { +const getEmptyHealthOverviewState = (): HealthOverviewState => { return { number_of_rules: { all: getZeroTotalEnabledDisabled(), @@ -34,7 +34,7 @@ const getZeroTotalEnabledDisabled = (): TotalEnabledDisabled => { }; }; -const getEmptyRuleExecutionStats = (): RuleExecutionStats => { +const getEmptyHealthOverviewStats = (): HealthOverviewStats => { return { number_of_executions: { total: 0, @@ -70,18 +70,15 @@ const getEmptyRuleExecutionStats = (): RuleExecutionStats => { const getZeroAggregatedMetric = (): AggregatedMetric => { return { percentiles: { - '1.0': 0, - '5.0': 0, - '25.0': 0, '50.0': 0, - '75.0': 0, '95.0': 0, '99.0': 0, + '99.9': 0, }, }; }; export const healthStatsMock = { - getEmptyRuleStats, - getEmptyRuleExecutionStats, + getEmptyHealthOverviewState, + getEmptyHealthOverviewStats, }; diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/health_stats.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/health_stats.ts index 4af7ea8c6bd079..3098b3c69c4a3f 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/health_stats.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/health_stats.ts @@ -10,7 +10,7 @@ import type { RuleLastRunOutcomes } from '@kbn/alerting-plugin/common'; import type { LogLevel } from '../../model'; // ------------------------------------------------------------------------------------------------- -// Stats history (date histogram) +// History of health stats (date histogram) /** * History of change of a set of stats over a time interval. The interval is split into discreet buckets, @@ -19,14 +19,14 @@ import type { LogLevel } from '../../model'; * This model corresponds to the `date_histogram` aggregation of Elasticsearch: * https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html */ -export interface StatsHistory { - buckets: Array>; +export interface HealthHistory { + buckets: Array>; } /** * Sub-interval with stats calculated over it. */ -export interface StatsBucket { +export interface HealthBucket { /** * Start timestamp of the sub-interval. */ @@ -39,23 +39,15 @@ export interface StatsBucket { } // ------------------------------------------------------------------------------------------------- -// Rule stats - -// TODO: https://github.com/elastic/kibana/issues/125642 Add more stats, such as: -// - number of Kibana instances -// - number of Kibana spaces -// - number of rules with exceptions -// - number of rules with notification actions (total, normal, legacy) -// - number of rules with response actions -// - top X last failed status messages + rule ids for each status -// - top X last partial failure status messages + rule ids for each status -// - top X slowest rules by any metrics (last total execution time, search time, indexing time, etc) -// - top X rules with the largest schedule delay (drift) +// Health overview state + +// TODO: https://github.com/elastic/kibana/issues/125642 Add more data, see health_data.md /** - * "Static" stats calculated for a set of rules, such as number of enabled and disabled rules, etc. + * "Static" health state at the moment of the API call. Calculated for a set of rules. + * Example: number of enabled and disabled rules. */ -export interface RuleStats { +export interface HealthOverviewState { /** * Various counts of different rules. */ @@ -108,19 +100,15 @@ export interface TotalEnabledDisabled { } // ------------------------------------------------------------------------------------------------- -// Rule execution stats +// Health overview stats -// TODO: https://github.com/elastic/kibana/issues/125642 Add more stats, such as: -// - number of detected alerts (source event "hits") -// - number of created alerts (those we wrote to the .alerts-* index) -// - number of times rule hit cirquit breaker, number of not created alerts because of that -// - number of triggered actions -// - top gaps +// TODO: https://github.com/elastic/kibana/issues/125642 Add more data, see health_data.md /** - * "Dynamic" rule execution stats. Can be calculated either for a set of rules or for a single rule. + * "Dynamic" health stats over a specified "health interval". Can be calculated either + * for a set of rules or for a single rule. */ -export interface RuleExecutionStats { +export interface HealthOverviewStats { /** * Number of rule executions. */ @@ -242,13 +230,10 @@ export interface AggregatedMetric { * Distribution of values of an aggregated metric represented by a set of discreet percentiles. * @example * { - * '1.0': 27, - * '5.0': 150, - * '25.0': 240, * '50.0': 420, - * '75.0': 700, * '95.0': 2500, * '99.0': 7800, + * '99.9': 10000, * } */ export type Percentiles = Record; diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/rule_health.mock.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/rule_health.mock.ts index 961a057b2603e6..50cb91cf202c5a 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/rule_health.mock.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/rule_health.mock.ts @@ -11,15 +11,15 @@ import type { RuleHealthSnapshot } from './rule_health'; const getEmptyRuleHealthSnapshot = (): RuleHealthSnapshot => { return { - stats_at_the_moment: { + state_at_the_moment: { rule: getRulesSchemaMock(), }, - stats_over_interval: healthStatsMock.getEmptyRuleExecutionStats(), + stats_over_interval: healthStatsMock.getEmptyHealthOverviewStats(), history_over_interval: { buckets: [ { timestamp: '2023-05-15T16:12:14.967Z', - stats: healthStatsMock.getEmptyRuleExecutionStats(), + stats: healthStatsMock.getEmptyHealthOverviewStats(), }, ], }, diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/rule_health.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/rule_health.ts index 59756df926e272..77471270695bb5 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/rule_health.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/rule_health.ts @@ -7,7 +7,7 @@ import type { RuleResponse } from '../../../model'; import type { HealthParameters, HealthSnapshot } from './health_metadata'; -import type { RuleExecutionStats, StatsHistory } from './health_stats'; +import type { HealthOverviewStats, HealthHistory } from './health_stats'; /** * Health calculation parameters for a given rule. @@ -24,25 +24,25 @@ export interface RuleHealthParameters extends HealthParameters { */ export interface RuleHealthSnapshot extends HealthSnapshot { /** - * Health stats at the moment of the calculation request. + * Health state at the moment of the calculation request. */ - stats_at_the_moment: RuleHealthStatsAtTheMoment; + state_at_the_moment: RuleHealthState; /** * Health stats calculated over the interval specified in the health parameters. */ - stats_over_interval: RuleHealthStatsOverInterval; + stats_over_interval: RuleHealthStats; /** * History of change of the same health stats during the interval. */ - history_over_interval: StatsHistory; + history_over_interval: HealthHistory; } /** - * Health stats at the moment of the calculation request. + * Health state at the moment of the calculation request. */ -export interface RuleHealthStatsAtTheMoment { +export interface RuleHealthState { /** * Rule object including its current execution summary. */ @@ -52,4 +52,4 @@ export interface RuleHealthStatsAtTheMoment { /** * Health stats calculated over a given interval. */ -export type RuleHealthStatsOverInterval = RuleExecutionStats; +export type RuleHealthStats = HealthOverviewStats; diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/space_health.mock.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/space_health.mock.ts index 60e1514cee59e9..e445a275d6a8c5 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/space_health.mock.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/space_health.mock.ts @@ -10,13 +10,13 @@ import type { SpaceHealthSnapshot } from './space_health'; const getEmptySpaceHealthSnapshot = (): SpaceHealthSnapshot => { return { - stats_at_the_moment: healthStatsMock.getEmptyRuleStats(), - stats_over_interval: healthStatsMock.getEmptyRuleExecutionStats(), + state_at_the_moment: healthStatsMock.getEmptyHealthOverviewState(), + stats_over_interval: healthStatsMock.getEmptyHealthOverviewStats(), history_over_interval: { buckets: [ { timestamp: '2023-05-15T16:12:14.967Z', - stats: healthStatsMock.getEmptyRuleExecutionStats(), + stats: healthStatsMock.getEmptyHealthOverviewStats(), }, ], }, diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/space_health.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/space_health.ts index 35648a9257570d..173f8e9af1a620 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/space_health.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/detection_engine_health/model/space_health.ts @@ -6,7 +6,7 @@ */ import type { HealthParameters, HealthSnapshot } from './health_metadata'; -import type { RuleExecutionStats, RuleStats, StatsHistory } from './health_stats'; +import type { HealthOverviewStats, HealthOverviewState, HealthHistory } from './health_stats'; /** * Health calculation parameters for the current Kibana space. @@ -18,27 +18,27 @@ export type SpaceHealthParameters = HealthParameters; */ export interface SpaceHealthSnapshot extends HealthSnapshot { /** - * Health stats at the moment of the calculation request. + * Health state at the moment of the calculation request. */ - stats_at_the_moment: SpaceHealthStatsAtTheMoment; + state_at_the_moment: SpaceHealthState; /** * Health stats calculated over the interval specified in the health parameters. */ - stats_over_interval: SpaceHealthStatsOverInterval; + stats_over_interval: SpaceHealthStats; /** * History of change of the same health stats during the interval. */ - history_over_interval: StatsHistory; + history_over_interval: HealthHistory; } /** - * Health stats at the moment of the calculation request. + * Health state at the moment of the calculation request. */ -export type SpaceHealthStatsAtTheMoment = RuleStats; +export type SpaceHealthState = HealthOverviewState; /** * Health stats calculated over a given interval. */ -export type SpaceHealthStatsOverInterval = RuleExecutionStats; +export type SpaceHealthStats = HealthOverviewStats; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_cluster_health/get_cluster_health_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_cluster_health/get_cluster_health_route.ts index 6d9faeaa95c7fe..719f46788a5247 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_cluster_health/get_cluster_health_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_cluster_health/get_cluster_health_route.ts @@ -26,7 +26,7 @@ import { validateGetClusterHealthRequest } from './get_cluster_health_request'; /** * Get health overview of the whole cluster. Scope: all detection rules in all Kibana spaces. * Returns: - * - health stats at the moment of the API call + * - health state at the moment of the API call * - health stats over a specified period of time ("health interval") * - health stats history within the same interval in the form of a histogram * (the same stats are calculated over each of the discreet sub-intervals of the whole interval) @@ -111,8 +111,6 @@ const handleClusterHealthRequest = async (args: HandleClusterHealthRequestArgs) const clusterHealth = await healthClient.calculateClusterHealth(clusterHealthParameters); const responseBody: GetClusterHealthResponse = { - // TODO: https://github.com/elastic/kibana/issues/125642 Implement the endpoint and remove the `message` property - message: 'Not implemented', timings: calculateHealthTimings(params.requestReceivedAt), parameters: clusterHealthParameters, health: { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_rule_health/get_rule_health_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_rule_health/get_rule_health_route.ts index 310514d17f9687..a69f7961b19f8f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_rule_health/get_rule_health_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_rule_health/get_rule_health_route.ts @@ -23,7 +23,7 @@ import { validateGetRuleHealthRequest } from './get_rule_health_request'; /** * Get health overview of a rule. Scope: a given detection rule in the current Kibana space. * Returns: - * - health stats at the moment of the API call (rule and its execution summary) + * - health state at the moment of the API call (rule and its execution summary) * - health stats over a specified period of time ("health interval") * - health stats history within the same interval in the form of a histogram * (the same stats are calculated over each of the discreet sub-intervals of the whole interval) diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_space_health/get_space_health_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_space_health/get_space_health_route.ts index d76a2212f29c0e..96ced4e34151db 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_space_health/get_space_health_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/detection_engine_health/get_space_health/get_space_health_route.ts @@ -26,7 +26,7 @@ import { validateGetSpaceHealthRequest } from './get_space_health_request'; /** * Get health overview of the current Kibana space. Scope: all detection rules in the space. * Returns: - * - health stats at the moment of the API call + * - health state at the moment of the API call * - health stats over a specified period of time ("health interval") * - health stats history within the same interval in the form of a histogram * (the same stats are calculated over each of the discreet sub-intervals of the whole interval) diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/detection_engine_health_client.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/detection_engine_health_client.ts index af7066dfa780cf..71eb37b7286c65 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/detection_engine_health_client.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/detection_engine_health_client.ts @@ -20,16 +20,19 @@ import type { import type { IEventLogHealthClient } from './event_log/event_log_health_client'; import type { IRuleObjectsHealthClient } from './rule_objects/rule_objects_health_client'; +import type { IRuleSpacesClient } from './rule_spaces/rule_spaces_client'; import type { IDetectionEngineHealthClient } from './detection_engine_health_client_interface'; import { installAssetsForRuleMonitoring } from './assets/install_assets_for_rule_monitoring'; export const createDetectionEngineHealthClient = ( + ruleSpacesClient: IRuleSpacesClient, ruleObjectsHealthClient: IRuleObjectsHealthClient, eventLogHealthClient: IEventLogHealthClient, savedObjectsImporter: ISavedObjectsImporter, - logger: Logger, - currentSpaceId: string + logger: Logger ): IDetectionEngineHealthClient => { + const currentSpaceId = ruleSpacesClient.getCurrentSpaceId(); + return { calculateRuleHealth: (args: RuleHealthParameters): Promise => { return withSecuritySpan('IDetectionEngineHealthClient.calculateRuleHealth', async () => { @@ -41,7 +44,7 @@ export const createDetectionEngineHealthClient = ( const statsBasedOnEventLog = await eventLogHealthClient.calculateRuleHealth(args); return { - stats_at_the_moment: statsBasedOnRuleObjects.stats_at_the_moment, + state_at_the_moment: statsBasedOnRuleObjects.state_at_the_moment, stats_over_interval: statsBasedOnEventLog.stats_over_interval, history_over_interval: statsBasedOnEventLog.history_over_interval, debug: { @@ -73,7 +76,7 @@ export const createDetectionEngineHealthClient = ( ]); return { - stats_at_the_moment: statsBasedOnRuleObjects.stats_at_the_moment, + state_at_the_moment: statsBasedOnRuleObjects.state_at_the_moment, stats_over_interval: statsBasedOnEventLog.stats_over_interval, history_over_interval: statsBasedOnEventLog.history_over_interval, debug: { @@ -104,7 +107,7 @@ export const createDetectionEngineHealthClient = ( ]); return { - stats_at_the_moment: statsBasedOnRuleObjects.stats_at_the_moment, + state_at_the_moment: statsBasedOnRuleObjects.state_at_the_moment, stats_over_interval: statsBasedOnEventLog.stats_over_interval, history_over_interval: statsBasedOnEventLog.history_over_interval, debug: { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/aggregations/health_stats_for_rule.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/aggregations/health_stats_for_rule.ts index 7704bdd3f24414..72d93f0d677773 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/aggregations/health_stats_for_rule.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/aggregations/health_stats_for_rule.ts @@ -11,8 +11,8 @@ import type { AggregateEventsBySavedObjectResult } from '@kbn/event-log-plugin/s import type { HealthIntervalGranularity, RuleHealthSnapshot, - RuleHealthStatsOverInterval, - StatsHistory, + RuleHealthStats, + HealthHistory, } from '../../../../../../../../common/api/detection_engine/rule_monitoring'; import type { RawData } from '../../../utils/normalization'; @@ -57,7 +57,7 @@ const getRuleExecutionStatsHistoryAggregation = ( export const normalizeRuleHealthAggregationResult = ( result: AggregateEventsBySavedObjectResult, requestAggs: Record -): Omit => { +): Omit => { const aggregations = result.aggregations ?? {}; return { stats_over_interval: normalizeRuleExecutionStatsAggregationResult( @@ -76,7 +76,7 @@ export const normalizeRuleHealthAggregationResult = ( const normalizeHistoryOverInterval = ( aggregations: Record -): StatsHistory => { +): HealthHistory => { const statsHistory = aggregations.statsHistory || {}; return { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/aggregations/rule_execution_stats.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/aggregations/rule_execution_stats.ts index 7c3b595be15654..41513554195864 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/aggregations/rule_execution_stats.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/aggregations/rule_execution_stats.ts @@ -13,7 +13,7 @@ import type { NumberOfDetectedGaps, NumberOfExecutions, NumberOfLoggedMessages, - RuleExecutionStats, + HealthOverviewStats, TopMessages, RuleExecutionStatus, } from '../../../../../../../../common/api/detection_engine/rule_monitoring'; @@ -26,23 +26,33 @@ import { import { DEFAULT_PERCENTILES } from '../../../utils/es_aggregations'; import type { RawData } from '../../../utils/normalization'; import * as f from '../../../event_log/event_log_fields'; +import { + ALERTING_PROVIDER, + RULE_EXECUTION_LOG_PROVIDER, +} from '../../../event_log/event_log_constants'; export type RuleExecutionStatsAggregationLevel = 'whole-interval' | 'histogram'; export const getRuleExecutionStatsAggregation = ( - aggregationContext: RuleExecutionStatsAggregationLevel + aggregationLevel: RuleExecutionStatsAggregationLevel ): Record => { return { - totalExecutions: { - cardinality: { - field: f.RULE_EXECUTION_UUID, - }, - }, executeEvents: { filter: { - term: { [f.EVENT_ACTION]: 'execute' }, + bool: { + filter: [ + { term: { [f.EVENT_PROVIDER]: ALERTING_PROVIDER } }, + { term: { [f.EVENT_ACTION]: 'execute' } }, + { term: { [f.EVENT_CATEGORY]: 'siem' } }, + ], + }, }, aggs: { + totalExecutions: { + cardinality: { + field: f.RULE_EXECUTION_UUID, + }, + }, executionDurationMs: { percentiles: { field: f.RULE_EXECUTION_TOTAL_DURATION_MS, @@ -63,11 +73,8 @@ export const getRuleExecutionStatsAggregation = ( filter: { bool: { filter: [ - { - term: { - [f.EVENT_ACTION]: RuleExecutionEventType['status-change'], - }, - }, + { term: { [f.EVENT_PROVIDER]: RULE_EXECUTION_LOG_PROVIDER } }, + { term: { [f.EVENT_ACTION]: RuleExecutionEventType['status-change'] } }, ], must_not: [ { @@ -91,7 +98,12 @@ export const getRuleExecutionStatsAggregation = ( }, executionMetricsEvents: { filter: { - term: { [f.EVENT_ACTION]: RuleExecutionEventType['execution-metrics'] }, + bool: { + filter: [ + { term: { [f.EVENT_PROVIDER]: RULE_EXECUTION_LOG_PROVIDER } }, + { term: { [f.EVENT_ACTION]: RuleExecutionEventType['execution-metrics'] } }, + ], + }, }, aggs: { gaps: { @@ -126,10 +138,17 @@ export const getRuleExecutionStatsAggregation = ( }, messageContainingEvents: { filter: { - terms: { - [f.EVENT_ACTION]: [ - RuleExecutionEventType['status-change'], - RuleExecutionEventType.message, + bool: { + filter: [ + { term: { [f.EVENT_PROVIDER]: RULE_EXECUTION_LOG_PROVIDER } }, + { + terms: { + [f.EVENT_ACTION]: [ + RuleExecutionEventType['status-change'], + RuleExecutionEventType.message, + ], + }, + }, ], }, }, @@ -139,7 +158,7 @@ export const getRuleExecutionStatsAggregation = ( field: f.LOG_LEVEL, }, }, - ...(aggregationContext === 'whole-interval' + ...(aggregationLevel === 'whole-interval' ? { errors: { filter: { @@ -179,13 +198,13 @@ export const getRuleExecutionStatsAggregation = ( export const normalizeRuleExecutionStatsAggregationResult = ( aggregations: Record, aggregationLevel: RuleExecutionStatsAggregationLevel -): RuleExecutionStats => { - const totalExecutions = aggregations.totalExecutions || {}; +): HealthOverviewStats => { const executeEvents = aggregations.executeEvents || {}; const statusChangeEvents = aggregations.statusChangeEvents || {}; const executionMetricsEvents = aggregations.executionMetricsEvents || {}; const messageContainingEvents = aggregations.messageContainingEvents || {}; + const totalExecutions = executeEvents.totalExecutions || {}; const executionDurationMs = executeEvents.executionDurationMs || {}; const scheduleDelayNs = executeEvents.scheduleDelayNs || {}; const executionsByStatus = statusChangeEvents.executionsByStatus || {}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/event_log_health_client.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/event_log_health_client.ts index f4a164629a618b..a5138885b69f54 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/event_log_health_client.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/event_log/event_log_health_client.ts @@ -5,11 +5,15 @@ * 2.0. */ +import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { Logger } from '@kbn/core/server'; +import { SavedObjectsUtils } from '@kbn/core/server'; import type { KueryNode } from '@kbn/es-query'; import type { IEventLogClient } from '@kbn/event-log-plugin/server'; import type { ClusterHealthParameters, ClusterHealthSnapshot, + HealthInterval, RuleHealthParameters, RuleHealthSnapshot, SpaceHealthParameters, @@ -23,6 +27,7 @@ import { RULE_SAVED_OBJECT_TYPE, } from '../../event_log/event_log_constants'; import { kqlOr } from '../../utils/kql'; +import type { IRuleSpacesClient } from '../rule_spaces/rule_spaces_client'; import { getRuleHealthAggregation, normalizeRuleHealthAggregationResult, @@ -32,78 +37,110 @@ import { * Client for calculating health stats based on events in .kibana-event-log-* index. */ export interface IEventLogHealthClient { + /** + * Returns health stats for a given rule in the current Kibana space. + * Calculates the stats based on events in .kibana-event-log-* index. + */ calculateRuleHealth(args: RuleHealthParameters): Promise; + + /** + * Returns health stats for all rules in the current Kibana space. + * Calculates the stats based on events in .kibana-event-log-* index. + */ calculateSpaceHealth(args: SpaceHealthParameters): Promise; + + /** + * Returns health stats for all rules in all existing Kibana spaces (the whole cluster). + * Calculates the stats based on events in .kibana-event-log-* index. + */ calculateClusterHealth(args: ClusterHealthParameters): Promise; } -type RuleHealth = Omit; -type SpaceHealth = Omit; -type ClusterHealth = Omit; +type RuleHealth = Omit; +type SpaceHealth = Omit; +type ClusterHealth = Omit; -export const createEventLogHealthClient = (eventLog: IEventLogClient): IEventLogHealthClient => { - return { - async calculateRuleHealth(args: RuleHealthParameters): Promise { - const { rule_id: ruleId, interval } = args; - const soType = RULE_SAVED_OBJECT_TYPE; - const soIds = [ruleId]; - const eventProviders = [RULE_EXECUTION_LOG_PROVIDER, ALERTING_PROVIDER]; +export const createEventLogHealthClient = ( + eventLog: IEventLogClient, + ruleSpacesClient: IRuleSpacesClient, + logger: Logger +): IEventLogHealthClient => { + const EVENT_PROVIDERS = [RULE_EXECUTION_LOG_PROVIDER, ALERTING_PROVIDER]; + const EVENT_PROVIDERS_FILTER = `${f.EVENT_PROVIDER}: (${kqlOr(EVENT_PROVIDERS)})`; - const kqlFilter = `${f.EVENT_PROVIDER}:${kqlOr(eventProviders)}`; - const aggs = getRuleHealthAggregation(interval.granularity); + async function aggregateEventsForRules( + ruleIds: string[], + interval: HealthInterval, + aggs: Record + ) { + const soType = RULE_SAVED_OBJECT_TYPE; + const soIds = ruleIds; - const result = await eventLog.aggregateEventsBySavedObjectIds(soType, soIds, { + const result = await eventLog.aggregateEventsBySavedObjectIds(soType, soIds, { + start: interval.from, + end: interval.to, + filter: EVENT_PROVIDERS_FILTER, + aggs, + }); + + return result; + } + + async function aggregateEventsForSpaces( + spaceIds: string[], + interval: HealthInterval, + aggs: Record + ) { + const soType = RULE_SAVED_OBJECT_TYPE; + const authFilter = {} as KueryNode; + + // The `aggregateEventsWithAuthFilter` method accepts "namespace ids" instead of "space ids". + // If you have two Kibana spaces with ids ['default', 'space-x'], + // it will only work properly if you pass [undefined, 'space-x']. + const namespaces = spaceIds.map((spaceId) => SavedObjectsUtils.namespaceStringToId(spaceId)); + + const result = await eventLog.aggregateEventsWithAuthFilter( + soType, + authFilter, + { start: interval.from, end: interval.to, - filter: kqlFilter, + filter: EVENT_PROVIDERS_FILTER, aggs, - }); + }, + namespaces + ); + + return result; + } + + return { + async calculateRuleHealth(args: RuleHealthParameters): Promise { + const { rule_id: ruleId, interval } = args; + const aggs = getRuleHealthAggregation(interval.granularity); + const result = await aggregateEventsForRules([ruleId], interval, aggs); return normalizeRuleHealthAggregationResult(result, aggs); }, async calculateSpaceHealth(args: SpaceHealthParameters): Promise { const { interval } = args; - const soType = RULE_SAVED_OBJECT_TYPE; - const authFilter = {} as KueryNode; - const namespaces = undefined; // means current Kibana space - const eventProviders = [RULE_EXECUTION_LOG_PROVIDER, ALERTING_PROVIDER]; - - const kqlFilter = `${f.EVENT_PROVIDER}:${kqlOr(eventProviders)}`; - const aggs = getRuleHealthAggregation(interval.granularity); - // TODO: https://github.com/elastic/kibana/issues/125642 Check with ResponseOps that this is correct usage of this method - const result = await eventLog.aggregateEventsWithAuthFilter( - soType, - authFilter, - { - start: interval.from, - end: interval.to, - filter: kqlFilter, - aggs, - }, - namespaces - ); + const spaceIds = [ruleSpacesClient.getCurrentSpaceId()]; + const aggs = getRuleHealthAggregation(interval.granularity); + const result = await aggregateEventsForSpaces(spaceIds, interval, aggs); return normalizeRuleHealthAggregationResult(result, aggs); }, async calculateClusterHealth(args: ClusterHealthParameters): Promise { - // TODO: https://github.com/elastic/kibana/issues/125642 Implement - return { - stats_over_interval: { - message: 'Not implemented', - }, - history_over_interval: { - buckets: [], - }, - debug: { - eventLog: { - request: {}, - response: {}, - }, - }, - }; + const { interval } = args; + + const spaceIds = await ruleSpacesClient.getAllSpaceIds(); + + const aggs = getRuleHealthAggregation(interval.granularity); + const result = await aggregateEventsForSpaces(spaceIds, interval, aggs); + return normalizeRuleHealthAggregationResult(result, aggs); }, }; }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/health_stats_for_cluster.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/health_stats_for_cluster.ts new file mode 100644 index 00000000000000..f8596ddb7711c0 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/health_stats_for_cluster.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { ClusterHealthState } from '../../../../../../../../common/api/detection_engine/rule_monitoring'; +import { getRuleStatsAggregation, normalizeRuleStatsAggregation } from './rule_stats'; + +export const getClusterHealthAggregation = (): Record< + string, + estypes.AggregationsAggregationContainer +> => { + return getRuleStatsAggregation(); +}; + +export const normalizeClusterHealthAggregationResult = ( + aggregations: Record | undefined +): ClusterHealthState => { + return normalizeRuleStatsAggregation(aggregations ?? {}); +}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/health_stats_for_space.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/health_stats_for_space.ts index aba4e6153ad34b..1654459e2ea85a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/health_stats_for_space.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/health_stats_for_space.ts @@ -6,7 +6,7 @@ */ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import type { SpaceHealthStatsAtTheMoment } from '../../../../../../../../common/api/detection_engine/rule_monitoring'; +import type { SpaceHealthState } from '../../../../../../../../common/api/detection_engine/rule_monitoring'; import { getRuleStatsAggregation, normalizeRuleStatsAggregation } from './rule_stats'; export const getSpaceHealthAggregation = (): Record< @@ -18,6 +18,6 @@ export const getSpaceHealthAggregation = (): Record< export const normalizeSpaceHealthAggregationResult = ( aggregations: Record -): SpaceHealthStatsAtTheMoment => { +): SpaceHealthState => { return normalizeRuleStatsAggregation(aggregations); }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/rule_stats.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/rule_stats.ts index 35b75fdbd4e7e4..1dc2230909bc33 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/rule_stats.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/aggregations/rule_stats.ts @@ -7,7 +7,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { - RuleStats, + HealthOverviewState, TotalEnabledDisabled, } from '../../../../../../../../common/api/detection_engine/rule_monitoring'; import type { RawData } from '../../../utils/normalization'; @@ -51,7 +51,9 @@ export const getRuleStatsAggregation = (): Record< }; }; -export const normalizeRuleStatsAggregation = (aggregations: Record): RuleStats => { +export const normalizeRuleStatsAggregation = ( + aggregations: Record +): HealthOverviewState => { const rulesByEnabled = aggregations.rulesByEnabled || {}; const rulesByOrigin = aggregations.rulesByOrigin || {}; const rulesByType = aggregations.rulesByType || {}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/filters.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/filters.ts new file mode 100644 index 00000000000000..7acb6e0c5f4c72 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/filters.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const DETECTION_RULES_FILTER = 'alert.attributes.consumer: "siem"'; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/rule_objects_health_client.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/rule_objects_health_client.ts index 0ba0ccdeaf5297..a3d7cb2ed40615 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/rule_objects_health_client.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_objects/rule_objects_health_client.ts @@ -6,6 +6,7 @@ */ import type { RulesClientApi } from '@kbn/alerting-plugin/server/types'; +import type { SavedObjectsClientContract, Logger } from '@kbn/core/server'; import type { ClusterHealthParameters, ClusterHealthSnapshot, @@ -14,6 +15,12 @@ import type { SpaceHealthParameters, SpaceHealthSnapshot, } from '../../../../../../../common/api/detection_engine/rule_monitoring'; +import { RULE_SAVED_OBJECT_TYPE } from '../../event_log/event_log_constants'; +import { DETECTION_RULES_FILTER } from './filters'; +import { + getClusterHealthAggregation, + normalizeClusterHealthAggregationResult, +} from './aggregations/health_stats_for_cluster'; import { getSpaceHealthAggregation, normalizeSpaceHealthAggregationResult, @@ -21,36 +28,57 @@ import { import { fetchRuleById } from './fetch_rule_by_id'; /** - * Client for calculating health stats based on rule saved objects. + * Client for calculating health stats based on rule objects (saved objects of type "alert"). */ export interface IRuleObjectsHealthClient { + /** + * Returns health stats for a given rule in the current Kibana space. + * Calculates the stats based on rule objects. + */ calculateRuleHealth(args: RuleHealthParameters): Promise; + + /** + * Returns health stats for all rules in the current Kibana space. + * Calculates the stats based on rule objects. + */ calculateSpaceHealth(args: SpaceHealthParameters): Promise; + + /** + * Returns health stats for all rules in all existing Kibana spaces (the whole cluster). + * Calculates the stats based on rule objects. + */ calculateClusterHealth(args: ClusterHealthParameters): Promise; } -type RuleHealth = Pick; -type SpaceHealth = Pick; -type ClusterHealth = Pick; +type RuleHealth = Pick; +type SpaceHealth = Pick; +type ClusterHealth = Pick; export const createRuleObjectsHealthClient = ( - rulesClient: RulesClientApi + rulesClient: RulesClientApi, + internalSavedObjectsClient: SavedObjectsClientContract, + logger: Logger ): IRuleObjectsHealthClient => { return { async calculateRuleHealth(args: RuleHealthParameters): Promise { const rule = await fetchRuleById(rulesClient, args.rule_id); return { - stats_at_the_moment: { rule }, + state_at_the_moment: { rule }, debug: {}, }; }, async calculateSpaceHealth(args: SpaceHealthParameters): Promise { const aggs = getSpaceHealthAggregation(); - const aggregations = await rulesClient.aggregate({ aggs }); + const aggregations = await rulesClient.aggregate({ + options: { + filter: DETECTION_RULES_FILTER, // make sure to query only detection rules + }, + aggs, + }); return { - stats_at_the_moment: normalizeSpaceHealthAggregationResult(aggregations), + state_at_the_moment: normalizeSpaceHealthAggregationResult(aggregations), debug: { rulesClient: { request: { aggs }, @@ -61,35 +89,21 @@ export const createRuleObjectsHealthClient = ( }, async calculateClusterHealth(args: ClusterHealthParameters): Promise { - // TODO: https://github.com/elastic/kibana/issues/125642 Implement + const aggs = getClusterHealthAggregation(); + const response = await internalSavedObjectsClient.find>({ + type: RULE_SAVED_OBJECT_TYPE, // query rules + filter: DETECTION_RULES_FILTER, // make sure to query only detection rules + namespaces: ['*'], // aggregate rules in all Kibana spaces + perPage: 0, // don't return rules in the response, we only need aggs + aggs, + }); + return { - stats_at_the_moment: { - number_of_rules: { - all: { - total: 0, - enabled: 0, - disabled: 0, - }, - by_origin: { - prebuilt: { - total: 0, - enabled: 0, - disabled: 0, - }, - custom: { - total: 0, - enabled: 0, - disabled: 0, - }, - }, - by_type: {}, - by_outcome: {}, - }, - }, + state_at_the_moment: normalizeClusterHealthAggregationResult(response.aggregations), debug: { - rulesClient: { - request: {}, - response: {}, + savedObjectsClient: { + request: { aggs }, + response, }, }, }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_spaces/aggregations/spaces.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_spaces/aggregations/spaces.ts new file mode 100644 index 00000000000000..bae44b17c2f923 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_spaces/aggregations/spaces.ts @@ -0,0 +1,48 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { RawData } from '../../../utils/normalization'; + +// The number of Kibana spaces is limited by the `maxSpaces` config setting of the spaces plugin. +// At the time of writing this comment, `maxSpaces` defaults to 1000. +// So in normal conditions there can't exist more than 1000 Kibana spaces. +// +// However, we set `MAX_KIBANA_SPACES` to a higher value to handle rare cases when there are more +// than 1000 spaces in a cluster. Hopefully it will cover 99.(9)% of use cases. +// +// In the rest of the edge cases, we will be missing some spaces, but the effect of this will be +// limited by the fact that the aggregation below will sort spaces desc by rules count in them. +// It will return spaces with most of the existing rules, and will not return spaces with fewer +// number of rules. Hopefully, we will miss only spaces with very few rules. This should be +// acceptable because the goal of getting all space ids in the rule monitoring subdomain is to be +// able to aggregate health metrics for those spaces. It's unlikely that spaces with very few rules +// will have a major impact on health and performance metrics of the whole cluster. +const MAX_KIBANA_SPACES = 10_000; + +export const getSpacesAggregation = (): Record< + string, + estypes.AggregationsAggregationContainer +> => { + return { + rulesBySpace: { + terms: { + field: 'alert.namespaces', + size: MAX_KIBANA_SPACES, + }, + }, + }; +}; + +export const normalizeSpacesAggregation = ( + aggregations: Record | undefined +): string[] => { + const rulesBySpace: RawData = aggregations?.rulesBySpace || {}; + const buckets: RawData[] = rulesBySpace.buckets || []; + const spaceIds = buckets.map((b: RawData) => String(b.key)); + return spaceIds; +}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_spaces/rule_spaces_client.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_spaces/rule_spaces_client.ts new file mode 100644 index 00000000000000..726d30b5187647 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/detection_engine_health/rule_spaces/rule_spaces_client.ts @@ -0,0 +1,51 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { SavedObjectsClientContract, Logger } from '@kbn/core/server'; +import { RULE_SAVED_OBJECT_TYPE } from '../../event_log/event_log_constants'; +import { DETECTION_RULES_FILTER } from '../rule_objects/filters'; +import { getSpacesAggregation, normalizeSpacesAggregation } from './aggregations/spaces'; + +/** + * Client for getting information about Kibana spaces in the context of detection rules. + */ +export interface IRuleSpacesClient { + /** + * Returns id of the current Kibana space (associated with the current HTTP request). + */ + getCurrentSpaceId(): string; + + /** + * Returns ids of all Kibana spaces where at least one detection rule exists. + */ + getAllSpaceIds(): Promise; +} + +export const createRuleSpacesClient = ( + currentSpaceId: string, + internalSavedObjectsClient: SavedObjectsClientContract, + logger: Logger +): IRuleSpacesClient => { + return { + getCurrentSpaceId(): string { + return currentSpaceId; + }, + + async getAllSpaceIds(): Promise { + const aggs = getSpacesAggregation(); + const response = await internalSavedObjectsClient.find>({ + type: RULE_SAVED_OBJECT_TYPE, // query rules + filter: DETECTION_RULES_FILTER, // make sure to query only detection rules + namespaces: ['*'], // aggregate rules in all Kibana spaces + perPage: 0, // don't return rules in the response, we only need aggs + aggs, + }); + + return normalizeSpacesAggregation(response.aggregations); + }, + }; +}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/event_log/event_log_fields.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/event_log/event_log_fields.ts index 06e631dece638a..8c47d669c2a2c1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/event_log/event_log_fields.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/event_log/event_log_fields.ts @@ -13,6 +13,7 @@ export const TIMESTAMP = `@timestamp` as const; export const MESSAGE = 'message' as const; export const EVENT_PROVIDER = 'event.provider' as const; export const EVENT_ACTION = 'event.action' as const; +export const EVENT_CATEGORY = 'event.category' as const; export const EVENT_SEQUENCE = 'event.sequence' as const; export const LOG_LEVEL = 'log.level' as const; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/service.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/service.ts index b2381d3dbcf267..c92fe66f9cebf0 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/service.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/service.ts @@ -27,6 +27,7 @@ import { registerEventLogProvider } from './event_log/register_event_log_provide import { createDetectionEngineHealthClient } from './detection_engine_health/detection_engine_health_client'; import { createEventLogHealthClient } from './detection_engine_health/event_log/event_log_health_client'; import { createRuleObjectsHealthClient } from './detection_engine_health/rule_objects/rule_objects_health_client'; +import { createRuleSpacesClient } from './detection_engine_health/rule_spaces/rule_spaces_client'; import { createEventLogReader } from './rule_execution_log/event_log/event_log_reader'; import { createEventLogWriter } from './rule_execution_log/event_log/event_log_writer'; import { fetchRuleExecutionSettings } from './rule_execution_log/execution_settings/fetch_rule_execution_settings'; @@ -71,23 +72,43 @@ export const createRuleMonitoringService = ( const { rulesClient, eventLogClient, currentSpaceId } = params; const { savedObjects } = coreStart; - const ruleObjectsHealthClient = createRuleObjectsHealthClient(rulesClient); - const eventLogHealthClient = createEventLogHealthClient(eventLogClient); - - // Create an importer that can import saved objects on behalf of the internal Kibana user. - // This is important because we want to let users with access to Security Solution - // to be able to install our internal assets like rule monitoring dashboard without - // the need to configure the additional `Saved Objects Management: All` privilege. - const savedObjectsRepository = savedObjects.createInternalRepository(); - const savedObjectsClient = new SavedObjectsClient(savedObjectsRepository); - const savedObjectsImporter = savedObjects.createImporter(savedObjectsClient); + // Create a saved objects client and an importer that can work with saved objects on behalf + // of the internal Kibana user. This is important because we want to let users with access + // to only Security Solution to be able to: + // 1. Install our internal assets like rule monitoring dashboard without the need to + // configure the additional `Saved Objects Management: All` privilege. + // 2. Aggregate rules in all Kibana spaces to get a health overview of the whole cluster - + // without having explicit access to every existing space. + const internalSavedObjectsRepository = savedObjects.createInternalRepository([ + // Note: we include the "alert" hidden SO type here otherwise we would not be able to query it. + // If at some point it is not considered a hidden type this can be removed. + 'alert', + ]); + const internalSavedObjectsClient = new SavedObjectsClient(internalSavedObjectsRepository); + const internalSavedObjectsImporter = savedObjects.createImporter(internalSavedObjectsClient); + + const ruleSpacesClient = createRuleSpacesClient( + currentSpaceId, + internalSavedObjectsClient, + logger + ); + const ruleObjectsHealthClient = createRuleObjectsHealthClient( + rulesClient, + internalSavedObjectsClient, + logger + ); + const eventLogHealthClient = createEventLogHealthClient( + eventLogClient, + ruleSpacesClient, + logger + ); return createDetectionEngineHealthClient( + ruleSpacesClient, ruleObjectsHealthClient, eventLogHealthClient, - savedObjectsImporter, - logger, - currentSpaceId + internalSavedObjectsImporter, + logger ); }, From e8c0942672a7f1591529b3dc75b4f01c1be326fe Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Tue, 3 Oct 2023 23:27:27 +0200 Subject: [PATCH 18/35] [ML] Update ELSER version for Elastic Assistant (#167522) ## Summary Update Elastic Assistant to utilize a new version of ELSER. ### Checklist - [ ] [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-pack/plugins/elastic_assistant/kibana.jsonc | 3 +- .../execute_custom_llm_chain/index.ts | 3 +- .../server/lib/langchain/executors/types.ts | 1 + .../elastic_assistant/server/plugin.ts | 17 +++++-- .../server/routes/knowledge_base/constants.ts | 2 - .../get_knowledge_base_status.test.ts | 4 +- .../get_knowledge_base_status.ts | 17 +++---- .../post_knowledge_base.test.ts | 4 +- .../knowledge_base/post_knowledge_base.ts | 16 +++++-- .../post_actions_connector_execute.test.ts | 10 ++++- .../routes/post_actions_connector_execute.ts | 9 ++-- .../plugins/elastic_assistant/server/types.ts | 14 +++++- .../plugins/elastic_assistant/tsconfig.json | 1 + .../__mocks__/routerDependencies.mock.ts | 8 ++-- .../routes/enterprise_search/indices.test.ts | 45 +++++++------------ .../routes/enterprise_search/indices.ts | 2 +- x-pack/plugins/ml/server/mocks.ts | 2 + .../providers/__mocks__/trained_models.ts | 19 ++++++-- .../providers/trained_models.ts | 5 ++- 19 files changed, 114 insertions(+), 68 deletions(-) diff --git a/x-pack/plugins/elastic_assistant/kibana.jsonc b/x-pack/plugins/elastic_assistant/kibana.jsonc index d7518cf600983a..395da30fcf3595 100644 --- a/x-pack/plugins/elastic_assistant/kibana.jsonc +++ b/x-pack/plugins/elastic_assistant/kibana.jsonc @@ -9,7 +9,8 @@ "browser": false, "requiredPlugins": [ "actions", - "data" + "data", + "ml" ] } } diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts index 3363a8e824729d..e1f0ed100e5acf 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts @@ -23,6 +23,7 @@ export const callAgentExecutor = async ({ llmType, logger, request, + elserId, }: AgentExecutorParams): AgentExecutorResponse => { const llm = new ActionsClientLlm({ actions, connectorId, request, llmType, logger }); @@ -38,7 +39,7 @@ export const callAgentExecutor = async ({ }); // ELSER backed ElasticsearchStore for Knowledge Base - const esStore = new ElasticsearchStore(esClient, KNOWLEDGE_BASE_INDEX_PATTERN, logger); + const esStore = new ElasticsearchStore(esClient, KNOWLEDGE_BASE_INDEX_PATTERN, logger, elserId); const chain = RetrievalQAChain.fromLLM(llm, esStore.asRetriever()); const tools: Tool[] = [ diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts index 3faa7ceaf0ebfe..e1e2817ee17a19 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts @@ -20,6 +20,7 @@ export interface AgentExecutorParams { llmType?: string; logger: Logger; request: KibanaRequest; + elserId?: string; } export type AgentExecutorResponse = Promise; diff --git a/x-pack/plugins/elastic_assistant/server/plugin.ts b/x-pack/plugins/elastic_assistant/server/plugin.ts index 797448fa88d55d..dbe32ebe16efc9 100755 --- a/x-pack/plugins/elastic_assistant/server/plugin.ts +++ b/x-pack/plugins/elastic_assistant/server/plugin.ts @@ -12,7 +12,10 @@ import { Plugin, Logger, IContextProvider, + KibanaRequest, + SavedObjectsClientContract, } from '@kbn/core/server'; +import { once } from 'lodash'; import { ElasticAssistantPluginSetup, @@ -20,6 +23,7 @@ import { ElasticAssistantPluginStart, ElasticAssistantPluginStartDependencies, ElasticAssistantRequestHandlerContext, + GetElser, } from './types'; import { deleteKnowledgeBaseRoute, @@ -73,12 +77,19 @@ export class ElasticAssistantPlugin ) ); + const getElserId: GetElser = once( + async (request: KibanaRequest, savedObjectsClient: SavedObjectsClientContract) => { + return (await plugins.ml.trainedModelsProvider(request, savedObjectsClient).getELSER()) + .name; + } + ); + // Knowledge Base deleteKnowledgeBaseRoute(router); - getKnowledgeBaseStatusRoute(router); - postKnowledgeBaseRoute(router); + getKnowledgeBaseStatusRoute(router, getElserId); + postKnowledgeBaseRoute(router, getElserId); // Actions Connector Execute (LLM Wrapper) - postActionsConnectorExecuteRoute(router); + postActionsConnectorExecuteRoute(router, getElserId); // Evaluate postEvaluateRoute(router); return { diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/constants.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/constants.ts index 9b20be8ca9867a..640f72089ebadf 100644 --- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/constants.ts +++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/constants.ts @@ -5,8 +5,6 @@ * 2.0. */ -// Note: using default ELSER model ID so when setup by user in UI, all defaults can be accepted and everything works -export const ELSER_MODEL_ID = '.elser_model_1'; export const MODEL_EVALUATION_RESULTS_INDEX_PATTERN = '.kibana-elastic-ai-assistant-evaluation-results'; export const KNOWLEDGE_BASE_INDEX_PATTERN = '.kibana-elastic-ai-assistant-kb'; diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.test.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.test.ts index 72f9659fe8d988..f37f2a3ab2882a 100644 --- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.test.ts +++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.test.ts @@ -18,11 +18,13 @@ describe('Get Knowledge Base Status Route', () => { clients.core.elasticsearch.client = elasticsearchServiceMock.createScopedClusterClient(); + const mockGetElser = jest.fn().mockResolvedValue('.elser_model_2'); + beforeEach(() => { server = serverMock.create(); ({ context } = requestContextMock.createTools()); - getKnowledgeBaseStatusRoute(server.router); + getKnowledgeBaseStatusRoute(server.router, mockGetElser); }); describe('Status codes', () => { diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.ts index 568462c352b872..8162ef3bdbd67f 100644 --- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.ts +++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.ts @@ -7,20 +7,14 @@ import { IRouter } from '@kbn/core/server'; import { transformError } from '@kbn/securitysolution-es-utils'; - import type { GetKnowledgeBaseStatusResponse } from '@kbn/elastic-assistant'; import { buildResponse } from '../../lib/build_response'; import { buildRouteValidation } from '../../schemas/common'; -import { ElasticAssistantRequestHandlerContext } from '../../types'; +import { ElasticAssistantRequestHandlerContext, GetElser } from '../../types'; import { KNOWLEDGE_BASE } from '../../../common/constants'; import { GetKnowledgeBaseStatusPathParams } from '../../schemas/knowledge_base/get_knowledge_base_status'; import { ElasticsearchStore } from '../../lib/langchain/elasticsearch_store/elasticsearch_store'; -import { - ELSER_MODEL_ID, - ESQL_DOCS_LOADED_QUERY, - ESQL_RESOURCE, - KNOWLEDGE_BASE_INDEX_PATTERN, -} from './constants'; +import { ESQL_DOCS_LOADED_QUERY, ESQL_RESOURCE, KNOWLEDGE_BASE_INDEX_PATTERN } from './constants'; /** * Get the status of the Knowledge Base index, pipeline, and resources (collection of documents) @@ -28,7 +22,8 @@ import { * @param router IRouter for registering routes */ export const getKnowledgeBaseStatusRoute = ( - router: IRouter + router: IRouter, + getElser: GetElser ) => { router.get( { @@ -56,7 +51,9 @@ export const getKnowledgeBaseStatusRoute = ( const indexExists = await esStore.indexExists(); const pipelineExists = await esStore.pipelineExists(); - const modelExists = await esStore.isModelInstalled(ELSER_MODEL_ID); + + const elserId = await getElser(request, (await context.core).savedObjects.getClient()); + const modelExists = await esStore.isModelInstalled(elserId); const body: GetKnowledgeBaseStatusResponse = { elser_exists: modelExists, diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.test.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.test.ts index 56383438cdb2e6..ceb5f1b3879f63 100644 --- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.test.ts +++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.test.ts @@ -18,11 +18,13 @@ describe('Post Knowledge Base Route', () => { clients.core.elasticsearch.client = elasticsearchServiceMock.createScopedClusterClient(); + const mockGetElser = jest.fn().mockResolvedValue('.elser_model_2'); + beforeEach(() => { server = serverMock.create(); ({ context } = requestContextMock.createTools()); - postKnowledgeBaseRoute(server.router); + postKnowledgeBaseRoute(server.router, mockGetElser); }); describe('Status codes', () => { diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.ts index 651817a97e4498..580c03e23a0cc3 100644 --- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.ts +++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.ts @@ -7,10 +7,9 @@ import { IRouter } from '@kbn/core/server'; import { transformError } from '@kbn/securitysolution-es-utils'; - import { buildResponse } from '../../lib/build_response'; import { buildRouteValidation } from '../../schemas/common'; -import { ElasticAssistantRequestHandlerContext } from '../../types'; +import { ElasticAssistantRequestHandlerContext, GetElser } from '../../types'; import { KNOWLEDGE_BASE } from '../../../common/constants'; import { ElasticsearchStore } from '../../lib/langchain/elasticsearch_store/elasticsearch_store'; import { ESQL_DOCS_LOADED_QUERY, ESQL_RESOURCE, KNOWLEDGE_BASE_INDEX_PATTERN } from './constants'; @@ -21,7 +20,10 @@ import { loadESQL } from '../../lib/langchain/content_loaders/esql_loader'; * Load Knowledge Base index, pipeline, and resources (collection of documents) * @param router */ -export const postKnowledgeBaseRoute = (router: IRouter) => { +export const postKnowledgeBaseRoute = ( + router: IRouter, + getElser: GetElser +) => { router.post( { path: KNOWLEDGE_BASE, @@ -44,7 +46,13 @@ export const postKnowledgeBaseRoute = (router: IRouter ({ buildResponse: jest.fn().mockImplementation((x) => x), @@ -54,6 +55,7 @@ const mockContext = { elasticsearch: { client: elasticsearchServiceMock.createScopedClusterClient(), }, + savedObjects: coreMock.createRequestHandlerContext().savedObjects, }, }; @@ -89,6 +91,8 @@ const mockResponse = { }; describe('postActionsConnectorExecuteRoute', () => { + const mockGetElser = jest.fn().mockResolvedValue('.elser_model_2'); + beforeEach(() => { jest.clearAllMocks(); }); @@ -109,7 +113,8 @@ describe('postActionsConnectorExecuteRoute', () => { }; await postActionsConnectorExecuteRoute( - mockRouter as unknown as IRouter + mockRouter as unknown as IRouter, + mockGetElser ); }); @@ -131,7 +136,8 @@ describe('postActionsConnectorExecuteRoute', () => { }; await postActionsConnectorExecuteRoute( - mockRouter as unknown as IRouter + mockRouter as unknown as IRouter, + mockGetElser ); }); }); diff --git a/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts b/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts index 0ff90c5fa3ca6f..8f620dac06faa9 100644 --- a/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts +++ b/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts @@ -7,7 +7,6 @@ import { IRouter, Logger } from '@kbn/core/server'; import { transformError } from '@kbn/securitysolution-es-utils'; - import { POST_ACTIONS_CONNECTOR_EXECUTE } from '../../common/constants'; import { getLangChainMessages } from '../lib/langchain/helpers'; import { buildResponse } from '../lib/build_response'; @@ -16,11 +15,12 @@ import { PostActionsConnectorExecuteBody, PostActionsConnectorExecutePathParams, } from '../schemas/post_actions_connector_execute'; -import { ElasticAssistantRequestHandlerContext } from '../types'; +import { ElasticAssistantRequestHandlerContext, GetElser } from '../types'; import { callAgentExecutor } from '../lib/langchain/execute_custom_llm_chain'; export const postActionsConnectorExecuteRoute = ( - router: IRouter + router: IRouter, + getElser: GetElser ) => { router.post( { @@ -48,6 +48,8 @@ export const postActionsConnectorExecuteRoute = ( request.body.params.subActionParams.messages ); + const elserId = await getElser(request, (await context.core).savedObjects.getClient()); + const langChainResponseBody = await callAgentExecutor({ actions, connectorId, @@ -55,6 +57,7 @@ export const postActionsConnectorExecuteRoute = ( langChainMessages, logger, request, + elserId, }); return response.ok({ diff --git a/x-pack/plugins/elastic_assistant/server/types.ts b/x-pack/plugins/elastic_assistant/server/types.ts index ed3765737a2875..ed9081c0844208 100755 --- a/x-pack/plugins/elastic_assistant/server/types.ts +++ b/x-pack/plugins/elastic_assistant/server/types.ts @@ -9,7 +9,13 @@ import type { PluginSetupContract as ActionsPluginSetup, PluginStartContract as ActionsPluginStart, } from '@kbn/actions-plugin/server'; -import { CustomRequestHandlerContext, Logger } from '@kbn/core/server'; +import type { + CustomRequestHandlerContext, + KibanaRequest, + Logger, + SavedObjectsClientContract, +} from '@kbn/core/server'; +import { type MlPluginSetup } from '@kbn/ml-plugin/server'; /** The plugin setup interface */ export interface ElasticAssistantPluginSetup { @@ -23,6 +29,7 @@ export interface ElasticAssistantPluginStart { export interface ElasticAssistantPluginSetupDependencies { actions: ActionsPluginSetup; + ml: MlPluginSetup; } export interface ElasticAssistantPluginStartDependencies { actions: ActionsPluginStart; @@ -39,3 +46,8 @@ export interface ElasticAssistantApiRequestHandlerContext { export type ElasticAssistantRequestHandlerContext = CustomRequestHandlerContext<{ elasticAssistant: ElasticAssistantApiRequestHandlerContext; }>; + +export type GetElser = ( + request: KibanaRequest, + savedObjectsClient: SavedObjectsClientContract +) => Promise | never; diff --git a/x-pack/plugins/elastic_assistant/tsconfig.json b/x-pack/plugins/elastic_assistant/tsconfig.json index 7468ee5faa882e..45dec8428e8cce 100644 --- a/x-pack/plugins/elastic_assistant/tsconfig.json +++ b/x-pack/plugins/elastic_assistant/tsconfig.json @@ -31,6 +31,7 @@ "@kbn/logging", "@kbn/std", "@kbn/stack-connectors-plugin", + "@kbn/ml-plugin", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/enterprise_search/server/__mocks__/routerDependencies.mock.ts b/x-pack/plugins/enterprise_search/server/__mocks__/routerDependencies.mock.ts index 1f4c66e83234a2..623b851b9ab7ce 100644 --- a/x-pack/plugins/enterprise_search/server/__mocks__/routerDependencies.mock.ts +++ b/x-pack/plugins/enterprise_search/server/__mocks__/routerDependencies.mock.ts @@ -7,6 +7,8 @@ import { loggingSystemMock } from '@kbn/core/server/mocks'; +import { mlPluginServerMock } from '@kbn/ml-plugin/server/mocks'; + import { ConfigType } from '..'; export const mockLogger = loggingSystemMock.createLogger().get(); @@ -18,9 +20,7 @@ export const mockRequestHandler = { }, }; -export const mockMl = { - trainedModelsProvider: jest.fn(), -}; +export const mockMl = mlPluginServerMock.createSetupContract(); export const mockConfig = { host: 'http://localhost:3002', @@ -38,5 +38,5 @@ export const mockDependencies = { config: mockConfig, log: mockLogger, enterpriseSearchRequestHandler: mockRequestHandler as any, - ml: mockMl as any, + ml: mockMl, }; diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.test.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.test.ts index f285a309fb53eb..da44f155c9774a 100644 --- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.test.ts +++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.test.ts @@ -7,9 +7,14 @@ import { MockRouter, mockDependencies } from '../../__mocks__'; -import { RequestHandlerContext } from '@kbn/core/server'; +import type { + KibanaRequest, + RequestHandlerContext, + SavedObjectsClientContract, +} from '@kbn/core/server'; import type { MlPluginSetup, MlTrainedModels } from '@kbn/ml-plugin/server'; +import { mlPluginServerMock } from '@kbn/ml-plugin/server/mocks'; import { ErrorCode } from '../../../common/types/error_codes'; @@ -181,20 +186,13 @@ describe('Enterprise Search Managed Indices', () => { path: '/internal/enterprise_search/indices/{indexName}/ml_inference/pipeline_processors', }); - mockTrainedModelsProvider = { - getTrainedModels: jest.fn(), - getTrainedModelsStats: jest.fn(), - startTrainedModelDeployment: jest.fn(), - stopTrainedModelDeployment: jest.fn(), - inferTrainedModel: jest.fn(), - deleteTrainedModel: jest.fn(), - updateTrainedModelDeployment: jest.fn(), - putTrainedModel: jest.fn(), - } as MlTrainedModels; + mockMl = mlPluginServerMock.createSetupContract(); + mockTrainedModelsProvider = mockMl.trainedModelsProvider( + {} as KibanaRequest, + {} as SavedObjectsClientContract + ); - mockMl = { - trainedModelsProvider: () => Promise.resolve(mockTrainedModelsProvider), - } as unknown as jest.Mocked; + mlPluginServerMock.createSetupContract(); registerIndexRoutes({ ...mockDependencies, @@ -1007,20 +1005,11 @@ describe('Enterprise Search Managed Indices', () => { path: '/internal/enterprise_search/pipelines/ml_inference', }); - mockTrainedModelsProvider = { - getTrainedModels: jest.fn(), - getTrainedModelsStats: jest.fn(), - startTrainedModelDeployment: jest.fn(), - stopTrainedModelDeployment: jest.fn(), - inferTrainedModel: jest.fn(), - deleteTrainedModel: jest.fn(), - updateTrainedModelDeployment: jest.fn(), - putTrainedModel: jest.fn(), - } as MlTrainedModels; - - mockMl = { - trainedModelsProvider: () => Promise.resolve(mockTrainedModelsProvider), - } as unknown as jest.Mocked; + mockMl = mlPluginServerMock.createSetupContract(); + mockTrainedModelsProvider = mockMl.trainedModelsProvider( + {} as KibanaRequest, + {} as SavedObjectsClientContract + ); registerIndexRoutes({ ...mockDependencies, diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts index cc031bd3ef684a..a43846aafab6a0 100644 --- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts +++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts @@ -394,7 +394,7 @@ export function registerIndexRoutes({ savedObjects: { client: savedObjectsClient }, } = await context.core; const trainedModelsProvider = ml - ? await ml.trainedModelsProvider(request, savedObjectsClient) + ? ml.trainedModelsProvider(request, savedObjectsClient) : undefined; const mlInferencePipelineProcessorConfigs = await fetchMlInferencePipelineProcessors( diff --git a/x-pack/plugins/ml/server/mocks.ts b/x-pack/plugins/ml/server/mocks.ts index 93a2180efa4caa..fe2fa1d915bfe5 100644 --- a/x-pack/plugins/ml/server/mocks.ts +++ b/x-pack/plugins/ml/server/mocks.ts @@ -4,6 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { createTrainedModelsProviderMock } from './shared_services/providers/__mocks__/trained_models'; import { createJobServiceProviderMock } from './shared_services/providers/__mocks__/jobs_service'; import { createAnomalyDetectorsProviderMock } from './shared_services/providers/__mocks__/anomaly_detectors'; import { createMockMlSystemProvider } from './shared_services/providers/__mocks__/system'; @@ -20,6 +21,7 @@ const createSetupContract = () => modulesProvider: createModulesProviderMock(), resultsServiceProvider: createResultsServiceProviderMock(), alertingServiceProvider: createAlertingServiceProviderMock(), + trainedModelsProvider: createTrainedModelsProviderMock(), } as unknown as jest.Mocked); const createStartContract = () => jest.fn(); diff --git a/x-pack/plugins/ml/server/shared_services/providers/__mocks__/trained_models.ts b/x-pack/plugins/ml/server/shared_services/providers/__mocks__/trained_models.ts index 726457ed7981d8..9af448058ce83f 100644 --- a/x-pack/plugins/ml/server/shared_services/providers/__mocks__/trained_models.ts +++ b/x-pack/plugins/ml/server/shared_services/providers/__mocks__/trained_models.ts @@ -5,8 +5,19 @@ * 2.0. */ +import { TrainedModels } from '../../../shared'; + +const trainedModelsServiceMock = { + getTrainedModels: jest.fn().mockResolvedValue([]), + getTrainedModelsStats: jest.fn().mockResolvedValue([]), + startTrainedModelDeployment: jest.fn(), + stopTrainedModelDeployment: jest.fn(), + inferTrainedModel: jest.fn(), + deleteTrainedModel: jest.fn(), + updateTrainedModelDeployment: jest.fn(), + putTrainedModel: jest.fn(), + getELSER: jest.fn().mockResolvedValue({ name: '' }), +} as jest.Mocked; + export const createTrainedModelsProviderMock = () => - jest.fn(() => ({ - getTrainedModels: jest.fn(), - getTrainedModelStats: jest.fn(), - })); + jest.fn().mockReturnValue(trainedModelsServiceMock); diff --git a/x-pack/plugins/ml/server/shared_services/providers/trained_models.ts b/x-pack/plugins/ml/server/shared_services/providers/trained_models.ts index b884edd99c22dc..9add1bd0799173 100644 --- a/x-pack/plugins/ml/server/shared_services/providers/trained_models.ts +++ b/x-pack/plugins/ml/server/shared_services/providers/trained_models.ts @@ -8,7 +8,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { CloudSetup } from '@kbn/cloud-plugin/server'; import type { KibanaRequest, SavedObjectsClientContract } from '@kbn/core/server'; -import type { GetElserOptions } from '@kbn/ml-trained-models-utils'; +import type { GetElserOptions, ModelDefinitionResponse } from '@kbn/ml-trained-models-utils'; import type { MlInferTrainedModelRequest, MlStopTrainedModelDeploymentRequest, @@ -47,6 +47,7 @@ export interface TrainedModelsProvider { putTrainedModel( params: estypes.MlPutTrainedModelRequest ): Promise; + getELSER(params?: GetElserOptions): Promise; }; } @@ -122,7 +123,7 @@ export function getTrainedModelsProvider( return mlClient.putTrainedModel(params); }); }, - async getELSER(params: GetElserOptions) { + async getELSER(params?: GetElserOptions) { return await guards .isFullLicense() .hasMlCapabilities(['canGetTrainedModels']) From 7eb21f7190edbabe9dba870d8919d6fce4bfbe81 Mon Sep 17 00:00:00 2001 From: Catherine Liu Date: Tue, 3 Oct 2023 14:32:31 -0700 Subject: [PATCH 19/35] [Controls] Support date fields in options list (#164362) ## Summary Closes https://github.com/elastic/kibana/issues/152376. Screenshot 2023-08-31 at 1 20 33 PM This adds date field support to the options list control. There will not be support for searching the options list with a date string due to limitations with querying a date field with a string. I attempted to get wildcard searching to work with date fields, but it required adding a runtime field to the query which significantly impacted performance on large datasets. Sorting is available by doc count or by date value for date fields. Screenshot 2023-08-31 at 1 31 01 PM ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### Risk Matrix Delete this section if it is not applicable to this PR. Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release. When forming the risk matrix, consider some of the following examples and how they may potentially impact the change: | Risk | Probability | Severity | Mitigation/Notes | |---------------------------|-------------|----------|-------------------------| | Multiple Spaces—unexpected behavior in non-default Kibana Space. | Low | High | Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces. | | Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. | High | Low | Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure. | | Code should gracefully handle cases when feature X or plugin Y are disabled. | Medium | High | Unit tests will verify that any feature flag or plugin combination still results in our service operational. | | [See more potential risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) | ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Andrea Del Rio --- .../controls/common/options_list/types.ts | 2 +- .../public/hooks/use_field_formatter.ts | 41 +++ .../options_list/components/options_list.scss | 18 +- .../components/options_list_control.tsx | 30 +- .../options_list_editor_options.tsx | 2 +- .../components/options_list_popover.test.tsx | 12 + .../options_list_popover_action_bar.tsx | 45 ++- ...ptions_list_popover_invalid_selections.tsx | 12 +- .../options_list_popover_sorting_button.tsx | 34 +- .../options_list_popover_suggestions.tsx | 9 +- .../components/options_list_strings.ts | 24 +- .../embeddable/options_list_embeddable.tsx | 4 +- .../options_list_embeddable_factory.tsx | 5 +- .../range_slider/components/range_slider.scss | 2 +- .../components/range_slider_control.tsx | 23 +- .../public/time_slider/components/index.scss | 2 +- .../components/time_slider_popover_button.tsx | 2 +- ...ions_list_cheap_suggestion_queries.test.ts | 301 +++++++++++------- .../options_list_cheap_suggestion_queries.ts | 5 +- ..._list_expensive_suggestion_queries.test.ts | 165 ++++++++-- ...tions_list_expensive_suggestion_queries.ts | 3 +- .../options_list_suggestions_route.ts | 4 +- .../options_list_validation_queries.ts | 2 +- 23 files changed, 513 insertions(+), 234 deletions(-) create mode 100644 src/plugins/controls/public/hooks/use_field_formatter.ts diff --git a/src/plugins/controls/common/options_list/types.ts b/src/plugins/controls/common/options_list/types.ts index 5ab0523712171f..460f7df080a889 100644 --- a/src/plugins/controls/common/options_list/types.ts +++ b/src/plugins/controls/common/options_list/types.ts @@ -84,7 +84,7 @@ export interface OptionsListRequestBody { allowExpensiveQueries: boolean; sort?: OptionsListSortingType; filters?: Array<{ bool: BoolQuery }>; - selectedOptions?: string[]; + selectedOptions?: Array; runPastTimeout?: boolean; searchString?: string; fieldSpec?: FieldSpec; diff --git a/src/plugins/controls/public/hooks/use_field_formatter.ts b/src/plugins/controls/public/hooks/use_field_formatter.ts new file mode 100644 index 00000000000000..5485be0bb1b23a --- /dev/null +++ b/src/plugins/controls/public/hooks/use_field_formatter.ts @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { FieldSpec } from '@kbn/data-views-plugin/common'; +import { useEffect, useState } from 'react'; +import { pluginServices } from '../services'; + +export const useFieldFormatter = ({ + dataViewId, + fieldSpec, +}: { + dataViewId?: string; + fieldSpec?: FieldSpec; +}) => { + const { + dataViews: { get: getDataViewById }, + } = pluginServices.getServices(); + const [fieldFormatter, setFieldFormatter] = useState(() => (toFormat: string) => toFormat); + + /** + * derive field formatter from fieldSpec and dataViewId + */ + useEffect(() => { + (async () => { + if (!dataViewId || !fieldSpec) return; + // dataViews are cached, and should always be available without having to hit ES. + const dataView = await getDataViewById(dataViewId); + setFieldFormatter( + () => + dataView?.getFormatterForField(fieldSpec).getConverterFor('text') ?? + ((toFormat: string) => toFormat) + ); + })(); + }, [fieldSpec, dataViewId, getDataViewById]); + + return fieldFormatter; +}; diff --git a/src/plugins/controls/public/options_list/components/options_list.scss b/src/plugins/controls/public/options_list/components/options_list.scss index b8e43b84ad17c5..ff4014d0cc41d5 100644 --- a/src/plugins/controls/public/options_list/components/options_list.scss +++ b/src/plugins/controls/public/options_list/components/options_list.scss @@ -15,15 +15,18 @@ font-weight: $euiFontWeightRegular; } + .optionsList__filterValid { + font-weight: $euiFontWeightMedium; + } + .optionsList__filterInvalid { color: $euiTextSubduedColor; text-decoration: line-through; - margin-left: $euiSizeS; font-weight: $euiFontWeightRegular; } .optionsList__negateLabel { - font-weight: bold; + font-weight: $euiFontWeightSemiBold; font-size: $euiSizeM; color: $euiColorDanger; } @@ -34,6 +37,7 @@ width: 0; } } + } .optionsList--sortPopover { @@ -42,24 +46,22 @@ .optionsList__existsFilter { font-style: italic; + font-weight: $euiFontWeightMedium; } .optionsList__popoverOverride { @include euiBottomShadowMedium; filter: none; // overwrite the default popover shadow - transform: translateY(-$euiSizeS) translateX(0); // prevent "slide in" animation on open/close } .optionsList__popover { .optionsList__actions { - padding: $euiSizeS; - padding-bottom: 0; + padding: 0 $euiSizeS; border-bottom: $euiBorderThin; border-color: darken($euiColorLightestShade, 2%); - .optionsList__sortButton { - box-shadow: inset 0 0 0 $euiBorderWidthThin $euiFormBorderColor; - background-color: $euiFormBackgroundColor; + .optionsList__searchRow { + padding-top: $euiSizeS } .optionsList__actionsRow { diff --git a/src/plugins/controls/public/options_list/components/options_list_control.tsx b/src/plugins/controls/public/options_list/components/options_list_control.tsx index dbd30a89e7e78f..11683266ad2f00 100644 --- a/src/plugins/controls/public/options_list/components/options_list_control.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_control.tsx @@ -21,6 +21,7 @@ import { useOptionsList } from '../embeddable/options_list_embeddable'; import './options_list.scss'; import { ControlError } from '../../control_group/component/control_error_component'; import { MIN_POPOVER_WIDTH } from '../../constants'; +import { useFieldFormatter } from '../../hooks/use_field_formatter'; export const OptionsListControl = ({ typeaheadSubject, @@ -35,6 +36,7 @@ export const OptionsListControl = ({ const isPopoverOpen = optionsList.select((state) => state.componentState.popoverOpen); const validSelections = optionsList.select((state) => state.componentState.validSelections); const invalidSelections = optionsList.select((state) => state.componentState.invalidSelections); + const fieldSpec = optionsList.select((state) => state.componentState.field); const id = optionsList.select((state) => state.explicitInput.id); const exclude = optionsList.select((state) => state.explicitInput.exclude); @@ -46,6 +48,8 @@ export const OptionsListControl = ({ const selectedOptions = optionsList.select((state) => state.explicitInput.selectedOptions); const loading = optionsList.select((state) => state.output.loading); + const dataViewId = optionsList.select((state) => state.output.dataViewId); + const fieldFormatter = useFieldFormatter({ dataViewId, fieldSpec }); useEffect(() => { return () => { @@ -87,6 +91,8 @@ export const OptionsListControl = ({ ); const { hasSelections, selectionDisplayNode, validSelectionsCount } = useMemo(() => { + const delimiter = OptionsListStrings.control.getSeparator(fieldSpec?.type); + return { hasSelections: !isEmpty(validSelections) || !isEmpty(invalidSelections), validSelectionsCount: validSelections?.length, @@ -107,20 +113,30 @@ export const OptionsListControl = ({ ) : ( <> - {validSelections && ( - {validSelections.join(OptionsListStrings.control.getSeparator())} - )} - {invalidSelections && ( + {validSelections?.length ? ( + + {validSelections.map((value) => fieldFormatter(value)).join(delimiter)} + + ) : null} + {validSelections?.length && invalidSelections?.length ? delimiter : null} + {invalidSelections?.length ? ( - {invalidSelections.join(OptionsListStrings.control.getSeparator())} + {invalidSelections.map((value) => fieldFormatter(value)).join(delimiter)} - )} + ) : null} )} ), }; - }, [exclude, existsSelected, validSelections, invalidSelections]); + }, [ + exclude, + existsSelected, + validSelections, + invalidSelections, + fieldFormatter, + fieldSpec?.type, + ]); const button = ( ) : ( allowExpensiveQueries && - fieldType !== 'ip' && ( + !['ip', 'date'].includes(fieldType) && ( { expect(optionsText).toEqual(['By document count. Checked option.']); }); + test('when sorting suggestions, show "By date" sorting option for date fields', async () => { + const popover = await mountComponent({ + componentState: { field: { name: 'Test date field', type: 'date' } as FieldSpec }, + }); + const sortButton = findTestSubject(popover, 'optionsListControl__sortingOptionsButton'); + sortButton.simulate('click'); + + const sortingOptionsDiv = findTestSubject(popover, 'optionsListControl__sortingOptions'); + const optionsText = sortingOptionsDiv.find('ul li').map((element) => element.text().trim()); + expect(optionsText).toEqual(['By document count. Checked option.', 'By date']); + }); + test('ensure warning icon does not show up when testAllowExpensiveQueries = true/undefined', async () => { const popover = await mountComponent({ componentState: { field: { name: 'Test keyword field', type: 'keyword' } as FieldSpec }, diff --git a/src/plugins/controls/public/options_list/components/options_list_popover_action_bar.tsx b/src/plugins/controls/public/options_list/components/options_list_popover_action_bar.tsx index d8fbbe786b7608..8e890350f4d40d 100644 --- a/src/plugins/controls/public/options_list/components/options_list_popover_action_bar.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_popover_action_bar.tsx @@ -39,6 +39,7 @@ export const OptionsListPopoverActionBar = ({ const totalCardinality = optionsList.select((state) => state.componentState.totalCardinality) ?? 0; const searchString = optionsList.select((state) => state.componentState.searchString); + const fieldSpec = optionsList.select((state) => state.componentState.field); const invalidSelections = optionsList.select((state) => state.componentState.invalidSelections); const hideSort = optionsList.select((state) => state.explicitInput.hideSort); @@ -50,29 +51,22 @@ export const OptionsListPopoverActionBar = ({ return (
- - - - updateSearchString(event.target.value)} - value={searchString.value} - data-test-subj="optionsList-control-search-input" - placeholder={OptionsListStrings.popover.searchPlaceholder[ - searchTechnique ?? OPTIONS_LIST_DEFAULT_SEARCH_TECHNIQUE - ].getPlaceholderText()} - /> - - {!hideSort && ( - - - - )} - - + {fieldSpec?.type !== 'date' && ( + + updateSearchString(event.target.value)} + value={searchString.value} + data-test-subj="optionsList-control-search-input" + placeholder={OptionsListStrings.popover.searchPlaceholder[ + searchTechnique ?? OPTIONS_LIST_DEFAULT_SEARCH_TECHNIQUE + ].getPlaceholderText()} + /> + + )} + {!hideSort && ( + + + + )} diff --git a/src/plugins/controls/public/options_list/components/options_list_popover_invalid_selections.tsx b/src/plugins/controls/public/options_list/components/options_list_popover_invalid_selections.tsx index 980f861e00b26a..2b6dbdc3b95077 100644 --- a/src/plugins/controls/public/options_list/components/options_list_popover_invalid_selections.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_popover_invalid_selections.tsx @@ -18,20 +18,26 @@ import { import { OptionsListStrings } from './options_list_strings'; import { useOptionsList } from '../embeddable/options_list_embeddable'; +import { useFieldFormatter } from '../../hooks/use_field_formatter'; export const OptionsListPopoverInvalidSelections = () => { const optionsList = useOptionsList(); - const invalidSelections = optionsList.select((state) => state.componentState.invalidSelections); const fieldName = optionsList.select((state) => state.explicitInput.fieldName); + const invalidSelections = optionsList.select((state) => state.componentState.invalidSelections); + const fieldSpec = optionsList.select((state) => state.componentState.field); + + const dataViewId = optionsList.select((state) => state.output.dataViewId); + const fieldFormatter = useFieldFormatter({ dataViewId, fieldSpec }); + const [selectableOptions, setSelectableOptions] = useState([]); // will be set in following useEffect useEffect(() => { /* This useEffect makes selectableOptions responsive to unchecking options */ const options: EuiSelectableOption[] = (invalidSelections ?? []).map((key) => { return { key, - label: key, + label: fieldFormatter(key), checked: 'on', className: 'optionsList__selectionInvalid', 'data-test-subj': `optionsList-control-ignored-selection-${key}`, @@ -46,7 +52,7 @@ export const OptionsListPopoverInvalidSelections = () => { }; }); setSelectableOptions(options); - }, [invalidSelections]); + }, [fieldFormatter, invalidSelections]); return ( <> diff --git a/src/plugins/controls/public/options_list/components/options_list_popover_sorting_button.tsx b/src/plugins/controls/public/options_list/components/options_list_popover_sorting_button.tsx index 878238646c44d6..d1cad0bb97c815 100644 --- a/src/plugins/controls/public/options_list/components/options_list_popover_sorting_button.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_popover_sorting_button.tsx @@ -12,7 +12,6 @@ import { EuiButtonGroupOptionProps, EuiSelectableOption, EuiPopoverTitle, - EuiButtonEmpty, EuiButtonGroup, EuiSelectable, EuiFlexGroup, @@ -20,6 +19,7 @@ import { EuiPopover, Direction, EuiToolTip, + EuiButtonIcon, } from '@elastic/eui'; import { @@ -70,7 +70,7 @@ export const OptionsListPopoverSortingButton = ({ data: { sortBy: key }, checked: key === sort.by ? 'on' : undefined, 'data-test-subj': `optionsList__sortBy_${key}`, - label: OptionsListStrings.editorAndPopover.sortBy[key].getSortByLabel(), + label: OptionsListStrings.editorAndPopover.sortBy[key].getSortByLabel(field?.type), } as SortByItem; }); }); @@ -85,32 +85,34 @@ export const OptionsListPopoverSortingButton = ({ }, [optionsList.dispatch] ); + const SortButton = () => ( - setIsSortingPopoverOpen(!isSortingPopoverOpen)} aria-label={OptionsListStrings.popover.getSortPopoverDescription()} - > - {OptionsListStrings.popover.getSortPopoverTitle()} - + /> ); return ( - - - ) : ( + - ) + } panelPaddingSize="none" isOpen={isSortingPopoverOpen} diff --git a/src/plugins/controls/public/options_list/components/options_list_popover_suggestions.tsx b/src/plugins/controls/public/options_list/components/options_list_popover_suggestions.tsx index 0e0b2089cee1c4..a7efc79825b86d 100644 --- a/src/plugins/controls/public/options_list/components/options_list_popover_suggestions.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_popover_suggestions.tsx @@ -17,6 +17,7 @@ import { OptionsListStrings } from './options_list_strings'; import { useOptionsList } from '../embeddable/options_list_embeddable'; import { OptionsListPopoverEmptyMessage } from './options_list_popover_empty_message'; import { OptionsListPopoverSuggestionBadge } from './options_list_popover_suggestion_badge'; +import { useFieldFormatter } from '../../hooks/use_field_formatter'; interface OptionsListPopoverSuggestionsProps { showOnlySelected: boolean; @@ -33,6 +34,7 @@ export const OptionsListPopoverSuggestions = ({ const availableOptions = optionsList.select((state) => state.componentState.availableOptions); const totalCardinality = optionsList.select((state) => state.componentState.totalCardinality); const invalidSelections = optionsList.select((state) => state.componentState.invalidSelections); + const fieldSpec = optionsList.select((state) => state.componentState.field); const sort = optionsList.select((state) => state.explicitInput.sort); const fieldName = optionsList.select((state) => state.explicitInput.fieldName); @@ -41,10 +43,13 @@ export const OptionsListPopoverSuggestions = ({ const existsSelected = optionsList.select((state) => state.explicitInput.existsSelected); const selectedOptions = optionsList.select((state) => state.explicitInput.selectedOptions); + const dataViewId = optionsList.select((state) => state.output.dataViewId); const isLoading = optionsList.select((state) => state.output.loading) ?? false; const listRef = useRef(null); + const fieldFormatter = useFieldFormatter({ dataViewId, fieldSpec }); + const canLoadMoreSuggestions = useMemo( () => totalCardinality @@ -84,9 +89,10 @@ export const OptionsListPopoverSuggestions = ({ // this means that `showOnlySelected` is true, and doc count is not known when this is the case suggestion = { value: suggestion }; } + return { key: suggestion.value, - label: suggestion.value, + label: fieldFormatter(suggestion.value) ?? suggestion.value, checked: selectedOptionsSet?.has(suggestion.value) ? 'on' : undefined, 'data-test-subj': `optionsList-control-selection-${suggestion.value}`, className: @@ -124,6 +130,7 @@ export const OptionsListPopoverSuggestions = ({ invalidSelectionsSet, existsSelectableOption, canLoadMoreSuggestions, + fieldFormatter, ]); const loadMoreOptions = useCallback(() => { diff --git a/src/plugins/controls/public/options_list/components/options_list_strings.ts b/src/plugins/controls/public/options_list/components/options_list_strings.ts index 436326e5350c57..2977bb9f1cbb31 100644 --- a/src/plugins/controls/public/options_list/components/options_list_strings.ts +++ b/src/plugins/controls/public/options_list/components/options_list_strings.ts @@ -10,10 +10,16 @@ import { i18n } from '@kbn/i18n'; export const OptionsListStrings = { control: { - getSeparator: () => - i18n.translate('controls.optionsList.control.separator', { + getSeparator: (type?: string) => { + if (type === 'date') { + return i18n.translate('controls.optionsList.control.dateSeparator', { + defaultMessage: '; ', + }); + } + return i18n.translate('controls.optionsList.control.separator', { defaultMessage: ', ', - }), + }); + }, getPlaceholder: () => i18n.translate('controls.optionsList.control.placeholder', { defaultMessage: 'Any', @@ -228,10 +234,14 @@ export const OptionsListStrings = { }), }, _key: { - getSortByLabel: () => - i18n.translate('controls.optionsList.popover.sortBy.alphabetical', { - defaultMessage: 'Alphabetically', - }), + getSortByLabel: (type?: string) => + type === 'date' + ? i18n.translate('controls.optionsList.popover.sortBy.date', { + defaultMessage: 'By date', + }) + : i18n.translate('controls.optionsList.popover.sortBy.alphabetical', { + defaultMessage: 'Alphabetically', + }), }, }, sortOrder: { diff --git a/src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx b/src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx index 5431cdffc560a1..b28142474ba2df 100644 --- a/src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx +++ b/src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx @@ -332,6 +332,7 @@ export class OptionsListEmbeddable } const { suggestions, invalidSelections, totalCardinality } = response; + if ( (!selectedOptions && !existsSelected) || isEmpty(invalidSelections) || @@ -347,7 +348,7 @@ export class OptionsListEmbeddable const valid: string[] = []; const invalid: string[] = []; for (const selectedOption of selectedOptions ?? []) { - if (invalidSelections?.includes(selectedOption)) invalid.push(selectedOption); + if (invalidSelections?.includes(String(selectedOption))) invalid.push(selectedOption); else valid.push(selectedOption); } this.dispatch.updateQueryResults({ @@ -397,6 +398,7 @@ export class OptionsListEmbeddable newFilter = buildPhrasesFilter(field, validSelections, dataView); } } + if (!newFilter) return []; newFilter.meta.key = field?.name; diff --git a/src/plugins/controls/public/options_list/embeddable/options_list_embeddable_factory.tsx b/src/plugins/controls/public/options_list/embeddable/options_list_embeddable_factory.tsx index cb2b1b4a82de39..a3fecb46442a16 100644 --- a/src/plugins/controls/public/options_list/embeddable/options_list_embeddable_factory.tsx +++ b/src/plugins/controls/public/options_list/embeddable/options_list_embeddable_factory.tsx @@ -61,9 +61,8 @@ export class OptionsListEmbeddableFactory public isFieldCompatible = (field: DataViewField) => { return ( !field.spec.scripted && - ((field.aggregatable && field.type === 'string') || - field.type === 'boolean' || - field.type === 'ip') + field.aggregatable && + ['string', 'boolean', 'ip', 'date'].includes(field.type) ); }; diff --git a/src/plugins/controls/public/range_slider/components/range_slider.scss b/src/plugins/controls/public/range_slider/components/range_slider.scss index d3242a7869963a..606208bf256316 100644 --- a/src/plugins/controls/public/range_slider/components/range_slider.scss +++ b/src/plugins/controls/public/range_slider/components/range_slider.scss @@ -14,7 +14,7 @@ } .rangeSliderAnchor__fieldNumber { - font-weight: $euiFontWeightBold; + font-weight: $euiFontWeightMedium; box-shadow: none; text-align: center; background-color: transparent; diff --git a/src/plugins/controls/public/range_slider/components/range_slider_control.tsx b/src/plugins/controls/public/range_slider/components/range_slider_control.tsx index 267b9220da54b2..3bde458c5e076a 100644 --- a/src/plugins/controls/public/range_slider/components/range_slider_control.tsx +++ b/src/plugins/controls/public/range_slider/components/range_slider_control.tsx @@ -11,19 +11,16 @@ import React, { FC, useState, useMemo, useEffect, useCallback, useRef } from 're import { EuiRangeTick, EuiDualRange, EuiDualRangeProps } from '@elastic/eui'; -import { pluginServices } from '../../services'; import { RangeValue } from '../../../common/range_slider/types'; import { useRangeSlider } from '../embeddable/range_slider_embeddable'; import { ControlError } from '../../control_group/component/control_error_component'; import './range_slider.scss'; import { MIN_POPOVER_WIDTH } from '../../constants'; +import { useFieldFormatter } from '../../hooks/use_field_formatter'; export const RangeSliderControl: FC = () => { /** Controls Services Context */ - const { - dataViews: { get: getDataViewById }, - } = pluginServices.getServices(); const rangeSlider = useRangeSlider(); const rangeSliderRef = useRef(null); @@ -44,8 +41,8 @@ export const RangeSliderControl: FC = () => { // React component state const [displayedValue, setDisplayedValue] = useState(value ?? ['', '']); - const [fieldFormatter, setFieldFormatter] = useState(() => (toFormat: string) => toFormat); + const fieldFormatter = useFieldFormatter({ dataViewId, fieldSpec }); const debouncedOnChange = useMemo( () => debounce((newRange: RangeValue) => { @@ -54,22 +51,6 @@ export const RangeSliderControl: FC = () => { [rangeSlider.dispatch] ); - /** - * derive field formatter from fieldSpec and dataViewId - */ - useEffect(() => { - (async () => { - if (!dataViewId || !fieldSpec) return; - // dataViews are cached, and should always be available without having to hit ES. - const dataView = await getDataViewById(dataViewId); - setFieldFormatter( - () => - dataView?.getFormatterForField(fieldSpec).getConverterFor('text') ?? - ((toFormat: string) => toFormat) - ); - })(); - }, [fieldSpec, dataViewId, getDataViewById]); - /** * This will recalculate the displayed min/max of the range slider to allow for selections smaller * than the `min` and larger than the `max` diff --git a/src/plugins/controls/public/time_slider/components/index.scss b/src/plugins/controls/public/time_slider/components/index.scss index 66fb486c970e8e..c23667f314f05a 100644 --- a/src/plugins/controls/public/time_slider/components/index.scss +++ b/src/plugins/controls/public/time_slider/components/index.scss @@ -28,7 +28,7 @@ } .timeSlider__anchorText { - font-weight: $euiFontWeightBold; + font-weight: $euiFontWeightMedium; } .timeSlider__anchorText--default { diff --git a/src/plugins/controls/public/time_slider/components/time_slider_popover_button.tsx b/src/plugins/controls/public/time_slider/components/time_slider_popover_button.tsx index 0036dcdf758e4a..bb2597716d5599 100644 --- a/src/plugins/controls/public/time_slider/components/time_slider_popover_button.tsx +++ b/src/plugins/controls/public/time_slider/components/time_slider_popover_button.tsx @@ -24,7 +24,7 @@ export function TimeSliderPopoverButton(props: Props) { onClick={props.onClick} data-test-subj="timeSlider-popoverToggleButton" > - + {props.formatDate(props.from)}   →   {props.formatDate(props.to)} diff --git a/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.test.ts b/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.test.ts index 997927a5bbad28..d364027a55d9bb 100644 --- a/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.test.ts +++ b/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.test.ts @@ -92,31 +92,6 @@ describe('options list cheap queries', () => { }); }); - test('creates boolean aggregation for boolean field', () => { - const optionsListRequestBodyMock: OptionsListRequestBody = { - size: 10, - fieldName: 'coolean', - allowExpensiveQueries: false, - sort: { by: '_key', direction: 'desc' }, - fieldSpec: { type: 'boolean' } as unknown as FieldSpec, - }; - const suggestionAggBuilder = getCheapSuggestionAggregationBuilder(optionsListRequestBodyMock); - expect(suggestionAggBuilder.buildAggregation(optionsListRequestBodyMock)) - .toMatchInlineSnapshot(` - Object { - "suggestions": Object { - "terms": Object { - "field": "coolean", - "order": Object { - "_key": "desc", - }, - "shard_size": 10, - }, - }, - } - `); - }); - test('creates nested aggregation for nested field', () => { const optionsListRequestBodyMock: OptionsListRequestBody = { size: 10, @@ -151,6 +126,64 @@ describe('options list cheap queries', () => { `); }); + describe('boolean field', () => { + test('creates boolean aggregation for boolean field', () => { + const optionsListRequestBodyMock: OptionsListRequestBody = { + size: 10, + fieldName: 'coolean', + allowExpensiveQueries: false, + sort: { by: '_key', direction: 'desc' }, + fieldSpec: { type: 'boolean' } as unknown as FieldSpec, + }; + const suggestionAggBuilder = getCheapSuggestionAggregationBuilder( + optionsListRequestBodyMock + ); + expect(suggestionAggBuilder.buildAggregation(optionsListRequestBodyMock)) + .toMatchInlineSnapshot(` + Object { + "suggestions": Object { + "terms": Object { + "field": "coolean", + "order": Object { + "_key": "desc", + }, + "shard_size": 10, + }, + }, + } + `); + }); + }); + + describe('date field field', () => { + test('creates date aggregation for date field', () => { + const optionsListRequestBodyMock: OptionsListRequestBody = { + size: 10, + fieldName: '@timestamp', + allowExpensiveQueries: false, + sort: { by: '_key', direction: 'desc' }, + fieldSpec: { type: 'date' } as unknown as FieldSpec, + }; + const suggestionAggBuilder = getCheapSuggestionAggregationBuilder( + optionsListRequestBodyMock + ); + expect(suggestionAggBuilder.buildAggregation(optionsListRequestBodyMock)) + .toMatchInlineSnapshot(` + Object { + "suggestions": Object { + "terms": Object { + "field": "@timestamp", + "order": Object { + "_key": "desc", + }, + "shard_size": 10, + }, + }, + } + `); + }); + }); + describe('IP field', () => { test('without a search string, creates IP range aggregation with default range', () => { const optionsListRequestBodyMock: OptionsListRequestBody = { @@ -513,99 +546,145 @@ describe('options list cheap queries', () => { ] `); }); - }); - test('parses mixed IPv4 and IPv6 result', () => { - const optionsListRequestBodyMock: OptionsListRequestBody = { - size: 10, - fieldName: 'clientip', - allowExpensiveQueries: false, - fieldSpec: { type: 'ip' } as unknown as FieldSpec, - }; - const suggestionAggBuilder = getCheapSuggestionAggregationBuilder(optionsListRequestBodyMock); - rawSearchResponseMock.aggregations = { - suggestions: { - buckets: { - ipv4: { - from: '0.0.0.0', - to: '255.255.255.255', - filteredSuggestions: { - buckets: [ - { doc_count: 8, key: '21.35.91.62' }, - { doc_count: 8, key: '21.35.91.61' }, - { doc_count: 11, key: '111.52.174.2' }, - { doc_count: 1, key: '56.73.58.63' }, - { doc_count: 9, key: '23.216.241.120' }, - { doc_count: 10, key: '196.162.13.39' }, - { doc_count: 7, key: '203.88.33.151' }, - ], + test('parses mixed IPv4 and IPv6 result', () => { + const optionsListRequestBodyMock: OptionsListRequestBody = { + size: 10, + fieldName: 'clientip', + allowExpensiveQueries: false, + fieldSpec: { type: 'ip' } as unknown as FieldSpec, + }; + const suggestionAggBuilder = getCheapSuggestionAggregationBuilder(optionsListRequestBodyMock); + rawSearchResponseMock.aggregations = { + suggestions: { + buckets: { + ipv4: { + from: '0.0.0.0', + to: '255.255.255.255', + filteredSuggestions: { + buckets: [ + { doc_count: 8, key: '21.35.91.62' }, + { doc_count: 8, key: '21.35.91.61' }, + { doc_count: 11, key: '111.52.174.2' }, + { doc_count: 1, key: '56.73.58.63' }, + { doc_count: 9, key: '23.216.241.120' }, + { doc_count: 10, key: '196.162.13.39' }, + { doc_count: 7, key: '203.88.33.151' }, + ], + }, }, - }, - ipv6: { - from: '::', - to: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', - filteredSuggestions: { - buckets: [ - { doc_count: 12, key: '52:ae76:5947:5e2a:551:fe6a:712a:c72' }, - { doc_count: 1, key: 'fd:4aa0:c27c:b04:997f:2de1:51b4:8418' }, - { doc_count: 9, key: '28c7:c9a4:42fd:16b0:4de5:e41e:28d9:9172' }, - { doc_count: 6, key: '1ec:aa98:b0a6:d07c:590:18a0:8a33:2eb8' }, - { doc_count: 10, key: 'f7a9:640b:b5a0:1219:8d75:ed94:3c3e:2e63' }, - ], + ipv6: { + from: '::', + to: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', + filteredSuggestions: { + buckets: [ + { doc_count: 12, key: '52:ae76:5947:5e2a:551:fe6a:712a:c72' }, + { doc_count: 1, key: 'fd:4aa0:c27c:b04:997f:2de1:51b4:8418' }, + { doc_count: 9, key: '28c7:c9a4:42fd:16b0:4de5:e41e:28d9:9172' }, + { doc_count: 6, key: '1ec:aa98:b0a6:d07c:590:18a0:8a33:2eb8' }, + { doc_count: 10, key: 'f7a9:640b:b5a0:1219:8d75:ed94:3c3e:2e63' }, + ], + }, }, }, }, - }, - }; + }; - const parsed = suggestionAggBuilder.parse( - rawSearchResponseMock, - optionsListRequestBodyMock - ).suggestions; + const parsed = suggestionAggBuilder.parse( + rawSearchResponseMock, + optionsListRequestBodyMock + ).suggestions; - expect(parsed).toMatchInlineSnapshot(` - Array [ - Object { - "docCount": 12, - "value": "52:ae76:5947:5e2a:551:fe6a:712a:c72", - }, - Object { - "docCount": 11, - "value": "111.52.174.2", - }, - Object { - "docCount": 10, - "value": "196.162.13.39", - }, - Object { - "docCount": 10, - "value": "f7a9:640b:b5a0:1219:8d75:ed94:3c3e:2e63", - }, - Object { - "docCount": 9, - "value": "23.216.241.120", - }, - Object { - "docCount": 9, - "value": "28c7:c9a4:42fd:16b0:4de5:e41e:28d9:9172", - }, - Object { - "docCount": 8, - "value": "21.35.91.62", - }, - Object { - "docCount": 8, - "value": "21.35.91.61", - }, - Object { - "docCount": 7, - "value": "203.88.33.151", - }, - Object { - "docCount": 6, - "value": "1ec:aa98:b0a6:d07c:590:18a0:8a33:2eb8", + expect(parsed).toMatchInlineSnapshot(` + Array [ + Object { + "docCount": 12, + "value": "52:ae76:5947:5e2a:551:fe6a:712a:c72", + }, + Object { + "docCount": 11, + "value": "111.52.174.2", + }, + Object { + "docCount": 10, + "value": "196.162.13.39", + }, + Object { + "docCount": 10, + "value": "f7a9:640b:b5a0:1219:8d75:ed94:3c3e:2e63", + }, + Object { + "docCount": 9, + "value": "23.216.241.120", + }, + Object { + "docCount": 9, + "value": "28c7:c9a4:42fd:16b0:4de5:e41e:28d9:9172", + }, + Object { + "docCount": 8, + "value": "21.35.91.62", + }, + Object { + "docCount": 8, + "value": "21.35.91.61", + }, + Object { + "docCount": 7, + "value": "203.88.33.151", + }, + Object { + "docCount": 6, + "value": "1ec:aa98:b0a6:d07c:590:18a0:8a33:2eb8", + }, + ] + `); + }); + + test('parses date result', () => { + const optionsListRequestBodyMock: OptionsListRequestBody = { + size: 10, + fieldName: '@timestamp', + allowExpensiveQueries: false, + fieldSpec: { type: 'date' } as unknown as FieldSpec, + }; + const suggestionAggBuilder = getCheapSuggestionAggregationBuilder(optionsListRequestBodyMock); + rawSearchResponseMock.aggregations = { + suggestions: { + buckets: [ + { doc_count: 20, key: 1696824675 }, + { doc_count: 13, key: 1686086625 }, + { doc_count: 4, key: 1703684229 }, + { doc_count: 34, key: 1688603684 }, + ], }, - ] - `); + }; + + const parsed = suggestionAggBuilder.parse( + rawSearchResponseMock, + optionsListRequestBodyMock + ).suggestions; + + expect(parsed).toMatchInlineSnapshot(` + Array [ + Object { + "docCount": 20, + "value": 1696824675, + }, + Object { + "docCount": 13, + "value": 1686086625, + }, + Object { + "docCount": 4, + "value": 1703684229, + }, + Object { + "docCount": 34, + "value": 1688603684, + }, + ] + `); + }); }); }); diff --git a/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.ts b/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.ts index 0df11e64086063..cba08877607d72 100644 --- a/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.ts +++ b/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.ts @@ -40,11 +40,12 @@ const cheapSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggregat * (such as a keyword field or a keyword+text multi-field) */ keywordOrText: { - buildAggregation: ({ fieldName, searchString, sort }: OptionsListRequestBody) => ({ + buildAggregation: ({ fieldName, fieldSpec, searchString, sort }: OptionsListRequestBody) => ({ suggestions: { terms: { field: fieldName, - ...(searchString && searchString.length > 0 + // disabling for date fields because applying a search string will return an error + ...(fieldSpec?.type !== 'date' && searchString && searchString.length > 0 ? { include: `${getEscapedRegexQuery(searchString)}.*` } : {}), shard_size: 10, diff --git a/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.test.ts b/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.test.ts index a2d0d4e87a2605..a5d6f32f633775 100644 --- a/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.test.ts +++ b/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.test.ts @@ -263,31 +263,102 @@ describe('options list expensive queries', () => { }); }); - test('boolean field', () => { - const optionsListRequestBodyMock: OptionsListRequestBody = { - size: 10, - fieldName: 'coolean', - allowExpensiveQueries: false, - sort: { by: '_key', direction: 'desc' }, - fieldSpec: { type: 'boolean' } as unknown as FieldSpec, - }; - const suggestionAggBuilder = getExpensiveSuggestionAggregationBuilder( - optionsListRequestBodyMock - ); - expect(suggestionAggBuilder.buildAggregation(optionsListRequestBodyMock)) - .toMatchInlineSnapshot(` - Object { - "suggestions": Object { - "terms": Object { - "field": "coolean", - "order": Object { - "_key": "desc", + describe('boolean field', () => { + test('creates boolean aggregation for boolean field', () => { + const optionsListRequestBodyMock: OptionsListRequestBody = { + size: 10, + fieldName: 'coolean', + allowExpensiveQueries: true, + sort: { by: '_key', direction: 'desc' }, + fieldSpec: { type: 'boolean' } as unknown as FieldSpec, + }; + const suggestionAggBuilder = getExpensiveSuggestionAggregationBuilder( + optionsListRequestBodyMock + ); + expect(suggestionAggBuilder.buildAggregation(optionsListRequestBodyMock)) + .toMatchInlineSnapshot(` + Object { + "suggestions": Object { + "terms": Object { + "field": "coolean", + "order": Object { + "_key": "desc", + }, + "shard_size": 10, + }, + }, + } + `); + }); + }); + + describe('date field field', () => { + test('creates date aggregation for date field', () => { + const optionsListRequestBodyMock: OptionsListRequestBody = { + size: 10, + fieldName: '@timestamp', + allowExpensiveQueries: true, + sort: { by: '_key', direction: 'desc' }, + fieldSpec: { type: 'date' } as unknown as FieldSpec, + }; + const suggestionAggBuilder = getExpensiveSuggestionAggregationBuilder( + optionsListRequestBodyMock + ); + expect(suggestionAggBuilder.buildAggregation(optionsListRequestBodyMock)) + .toMatchInlineSnapshot(` + Object { + "suggestions": Object { + "terms": Object { + "field": "@timestamp", + "order": Object { + "_key": "desc", + }, + "shard_size": 10, + "size": 10, }, - "shard_size": 10, }, - }, - } - `); + "unique_terms": Object { + "cardinality": Object { + "field": "@timestamp", + }, + }, + } + `); + }); + + test('does not throw error when receiving search string', () => { + const optionsListRequestBodyMock: OptionsListRequestBody = { + size: 10, + fieldName: '@timestamp', + allowExpensiveQueries: true, + sort: { by: '_key', direction: 'desc' }, + searchString: '2023', + fieldSpec: { type: 'date' } as unknown as FieldSpec, + }; + const suggestionAggBuilder = getExpensiveSuggestionAggregationBuilder( + optionsListRequestBodyMock + ); + expect(suggestionAggBuilder.buildAggregation(optionsListRequestBodyMock)) + .toMatchInlineSnapshot(` + Object { + "suggestions": Object { + "terms": Object { + "field": "@timestamp", + "order": Object { + "_key": "desc", + }, + "shard_size": 10, + "size": 10, + }, + }, + "unique_terms": Object { + "cardinality": Object { + "field": "@timestamp", + }, + }, + } + `); + }); }); describe('IP field', () => { @@ -769,5 +840,53 @@ describe('options list expensive queries', () => { ] `); }); + + test('parses date result', () => { + const optionsListRequestBodyMock: OptionsListRequestBody = { + size: 10, + fieldName: '@timestamp', + allowExpensiveQueries: true, + fieldSpec: { type: 'date' } as unknown as FieldSpec, + }; + const suggestionAggBuilder = getExpensiveSuggestionAggregationBuilder( + optionsListRequestBodyMock + ); + rawSearchResponseMock.aggregations = { + suggestions: { + buckets: [ + { doc_count: 20, key: 1696824675 }, + { doc_count: 13, key: 1686086625 }, + { doc_count: 4, key: 1703684229 }, + { doc_count: 34, key: 1688603684 }, + ], + }, + }; + + const parsed = suggestionAggBuilder.parse( + rawSearchResponseMock, + optionsListRequestBodyMock + ).suggestions; + + expect(parsed).toMatchInlineSnapshot(` + Array [ + Object { + "docCount": 20, + "value": 1696824675, + }, + Object { + "docCount": 13, + "value": 1686086625, + }, + Object { + "docCount": 4, + "value": 1703684229, + }, + Object { + "docCount": 34, + "value": 1688603684, + }, + ] + `); + }); }); }); diff --git a/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.ts b/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.ts index 5fb865bfada5b1..156a966f6a482f 100644 --- a/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.ts +++ b/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.ts @@ -65,7 +65,8 @@ const expensiveSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggr }, }, }; - if (searchString && searchString.length > 0) { + // disabling for date fields because applying a search string will return an error + if (fieldSpec?.type !== 'date' && searchString && searchString.length > 0) { textOrKeywordQuery = { filteredSuggestions: { filter: { diff --git a/src/plugins/controls/server/options_list/options_list_suggestions_route.ts b/src/plugins/controls/server/options_list/options_list_suggestions_route.ts index d6fe08f275ccfb..b2a42fa0b3b195 100644 --- a/src/plugins/controls/server/options_list/options_list_suggestions_route.ts +++ b/src/plugins/controls/server/options_list/options_list_suggestions_route.ts @@ -51,7 +51,9 @@ export const setupOptionsListSuggestionsRoute = ( fieldSpec: schema.maybe(schema.any()), allowExpensiveQueries: schema.boolean(), searchString: schema.maybe(schema.string()), - selectedOptions: schema.maybe(schema.arrayOf(schema.string())), + selectedOptions: schema.maybe( + schema.oneOf([schema.arrayOf(schema.string()), schema.arrayOf(schema.number())]) + ), }, { unknowns: 'allow' } ), diff --git a/src/plugins/controls/server/options_list/options_list_validation_queries.ts b/src/plugins/controls/server/options_list/options_list_validation_queries.ts index a79c0971a5cb11..56e7f9efef6bf7 100644 --- a/src/plugins/controls/server/options_list/options_list_validation_queries.ts +++ b/src/plugins/controls/server/options_list/options_list_validation_queries.ts @@ -20,7 +20,7 @@ export const getValidationAggregationBuilder: () => OptionsListValidationAggrega let selectedOptionsFilters; if (selectedOptions) { selectedOptionsFilters = selectedOptions.reduce((acc, currentOption) => { - acc[currentOption] = { match: { [fieldName]: currentOption } }; + acc[currentOption] = { match: { [fieldName]: String(currentOption) } }; return acc; }, {} as { [key: string]: { match: { [key: string]: string } } }); } From 853d9e6e9f7a2bf0dda1fd796042849e97ea3d60 Mon Sep 17 00:00:00 2001 From: Ying Mao Date: Tue, 3 Oct 2023 17:37:10 -0400 Subject: [PATCH 20/35] [Response Ops][Alerting] Write alert duration out as microseconds (#167821) Fixes https://github.com/elastic/kibana/issues/167298 ## Summary Framework alerts client was writing alert duration out as a nanoseconds string, which is how it is stored in the task state. However, the rule registry lifecycle executor is writing duration out as microsecond number. Aligning to write the same unit and format as the lifecycle executor. ## To Verify: - On `main`, create an ES query rule with active alerts that shows up on the O11y alerts table. Let it run and see that the duration shown on the table is very large and incorrect. - Switch to this branch and let the rule run again. Verify that the duration on the alerts table is now correct. Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../alerts_client/alerts_client.test.ts | 30 +++++++++---------- .../alerts_client/lib/build_new_alert.test.ts | 2 +- .../alerts_client/lib/build_new_alert.ts | 3 +- .../lib/build_ongoing_alert.test.ts | 16 +++++----- .../alerts_client/lib/build_ongoing_alert.ts | 3 +- .../lib/build_recovered_alert.test.ts | 12 ++++---- .../lib/build_recovered_alert.ts | 3 +- .../alerts_client/lib/nanos_to_micros.test.ts | 24 +++++++++++++++ .../alerts_client/lib/nanos_to_micros.ts | 21 +++++++++++++ .../task_runner_alerts_client.test.ts | 2 +- .../group4/alerts_as_data/alerts_as_data.ts | 11 ++++--- .../common/alerting/alert_documents.ts | 6 ++-- 12 files changed, 90 insertions(+), 43 deletions(-) create mode 100644 x-pack/plugins/alerting/server/alerts_client/lib/nanos_to_micros.test.ts create mode 100644 x-pack/plugins/alerting/server/alerts_client/lib/nanos_to_micros.ts diff --git a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts index c870a0c52d13b1..d1da82d9a9701e 100644 --- a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts @@ -145,7 +145,7 @@ const fetchedAlert1 = { [EVENT_ACTION]: 'open', [EVENT_KIND]: 'signal', [ALERT_ACTION_GROUP]: 'default', - [ALERT_DURATION]: '0', + [ALERT_DURATION]: 0, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true], [ALERT_INSTANCE_ID]: '1', @@ -175,7 +175,7 @@ const fetchedAlert2 = { [EVENT_ACTION]: 'active', [EVENT_KIND]: 'signal', [ALERT_ACTION_GROUP]: 'default', - [ALERT_DURATION]: '36000000000000', + [ALERT_DURATION]: 36000000000, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true, false], [ALERT_INSTANCE_ID]: '2', @@ -205,7 +205,7 @@ const getNewIndexedAlertDoc = (overrides = {}) => ({ [EVENT_ACTION]: 'open', [EVENT_KIND]: 'signal', [ALERT_ACTION_GROUP]: 'default', - [ALERT_DURATION]: '0', + [ALERT_DURATION]: 0, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true], [ALERT_INSTANCE_ID]: '1', @@ -234,7 +234,7 @@ const getNewIndexedAlertDoc = (overrides = {}) => ({ const getOngoingIndexedAlertDoc = (overrides = {}) => ({ ...getNewIndexedAlertDoc(), [EVENT_ACTION]: 'active', - [ALERT_DURATION]: '36000000000000', + [ALERT_DURATION]: 36000000000, [ALERT_FLAPPING_HISTORY]: [true, false], [ALERT_START]: '2023-03-28T12:27:28.159Z', [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z' }, @@ -244,7 +244,7 @@ const getOngoingIndexedAlertDoc = (overrides = {}) => ({ const getRecoveredIndexedAlertDoc = (overrides = {}) => ({ ...getNewIndexedAlertDoc(), [EVENT_ACTION]: 'close', - [ALERT_DURATION]: '36000000000000', + [ALERT_DURATION]: 36000000000, [ALERT_ACTION_GROUP]: 'recovered', [ALERT_FLAPPING_HISTORY]: [true, true], [ALERT_START]: '2023-03-28T12:27:28.159Z', @@ -669,7 +669,7 @@ describe('Alerts Client', () => { [TIMESTAMP]: date, [EVENT_ACTION]: 'active', [ALERT_ACTION_GROUP]: 'default', - [ALERT_DURATION]: '36000000000000', + [ALERT_DURATION]: 36000000000, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true, false], [ALERT_MAINTENANCE_WINDOW_IDS]: [], @@ -855,7 +855,7 @@ describe('Alerts Client', () => { [ALERT_UUID]: 'def', [ALERT_INSTANCE_ID]: '2', [ALERT_FLAPPING_HISTORY]: [true, false, false, false], - [ALERT_DURATION]: '72000000000000', + [ALERT_DURATION]: 72000000000, [ALERT_START]: '2023-03-28T02:27:28.159Z', [ALERT_TIME_RANGE]: { gte: '2023-03-28T02:27:28.159Z' }, }), @@ -958,7 +958,7 @@ describe('Alerts Client', () => { [TIMESTAMP]: date, [EVENT_ACTION]: 'active', [ALERT_ACTION_GROUP]: 'default', - [ALERT_DURATION]: '72000000000000', + [ALERT_DURATION]: 72000000000, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true, false, false, false], [ALERT_MAINTENANCE_WINDOW_IDS]: [], @@ -1005,7 +1005,7 @@ describe('Alerts Client', () => { [TIMESTAMP]: date, [EVENT_ACTION]: 'close', [ALERT_ACTION_GROUP]: 'recovered', - [ALERT_DURATION]: '36000000000000', + [ALERT_DURATION]: 36000000000, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true, true], [ALERT_MAINTENANCE_WINDOW_IDS]: [], @@ -1177,7 +1177,7 @@ describe('Alerts Client', () => { getOngoingIndexedAlertDoc({ [ALERT_UUID]: 'def', [ALERT_INSTANCE_ID]: '2', - [ALERT_DURATION]: '72000000000000', + [ALERT_DURATION]: 72000000000, [ALERT_FLAPPING_HISTORY]: [true, false, false, false], [ALERT_START]: '2023-03-28T02:27:28.159Z', [ALERT_TIME_RANGE]: { gte: '2023-03-28T02:27:28.159Z' }, @@ -1799,7 +1799,7 @@ describe('Alerts Client', () => { [EVENT_ACTION]: 'open', [EVENT_KIND]: 'signal', [ALERT_ACTION_GROUP]: 'default', - [ALERT_DURATION]: '0', + [ALERT_DURATION]: 0, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true], [ALERT_INSTANCE_ID]: '1', @@ -1834,7 +1834,7 @@ describe('Alerts Client', () => { [EVENT_ACTION]: 'open', [EVENT_KIND]: 'signal', [ALERT_ACTION_GROUP]: 'default', - [ALERT_DURATION]: '0', + [ALERT_DURATION]: 0, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true], [ALERT_INSTANCE_ID]: '2', @@ -1993,7 +1993,7 @@ describe('Alerts Client', () => { [EVENT_ACTION]: 'open', [EVENT_KIND]: 'signal', [ALERT_ACTION_GROUP]: 'default', - [ALERT_DURATION]: '0', + [ALERT_DURATION]: 0, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true], [ALERT_INSTANCE_ID]: '1', @@ -2096,7 +2096,7 @@ describe('Alerts Client', () => { [EVENT_ACTION]: 'active', [EVENT_KIND]: 'signal', [ALERT_ACTION_GROUP]: 'default', - [ALERT_DURATION]: '36000000000000', + [ALERT_DURATION]: 36000000000, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true, false], [ALERT_INSTANCE_ID]: '1', @@ -2198,7 +2198,7 @@ describe('Alerts Client', () => { [EVENT_ACTION]: 'close', [EVENT_KIND]: 'signal', [ALERT_ACTION_GROUP]: 'recovered', - [ALERT_DURATION]: '36000000000000', + [ALERT_DURATION]: 36000000000, [ALERT_END]: date, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true, true], diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/build_new_alert.test.ts b/x-pack/plugins/alerting/server/alerts_client/lib/build_new_alert.test.ts index 4e317d5f5592fe..2da67f584e93d4 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/build_new_alert.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/build_new_alert.test.ts @@ -84,7 +84,7 @@ describe('buildNewAlert', () => { [ALERT_STATUS]: 'active', [ALERT_UUID]: legacyAlert.getUuid(), [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '0', + [ALERT_DURATION]: 0, [ALERT_START]: now, [ALERT_TIME_RANGE]: { gte: now }, [SPACE_IDS]: ['default'], diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/build_new_alert.ts b/x-pack/plugins/alerting/server/alerts_client/lib/build_new_alert.ts index 9c4c4bb6c095ce..4af3e3f93817b1 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/build_new_alert.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/build_new_alert.ts @@ -32,6 +32,7 @@ import { Alert as LegacyAlert } from '../../alert/alert'; import { AlertInstanceContext, AlertInstanceState, RuleAlertData } from '../../types'; import type { AlertRule } from '../types'; import { stripFrameworkFields } from './strip_framework_fields'; +import { nanosToMicros } from './nanos_to_micros'; interface BuildNewAlertOpts< AlertData extends RuleAlertData, @@ -89,7 +90,7 @@ export const buildNewAlert = < [ALERT_UUID]: legacyAlert.getUuid(), [ALERT_WORKFLOW_STATUS]: get(cleanedPayload, ALERT_WORKFLOW_STATUS, 'open'), ...(legacyAlert.getState().duration - ? { [ALERT_DURATION]: legacyAlert.getState().duration } + ? { [ALERT_DURATION]: nanosToMicros(legacyAlert.getState().duration) } : {}), ...(legacyAlert.getState().start ? { diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/build_ongoing_alert.test.ts b/x-pack/plugins/alerting/server/alerts_client/lib/build_ongoing_alert.test.ts index 7ccef435a5a492..2c4fc087a47459 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/build_ongoing_alert.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/build_ongoing_alert.test.ts @@ -58,7 +58,7 @@ for (const flattened of [true, false]) { [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [], [ALERT_MAINTENANCE_WINDOW_IDS]: [], - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_STATUS]: 'active', [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z' }, [ALERT_WORKFLOW_STATUS]: 'open', @@ -119,7 +119,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: [], [ALERT_STATUS]: 'active', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z' }, [SPACE_IDS]: ['default'], [VERSION]: '8.9.0', @@ -195,7 +195,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: ['maint-xyz'], [ALERT_STATUS]: 'active', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z' }, [SPACE_IDS]: ['default'], [VERSION]: '8.9.0', @@ -284,7 +284,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: [], [ALERT_STATUS]: 'active', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z' }, [SPACE_IDS]: ['default'], [VERSION]: '8.9.0', @@ -380,7 +380,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: [], [ALERT_STATUS]: 'active', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z' }, [SPACE_IDS]: ['default'], [VERSION]: '8.9.0', @@ -480,7 +480,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: [], [ALERT_STATUS]: 'active', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z' }, [SPACE_IDS]: ['default'], [VERSION]: '8.9.0', @@ -560,7 +560,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: [], [ALERT_STATUS]: 'active', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z' }, [SPACE_IDS]: ['default'], [VERSION]: '8.9.0', @@ -658,7 +658,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: [], [ALERT_STATUS]: 'active', [ALERT_WORKFLOW_STATUS]: 'custom_status', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z' }, [SPACE_IDS]: ['default'], [VERSION]: '8.9.0', diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/build_ongoing_alert.ts b/x-pack/plugins/alerting/server/alerts_client/lib/build_ongoing_alert.ts index f22c14e62b464f..ec4eae47d6e82a 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/build_ongoing_alert.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/build_ongoing_alert.ts @@ -26,6 +26,7 @@ import { Alert as LegacyAlert } from '../../alert/alert'; import { AlertInstanceContext, AlertInstanceState, RuleAlertData } from '../../types'; import type { AlertRule } from '../types'; import { stripFrameworkFields } from './strip_framework_fields'; +import { nanosToMicros } from './nanos_to_micros'; import { removeUnflattenedFieldsFromAlert, replaceRefreshableAlertFields } from './format_alert'; interface BuildOngoingAlertOpts< @@ -100,7 +101,7 @@ export const buildOngoingAlert = < : {}), // Set latest duration as ongoing alerts should have updated duration ...(legacyAlert.getState().duration - ? { [ALERT_DURATION]: legacyAlert.getState().duration } + ? { [ALERT_DURATION]: nanosToMicros(legacyAlert.getState().duration) } : {}), [SPACE_IDS]: rule[SPACE_IDS], [VERSION]: kibanaVersion, diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/build_recovered_alert.test.ts b/x-pack/plugins/alerting/server/alerts_client/lib/build_recovered_alert.test.ts index 73ff3e0a0f6e4a..c8a14548700311 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/build_recovered_alert.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/build_recovered_alert.test.ts @@ -68,7 +68,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: [], [ALERT_STATUS]: 'recovered', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_START]: '2023-03-28T12:27:28.159Z', [ALERT_END]: '2023-03-30T12:27:28.159Z', [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z', lte: '2023-03-30T12:27:28.159Z' }, @@ -132,7 +132,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: ['maint-1', 'maint-321'], [ALERT_STATUS]: 'recovered', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_START]: '2023-03-28T12:27:28.159Z', [ALERT_END]: '2023-03-30T12:27:28.159Z', [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z', lte: '2023-03-30T12:27:28.159Z' }, @@ -226,7 +226,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: ['maint-1', 'maint-321'], [ALERT_STATUS]: 'recovered', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_START]: '2023-03-28T12:27:28.159Z', [ALERT_END]: '2023-03-30T12:27:28.159Z', [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z', lte: '2023-03-30T12:27:28.159Z' }, @@ -328,7 +328,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: ['maint-1', 'maint-321'], [ALERT_STATUS]: 'recovered', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_START]: '2023-03-28T12:27:28.159Z', [ALERT_END]: '2023-03-30T12:27:28.159Z', [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z', lte: '2023-03-30T12:27:28.159Z' }, @@ -428,7 +428,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: ['maint-1', 'maint-321'], [ALERT_STATUS]: 'recovered', [ALERT_WORKFLOW_STATUS]: 'open', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_START]: '2023-03-28T12:27:28.159Z', [ALERT_END]: '2023-03-30T12:27:28.159Z', [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z', lte: '2023-03-30T12:27:28.159Z' }, @@ -527,7 +527,7 @@ for (const flattened of [true, false]) { [ALERT_MAINTENANCE_WINDOW_IDS]: [], [ALERT_STATUS]: 'recovered', [ALERT_WORKFLOW_STATUS]: 'custom_status', - [ALERT_DURATION]: '36000000', + [ALERT_DURATION]: 36000, [ALERT_START]: '2023-03-28T12:27:28.159Z', [ALERT_END]: '2023-03-30T12:27:28.159Z', [ALERT_TIME_RANGE]: { gte: '2023-03-28T12:27:28.159Z', lte: '2023-03-30T12:27:28.159Z' }, diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/build_recovered_alert.ts b/x-pack/plugins/alerting/server/alerts_client/lib/build_recovered_alert.ts index be6d7ff033dd1f..74bebca1bb9556 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/build_recovered_alert.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/build_recovered_alert.ts @@ -28,6 +28,7 @@ import { Alert as LegacyAlert } from '../../alert/alert'; import { AlertInstanceContext, AlertInstanceState, RuleAlertData } from '../../types'; import type { AlertRule } from '../types'; import { stripFrameworkFields } from './strip_framework_fields'; +import { nanosToMicros } from './nanos_to_micros'; import { removeUnflattenedFieldsFromAlert, replaceRefreshableAlertFields } from './format_alert'; interface BuildRecoveredAlertOpts< @@ -95,7 +96,7 @@ export const buildRecoveredAlert = < [ALERT_STATUS]: 'recovered', // Set latest duration as recovered alerts should have updated duration ...(legacyAlert.getState().duration - ? { [ALERT_DURATION]: legacyAlert.getState().duration } + ? { [ALERT_DURATION]: nanosToMicros(legacyAlert.getState().duration) } : {}), // Set end time ...(legacyAlert.getState().end && legacyAlert.getState().start diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/nanos_to_micros.test.ts b/x-pack/plugins/alerting/server/alerts_client/lib/nanos_to_micros.test.ts new file mode 100644 index 00000000000000..b8ef50b27ce82d --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_client/lib/nanos_to_micros.test.ts @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { nanosToMicros } from './nanos_to_micros'; + +describe('nanosToMicros', () => { + test('should correctly format nanosecond string', () => { + expect(nanosToMicros('159053000000')).toEqual(159053000); + expect(nanosToMicros('102026000000')).toEqual(102026000); + }); + + test('should correctly handle unexpected inputs', () => { + // @ts-expect-error + expect(nanosToMicros(159053000000)).toEqual(159053000); + // @ts-expect-error + expect(nanosToMicros(['159053000000'])).toEqual(0); + // @ts-expect-error + expect(nanosToMicros({ foo: '159053000000' })).toEqual(0); + expect(nanosToMicros('abc')).toEqual(0); + }); +}); diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/nanos_to_micros.ts b/x-pack/plugins/alerting/server/alerts_client/lib/nanos_to_micros.ts new file mode 100644 index 00000000000000..80fc97e275ad77 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_client/lib/nanos_to_micros.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { isNumber, isString } from 'lodash'; + +export const nanosToMicros = (nanosecondString: string): number => { + if (!isString(nanosecondString)) { + return isNumber(nanosecondString) ? nanosecondString / 1000 : 0; + } + + try { + const nanos = parseInt(nanosecondString, 10); + return isNaN(nanos) ? 0 : nanos / 1000; + } catch (err) { + return 0; + } +}; diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts index b8c587f18e22e8..fd11e5c8f0f8ae 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts @@ -529,7 +529,7 @@ describe('Task Runner', () => { [EVENT_ACTION]: 'open', [EVENT_KIND]: 'signal', [ALERT_ACTION_GROUP]: 'default', - [ALERT_DURATION]: '0', + [ALERT_DURATION]: 0, [ALERT_FLAPPING]: false, [ALERT_FLAPPING_HISTORY]: [true], [ALERT_INSTANCE_ID]: '1', diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data.ts index 83dfff9c08d08b..d6006360102338 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data.ts @@ -130,8 +130,8 @@ export default function createAlertsAsDataInstallResourcesTest({ getService }: F // alert UUID should equal doc id expect(source[ALERT_UUID]).to.equal(alertDocsRun1[i]._id); - // duration should be '0' since this is a new alert - expect(source[ALERT_DURATION]).to.equal('0'); + // duration should be 0 since this is a new alert + expect(source[ALERT_DURATION]).to.equal(0); // start should be defined expect(source[ALERT_START]).to.match(timestampPattern); @@ -210,8 +210,7 @@ export default function createAlertsAsDataInstallResourcesTest({ getService }: F expect(source[ALERT_UUID]).to.equal(alertDocsRun2[i]._id); // duration should be greater than 0 since these are not new alerts - const durationAsNumber = Number(source[ALERT_DURATION]); - expect(durationAsNumber).to.be.greaterThan(0); + expect(source[ALERT_DURATION]).to.be.greaterThan(0); } // alertA, run2 @@ -425,8 +424,8 @@ export default function createAlertsAsDataInstallResourcesTest({ getService }: F expect(alertCDocRun3[ALERT_START]).not.to.equal(alertCDocRun2[ALERT_START]); // timestamp should be defined and not the same as prior run expect(alertCDocRun3['@timestamp']).to.match(timestampPattern); - // duration should be '0' since this is a new alert - expect(alertCDocRun3[ALERT_DURATION]).to.equal('0'); + // duration should be 0 since this is a new alert + expect(alertCDocRun3[ALERT_DURATION]).to.equal(0); // flapping false, flapping history should be history from prior run with additional entry expect(alertCDocRun3[ALERT_FLAPPING]).to.equal(false); expect(alertCDocRun3[ALERT_FLAPPING_HISTORY]).to.eql([ diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts index 10e5e4d0c88e15..a108ffa4f2d003 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts @@ -105,7 +105,7 @@ export default function ({ getService }: FtrProviderContext) { expect(hits1[ALERT_MAINTENANCE_WINDOW_IDS]).to.be.an(Array); expect(typeof hits1[ALERT_REASON]).to.be('string'); expect(typeof hits1[ALERT_RULE_EXECUTION_UUID]).to.be('string'); - expect(typeof hits1[ALERT_DURATION]).to.be('string'); + expect(typeof hits1[ALERT_DURATION]).to.be('number'); expect(new Date(hits1[ALERT_START])).to.be.a(Date); expect(typeof hits1[ALERT_TIME_RANGE]).to.be('object'); expect(typeof hits1[ALERT_UUID]).to.be('string'); @@ -235,8 +235,8 @@ export default function ({ getService }: FtrProviderContext) { expect(hits2['@timestamp']).to.be.greaterThan(hits1['@timestamp']); expect(OPEN_OR_ACTIVE.has(hits1[EVENT_ACTION])).to.be(true); expect(hits2[EVENT_ACTION]).to.be('active'); - expect(parseInt(hits1[ALERT_DURATION], 10)).to.not.be.lessThan(0); - expect(hits2[ALERT_DURATION]).not.to.be('0'); + expect(hits1[ALERT_DURATION]).to.not.be.lessThan(0); + expect(hits2[ALERT_DURATION]).not.to.be(0); // remove fields we know will be different const fields = [ From 2256a7a80d877d776d5d48d87a2a2c23ea4eabca Mon Sep 17 00:00:00 2001 From: Xavier Mouligneau Date: Tue, 3 Oct 2023 17:47:14 -0400 Subject: [PATCH 21/35] [RAM] Slack api allowed channels (#167150) ## Summary We add a lot of issue with our slack API by trying to fetch the channels, so we decided to only use channel ID and create an allowed list with channel IDs. Here the new design: # Connector Creation #### Creation new connector image #### Editing new connector image #### Editing old slack api connector image # Slack Action Form #### Creation of new slack api action in rule form image #### Editing an old slack api action image image ### Checklist Delete any items that are not applicable to this PR. - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: Lisa Cawley --- .../common/slack_api/schema.ts | 26 +- .../common/slack_api/types.ts | 19 +- .../slack/action_form.test.tsx | 2 +- .../slack_api/slack_api.test.tsx | 16 +- .../connector_types/slack_api/slack_api.tsx | 18 +- .../slack_api/slack_connectors.test.tsx | 85 ++++-- .../slack_api/slack_connectors.tsx | 133 ++++++++- .../slack_api/slack_params.test.tsx | 253 +++++++++++++++-- .../slack_api/slack_params.tsx | 267 ++++++++++++++---- .../connector_types/slack_api/translations.ts | 20 +- .../slack_api/use_fetch_channels.tsx | 75 ----- .../slack_api/use_valid_channels.tsx | 101 +++++++ .../connector_types/slack_api/api.test.ts | 72 ++--- .../server/connector_types/slack_api/api.ts | 21 +- .../connector_types/slack_api/index.test.ts | 75 +++-- .../server/connector_types/slack_api/index.ts | 7 +- .../connector_types/slack_api/service.test.ts | 83 ++++-- .../connector_types/slack_api/service.ts | 112 ++++---- .../plugins/stack_connectors/server/plugin.ts | 11 +- .../stack_connectors/server/routes/index.ts | 1 + .../server/routes/valid_slack_api_channels.ts | 95 +++++++ .../translations/translations/fr-FR.json | 2 - .../translations/translations/ja-JP.json | 2 - .../translations/translations/zh-CN.json | 2 - .../triggers_actions_ui/connectors/slack.ts | 14 +- 25 files changed, 1151 insertions(+), 361 deletions(-) delete mode 100644 x-pack/plugins/stack_connectors/public/connector_types/slack_api/use_fetch_channels.tsx create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/slack_api/use_valid_channels.tsx create mode 100644 x-pack/plugins/stack_connectors/server/routes/valid_slack_api_channels.ts diff --git a/x-pack/plugins/stack_connectors/common/slack_api/schema.ts b/x-pack/plugins/stack_connectors/common/slack_api/schema.ts index 4f121fd92389a6..d591c7b5f3b645 100644 --- a/x-pack/plugins/stack_connectors/common/slack_api/schema.ts +++ b/x-pack/plugins/stack_connectors/common/slack_api/schema.ts @@ -11,14 +11,30 @@ export const SlackApiSecretsSchema = schema.object({ token: schema.string({ minLength: 1 }), }); -export const SlackApiConfigSchema = schema.object({}, { defaultValue: {} }); +export const SlackApiConfigSchema = schema.object({ + allowedChannels: schema.maybe( + schema.arrayOf( + schema.object({ + id: schema.string({ minLength: 1 }), + name: schema.string({ minLength: 1 }), + }), + { maxSize: 25 } + ) + ), +}); + +export const ValidChannelIdSubActionParamsSchema = schema.object({ + channelId: schema.maybe(schema.string()), +}); -export const GetChannelsParamsSchema = schema.object({ - subAction: schema.literal('getChannels'), +export const ValidChannelIdParamsSchema = schema.object({ + subAction: schema.literal('validChannelId'), + subActionParams: ValidChannelIdSubActionParamsSchema, }); export const PostMessageSubActionParamsSchema = schema.object({ - channels: schema.arrayOf(schema.string(), { maxSize: 1 }), + channels: schema.maybe(schema.arrayOf(schema.string(), { maxSize: 1 })), + channelIds: schema.maybe(schema.arrayOf(schema.string(), { maxSize: 1 })), text: schema.string({ minLength: 1 }), }); @@ -28,6 +44,6 @@ export const PostMessageParamsSchema = schema.object({ }); export const SlackApiParamsSchema = schema.oneOf([ - GetChannelsParamsSchema, + ValidChannelIdParamsSchema, PostMessageParamsSchema, ]); diff --git a/x-pack/plugins/stack_connectors/common/slack_api/types.ts b/x-pack/plugins/stack_connectors/common/slack_api/types.ts index 6d87b078b8c15e..7db66261c43cb4 100644 --- a/x-pack/plugins/stack_connectors/common/slack_api/types.ts +++ b/x-pack/plugins/stack_connectors/common/slack_api/types.ts @@ -15,6 +15,7 @@ import { SlackApiSecretsSchema, SlackApiParamsSchema, SlackApiConfigSchema, + ValidChannelIdSubActionParamsSchema, } from './schema'; export type SlackApiSecrets = TypeOf; @@ -22,6 +23,7 @@ export type SlackApiConfig = TypeOf; export type PostMessageParams = TypeOf; export type PostMessageSubActionParams = TypeOf; +export type ValidChannelIdSubActionParams = TypeOf; export type SlackApiParams = TypeOf; export type SlackApiConnectorType = ConnectorType< SlackApiConfig, @@ -55,25 +57,34 @@ export interface SlackAPiResponse { }; } -export interface ChannelsResponse { +export interface ChannelResponse { id: string; name: string; is_channel: boolean; is_archived: boolean; is_private: boolean; } -export interface GetChannelsResponse extends SlackAPiResponse { - channels?: ChannelsResponse[]; + +export interface ValidChannelResponse extends SlackAPiResponse { + channel?: ChannelResponse; } export interface PostMessageResponse extends SlackAPiResponse { channel?: string; } +export interface ValidChannelRouteResponse { + validChannels: Array<{ id: string; name: string }>; + invalidChannels: string[]; +} + export interface SlackApiService { - getChannels: () => Promise>; + validChannelId: ( + channelId: string + ) => Promise>; postMessage: ({ channels, + channelIds, text, }: PostMessageSubActionParams) => Promise>; } diff --git a/x-pack/plugins/stack_connectors/public/connector_types/slack/action_form.test.tsx b/x-pack/plugins/stack_connectors/public/connector_types/slack/action_form.test.tsx index f06461dd5fbc96..4e86a25ed26d86 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/slack/action_form.test.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/slack/action_form.test.tsx @@ -174,6 +174,6 @@ describe('ActionForm - Slack API Connector', () => { ); - expect(await screen.findByText('Channel is required.')).toBeInTheDocument(); + expect(await screen.findByText('Channel ID is required.')).toBeInTheDocument(); }); }); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_api.test.tsx b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_api.test.tsx index 27776a63673b80..d8c49ef12d9b5f 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_api.test.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_api.test.tsx @@ -44,6 +44,20 @@ describe('Slack action params validation', () => { }); }); + test('should succeed when action params include valid message and channels and channel ids', async () => { + const actionParams = { + subAction: 'postMessage', + subActionParams: { channels: ['general'], channelIds: ['general'], text: 'some text' }, + }; + + expect(await connectorTypeModel.validateParams(actionParams)).toEqual({ + errors: { + text: [], + channels: [], + }, + }); + }); + test('should fail when channels field is missing in action params', async () => { const actionParams = { subAction: 'postMessage', @@ -53,7 +67,7 @@ describe('Slack action params validation', () => { expect(await connectorTypeModel.validateParams(actionParams)).toEqual({ errors: { text: [], - channels: ['Channel is required.'], + channels: ['Channel ID is required.'], }, }); }); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_api.tsx b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_api.tsx index 102595ebb89b8d..95817c5be3e245 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_api.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_api.tsx @@ -26,6 +26,17 @@ import { SLACK_API_CONNECTOR_ID } from '../../../common/slack_api/constants'; import { SlackActionParams } from '../types'; import { subtype } from '../slack/slack'; +const isChannelValid = (channels?: string[], channelIds?: string[]) => { + if ( + (channels === undefined && !channelIds?.length) || + (channelIds === undefined && !channels?.length) || + (!channelIds?.length && !channels?.length) + ) { + return false; + } + return true; +}; + export const getConnectorType = (): ConnectorTypeModel< SlackApiConfig, SlackApiSecrets, @@ -50,7 +61,12 @@ export const getConnectorType = (): ConnectorTypeModel< if (!actionParams.subActionParams.text) { errors.text.push(MESSAGE_REQUIRED); } - if (!actionParams.subActionParams.channels?.length) { + if ( + !isChannelValid( + actionParams.subActionParams.channels, + actionParams.subActionParams.channelIds + ) + ) { errors.channels.push(CHANNEL_REQUIRED); } } diff --git a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_connectors.test.tsx b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_connectors.test.tsx index 8c255bce003fef..183637274c157a 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_connectors.test.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_connectors.test.tsx @@ -6,15 +6,15 @@ */ import React from 'react'; -import { act, render, fireEvent, screen } from '@testing-library/react'; +import { act, render, screen, waitFor } from '@testing-library/react'; import { useKibana } from '@kbn/triggers-actions-ui-plugin/public'; import { ConnectorFormTestProvider, waitForComponentToUpdate } from '../lib/test_utils'; -import SlackActionFields from './slack_connectors'; -import { useFetchChannels } from './use_fetch_channels'; +import { SlackActionFieldsComponents as SlackActionFields } from './slack_connectors'; +import { useValidChannels } from './use_valid_channels'; jest.mock('@kbn/triggers-actions-ui-plugin/public/common/lib/kibana'); -jest.mock('./use_fetch_channels'); +jest.mock('./use_valid_channels'); (useKibana as jest.Mock).mockImplementation(() => ({ services: { @@ -32,15 +32,19 @@ jest.mock('./use_fetch_channels'); }, })); -(useFetchChannels as jest.Mock).mockImplementation(() => ({ - channels: [], - isLoading: false, -})); +const useValidChannelsMock = useValidChannels as jest.Mock; describe('SlackActionFields renders', () => { const onSubmit = jest.fn(); beforeEach(() => { + useValidChannelsMock.mockClear(); + onSubmit.mockClear(); jest.clearAllMocks(); + useValidChannelsMock.mockImplementation(() => ({ + channels: [], + isLoading: false, + resetChannelsToValidate: jest.fn(), + })); }); it('all connector fields is rendered for web_api type', async () => { @@ -77,27 +81,68 @@ describe('SlackActionFields renders', () => { isDeprecated: false, }; + // Simulate that user just type a channel ID + useValidChannelsMock.mockImplementation(() => ({ + channels: ['my-channel'], + isLoading: false, + resetChannelsToValidate: jest.fn(), + })); + render( {}} /> ); await waitForComponentToUpdate(); - await act(async () => { - fireEvent.click(screen.getByTestId('form-test-provide-submit')); + act(() => { + screen.getByTestId('form-test-provide-submit').click(); }); - expect(onSubmit).toBeCalledTimes(1); - expect(onSubmit).toBeCalledWith({ - data: { - secrets: { - token: 'some token', + + await waitFor(() => { + expect(onSubmit).toBeCalledTimes(1); + expect(onSubmit).toBeCalledWith({ + data: { + secrets: { + token: 'some token', + }, + config: { + allowedChannels: ['my-channel'], + }, + id: 'test', + actionTypeId: '.slack', + name: 'slack', + isDeprecated: false, }, - id: 'test', - actionTypeId: '.slack', - name: 'slack', - isDeprecated: false, + isValid: true, + }); + }); + }); + + it('connector validation should failed when allowedChannels is empty', async () => { + const actionConnector = { + secrets: { + token: 'some token', }, - isValid: true, + id: 'test', + actionTypeId: '.slack', + name: 'slack', + config: {}, + isDeprecated: false, + }; + + render( + + {}} /> + + ); + await waitForComponentToUpdate(); + act(() => { + screen.getByTestId('form-test-provide-submit').click(); + }); + + await waitFor(() => { + expect(onSubmit).toBeCalledTimes(1); + expect(onSubmit).toBeCalledWith(expect.objectContaining({ isValid: false })); }); }); }); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_connectors.tsx b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_connectors.tsx index 71a262954d2d16..0b1b5710369270 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_connectors.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_connectors.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React from 'react'; +import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { ActionConnectorFieldsProps, ConfigFieldSchema, @@ -13,12 +13,18 @@ import { SimpleConnectorForm, useKibana, } from '@kbn/triggers-actions-ui-plugin/public'; -import { EuiLink } from '@elastic/eui'; +import { EuiComboBoxOptionOption, EuiLink } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { DocLinksStart } from '@kbn/core/public'; +import { useFormContext, useFormData } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; +import { debounce, isEmpty, isEqual } from 'lodash'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import * as i18n from './translations'; +import { useValidChannels } from './use_valid_channels'; + +/** wait this many ms after the user completes typing before applying the filter input */ +const INPUT_TIMEOUT = 250; const getSecretsFormSchema = (docLinks: DocLinksStart): SecretsFieldSchema[] => [ { @@ -36,20 +42,141 @@ const getSecretsFormSchema = (docLinks: DocLinksStart): SecretsFieldSchema[] => }, ]; -const NO_SCHEMA: ConfigFieldSchema[] = []; +interface AllowedChannels { + id: string; + name: string; +} + +const getConfigFormSchemaAfterSecrets = ({ + options, + isLoading, + isDisabled, + onChange, + onCreateOption, + selectedOptions, +}: { + options: Array>; + isLoading: boolean; + isDisabled: boolean; + onChange: (options: Array>) => void; + onCreateOption: (searchValue: string, options: EuiComboBoxOptionOption[]) => void; + selectedOptions: Array>; +}): ConfigFieldSchema[] => [ + { + id: 'allowedChannels', + isRequired: true, + label: i18n.ALLOWED_CHANNELS, + type: 'COMBO_BOX', + euiFieldProps: { + noSuggestions: true, + isDisabled, + isLoading, + options, + onChange, + onCreateOption, + selectedOptions, + }, + }, +]; +const NO_SCHEMA: ConfigFieldSchema[] = []; +const SEPARATOR = ' - '; export const SlackActionFieldsComponents: React.FC = ({ readOnly, isEdit, }) => { const { docLinks } = useKibana().services; + const form = useFormContext(); + const { setFieldValue } = form; + const [formData] = useFormData({ form }); + const [authToken, setAuthToken] = useState(''); + const [channelsToValidate, setChannelsToValidate] = useState(''); + const { + channels: validChannels, + isLoading, + resetChannelsToValidate, + } = useValidChannels({ + authToken, + channelId: channelsToValidate, + }); + + const onCreateOption = useCallback((searchValue: string, options: EuiComboBoxOptionOption[]) => { + setChannelsToValidate(searchValue); + }, []); + const onChange = useCallback( + (options: Array>) => { + const tempChannelIds: AllowedChannels[] = options.map( + (opt: EuiComboBoxOptionOption) => { + return opt.value!; + } + ); + setChannelsToValidate(''); + resetChannelsToValidate(tempChannelIds); + }, + [resetChannelsToValidate] + ); + + const configFormSchemaAfterSecrets = useMemo(() => { + const validChannelsFormatted = validChannels.map((channel) => ({ + label: `${channel.id}${SEPARATOR}${channel.name}`, + value: channel, + })); + return getConfigFormSchemaAfterSecrets({ + options: validChannelsFormatted, + isLoading, + isDisabled: (authToken || '').length === 0, + onChange, + onCreateOption, + selectedOptions: validChannelsFormatted, + }); + }, [validChannels, isLoading, authToken, onChange, onCreateOption]); + + const debounceSetToken = debounce(setAuthToken, INPUT_TIMEOUT); + useEffect(() => { + if (formData.secrets && formData.secrets.token !== authToken) { + debounceSetToken(formData.secrets.token); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [formData.secrets]); + + useEffect(() => { + if (isEmpty(authToken) && validChannels.length > 0) { + setFieldValue('config.allowedChannels', []); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [authToken]); + + useEffect(() => { + const configAllowedChannels = formData?.config?.allowedChannels || []; + if (!isEqual(configAllowedChannels, validChannels)) { + setFieldValue('config.allowedChannels', validChannels); + } + + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [validChannels]); + + const isInitialyzed = useRef(false); + useEffect(() => { + const configAllowedChannels = formData?.config?.allowedChannels || []; + if ( + !isInitialyzed.current && + configAllowedChannels.length > 0 && + !isEqual(configAllowedChannels, validChannels) + ) { + isInitialyzed.current = true; + resetChannelsToValidate(formData.config.allowedChannels); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [formData.config]); + return ( ); }; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_params.test.tsx b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_params.test.tsx index 85f909783f178c..3a90116b14ad40 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_params.test.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_params.test.tsx @@ -6,10 +6,12 @@ */ import React from 'react'; -import { render, screen } from '@testing-library/react'; +import { act, fireEvent, render, screen, waitFor, within } from '@testing-library/react'; import SlackParamsFields from './slack_params'; import type { UseSubActionParams } from '@kbn/triggers-actions-ui-plugin/public/application/hooks/use_sub_action'; import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; +import { ActionConnector } from '@kbn/triggers-actions-ui-plugin/public'; +import userEvent from '@testing-library/user-event'; interface Result { isLoading: boolean; @@ -19,23 +21,20 @@ interface Result { const triggersActionsPath = '@kbn/triggers-actions-ui-plugin/public'; -const mockUseSubAction = jest.fn]>( - jest.fn]>(() => ({ - isLoading: false, - response: { - channels: [ - { - id: 'id', - name: 'general', - is_channel: true, - is_archived: false, - is_private: true, - }, - ], +const mockUseValidChanelId = jest.fn().mockImplementation(() => ({ + isLoading: false, + response: { + channel: { + id: 'id', + name: 'general', + is_channel: true, + is_archived: false, + is_private: true, }, - error: null, - })) -); + }, + error: null, +})); +const mockUseSubAction = jest.fn]>(mockUseValidChanelId); const mockToasts = { danger: jest.fn(), warning: jest.fn() }; jest.mock(triggersActionsPath, () => { @@ -51,6 +50,23 @@ jest.mock(triggersActionsPath, () => { }); describe('SlackParamsFields renders', () => { + beforeEach(() => { + mockUseSubAction.mockClear(); + mockUseValidChanelId.mockClear(); + mockUseValidChanelId.mockImplementation(() => ({ + isLoading: false, + response: { + channel: { + id: 'id', + name: 'general', + is_channel: true, + is_archived: false, + is_private: true, + }, + }, + error: null, + })); + }); test('when useDefaultMessage is set to true and the default message changes, the underlying message is replaced with the default message', () => { const editAction = jest.fn(); const { rerender } = render( @@ -89,7 +105,7 @@ describe('SlackParamsFields renders', () => { ); expect(editAction).toHaveBeenCalledWith( 'subActionParams', - { channels: ['general'], text: 'some different default message' }, + { channels: ['general'], channelIds: [], text: 'some different default message' }, 0 ); }); @@ -155,17 +171,169 @@ describe('SlackParamsFields renders', () => { expect(screen.getByTestId('webApiTextArea')).toHaveValue('some text'); }); - test('all params fields is rendered for getChannels call', async () => { + test('Show the Channel label when using the old attribute "channels" in subActionParams', async () => { + const mockEditFunc = jest.fn(); + const WrappedComponent = () => { + return ( + + + + ); + }; + const { getByTestId } = render(); + + expect(screen.findByText('Channel')).toBeTruthy(); + expect(screen.getByTestId('slackApiChannelId')).toBeInTheDocument(); + expect(getByTestId('slackApiChannelId')).toHaveValue('old channel name'); + }); + + test('Show the Channel ID label when using the new attribute "channelIds" in subActionParams', async () => { + const mockEditFunc = jest.fn(); + const WrappedComponent: React.FunctionComponent = () => { + return ( + + + + ); + }; + const { getByTestId } = render(); + + expect(screen.findByText('Channel ID')).toBeTruthy(); + expect(screen.getByTestId('slackApiChannelId')).toBeInTheDocument(); + expect(getByTestId('slackApiChannelId')).toHaveValue('channel-id-xxx'); + }); + + test('Channel id subActionParams should be validated', async () => { + const mockEditFunc = jest.fn(); + mockUseValidChanelId.mockImplementation(() => ({ + isLoading: false, + response: { + channel: { + id: 'new-channel-id', + name: 'new channel id', + is_channel: true, + is_archived: false, + is_private: true, + }, + }, + error: null, + })); + const WrappedComponent = () => { + return ( + + + + ); + }; + const { getByTestId } = render(); + + act(() => { + getByTestId('slackApiChannelId').click(); + userEvent.clear(getByTestId('slackApiChannelId')); + fireEvent.change(getByTestId('slackApiChannelId'), { + target: { value: 'new-channel-id' }, + }); + userEvent.tab(); + }); + + await waitFor(() => { + expect(mockEditFunc).toBeCalledWith( + 'subActionParams', + { channelIds: ['new-channel-id'], channels: undefined, text: 'some text' }, + 0 + ); + expect(mockUseSubAction).toBeCalledWith({ + connectorId: 'connector-id', + disabled: false, + subAction: 'validChannelId', + subActionParams: { + channelId: 'new-channel-id', + }, + }); + }); + }); + + test('Channel id work with combobox when allowedChannels pass in the config attributes', async () => { + const mockEditFunc = jest.fn(); const WrappedComponent = () => { return ( {}} + editAction={mockEditFunc} index={0} defaultMessage="default message" messageVariables={[]} @@ -175,14 +343,43 @@ describe('SlackParamsFields renders', () => { }; const { getByTestId } = render(); - getByTestId('slackChannelsComboBox').click(); - getByTestId('comboBoxSearchInput').focus(); + expect(screen.findByText('Channel ID')).toBeTruthy(); + expect(getByTestId('slackChannelsComboBox')).toBeInTheDocument(); + expect(getByTestId('slackChannelsComboBox').textContent).toBe('channel-id-1 - channel 1'); + + act(() => { + const combobox = getByTestId('slackChannelsComboBox'); + const inputCombobox = within(combobox).getByTestId('comboBoxSearchInput'); + inputCombobox.click(); + }); + + await waitFor(() => { + // const popOverElement = within(baseElement).getByTestId('slackChannelsComboBox-optionsList'); + expect(screen.getByTestId('channel-id-1')).toBeInTheDocument(); + expect(screen.getByTestId('channel-id-2')).toBeInTheDocument(); + expect(screen.getByTestId('channel-id-3')).toBeInTheDocument(); + }); - const options = getByTestId( - 'comboBoxOptionsList slackChannelsComboBox-optionsList' - ).querySelectorAll('.euiComboBoxOption__content'); - expect(options).toHaveLength(1); - expect(options[0].textContent).toBe('general'); + act(() => { + screen.getByTestId('channel-id-3').click(); + }); + + await waitFor(() => { + expect( + within(getByTestId('slackChannelsComboBox')).getByText('channel-id-3 - channel 3') + ).toBeInTheDocument(); + expect(mockEditFunc).toBeCalledWith( + 'subActionParams', + { channelIds: ['channel-id-3'], channels: undefined, text: 'some text' }, + 0 + ); + expect(mockUseSubAction).toBeCalledWith({ + connectorId: 'connector-id', + disabled: false, + subAction: 'validChannelId', + subActionParams: { channelId: '' }, + }); + }); }); test('show error message when no channel is selected', async () => { diff --git a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_params.tsx b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_params.tsx index 68172f50d51de9..61d61a041deadc 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_params.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/slack_params.tsx @@ -9,9 +9,21 @@ import React, { useState, useEffect, useMemo, useCallback } from 'react'; import type { ActionParamsProps } from '@kbn/triggers-actions-ui-plugin/public'; import { i18n } from '@kbn/i18n'; import { TextAreaWithMessageVariables } from '@kbn/triggers-actions-ui-plugin/public'; -import { EuiSpacer, EuiFormRow, EuiComboBox, EuiComboBoxOptionOption } from '@elastic/eui'; +import { + EuiSpacer, + EuiFormRow, + EuiComboBox, + EuiComboBoxOptionOption, + EuiFieldText, +} from '@elastic/eui'; import { useSubAction, useKibana } from '@kbn/triggers-actions-ui-plugin/public'; -import type { GetChannelsResponse, PostMessageParams } from '../../../common/slack_api/types'; +import { UserConfiguredActionConnector } from '@kbn/triggers-actions-ui-plugin/public/types'; +import type { + PostMessageParams, + SlackApiConfig, + ValidChannelIdSubActionParams, + ValidChannelResponse, +} from '../../../common/slack_api/types'; const SlackParamsFields: React.FunctionComponent> = ({ actionConnector, @@ -23,17 +35,112 @@ const SlackParamsFields: React.FunctionComponent { + const [connectorId, setConnectorId] = useState(); const { subAction, subActionParams } = actionParams; - const { channels = [], text } = subActionParams ?? {}; + const { channels = [], text, channelIds = [] } = subActionParams ?? {}; + const [tempChannelId, setTempChannelId] = useState( + channels.length > 0 + ? channels[0] + : channelIds.length > 0 && channelIds[0].length > 0 + ? channelIds[0] + : '' + ); + const [validChannelId, setValidChannelId] = useState(''); const { toasts } = useKibana().notifications; + const allowedChannelsConfig = + (actionConnector as UserConfiguredActionConnector)?.config + ?.allowedChannels ?? []; + const [selectedChannels, setSelectedChannels] = useState( + (channelIds ?? []).map((c) => { + const allowedChannelSelected = allowedChannelsConfig?.find((ac) => ac.id === c); + return { + value: c, + label: allowedChannelSelected + ? `${allowedChannelSelected.id} - ${allowedChannelSelected.name}` + : c, + }; + }) + ); + const [channelValidError, setChannelValidError] = useState([]); + const { + response: { channel: channelValidInfo } = {}, + isLoading: isValidatingChannel, + error: channelValidErrorResp, + } = useSubAction({ + connectorId: actionConnector?.id, + subAction: 'validChannelId', + subActionParams: { + channelId: validChannelId, + }, + disabled: validChannelId.length === 0 && allowedChannelsConfig.length === 0, + }); useEffect(() => { if (useDefaultMessage || !text) { - editAction('subActionParams', { channels, text: defaultMessage }, index); + editAction('subActionParams', { channels, channelIds, text: defaultMessage }, index); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [defaultMessage, useDefaultMessage]); + useEffect(() => { + if ( + !isValidatingChannel && + !channelValidErrorResp && + channelValidInfo && + validChannelId === channelValidInfo.id + ) { + editAction( + 'subActionParams', + { channels: undefined, channelIds: [channelValidInfo.id], text }, + index + ); + setValidChannelId(''); + setChannelValidError([]); + } + }, [ + channelValidInfo, + validChannelId, + channelValidErrorResp, + isValidatingChannel, + editAction, + text, + index, + ]); + + useEffect(() => { + if (channelValidErrorResp && validChannelId.length > 0) { + editAction('subActionParams', { channels: undefined, channelIds: [], text }, index); + const errorMessage = i18n.translate( + 'xpack.stackConnectors.slack.params.componentError.validChannelsRequestFailed', + { + defaultMessage: '{validChannelId} is not a valid Slack channel', + values: { + validChannelId, + }, + } + ); + setChannelValidError([errorMessage]); + setValidChannelId(''); + toasts.danger({ + title: errorMessage, + body: channelValidErrorResp.message, + }); + } + }, [toasts, channelValidErrorResp, validChannelId, editAction, text, index]); + + useEffect(() => { + // Reset channel id input when we changes connector + if (connectorId && connectorId !== actionConnector?.id) { + editAction('subActionParams', { channels: undefined, channelIds: [], text }, index); + setTempChannelId(''); + setValidChannelId(''); + setChannelValidError([]); + setSelectedChannels([]); + } + setConnectorId(actionConnector?.id ?? ''); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [actionConnector?.id]); + if (!subAction) { editAction('subAction', 'postMessage', index); } @@ -42,82 +149,130 @@ const SlackParamsFields: React.FunctionComponent({ - connectorId: actionConnector?.id, - subAction: 'getChannels', - }); - - useEffect(() => { - if (channelsError) { - toasts.danger({ - title: i18n.translate( - 'xpack.stackConnectors.slack.params.componentError.getChannelsRequestFailed', - { - defaultMessage: 'Failed to retrieve Slack channels list', - } - ), - body: channelsError.message, - }); + const typeChannelInput = useMemo(() => { + if (channels.length > 0 && channelIds.length === 0) { + return 'channel-name'; + } else if ( + ( + (actionConnector as UserConfiguredActionConnector)?.config + ?.allowedChannels ?? [] + ).length > 0 + ) { + return 'channel-allowed-ids'; } - }, [toasts, channelsError]); - - const [selectedChannels, setSelectedChannels] = useState( - (channels ?? []).map((c) => ({ label: c })) - ); + return 'channel-id'; + }, [actionConnector, channelIds.length, channels.length]); - const slackChannels = useMemo( - () => - channelsInfo - ?.filter((slackChannel) => slackChannel.is_channel) - .map((slackChannel) => ({ label: slackChannel.name })) ?? [], - [channelsInfo] - ); + const slackChannelsOptions = useMemo(() => { + return ( + (actionConnector as UserConfiguredActionConnector)?.config + ?.allowedChannels ?? [] + ).map((ac) => ({ + label: `${ac.id} - ${ac.name}`, + value: ac.id, + 'data-test-subj': ac.id, + })); + }, [actionConnector]); - const onChange = useCallback( + const onChangeComboBox = useCallback( (newOptions: EuiComboBoxOptionOption[]) => { - const newSelectedChannels = newOptions.map((option) => option.label); - + const newSelectedChannels = newOptions.map((option) => option.value!.toString()); setSelectedChannels(newOptions); - editAction('subActionParams', { channels: newSelectedChannels, text }, index); + editAction( + 'subActionParams', + { channels: undefined, channelIds: newSelectedChannels, text }, + index + ); }, [editAction, index, text] ); + const onBlurChannelIds = useCallback(() => { + if (tempChannelId === '') { + editAction('subActionParams', { channels: undefined, channelIds: [], text }, index); + } + setValidChannelId(tempChannelId.trim()); + }, [editAction, index, tempChannelId, text]); + + const onChangeTextField = useCallback( + (evt) => { + editAction('subActionParams', { channels: undefined, channelIds: [], text }, index); + setTempChannelId(evt.target.value); + }, + [editAction, index, text] + ); + + const channelInput = useMemo(() => { + if (typeChannelInput === 'channel-name' || typeChannelInput === 'channel-id') { + return ( + 0} + fullWidth={true} + /> + ); + } + return ( + + ); + }, [ + channelValidError.length, + isValidatingChannel, + onBlurChannelIds, + onChangeComboBox, + onChangeTextField, + selectedChannels, + slackChannelsOptions, + tempChannelId, + typeChannelInput, + ]); return ( <> 0 && channels.length === 0} + error={channelValidError.length > 0 ? channelValidError : errors.channels} + isInvalid={errors.channels?.length > 0 || channelValidError.length > 0} + helpText={ + channelIds.length > 0 && channelValidInfo + ? `${channelValidInfo.id} - ${channelValidInfo.name}` + : '' + } > - + {channelInput} - editAction('subActionParams', { channels, text: value }, index) + editAction('subActionParams', { channels, channelIds, text: value }, index) } messageVariables={messageVariables} paramsProperty="webApi" diff --git a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/translations.ts b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/translations.ts index 2d8d6507b87158..57fedf03d96992 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/translations.ts +++ b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/translations.ts @@ -16,7 +16,7 @@ export const MESSAGE_REQUIRED = i18n.translate( export const CHANNEL_REQUIRED = i18n.translate( 'xpack.stackConnectors.components.slack_api.error.requiredSlackChannel', { - defaultMessage: 'Channel is required.', + defaultMessage: 'Channel ID is required.', } ); export const TOKEN_LABEL = i18n.translate( @@ -43,7 +43,7 @@ export const ACTION_TYPE_TITLE = i18n.translate( export const ALLOWED_CHANNELS = i18n.translate( 'xpack.stackConnectors.components.slack_api.allowedChannelsLabel', { - defaultMessage: 'Channels', + defaultMessage: 'Channel IDs', } ); export const SUCCESS_FETCH_CHANNELS = i18n.translate( @@ -53,9 +53,19 @@ export const SUCCESS_FETCH_CHANNELS = i18n.translate( } ); -export const ERROR_FETCH_CHANNELS = i18n.translate( - 'xpack.stackConnectors.components.slack_api.errorFetchChannelsText', +export const ERROR_VALID_CHANNELS = i18n.translate( + 'xpack.stackConnectors.components.slack_api.errorValidChannelsText', { - defaultMessage: 'Cannot fetch channels, please check the validity of your token', + defaultMessage: + 'Cannot valid channels, please check the validity of your token or your channel', } ); + +export const ERROR_INVALID_CHANNELS = (invalidChannels: string[]) => + i18n.translate('xpack.stackConnectors.components.slack_api.errorInvalidChannelsText', { + defaultMessage: + 'Cannot validate channel ID "{channels}", please check the validity of your token and/or the channel ID', + values: { + channels: invalidChannels.join(', '), + }, + }); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/use_fetch_channels.tsx b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/use_fetch_channels.tsx deleted file mode 100644 index fa4391c088668b..00000000000000 --- a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/use_fetch_channels.tsx +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor 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 { useMemo } from 'react'; -import { useQuery } from '@tanstack/react-query'; -import { useKibana } from '@kbn/triggers-actions-ui-plugin/public'; -import { HttpSetup } from '@kbn/core/public'; -import { ChannelsResponse, GetChannelsResponse } from '../../../common/slack_api/types'; -import { INTERNAL_BASE_STACK_CONNECTORS_API_PATH } from '../../../common'; -import * as i18n from './translations'; - -interface UseFetchChannelsProps { - authToken: string; -} - -const fetchChannels = async ( - http: HttpSetup, - newAuthToken: string -): Promise => { - return http.post( - `${INTERNAL_BASE_STACK_CONNECTORS_API_PATH}/_slack_api/channels`, - { - body: JSON.stringify({ - authToken: newAuthToken, - }), - } - ); -}; - -export function useFetchChannels(props: UseFetchChannelsProps) { - const { authToken } = props; - - const { - http, - notifications: { toasts }, - } = useKibana().services; - - const queryFn = () => { - return fetchChannels(http, authToken); - }; - - const onErrorFn = () => { - toasts.addDanger(i18n.ERROR_FETCH_CHANNELS); - }; - - const { data, isLoading, isFetching } = useQuery({ - queryKey: ['fetchChannels', authToken], - queryFn, - onError: onErrorFn, - enabled: authToken.length > 0, - refetchOnWindowFocus: false, - }); - - const channels = useMemo(() => { - return (data?.channels ?? []).map((channel: ChannelsResponse) => ({ - label: channel.name, - })); - }, [data]); - - return { - channels, - isLoading: isLoading || isFetching, - }; -} diff --git a/x-pack/plugins/stack_connectors/public/connector_types/slack_api/use_valid_channels.tsx b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/use_valid_channels.tsx new file mode 100644 index 00000000000000..17745ec4e4d0cc --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/slack_api/use_valid_channels.tsx @@ -0,0 +1,101 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.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 { useCallback, useEffect, useState } from 'react'; +import { useQuery } from '@tanstack/react-query'; +import { useKibana } from '@kbn/triggers-actions-ui-plugin/public'; +import { HttpSetup } from '@kbn/core/public'; +import { ValidChannelRouteResponse } from '../../../common/slack_api/types'; +import { INTERNAL_BASE_STACK_CONNECTORS_API_PATH } from '../../../common'; +import * as i18n from './translations'; + +interface UseValidChannelsProps { + authToken: string; + channelId: string; +} + +const validChannelIds = async ( + http: HttpSetup, + newAuthToken: string, + channelId: string +): Promise => { + return http.post( + `${INTERNAL_BASE_STACK_CONNECTORS_API_PATH}/_slack_api/channels/_valid`, + { + body: JSON.stringify({ + authToken: newAuthToken, + channelIds: [channelId], + }), + } + ); +}; + +export function useValidChannels(props: UseValidChannelsProps) { + const { authToken, channelId } = props; + const [channels, setChannels] = useState>([]); + const { + http, + notifications: { toasts }, + } = useKibana().services; + + const channelIdToValidate = channels.some((c: { id: string }) => c.id === channelId) + ? '' + : channelId; + const queryFn = () => { + return validChannelIds(http, authToken, channelIdToValidate); + }; + + const onErrorFn = () => { + toasts.addDanger(i18n.ERROR_VALID_CHANNELS); + }; + + const { data, isLoading, isFetching } = useQuery({ + queryKey: ['validChannels', authToken, channelIdToValidate], + queryFn, + onError: onErrorFn, + enabled: (authToken || '').length > 0 && (channelIdToValidate || '').length > 0, + refetchOnWindowFocus: false, + }); + + useEffect(() => { + if ((data?.invalidChannels ?? []).length > 0) { + toasts.addDanger(i18n.ERROR_INVALID_CHANNELS(data?.invalidChannels ?? [])); + } + if ((data?.validChannels ?? []).length > 0) { + setChannels((prevChannels) => { + return prevChannels.concat(data?.validChannels ?? []); + }); + } + }, [data, toasts]); + + const resetChannelsToValidate = useCallback( + (channelsToReset: Array<{ id: string; name: string }>) => { + if (channelsToReset.length === 0) { + setChannels([]); + } else { + setChannels((prevChannels) => { + if (prevChannels.length === 0) return channelsToReset; + return prevChannels.filter((c) => channelsToReset.some((cTr) => cTr.id === c.id)); + }); + } + }, + [] + ); + + return { + channels, + resetChannelsToValidate, + isLoading: isLoading && isFetching, + }; +} diff --git a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/api.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/api.test.ts index 2ae4a998b261a1..cda2c5b96cd879 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/api.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/api.test.ts @@ -18,25 +18,16 @@ const createMock = (): jest.Mocked => { type: 'message', }, })), - getChannels: jest.fn().mockImplementation(() => [ + validChannelId: jest.fn().mockImplementation(() => [ { ok: true, - channels: [ - { - id: 'channel_id_1', - name: 'general', - is_channel: true, - is_archived: false, - is_private: true, - }, - { - id: 'channel_id_2', - name: 'privat', - is_channel: true, - is_archived: false, - is_private: false, - }, - ], + channels: { + id: 'channel_id_1', + name: 'general', + is_channel: true, + is_archived: false, + is_private: true, + }, }, ]), }; @@ -55,35 +46,28 @@ describe('api', () => { externalService = slackServiceMock.create(); }); - test('getChannels', async () => { - const res = await api.getChannels({ + test('validChannelId', async () => { + const res = await api.validChannelId({ externalService, + params: { channelId: 'channel_id_1' }, }); expect(res).toEqual([ { - channels: [ - { - id: 'channel_id_1', - is_archived: false, - is_channel: true, - is_private: true, - name: 'general', - }, - { - id: 'channel_id_2', - is_archived: false, - is_channel: true, - is_private: false, - name: 'privat', - }, - ], + channels: { + id: 'channel_id_1', + is_archived: false, + is_channel: true, + is_private: true, + name: 'general', + }, + ok: true, }, ]); }); - test('postMessage', async () => { + test('postMessage with channels params', async () => { const res = await api.postMessage({ externalService, params: { channels: ['general'], text: 'a message' }, @@ -98,4 +82,20 @@ describe('api', () => { ok: true, }); }); + + test('postMessage with channelIds params', async () => { + const res = await api.postMessage({ + externalService, + params: { channelIds: ['general'], text: 'a message' }, + }); + + expect(res).toEqual({ + channel: 'general', + message: { + text: 'a message', + type: 'message', + }, + ok: true, + }); + }); }); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/api.ts b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/api.ts index b0445b7c26e418..4c66f10761c853 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/api.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/api.ts @@ -5,20 +5,29 @@ * 2.0. */ -import type { PostMessageSubActionParams, SlackApiService } from '../../../common/slack_api/types'; +import type { + PostMessageSubActionParams, + SlackApiService, + ValidChannelIdSubActionParams, +} from '../../../common/slack_api/types'; -const getChannelsHandler = async ({ externalService }: { externalService: SlackApiService }) => - await externalService.getChannels(); +const validChannelIdHandler = async ({ + externalService, + params: { channelId }, +}: { + externalService: SlackApiService; + params: ValidChannelIdSubActionParams; +}) => await externalService.validChannelId(channelId ?? ''); const postMessageHandler = async ({ externalService, - params: { channels, text }, + params: { channelIds, channels, text }, }: { externalService: SlackApiService; params: PostMessageSubActionParams; -}) => await externalService.postMessage({ channels, text }); +}) => await externalService.postMessage({ channelIds, channels, text }); export const api = { - getChannels: getChannelsHandler, + validChannelId: validChannelIdHandler, postMessage: postMessageHandler, }; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.test.ts index c4922020cdce71..62e7cf771d3cbf 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.test.ts @@ -79,7 +79,7 @@ describe('validate params', () => { ); }); - test('should validate and pass when params are valid for post message', () => { + test('should validate and pass when channels is used as a valid params for post message', () => { expect( validateParams( connectorType, @@ -92,11 +92,32 @@ describe('validate params', () => { }); }); - test('should validate and pass when params are valid for get channels', () => { + test('should validate and pass when channelIds is used as a valid params for post message', () => { expect( - validateParams(connectorType, { subAction: 'getChannels' }, { configurationUtilities }) + validateParams( + connectorType, + { + subAction: 'postMessage', + subActionParams: { channelIds: ['LKJHGF345'], text: 'a text' }, + }, + { configurationUtilities } + ) + ).toEqual({ + subAction: 'postMessage', + subActionParams: { channelIds: ['LKJHGF345'], text: 'a text' }, + }); + }); + + test('should validate and pass when params are valid for validChannelIds', () => { + expect( + validateParams( + connectorType, + { subAction: 'validChannelId', subActionParams: { channelId: 'KJHGFD867' } }, + { configurationUtilities } + ) ).toEqual({ - subAction: 'getChannels', + subAction: 'validChannelId', + subActionParams: { channelId: 'KJHGFD867' }, }); }); }); @@ -179,7 +200,7 @@ describe('execute', () => { ); }); - test('should fail if subAction is not postMessage/getChannels', async () => { + test('should fail if subAction is not postMessage/validChannelId', async () => { requestMock.mockImplementation(() => ({ data: { ok: true, @@ -195,7 +216,8 @@ describe('execute', () => { config: {}, secrets: { token: 'some token' }, params: { - subAction: 'getMessage' as 'getChannels', + subAction: 'getMessage' as 'validChannelId', + subActionParams: {}, }, configurationUtilities, logger: mockedLogger, @@ -264,19 +286,17 @@ describe('execute', () => { }); }); - test('should execute with success for get channels', async () => { + test('should execute with success for validChannelId', async () => { requestMock.mockImplementation(() => ({ data: { ok: true, - channels: [ - { - id: 'id', - name: 'general', - is_channel: true, - is_archived: false, - is_private: true, - }, - ], + channel: { + id: 'ZXCVBNM567', + name: 'general', + is_channel: true, + is_archived: false, + is_private: true, + }, }, })); const response = await connectorType.executor({ @@ -285,7 +305,10 @@ describe('execute', () => { config: {}, secrets: { token: 'some token' }, params: { - subAction: 'getChannels', + subAction: 'validChannelId', + subActionParams: { + channelId: 'ZXCVBNM567', + }, }, configurationUtilities, logger: mockedLogger, @@ -296,21 +319,19 @@ describe('execute', () => { configurationUtilities, logger: mockedLogger, method: 'get', - url: 'conversations.list?exclude_archived=true&types=public_channel,private_channel&limit=1000', + url: 'conversations.info?channel=ZXCVBNM567', }); expect(response).toEqual({ actionId: SLACK_API_CONNECTOR_ID, data: { - channels: [ - { - id: 'id', - is_archived: false, - is_channel: true, - is_private: true, - name: 'general', - }, - ], + channel: { + id: 'ZXCVBNM567', + is_archived: false, + is_channel: true, + is_private: true, + name: 'general', + }, ok: true, }, status: 'ok', diff --git a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.ts index ffb952f4579563..7a619669584154 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/index.ts @@ -29,7 +29,7 @@ import { SLACK_CONNECTOR_NAME } from './translations'; import { api } from './api'; import { createExternalService } from './service'; -const supportedSubActions = ['getChannels', 'postMessage']; +const supportedSubActions = ['getAllowedChannels', 'validChannelId', 'postMessage']; export const getConnectorType = (): SlackApiConnectorType => { return { @@ -111,9 +111,10 @@ const slackApiExecutor = async ({ configurationUtilities ); - if (subAction === 'getChannels') { - return await api.getChannels({ + if (subAction === 'validChannelId') { + return await api.validChannelId({ externalService, + params: params.subActionParams, }); } diff --git a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/service.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/service.test.ts index 85df189c72d29e..068bd8d5d923e2 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/service.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/service.test.ts @@ -29,27 +29,18 @@ axios.create = jest.fn(() => axios); const requestMock = request as jest.Mock; const configurationUtilities = actionsConfigMock.create(); -const channels = [ - { - id: 'channel_id_1', - name: 'general', - is_channel: true, - is_archived: false, - is_private: true, - }, - { - id: 'channel_id_2', - name: 'privat', - is_channel: true, - is_archived: false, - is_private: false, - }, -]; - -const getChannelsResponse = createAxiosResponse({ +const channel = { + id: 'channel_id_1', + name: 'general', + is_channel: true, + is_archived: false, + is_private: true, +}; + +const getValidChannelIdResponse = createAxiosResponse({ data: { ok: true, - channels, + channel, }, }); @@ -105,30 +96,30 @@ describe('Slack API service', () => { }); }); - describe('getChannels', () => { + describe('validChannelId', () => { test('should get slack channels', async () => { - requestMock.mockImplementation(() => getChannelsResponse); - const res = await service.getChannels(); + requestMock.mockImplementation(() => getValidChannelIdResponse); + const res = await service.validChannelId('channel_id_1'); expect(res).toEqual({ actionId: SLACK_API_CONNECTOR_ID, data: { ok: true, - channels, + channel, }, status: 'ok', }); }); test('should call request with correct arguments', async () => { - requestMock.mockImplementation(() => getChannelsResponse); + requestMock.mockImplementation(() => getValidChannelIdResponse); - await service.getChannels(); + await service.validChannelId('channel_id_1'); expect(requestMock).toHaveBeenCalledWith({ axios, logger, configurationUtilities, method: 'get', - url: 'conversations.list?exclude_archived=true&types=public_channel,private_channel&limit=1000', + url: 'conversations.info?channel=channel_id_1', }); }); @@ -137,7 +128,7 @@ describe('Slack API service', () => { throw new Error('request fail'); }); - expect(await service.getChannels()).toEqual({ + expect(await service.validChannelId('channel_id_1')).toEqual({ actionId: SLACK_API_CONNECTOR_ID, message: 'error posting slack message', serviceMessage: 'request fail', @@ -147,7 +138,7 @@ describe('Slack API service', () => { }); describe('postMessage', () => { - test('should call request with correct arguments', async () => { + test('should call request with only channels argument', async () => { requestMock.mockImplementation(() => postMessageResponse); await service.postMessage({ channels: ['general', 'privat'], text: 'a message' }); @@ -163,6 +154,42 @@ describe('Slack API service', () => { }); }); + test('should call request with only channelIds argument', async () => { + requestMock.mockImplementation(() => postMessageResponse); + + await service.postMessage({ + channels: ['general', 'privat'], + channelIds: ['QWEERTYU987', 'POIUYT123'], + text: 'a message', + }); + + expect(requestMock).toHaveBeenCalledTimes(1); + expect(requestMock).toHaveBeenNthCalledWith(1, { + axios, + logger, + configurationUtilities, + method: 'post', + url: 'chat.postMessage', + data: { channel: 'QWEERTYU987', text: 'a message' }, + }); + }); + + test('should call request with channels && channelIds argument', async () => { + requestMock.mockImplementation(() => postMessageResponse); + + await service.postMessage({ channelIds: ['QWEERTYU987', 'POIUYT123'], text: 'a message' }); + + expect(requestMock).toHaveBeenCalledTimes(1); + expect(requestMock).toHaveBeenNthCalledWith(1, { + axios, + logger, + configurationUtilities, + method: 'post', + url: 'chat.postMessage', + data: { channel: 'QWEERTYU987', text: 'a message' }, + }); + }); + test('should throw an error if request to slack fail', async () => { requestMock.mockImplementation(() => { throw new Error('request fail'); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/service.ts b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/service.ts index ae85127eb457aa..f4ecb955712570 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/slack_api/service.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/slack_api/service.ts @@ -5,7 +5,7 @@ * 2.0. */ -import axios, { AxiosHeaders, AxiosResponse } from 'axios'; +import axios, { AxiosResponse } from 'axios'; import { Logger } from '@kbn/core/server'; import { i18n } from '@kbn/i18n'; import { ActionsConfigurationUtilities } from '@kbn/actions-plugin/server/actions_config'; @@ -18,9 +18,8 @@ import type { PostMessageSubActionParams, SlackApiService, PostMessageResponse, - GetChannelsResponse, SlackAPiResponse, - ChannelsResponse, + ValidChannelResponse, } from '../../../common/slack_api/types'; import { retryResultSeconds, @@ -32,9 +31,6 @@ import { import { SLACK_API_CONNECTOR_ID, SLACK_URL } from '../../../common/slack_api/constants'; import { getRetryAfterIntervalFromHeaders } from '../lib/http_response_retry_header'; -const RE_TRY = 5; -const LIMIT = 1000; - const buildSlackExecutorErrorResponse = ({ slackApiError, logger, @@ -106,11 +102,20 @@ const buildSlackExecutorSuccessResponse = ({ }; export const createExternalService = ( - { secrets }: { secrets: { token: string } }, + { + config, + secrets, + }: { + config?: { allowedChannels?: Array<{ id: string; name: string }> }; + secrets: { token: string }; + }, logger: Logger, configurationUtilities: ActionsConfigurationUtilities ): SlackApiService => { const { token } = secrets; + const { allowedChannels } = config || { allowedChannels: [] }; + const allowedChannelIds = allowedChannels?.map((ac) => ac.id); + if (!token) { throw Error(`[Action][${SLACK_CONNECTOR_NAME}]: Wrong configuration.`); } @@ -123,57 +128,30 @@ export const createExternalService = ( }, }); - const getChannels = async (): Promise< - ConnectorTypeExecutorResult - > => { + const validChannelId = async ( + channelId: string + ): Promise> => { try { - const fetchChannels = (cursor: string = ''): Promise> => { - return request({ + const validChannel = (): Promise> => { + return request({ axios: axiosInstance, configurationUtilities, logger, method: 'get', - url: `conversations.list?exclude_archived=true&types=public_channel,private_channel&limit=${LIMIT}${ - cursor.length > 0 ? `&cursor=${cursor}` : '' - }`, + url: `conversations.info?channel=${channelId}`, }); }; - - let numberOfFetch = 0; - let cursor = ''; - const channels: ChannelsResponse[] = []; - let result: AxiosResponse = { - data: { ok: false, channels }, - status: 0, - statusText: '', - headers: {}, - config: { - headers: new AxiosHeaders({}), - }, - }; - - while (numberOfFetch < RE_TRY) { - result = await fetchChannels(cursor); - if (result.data.ok && (result.data?.channels ?? []).length > 0) { - channels.push(...(result.data?.channels ?? [])); - } - if ( - result.data.ok && - result.data.response_metadata && - result.data.response_metadata.next_cursor && - result.data.response_metadata.next_cursor.length > 0 - ) { - numberOfFetch += 1; - cursor = result.data.response_metadata.next_cursor; - } else { - break; - } + if (channelId.length === 0) { + return buildSlackExecutorErrorResponse({ + slackApiError: new Error('The channel id is empty'), + logger, + }); } - result.data.channels = channels; - const responseData = result.data; - return buildSlackExecutorSuccessResponse({ - slackApiResponseData: responseData, + const result = await validChannel(); + + return buildSlackExecutorSuccessResponse({ + slackApiResponseData: result.data, }); } catch (error) { return buildSlackExecutorErrorResponse({ slackApiError: error, logger }); @@ -182,15 +160,47 @@ export const createExternalService = ( const postMessage = async ({ channels, + channelIds = [], text, }: PostMessageSubActionParams): Promise> => { try { + if ( + channelIds.length > 0 && + allowedChannelIds && + allowedChannelIds.length > 0 && + !channelIds.every((cId) => allowedChannelIds.includes(cId)) + ) { + return buildSlackExecutorErrorResponse({ + slackApiError: { + message: `One of channel ids "${channelIds.join()}" is not included in the allowed channels list "${allowedChannelIds.join()}"`, + }, + logger, + }); + } + + // For now, we only allow one channel but we wanted + // to have a array in case we need to allow multiple channels + // in one actions + let channelToUse = channelIds.length > 0 ? channelIds[0] : ''; + if (channelToUse.length === 0 && channels && channels.length > 0 && channels[0].length > 0) { + channelToUse = channels[0]; + } + + if (channelToUse.length === 0) { + return buildSlackExecutorErrorResponse({ + slackApiError: { + message: `The channel is empty"`, + }, + logger, + }); + } + const result: AxiosResponse = await request({ axios: axiosInstance, method: 'post', url: 'chat.postMessage', logger, - data: { channel: channels[0], text }, + data: { channel: channelToUse, text }, configurationUtilities, }); @@ -201,7 +211,7 @@ export const createExternalService = ( }; return { - getChannels, + validChannelId, postMessage, }; }; diff --git a/x-pack/plugins/stack_connectors/server/plugin.ts b/x-pack/plugins/stack_connectors/server/plugin.ts index ce1795b4eb7fbf..8e74b3c88395c9 100644 --- a/x-pack/plugins/stack_connectors/server/plugin.ts +++ b/x-pack/plugins/stack_connectors/server/plugin.ts @@ -5,10 +5,10 @@ * 2.0. */ -import { PluginInitializerContext, Plugin, CoreSetup } from '@kbn/core/server'; +import { PluginInitializerContext, Plugin, CoreSetup, Logger } from '@kbn/core/server'; import { PluginSetupContract as ActionsPluginSetupContract } from '@kbn/actions-plugin/server'; import { registerConnectorTypes } from './connector_types'; -import { getWellKnownEmailServiceRoute } from './routes'; +import { validSlackApiChannelsRoute, getWellKnownEmailServiceRoute } from './routes'; export interface ConnectorsPluginsSetup { actions: ActionsPluginSetupContract; } @@ -18,13 +18,18 @@ export interface ConnectorsPluginsStart { } export class StackConnectorsPlugin implements Plugin { - constructor(context: PluginInitializerContext) {} + private readonly logger: Logger; + + constructor(context: PluginInitializerContext) { + this.logger = context.logger.get(); + } public setup(core: CoreSetup, plugins: ConnectorsPluginsSetup) { const router = core.http.createRouter(); const { actions } = plugins; getWellKnownEmailServiceRoute(router); + validSlackApiChannelsRoute(router, actions.getActionsConfigurationUtilities(), this.logger); registerConnectorTypes({ actions, diff --git a/x-pack/plugins/stack_connectors/server/routes/index.ts b/x-pack/plugins/stack_connectors/server/routes/index.ts index 2766b996798459..cd9857b2168edb 100644 --- a/x-pack/plugins/stack_connectors/server/routes/index.ts +++ b/x-pack/plugins/stack_connectors/server/routes/index.ts @@ -6,3 +6,4 @@ */ export { getWellKnownEmailServiceRoute } from './get_well_known_email_service'; +export { validSlackApiChannelsRoute } from './valid_slack_api_channels'; diff --git a/x-pack/plugins/stack_connectors/server/routes/valid_slack_api_channels.ts b/x-pack/plugins/stack_connectors/server/routes/valid_slack_api_channels.ts new file mode 100644 index 00000000000000..434f989f56e923 --- /dev/null +++ b/x-pack/plugins/stack_connectors/server/routes/valid_slack_api_channels.ts @@ -0,0 +1,95 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; +import { + IRouter, + RequestHandlerContext, + KibanaRequest, + IKibanaResponse, + KibanaResponseFactory, + Logger, +} from '@kbn/core/server'; +import axios, { AxiosResponse } from 'axios'; +import { request } from '@kbn/actions-plugin/server/lib/axios_utils'; +import { ActionsConfigurationUtilities } from '@kbn/actions-plugin/server/actions_config'; +import { INTERNAL_BASE_STACK_CONNECTORS_API_PATH } from '../../common'; +import { SLACK_URL } from '../../common/slack_api/constants'; +import { ValidChannelResponse } from '../../common/slack_api/types'; + +const bodySchema = schema.object({ + authToken: schema.string(), + channelIds: schema.arrayOf(schema.string(), { minSize: 1, maxSize: 25 }), +}); + +export const validSlackApiChannelsRoute = ( + router: IRouter, + configurationUtilities: ActionsConfigurationUtilities, + logger: Logger +) => { + router.post( + { + path: `${INTERNAL_BASE_STACK_CONNECTORS_API_PATH}/_slack_api/channels/_valid`, + validate: { + body: bodySchema, + }, + }, + handler + ); + + async function handler( + ctx: RequestHandlerContext, + req: KibanaRequest, + res: KibanaResponseFactory + ): Promise { + const { authToken, channelIds } = req.body; + + const axiosInstance = axios.create({ + baseURL: SLACK_URL, + headers: { + Authorization: `Bearer ${authToken}`, + 'Content-type': 'application/json; charset=UTF-8', + }, + }); + + const validChannelId = ( + channelId: string = '' + ): Promise> => { + return request({ + axios: axiosInstance, + configurationUtilities, + logger, + method: 'get', + url: `conversations.info?channel=${channelId}`, + }); + }; + + const promiseValidChannels = []; + for (const channelId of channelIds) { + promiseValidChannels.push(validChannelId(channelId)); + } + const validChannels: Array<{ id: string; name: string }> = []; + const invalidChannels: string[] = []; + const resultValidChannels = await Promise.all(promiseValidChannels); + + resultValidChannels.forEach((result, resultIdx) => { + if (result.data.ok && result.data?.channel) { + const { id, name } = result.data?.channel; + validChannels.push({ id, name }); + } else if (result.data.error && channelIds[resultIdx]) { + invalidChannels.push(channelIds[resultIdx]); + } + }); + + return res.ok({ + body: { + validChannels, + invalidChannels, + }, + }); + } +}; diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 19c63121a62b84..4d5c96f4d31966 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -35823,7 +35823,6 @@ "xpack.stackConnectors.components.slack_api.connectorTypeTitle": "Envoyer vers Slack", "xpack.stackConnectors.components.slack_api.error.requiredSlackChannel": "Le canal est requis.", "xpack.stackConnectors.components.slack_api.error.requiredSlackMessageText": "Le message est requis.", - "xpack.stackConnectors.components.slack_api.errorFetchChannelsText": "Impossible de récupérer les canaux, veuillez vérifier la validité de votre token", "xpack.stackConnectors.components.slack_api.selectMessageText": "Envoyer des messages aux canaux Slack.", "xpack.stackConnectors.components.slack_api.successFetchChannelsText": "Récupérer tous les canaux", "xpack.stackConnectors.components.slack_api.tokenTextFieldLabel": "Token d'API", @@ -35994,7 +35993,6 @@ "xpack.stackConnectors.slack.errorPostingErrorMessage": "erreur lors de la publication du message slack", "xpack.stackConnectors.slack.errorPostingRetryLaterErrorMessage": "erreur lors de la publication d'un message slack, réessayer ultérieurement", "xpack.stackConnectors.slack.params.channelsComboBoxLabel": "Canaux", - "xpack.stackConnectors.slack.params.componentError.getChannelsRequestFailed": "Impossible de récupérer la liste des canaux Slack", "xpack.stackConnectors.slack.title": "Slack", "xpack.stackConnectors.slack.unexpectedNullResponseErrorMessage": "réponse nulle inattendue de Slack", "xpack.stackConnectors.slackApi.title": "API Slack", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 89c3b1a590be58..11bf49746b2bcc 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -35822,7 +35822,6 @@ "xpack.stackConnectors.components.slack_api.connectorTypeTitle": "Slack に送信", "xpack.stackConnectors.components.slack_api.error.requiredSlackChannel": "チャンネルが必要です。", "xpack.stackConnectors.components.slack_api.error.requiredSlackMessageText": "メッセージが必要です。", - "xpack.stackConnectors.components.slack_api.errorFetchChannelsText": "チャンネルを取得できません。トークンの有効期限を確認してください", "xpack.stackConnectors.components.slack_api.selectMessageText": "メッセージをSlackチャンネルに送信します。", "xpack.stackConnectors.components.slack_api.successFetchChannelsText": "すべてのチャンネルを取得", "xpack.stackConnectors.components.slack_api.tokenTextFieldLabel": "APIトークン", @@ -35993,7 +35992,6 @@ "xpack.stackConnectors.slack.errorPostingErrorMessage": "slack メッセージの投稿エラー", "xpack.stackConnectors.slack.errorPostingRetryLaterErrorMessage": "slack メッセージの投稿エラー、後ほど再試行", "xpack.stackConnectors.slack.params.channelsComboBoxLabel": "チャンネル", - "xpack.stackConnectors.slack.params.componentError.getChannelsRequestFailed": "Slackチャンネルリストを取得できませんでした", "xpack.stackConnectors.slack.title": "Slack", "xpack.stackConnectors.slack.unexpectedNullResponseErrorMessage": "Slack から予期せぬ null 応答", "xpack.stackConnectors.slackApi.title": "Slack API", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 46482145dcf97c..23f68132c7adfa 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -35816,7 +35816,6 @@ "xpack.stackConnectors.components.slack_api.connectorTypeTitle": "发送到 Slack", "xpack.stackConnectors.components.slack_api.error.requiredSlackChannel": "“频道”必填。", "xpack.stackConnectors.components.slack_api.error.requiredSlackMessageText": "“消息”必填。", - "xpack.stackConnectors.components.slack_api.errorFetchChannelsText": "无法提取频道,请检查您令牌的有效性", "xpack.stackConnectors.components.slack_api.selectMessageText": "向 Slack 频道发送消息。", "xpack.stackConnectors.components.slack_api.successFetchChannelsText": "提取所有频道", "xpack.stackConnectors.components.slack_api.tokenTextFieldLabel": "API 令牌", @@ -35987,7 +35986,6 @@ "xpack.stackConnectors.slack.errorPostingErrorMessage": "发布 slack 消息时出错", "xpack.stackConnectors.slack.errorPostingRetryLaterErrorMessage": "发布 slack 消息时出错,稍后重试", "xpack.stackConnectors.slack.params.channelsComboBoxLabel": "频道", - "xpack.stackConnectors.slack.params.componentError.getChannelsRequestFailed": "无法检索 Slack 频道列表", "xpack.stackConnectors.slack.title": "Slack", "xpack.stackConnectors.slack.unexpectedNullResponseErrorMessage": "来自 slack 的异常空响应", "xpack.stackConnectors.slackApi.title": "Slack API", diff --git a/x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/connectors/slack.ts b/x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/connectors/slack.ts index f975bed9f965e6..14dbc0db0c241e 100644 --- a/x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/connectors/slack.ts +++ b/x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/connectors/slack.ts @@ -68,7 +68,12 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { objectRemover.add(connector.id, 'action', 'actions'); }); - it('should create the web api connector', async () => { + /* FUTURE ENGINEER + /* With this https://github.com/elastic/kibana/pull/167150, we added an allowed list of channel IDs + /* we can not have this test running anymore because this allowed list is required + /* we will have to figure out how to simulate the slack API through functional/API integration testing + */ + it.skip('should create the web api connector', async () => { const connectorName = generateUniqueKey(); await actions.slack.createNewWebAPI({ name: connectorName, @@ -165,7 +170,12 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { expect(toastTitle).to.eql(`Created rule "${ruleName}"`); }); - it('should save webapi type slack connectors', async () => { + /* FUTURE ENGINEER + /* With this https://github.com/elastic/kibana/pull/167150, we added an allowed list of channel IDs + /* we can not have this test running anymore because this allowed list is required + /* we will have to figure out how to simulate the slack API through functional/API integration testing + */ + it.skip('should save webapi type slack connectors', async () => { await setupRule(); await selectSlackConnectorInRuleAction({ connectorId: webApiAction.id, From 395f75eadc8931cebaa75e85c09f76386343ad1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20C=C3=B4t=C3=A9?= Date: Tue, 3 Oct 2023 17:50:20 -0400 Subject: [PATCH 22/35] =?UTF-8?q?Revert=20"[Task=20Manager]=20Force=20vali?= =?UTF-8?q?dation=20on=20all=20tasks=20using=20state=20(#16=E2=80=A6=20(#1?= =?UTF-8?q?67877)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Revert of https://github.com/elastic/kibana/pull/164574 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Xavier Mouligneau --- .../task_manager/server/task_validator.test.ts | 8 ++++++-- .../task_manager/server/task_validator.ts | 17 ++++++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/task_manager/server/task_validator.test.ts b/x-pack/plugins/task_manager/server/task_validator.test.ts index 08c18591e468e0..52822adf6f49fe 100644 --- a/x-pack/plugins/task_manager/server/task_validator.test.ts +++ b/x-pack/plugins/task_manager/server/task_validator.test.ts @@ -64,7 +64,9 @@ describe('TaskValidator', () => { expect(result).toEqual(task); }); - it(`should fail to validate the state schema when the task type doesn't have stateSchemaByVersion defined`, () => { + // TODO: Remove skip once all task types have defined their state schema. + // https://github.com/elastic/kibana/issues/159347 + it.skip(`should fail to validate the state schema when the task type doesn't have stateSchemaByVersion defined`, () => { const definitions = new TaskTypeDictionary(mockLogger()); definitions.registerTaskDefinitions({ foo: fooTaskDefinition, @@ -320,7 +322,9 @@ describe('TaskValidator', () => { expect(result).toEqual(task); }); - it(`should fail to validate the state schema when the task type doesn't have stateSchemaByVersion defined`, () => { + // TODO: Remove skip once all task types have defined their state schema. + // https://github.com/elastic/kibana/issues/159347 + it.skip(`should fail to validate the state schema when the task type doesn't have stateSchemaByVersion defined`, () => { const definitions = new TaskTypeDictionary(mockLogger()); definitions.registerTaskDefinitions({ foo: fooTaskDefinition, diff --git a/x-pack/plugins/task_manager/server/task_validator.ts b/x-pack/plugins/task_manager/server/task_validator.ts index 900af04cd1207d..61d9a903dd5b4c 100644 --- a/x-pack/plugins/task_manager/server/task_validator.ts +++ b/x-pack/plugins/task_manager/server/task_validator.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { max, memoize, isEmpty } from 'lodash'; +import { max, memoize } from 'lodash'; import type { Logger } from '@kbn/core/server'; import type { ObjectType } from '@kbn/config-schema'; import { TaskTypeDictionary } from './task_type_dictionary'; @@ -64,13 +64,14 @@ export class TaskValidator { const taskTypeDef = this.definitions.get(task.taskType); const latestStateSchema = this.cachedGetLatestStateSchema(taskTypeDef); - let state = task.state; - - // Skip validating tasks that don't use state - if (!latestStateSchema && isEmpty(state)) { + // TODO: Remove once all task types have defined their state schema. + // https://github.com/elastic/kibana/issues/159347 + // Otherwise, failures on read / write would occur. (don't forget to unskip test) + if (!latestStateSchema) { return task; } + let state = task.state; try { state = this.getValidatedStateSchema( this.migrateTaskState(task.state, task.stateVersion, taskTypeDef, latestStateSchema), @@ -110,8 +111,10 @@ export class TaskValidator { const taskTypeDef = this.definitions.get(task.taskType); const latestStateSchema = this.cachedGetLatestStateSchema(taskTypeDef); - // Skip validating tasks that don't use state - if (!latestStateSchema && isEmpty(task.state)) { + // TODO: Remove once all task types have defined their state schema. + // https://github.com/elastic/kibana/issues/159347 + // Otherwise, failures on read / write would occur. (don't forget to unskip test) + if (!latestStateSchema) { return task; } From 984d5e6daad09a25258d154bb0ea7246d6fc580e Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Wed, 4 Oct 2023 00:19:43 +0200 Subject: [PATCH 23/35] [ML] Use release ELSER version (#167888) ## Summary Updates ELSER model IDs to the release version --- .../src/constants/trained_models.ts | 4 ++-- .../lib/ml/start_ml_model_deployment.test.ts | 2 +- .../server/lib/ml/start_ml_model_download.test.ts | 2 +- .../routes/enterprise_search/indices.test.ts | 6 +++--- .../models/model_management/model_provider.test.ts | 14 +++++++------- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts b/x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts index 7bf4bbafad90d1..84e8564c17719c 100644 --- a/x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts +++ b/x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts @@ -62,7 +62,7 @@ export const ELASTIC_MODEL_DEFINITIONS: Record = Object defaultMessage: 'Elastic Learned Sparse EncodeR v1 (Tech Preview)', }), }, - '.elser_model_2_SNAPSHOT': { + '.elser_model_2': { modelName: 'elser', version: 2, default: true, @@ -75,7 +75,7 @@ export const ELASTIC_MODEL_DEFINITIONS: Record = Object defaultMessage: 'Elastic Learned Sparse EncodeR v2 (Tech Preview)', }), }, - '.elser_model_2_linux-x86_64_SNAPSHOT': { + '.elser_model_2_linux-x86_64': { modelName: 'elser', version: 2, os: 'Linux', diff --git a/x-pack/plugins/enterprise_search/server/lib/ml/start_ml_model_deployment.test.ts b/x-pack/plugins/enterprise_search/server/lib/ml/start_ml_model_deployment.test.ts index ad516bad20dc0f..67a5c75f0f4376 100644 --- a/x-pack/plugins/enterprise_search/server/lib/ml/start_ml_model_deployment.test.ts +++ b/x-pack/plugins/enterprise_search/server/lib/ml/start_ml_model_deployment.test.ts @@ -15,7 +15,7 @@ import * as mockGetStatus from './get_ml_model_deployment_status'; import { startMlModelDeployment } from './start_ml_model_deployment'; describe('startMlModelDeployment', () => { - const modelName = '.elser_model_2_SNAPSHOT'; + const modelName = '.elser_model_2'; const mockTrainedModelsProvider = { getTrainedModels: jest.fn(), getTrainedModelsStats: jest.fn(), diff --git a/x-pack/plugins/enterprise_search/server/lib/ml/start_ml_model_download.test.ts b/x-pack/plugins/enterprise_search/server/lib/ml/start_ml_model_download.test.ts index 0d3f3add793b0f..80318eab0ce774 100644 --- a/x-pack/plugins/enterprise_search/server/lib/ml/start_ml_model_download.test.ts +++ b/x-pack/plugins/enterprise_search/server/lib/ml/start_ml_model_download.test.ts @@ -15,7 +15,7 @@ import * as mockGetStatus from './get_ml_model_deployment_status'; import { startMlModelDownload } from './start_ml_model_download'; describe('startMlModelDownload', () => { - const knownModelName = '.elser_model_2_SNAPSHOT'; + const knownModelName = '.elser_model_2'; const mockTrainedModelsProvider = { getTrainedModels: jest.fn(), getTrainedModelsStats: jest.fn(), diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.test.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.test.ts index da44f155c9774a..e0278ff639232f 100644 --- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.test.ts +++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.test.ts @@ -1078,7 +1078,7 @@ describe('Enterprise Search Managed Indices', () => { router: mockRouter.router, }); }); - const modelName = '.elser_model_2_SNAPSHOT'; + const modelName = '.elser_model_2'; it('fails validation without modelName', () => { const request = { @@ -1142,7 +1142,7 @@ describe('Enterprise Search Managed Indices', () => { router: mockRouter.router, }); }); - const modelName = '.elser_model_2_SNAPSHOT'; + const modelName = '.elser_model_2'; it('fails validation without modelName', () => { const request = { @@ -1205,7 +1205,7 @@ describe('Enterprise Search Managed Indices', () => { router: mockRouter.router, }); }); - const modelName = '.elser_model_2_SNAPSHOT'; + const modelName = '.elser_model_2'; it('fails validation without modelName', () => { const request = { diff --git a/x-pack/plugins/ml/server/models/model_management/model_provider.test.ts b/x-pack/plugins/ml/server/models/model_management/model_provider.test.ts index 052e5d1f536446..3e0534d73d3875 100644 --- a/x-pack/plugins/ml/server/models/model_management/model_provider.test.ts +++ b/x-pack/plugins/ml/server/models/model_management/model_provider.test.ts @@ -58,7 +58,7 @@ describe('modelsProvider', () => { config: { input: { field_names: ['text_field'] } }, default: true, description: 'Elastic Learned Sparse EncodeR v2 (Tech Preview)', - name: '.elser_model_2_SNAPSHOT', + name: '.elser_model_2', version: 2, }, { @@ -66,7 +66,7 @@ describe('modelsProvider', () => { config: { input: { field_names: ['text_field'] } }, description: 'Elastic Learned Sparse EncodeR v2, optimized for linux-x86_64 (Tech Preview)', - name: '.elser_model_2_linux-x86_64_SNAPSHOT', + name: '.elser_model_2_linux-x86_64', os: 'Linux', recommended: true, version: 2, @@ -110,7 +110,7 @@ describe('modelsProvider', () => { config: { input: { field_names: ['text_field'] } }, recommended: true, description: 'Elastic Learned Sparse EncodeR v2 (Tech Preview)', - name: '.elser_model_2_SNAPSHOT', + name: '.elser_model_2', version: 2, }, { @@ -118,7 +118,7 @@ describe('modelsProvider', () => { config: { input: { field_names: ['text_field'] } }, description: 'Elastic Learned Sparse EncodeR v2, optimized for linux-x86_64 (Tech Preview)', - name: '.elser_model_2_linux-x86_64_SNAPSHOT', + name: '.elser_model_2_linux-x86_64', os: 'Linux', version: 2, }, @@ -129,7 +129,7 @@ describe('modelsProvider', () => { describe('getELSER', () => { test('provides a recommended definition by default', async () => { const result = await modelService.getELSER(); - expect(result.name).toEqual('.elser_model_2_linux-x86_64_SNAPSHOT'); + expect(result.name).toEqual('.elser_model_2_linux-x86_64'); }); test('provides a default version if there is no recommended', async () => { @@ -155,7 +155,7 @@ describe('modelsProvider', () => { }); const result = await modelService.getELSER(); - expect(result.name).toEqual('.elser_model_2_SNAPSHOT'); + expect(result.name).toEqual('.elser_model_2'); }); test('provides the requested version', async () => { @@ -165,7 +165,7 @@ describe('modelsProvider', () => { test('provides the requested version of a recommended architecture', async () => { const result = await modelService.getELSER({ version: 2 }); - expect(result.name).toEqual('.elser_model_2_linux-x86_64_SNAPSHOT'); + expect(result.name).toEqual('.elser_model_2_linux-x86_64'); }); }); }); From 92f5a883cfdfb9ad71cf14c625e1963ac0caab42 Mon Sep 17 00:00:00 2001 From: Devon Thomson Date: Tue, 3 Oct 2023 18:32:23 -0400 Subject: [PATCH 24/35] [Dashboard] Generate new panel ids on Dashboard clone (#166299) Ensures that all panels are given new, unique IDs when a dashboard is cloned. This will fix a bug where some panels weren't refreshed properly on navigation, since the "fast dashboard navigation" relies on IDs to be changed in order to handle the logic for deciding which panels need to be rebuilt. Co-authored-by: Hannah Mudge --- .../control_group_persistence.ts | 22 ++- src/plugins/controls/common/index.ts | 1 + .../common/lib/dashboard_panel_converters.ts | 18 +++ .../lib/save_dashboard_state.test.ts | 138 ++++++++++++++++++ .../lib/save_dashboard_state.ts | 10 +- 5 files changed, 184 insertions(+), 5 deletions(-) create mode 100644 src/plugins/dashboard/public/services/dashboard_content_management/lib/save_dashboard_state.test.ts diff --git a/src/plugins/controls/common/control_group/control_group_persistence.ts b/src/plugins/controls/common/control_group/control_group_persistence.ts index cf108b1a4304ac..be01e0ca555b85 100644 --- a/src/plugins/controls/common/control_group/control_group_persistence.ts +++ b/src/plugins/controls/common/control_group/control_group_persistence.ts @@ -6,21 +6,23 @@ * Side Public License, v 1. */ -import { SerializableRecord } from '@kbn/utility-types'; import deepEqual from 'fast-deep-equal'; +import { SerializableRecord } from '@kbn/utility-types'; +import { v4 } from 'uuid'; import { pick, omit, xor } from 'lodash'; -import { ControlGroupInput } from '..'; + import { DEFAULT_CONTROL_GROW, DEFAULT_CONTROL_STYLE, DEFAULT_CONTROL_WIDTH, } from './control_group_constants'; -import { PersistableControlGroupInput, RawControlGroupAttributes } from './types'; import { ControlPanelDiffSystems, genericControlPanelDiffSystem, } from './control_group_panel_diff_system'; +import { ControlGroupInput } from '..'; +import { ControlsPanels, PersistableControlGroupInput, RawControlGroupAttributes } from './types'; const safeJSONParse = (jsonString?: string): OutType | undefined => { if (!jsonString && typeof jsonString !== 'string') return; @@ -103,6 +105,20 @@ export const controlGroupInputToRawControlGroupAttributes = ( }; }; +export const generateNewControlIds = (controlGroupInput?: PersistableControlGroupInput) => { + if (!controlGroupInput?.panels) return; + + const newPanelsMap: ControlsPanels = {}; + for (const panel of Object.values(controlGroupInput.panels)) { + const newId = v4(); + newPanelsMap[newId] = { + ...panel, + explicitInput: { ...panel.explicitInput, id: newId }, + }; + } + return { ...controlGroupInput, panels: newPanelsMap }; +}; + export const rawControlGroupAttributesToControlGroupInput = ( rawControlGroupAttributes: RawControlGroupAttributes ): PersistableControlGroupInput | undefined => { diff --git a/src/plugins/controls/common/index.ts b/src/plugins/controls/common/index.ts index de492adb399f3b..b1d4488a876eae 100644 --- a/src/plugins/controls/common/index.ts +++ b/src/plugins/controls/common/index.ts @@ -26,6 +26,7 @@ export { serializableToRawControlGroupAttributes, persistableControlGroupInputIsEqual, getDefaultControlGroupInput, + generateNewControlIds, } from './control_group/control_group_persistence'; export { diff --git a/src/plugins/dashboard/common/lib/dashboard_panel_converters.ts b/src/plugins/dashboard/common/lib/dashboard_panel_converters.ts index 052dd6532fc443..edb24e31e09cc4 100644 --- a/src/plugins/dashboard/common/lib/dashboard_panel_converters.ts +++ b/src/plugins/dashboard/common/lib/dashboard_panel_converters.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import { v4 } from 'uuid'; import { omit } from 'lodash'; import { EmbeddableInput, SavedObjectEmbeddableInput } from '@kbn/embeddable-plugin/common'; @@ -74,3 +75,20 @@ export const convertPanelMapToSavedPanels = ( convertPanelStateToSavedDashboardPanel(panel, removeLegacyVersion) ); }; + +/** + * When saving a dashboard as a copy, we should generate new IDs for all panels so that they are + * properly refreshed when navigating between Dashboards + */ +export const generateNewPanelIds = (panels: DashboardPanelMap) => { + const newPanelsMap: DashboardPanelMap = {}; + for (const panel of Object.values(panels)) { + const newId = v4(); + newPanelsMap[newId] = { + ...panel, + gridData: { ...panel.gridData, i: newId }, + explicitInput: { ...panel.explicitInput, id: newId }, + }; + } + return newPanelsMap; +}; diff --git a/src/plugins/dashboard/public/services/dashboard_content_management/lib/save_dashboard_state.test.ts b/src/plugins/dashboard/public/services/dashboard_content_management/lib/save_dashboard_state.test.ts new file mode 100644 index 00000000000000..b44ae044cd50ae --- /dev/null +++ b/src/plugins/dashboard/public/services/dashboard_content_management/lib/save_dashboard_state.test.ts @@ -0,0 +1,138 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { registry } from '../../plugin_services.stub'; +import { pluginServices } from '../../plugin_services'; +import { getSampleDashboardInput } from '../../../mocks'; +import { saveDashboardState } from './save_dashboard_state'; +import { DashboardContainerInput } from '../../../../common'; + +pluginServices.setRegistry(registry.start({})); +const { + data, + embeddable, + notifications, + dashboardBackup, + contentManagement, + initializerContext, + savedObjectsTagging, +} = pluginServices.getServices(); + +contentManagement.client.create = jest.fn().mockImplementation(({ options }) => { + if (options.id === undefined) { + return { item: { id: 'newlyGeneratedId' } }; + } + return { item: { id: options.id } }; +}); + +const allServices = { + data, + embeddable, + notifications, + dashboardBackup, + contentManagement, + initializerContext, + savedObjectsTagging, +}; +data.query.timefilter.timefilter.getTime = jest.fn().mockReturnValue({ from: 'then', to: 'now' }); +embeddable.extract = jest + .fn() + .mockImplementation((attributes) => ({ state: attributes, references: [] })); + +describe('Save dashboard state', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should save the dashboard using the same ID', async () => { + const result = await saveDashboardState({ + currentState: { + ...getSampleDashboardInput(), + title: 'BOO', + } as unknown as DashboardContainerInput, + lastSavedId: 'Boogaloo', + saveOptions: {}, + ...allServices, + }); + + expect(result.id).toBe('Boogaloo'); + expect(allServices.contentManagement.client.create).toHaveBeenCalledWith( + expect.objectContaining({ + options: expect.objectContaining({ id: 'Boogaloo', overwrite: true }), + }) + ); + expect(allServices.notifications.toasts.addSuccess).toHaveBeenCalledWith({ + title: `Dashboard 'BOO' was saved`, + 'data-test-subj': 'saveDashboardSuccess', + }); + }); + + it('should save the dashboard using a new id, and return redirect required', async () => { + const result = await saveDashboardState({ + currentState: { + ...getSampleDashboardInput(), + title: 'BooToo', + } as unknown as DashboardContainerInput, + lastSavedId: 'Boogaloonie', + saveOptions: { saveAsCopy: true }, + ...allServices, + }); + + expect(result.id).toBe('newlyGeneratedId'); + expect(result.redirectRequired).toBe(true); + expect(allServices.contentManagement.client.create).toHaveBeenCalledWith( + expect.objectContaining({ + options: expect.objectContaining({ id: undefined, overwrite: true }), + }) + ); + expect(allServices.notifications.toasts.addSuccess).toHaveBeenCalledWith({ + title: `Dashboard 'BooToo' was saved`, + 'data-test-subj': 'saveDashboardSuccess', + }); + }); + + it('should generate new panel IDs for dashboard panels when save as copy is true', async () => { + const result = await saveDashboardState({ + currentState: { + ...getSampleDashboardInput(), + title: 'BooThree', + panels: { idOne: { type: 'boop' } }, + } as unknown as DashboardContainerInput, + lastSavedId: 'Boogatoonie', + saveOptions: { saveAsCopy: true }, + ...allServices, + }); + + expect(result.id).toBe('newlyGeneratedId'); + + expect(allServices.contentManagement.client.create).toHaveBeenCalledWith( + expect.objectContaining({ + data: expect.objectContaining({ + panelsJSON: expect.not.stringContaining('neverGonnaGetThisId'), + }), + }) + ); + }); + + it('should return an error when the save fails.', async () => { + contentManagement.client.create = jest.fn().mockRejectedValue('Whoops'); + const result = await saveDashboardState({ + currentState: { + ...getSampleDashboardInput(), + title: 'BooThree', + panels: { idOne: { type: 'boop' } }, + } as unknown as DashboardContainerInput, + lastSavedId: 'Boogatoonie', + saveOptions: { saveAsCopy: true }, + ...allServices, + }); + + expect(result.id).toBeUndefined(); + expect(result.error).toBe('Whoops'); + }); +}); diff --git a/src/plugins/dashboard/public/services/dashboard_content_management/lib/save_dashboard_state.ts b/src/plugins/dashboard/public/services/dashboard_content_management/lib/save_dashboard_state.ts index 20d36688307dd3..501d95976dc10a 100644 --- a/src/plugins/dashboard/public/services/dashboard_content_management/lib/save_dashboard_state.ts +++ b/src/plugins/dashboard/public/services/dashboard_content_management/lib/save_dashboard_state.ts @@ -13,6 +13,7 @@ import { getDefaultControlGroupInput, persistableControlGroupInputIsEqual, controlGroupInputToRawControlGroupAttributes, + generateNewControlIds, } from '@kbn/controls-plugin/common'; import { isFilterPinned } from '@kbn/es-query'; import { extractSearchSourceReferences, RefreshInterval } from '@kbn/data-plugin/public'; @@ -31,6 +32,7 @@ import { DashboardStartDependencies } from '../../../plugin'; import { DASHBOARD_CONTENT_ID } from '../../../dashboard_constants'; import { convertDashboardVersionToNumber } from './dashboard_versioning'; import { LATEST_DASHBOARD_CONTAINER_VERSION } from '../../../dashboard_container'; +import { generateNewPanelIds } from '../../../../common/lib/dashboard_panel_converters'; import { dashboardContentManagementCache } from '../dashboard_content_management_service'; import { DashboardCrudTypes, DashboardAttributes } from '../../../../common/content_management'; import { dashboardSaveToastStrings } from '../../../dashboard_container/_dashboard_container_strings'; @@ -90,12 +92,10 @@ export const saveDashboardState = async ({ tags, query, title, - panels, filters, version, timeRestore, description, - controlGroupInput, // Dashboard options useMargins, @@ -105,6 +105,12 @@ export const saveDashboardState = async ({ hidePanelTitles, } = currentState; + let { panels, controlGroupInput } = currentState; + if (saveOptions.saveAsCopy) { + panels = generateNewPanelIds(panels); + controlGroupInput = generateNewControlIds(controlGroupInput); + } + /** * Stringify filters and query into search source JSON */ From 2d7a084da642e38fffd29d304286ce876fc9a147 Mon Sep 17 00:00:00 2001 From: Nikita Indik Date: Wed, 4 Oct 2023 00:44:12 +0200 Subject: [PATCH 25/35] [Security Solution] Refactor Rule Details page (#166158) **Resolves: https://github.com/elastic/kibana/issues/164962** **Resolves: https://github.com/elastic/kibana/issues/166650** **Related docs issue: https://github.com/elastic/security-docs/issues/3970** ## Summary Refactors Rule Details page by making use of section components from the rule preview flyout. Namely `RuleAboutSection`, `RuleDefinitionSection` and `RuleScheduleSection`. Also fixes a couple UI copy issues: - #164962. - #166650. ### Checklist - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] Documentation [issue](https://github.com/elastic/security-docs/issues/3970) created. - [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: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../cast_rule_as_rule_response.ts | 24 +++ .../pages/rule_details/index.tsx | 81 +++------ .../rule_details/rule_about_section.tsx | 82 +++++---- .../rule_details/rule_definition_section.tsx | 155 +++++++++++++++--- .../rule_details/rule_overview_tab.tsx | 5 +- .../rule_details/rule_schedule_section.tsx | 8 +- .../components/rule_details/translations.ts | 32 +++- .../rules/description_step/translations.ts | 16 +- .../step_about_rule_details/index.test.tsx | 84 ++++++---- .../rules/step_about_rule_details/index.tsx | 14 +- .../translations/translations/fr-FR.json | 2 +- .../translations/translations/ja-JP.json | 2 +- .../translations/translations/zh-CN.json | 2 +- .../rule_creation/esql_rule_details.cy.ts | 4 +- .../rule_creation/esql_rule_edit.cy.ts | 4 +- .../event_correlation_rule.cy.ts | 4 +- .../cypress/screens/rule_details.ts | 4 + 17 files changed, 352 insertions(+), 171 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/cast_rule_as_rule_response.ts diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/cast_rule_as_rule_response.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/cast_rule_as_rule_response.ts new file mode 100644 index 00000000000000..fb1fdfc1fcc99f --- /dev/null +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/cast_rule_as_rule_response.ts @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { Rule } from '../../../rule_management/logic'; +import type { RuleResponse } from '../../../../../common/api/detection_engine/model/rule_schema/rule_schemas'; + +/* + * This is a temporary workaround to suppress TS errors when using + * rule section components on the rule details page. + * + * The rule details page passes a Rule object to the rule section components, + * but section components expect a RuleResponse object. Rule and RuleResponse + * are basically same object type with only a few minor differences. + * This function casts the Rule object to RuleResponse. + * + * In the near future we'll start using codegen to generate proper response + * types and the rule details page will start passing RuleResponse objects, + * so this workaround will no longer be needed. + */ +export const castRuleAsRuleResponse = (rule: Rule) => rule as Partial; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx index 223593ef3e095d..6d055af164d073 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx @@ -64,8 +64,6 @@ import { SpyRoute } from '../../../../common/utils/route/spy_routes'; import { StepAboutRuleToggleDetails } from '../../../../detections/components/rules/step_about_rule_details'; import { AlertsHistogramPanel } from '../../../../detections/components/alerts_kpis/alerts_histogram_panel'; import { useUserData } from '../../../../detections/components/user_info'; -import { StepDefineRuleReadOnly } from '../../../../detections/components/rules/step_define_rule'; -import { StepScheduleRuleReadOnly } from '../../../../detections/components/rules/step_schedule_rule'; import { StepRuleActionsReadOnly } from '../../../../detections/components/rules/step_rule_actions'; import { buildAlertsFilter, @@ -120,7 +118,6 @@ import * as ruleI18n from '../../../../detections/pages/detection_engine/rules/t import { RuleDetailsContextProvider } from './rule_details_context'; // eslint-disable-next-line no-restricted-imports import { LegacyUrlConflictCallOut } from './legacy_url_conflict_callout'; -import { useGetSavedQuery } from '../../../../detections/pages/detection_engine/rules/use_get_saved_query'; import * as i18n from './translations'; import { NeedAdminForUpdateRulesCallOut } from '../../../../detections/components/callouts/need_admin_for_update_callout'; import { MissingPrivilegesCallOut } from '../../../../detections/components/callouts/missing_privileges_callout'; @@ -138,12 +135,13 @@ import { useBulkDuplicateExceptionsConfirmation } from '../../../rule_management import { BulkActionDuplicateExceptionsConfirmation } from '../../../rule_management_ui/components/rules_table/bulk_actions/bulk_duplicate_exceptions_confirmation'; import { useAsyncConfirmation } from '../../../rule_management_ui/components/rules_table/rules_table/use_async_confirmation'; import { RuleSnoozeBadge } from '../../../rule_management/components/rule_snooze_badge'; -import { useRuleIndexPattern } from '../../../rule_creation_ui/pages/form'; -import { DataSourceType } from '../../../../detections/pages/detection_engine/rules/types'; import { useBoolState } from '../../../../common/hooks/use_bool_state'; +import { RuleDefinitionSection } from '../../../rule_management/components/rule_details/rule_definition_section'; +import { RuleScheduleSection } from '../../../rule_management/components/rule_details/rule_schedule_section'; // eslint-disable-next-line no-restricted-imports import { useLegacyUrlRedirect } from './use_redirect_legacy_url'; import { RuleDetailTabs, useRuleDetailsTabs } from './use_rule_details_tabs'; +import { castRuleAsRuleResponse } from './cast_rule_as_rule_response'; const RULE_EXCEPTION_LIST_TYPES = [ ExceptionListTypeEnum.DETECTION, @@ -174,7 +172,6 @@ const RuleDetailsPageComponent: React.FC = ({ clearSelected, }) => { const { - data, application: { navigateToApp, capabilities: { actions }, @@ -259,38 +256,14 @@ const RuleDetailsPageComponent: React.FC = ({ onFinish: hideDeleteConfirmation, }); - const { - aboutRuleData, - modifiedAboutRuleDetailsData, - defineRuleData, - scheduleRuleData, - ruleActionsData, - } = + const { aboutRuleData, modifiedAboutRuleDetailsData, ruleActionsData } = rule != null ? getStepsData({ rule, detailsView: true }) : { aboutRuleData: null, modifiedAboutRuleDetailsData: null, - defineRuleData: null, - scheduleRuleData: null, ruleActionsData: null, }; - const [dataViewTitle, setDataViewTitle] = useState(); - useEffect(() => { - const fetchDataViewTitle = async () => { - if (defineRuleData?.dataViewId != null && defineRuleData?.dataViewId !== '') { - const dataView = await data.dataViews.get(defineRuleData?.dataViewId); - setDataViewTitle(dataView.title); - } - }; - fetchDataViewTitle(); - }, [data.dataViews, defineRuleData?.dataViewId]); - - const { indexPattern: ruleIndexPattern } = useRuleIndexPattern({ - dataSourceType: defineRuleData?.dataSourceType ?? DataSourceType.IndexPatterns, - index: defineRuleData?.index ?? [], - dataViewId: defineRuleData?.dataViewId, - }); const { showBuildingBlockAlerts, setShowBuildingBlockAlerts, showOnlyThreatIndicatorAlerts } = useDataTableFilters(TableId.alertsOnRuleDetailsPage); @@ -299,11 +272,6 @@ const RuleDetailsPageComponent: React.FC = ({ const { globalFullScreen } = useGlobalFullScreen(); const [filterGroup, setFilterGroup] = useState(FILTER_OPEN); - const { isSavedQueryLoading, savedQueryBar } = useGetSavedQuery({ - savedQueryId: rule?.saved_id, - ruleType: rule?.type, - }); - // TODO: Refactor license check + hasMlAdminPermissions to common check const hasMlPermissions = hasMlLicense(mlCapabilities) && hasMlAdminPermissions(mlCapabilities); @@ -666,30 +634,25 @@ const RuleDetailsPageComponent: React.FC = ({ - + {rule !== null && ( + + )} - - {defineRuleData != null && !isSavedQueryLoading && !isStartingJobs && ( - + {rule !== null && !isStartingJobs && ( + )} @@ -697,12 +660,8 @@ const RuleDetailsPageComponent: React.FC = ({ - {scheduleRuleData != null && ( - + {rule != null && ( + )} diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx index aef4eccaa4299b..7c1ada1c6e1bcf 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx @@ -53,11 +53,17 @@ const StyledEuiLink = styled(EuiLink)` word-break: break-word; `; +interface NameProps { + name: string; +} + +const Name = ({ name }: NameProps) => {name}; + interface DescriptionProps { description: string; } -const Description = ({ description }: DescriptionProps) => ( +export const Description = ({ description }: DescriptionProps) => ( {description} ); @@ -217,10 +223,29 @@ interface TagsProps { const Tags = ({ tags }: TagsProps) => ; -const prepareAboutSectionListItems = (rule: RuleResponse): EuiDescriptionListProps['listItems'] => { +// eslint-disable-next-line complexity +const prepareAboutSectionListItems = ( + rule: Partial, + hideName?: boolean, + hideDescription?: boolean +): EuiDescriptionListProps['listItems'] => { const aboutSectionListItems: EuiDescriptionListProps['listItems'] = []; - if (rule.author.length > 0) { + if (!hideName && rule.name) { + aboutSectionListItems.push({ + title: i18n.NAME_FIELD_LABEL, + description: , + }); + } + + if (!hideDescription && rule.description) { + aboutSectionListItems.push({ + title: i18n.DESCRIPTION_FIELD_LABEL, + description: , + }); + } + + if (rule.author && rule.author.length > 0) { aboutSectionListItems.push({ title: i18n.AUTHOR_FIELD_LABEL, description: , @@ -234,12 +259,14 @@ const prepareAboutSectionListItems = (rule: RuleResponse): EuiDescriptionListPro }); } - aboutSectionListItems.push({ - title: i18n.SEVERITY_FIELD_LABEL, - description: , - }); + if (rule.severity) { + aboutSectionListItems.push({ + title: i18n.SEVERITY_FIELD_LABEL, + description: , + }); + } - if (rule.severity_mapping.length > 0) { + if (rule.severity_mapping && rule.severity_mapping.length > 0) { aboutSectionListItems.push( ...rule.severity_mapping .filter((severityMappingItem) => severityMappingItem.field !== '') @@ -252,12 +279,14 @@ const prepareAboutSectionListItems = (rule: RuleResponse): EuiDescriptionListPro ); } - aboutSectionListItems.push({ - title: i18n.RISK_SCORE_FIELD_LABEL, - description: , - }); + if (rule.risk_score) { + aboutSectionListItems.push({ + title: i18n.RISK_SCORE_FIELD_LABEL, + description: , + }); + } - if (rule.risk_score_mapping.length > 0) { + if (rule.risk_score_mapping && rule.risk_score_mapping.length > 0) { aboutSectionListItems.push( ...rule.risk_score_mapping .filter((riskScoreMappingItem) => riskScoreMappingItem.field !== '') @@ -270,14 +299,14 @@ const prepareAboutSectionListItems = (rule: RuleResponse): EuiDescriptionListPro ); } - if (rule.references.length > 0) { + if (rule.references && rule.references.length > 0) { aboutSectionListItems.push({ title: i18n.REFERENCES_FIELD_LABEL, description: , }); } - if (rule.false_positives.length > 0) { + if (rule.false_positives && rule.false_positives.length > 0) { aboutSectionListItems.push({ title: i18n.FALSE_POSITIVES_FIELD_LABEL, description: , @@ -307,7 +336,7 @@ const prepareAboutSectionListItems = (rule: RuleResponse): EuiDescriptionListPro }); } - if (rule.threat.length > 0) { + if (rule.threat && rule.threat.length > 0) { aboutSectionListItems.push({ title: i18n.THREAT_FIELD_LABEL, description: , @@ -328,7 +357,7 @@ const prepareAboutSectionListItems = (rule: RuleResponse): EuiDescriptionListPro }); } - if (rule.tags.length > 0) { + if (rule.tags && rule.tags.length > 0) { aboutSectionListItems.push({ title: i18n.TAGS_FIELD_LABEL, description: , @@ -339,30 +368,23 @@ const prepareAboutSectionListItems = (rule: RuleResponse): EuiDescriptionListPro }; export interface RuleAboutSectionProps { - rule: RuleResponse; + rule: Partial; + hideName?: boolean; + hideDescription?: boolean; } -export const RuleAboutSection = ({ rule }: RuleAboutSectionProps) => { - const aboutSectionListItems = prepareAboutSectionListItems(rule); +export const RuleAboutSection = ({ rule, hideName, hideDescription }: RuleAboutSectionProps) => { + const aboutSectionListItems = prepareAboutSectionListItems(rule, hideName, hideDescription); return (
- {rule.description && ( - , - }, - ]} - /> - )}
); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx index e30e6421f37eeb..e32968573b6a23 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx @@ -34,12 +34,17 @@ import type { RequiredFieldArray } from '../../../../../common/api/detection_eng import { assertUnreachable } from '../../../../../common/utility_types'; import * as descriptionStepI18n from '../../../../detections/components/rules/description_step/translations'; import { RelatedIntegrationsDescription } from '../../../../detections/components/rules/related_integrations/integrations_description'; +import { AlertSuppressionTechnicalPreviewBadge } from '../../../../detections/components/rules/description_step/alert_suppression_technical_preview_badge'; import { useGetSavedQuery } from '../../../../detections/pages/detection_engine/rules/use_get_saved_query'; +import { useLicense } from '../../../../common/hooks/use_license'; import * as threatMatchI18n from '../../../../common/components/threat_match/translations'; +import { AlertSuppressionMissingFieldsStrategy } from '../../../../../common/api/detection_engine/model/rule_schema/specific_attributes/query_attributes'; import * as timelinesI18n from '../../../../timelines/components/timeline/translations'; import { useRuleIndexPattern } from '../../../rule_creation_ui/pages/form'; import { DataSourceType } from '../../../../detections/pages/detection_engine/rules/types'; +import type { Duration } from '../../../../detections/pages/detection_engine/rules/types'; import { convertHistoryStartToSize } from '../../../../detections/pages/detection_engine/rules/helpers'; +import { MlJobsDescription } from '../../../../detections/components/rules/ml_jobs_description/ml_jobs_description'; import { MlJobLink } from '../../../../detections/components/rules/ml_job_link/ml_job_link'; import { useSecurityJobs } from '../../../../common/components/ml_popover/hooks/use_security_jobs'; import { useKibana } from '../../../../common/lib/kibana/kibana_react'; @@ -170,11 +175,16 @@ const AnomalyThreshold = ({ anomalyThreshold }: AnomalyThresholdProps) => ( interface MachineLearningJobListProps { jobIds: string[]; + isInteractive: boolean; } -const MachineLearningJobList = ({ jobIds }: MachineLearningJobListProps) => { +const MachineLearningJobList = ({ jobIds, isInteractive }: MachineLearningJobListProps) => { const { jobs } = useSecurityJobs(); + if (isInteractive) { + return ; + } + const relevantJobs = jobs.filter((job) => jobIds.includes(job.id)); return ( @@ -202,7 +212,7 @@ const getRuleTypeDescription = (ruleType: Type) => { case 'eql': return descriptionStepI18n.EQL_TYPE_DESCRIPTION; case 'esql': - return descriptionStepI18n.ESQL_TYPE_DESCRIPTION; + return ; case 'threat_match': return descriptionStepI18n.THREAT_MATCH_TYPE_DESCRIPTION; case 'new_terms': @@ -301,6 +311,49 @@ const ThreatMapping = ({ threatMapping }: ThreatMappingProps) => { return {description}; }; +interface TitleWithTechnicalPreviewBadgeProps { + title: string; +} + +const TitleWithTechnicalPreviewBadge = ({ title }: TitleWithTechnicalPreviewBadgeProps) => { + const license = useLicense(); + + return ; +}; + +interface SuppressAlertsByFieldProps { + fields: string[]; +} + +const SuppressAlertsByField = ({ fields }: SuppressAlertsByFieldProps) => ( + +); + +interface SuppressAlertsDurationProps { + duration?: Duration; +} + +const SuppressAlertsDuration = ({ duration }: SuppressAlertsDurationProps) => { + const durationDescription = duration + ? `${duration.value}${duration.unit}` + : descriptionStepI18n.ALERT_SUPPRESSION_PER_RULE_EXECUTION; + + return {durationDescription}; +}; + +interface MissingFieldsStrategyProps { + missingFieldsStrategy?: AlertSuppressionMissingFieldsStrategy; +} + +const MissingFieldsStrategy = ({ missingFieldsStrategy }: MissingFieldsStrategyProps) => { + const missingFieldsDescription = + missingFieldsStrategy === AlertSuppressionMissingFieldsStrategy.Suppress + ? descriptionStepI18n.ALERT_SUPPRESSION_SUPPRESS_ON_MISSING_FIELDS + : descriptionStepI18n.ALERT_SUPPRESSION_DO_NOT_SUPPRESS_ON_MISSING_FIELDS; + + return {missingFieldsDescription}; +}; + interface NewTermsFieldsProps { newTermsFields: string[]; } @@ -321,7 +374,8 @@ const HistoryWindowSize = ({ historyWindowStart }: HistoryWindowSizeProps) => { // eslint-disable-next-line complexity const prepareDefinitionSectionListItems = ( - rule: RuleResponse, + rule: Partial, + isInteractive: boolean, savedQuery?: SavedQuery ): EuiDescriptionListProps['listItems'] => { const definitionSectionListItems: EuiDescriptionListProps['listItems'] = []; @@ -358,13 +412,18 @@ const prepareDefinitionSectionListItems = ( description: , }); } + + if (typeof savedQuery.attributes.query.query === 'string') { + definitionSectionListItems.push({ + title: descriptionStepI18n.SAVED_QUERY_LABEL, + description: , + }); + } } - if ('filters' in rule && 'data_view_id' in rule && rule.filters?.length) { + if ('filters' in rule && rule.filters?.length) { definitionSectionListItems.push({ - title: savedQuery - ? descriptionStepI18n.SAVED_QUERY_FILTERS_LABEL - : descriptionStepI18n.FILTERS_LABEL, + title: descriptionStepI18n.FILTERS_LABEL, description: ( , }); } - definitionSectionListItems.push({ - title: i18n.RULE_TYPE_FIELD_LABEL, - description: , - }); + if (rule.type) { + definitionSectionListItems.push({ + title: i18n.RULE_TYPE_FIELD_LABEL, + description: , + }); + } if ('anomaly_threshold' in rule && rule.anomaly_threshold) { definitionSectionListItems.push({ @@ -397,11 +467,16 @@ const prepareDefinitionSectionListItems = ( if ('machine_learning_job_id' in rule) { definitionSectionListItems.push({ title: i18n.MACHINE_LEARNING_JOB_ID_FIELD_LABEL, - description: , + description: ( + + ), }); } - if (rule.related_integrations.length > 0) { + if (rule.related_integrations && rule.related_integrations.length > 0) { definitionSectionListItems.push({ title: i18n.RELATED_INTEGRATIONS_FIELD_LABEL, description: ( @@ -410,7 +485,7 @@ const prepareDefinitionSectionListItems = ( }); } - if (rule.required_fields.length > 0) { + if (rule.required_fields && rule.required_fields.length > 0) { definitionSectionListItems.push({ title: i18n.REQUIRED_FIELDS_FIELD_LABEL, description: , @@ -447,9 +522,7 @@ const prepareDefinitionSectionListItems = ( if ('threat_filters' in rule && rule.threat_filters && rule.threat_filters.length > 0) { definitionSectionListItems.push({ - title: savedQuery - ? descriptionStepI18n.SAVED_QUERY_FILTERS_LABEL - : descriptionStepI18n.FILTERS_LABEL, + title: i18n.THREAT_FILTERS_FIELD_LABEL, description: ( , }); } + if ('alert_suppression' in rule && rule.alert_suppression) { + definitionSectionListItems.push({ + title: , + description: , + }); + + definitionSectionListItems.push({ + title: , + description: , + }); + + definitionSectionListItems.push({ + title: , + description: ( + + ), + }); + } + if ('new_terms_fields' in rule && rule.new_terms_fields && rule.new_terms_fields.length > 0) { definitionSectionListItems.push({ title: i18n.NEW_TERMS_FIELDS_FIELD_LABEL, @@ -476,7 +568,7 @@ const prepareDefinitionSectionListItems = ( }); } - if (rule.type === 'new_terms' || 'history_window_start' in rule) { + if ('history_window_start' in rule) { definitionSectionListItems.push({ title: i18n.HISTORY_WINDOW_SIZE_FIELD_LABEL, description: , @@ -487,24 +579,35 @@ const prepareDefinitionSectionListItems = ( }; export interface RuleDefinitionSectionProps { - rule: RuleResponse; + rule: Partial; + isInteractive?: boolean; + dataTestSubj?: string; } -export const RuleDefinitionSection = ({ rule }: RuleDefinitionSectionProps) => { +export const RuleDefinitionSection = ({ + rule, + isInteractive = false, + dataTestSubj, +}: RuleDefinitionSectionProps) => { const { savedQuery } = useGetSavedQuery({ savedQueryId: rule.type === 'saved_query' ? rule.saved_id : '', ruleType: rule.type, }); - const definitionSectionListItems = prepareDefinitionSectionListItems(rule, savedQuery); + const definitionSectionListItems = prepareDefinitionSectionListItems( + rule, + isInteractive, + savedQuery + ); return ( -
+
); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_overview_tab.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_overview_tab.tsx index aa9b42abe6ba7f..3d4501bd1f7977 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_overview_tab.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_overview_tab.tsx @@ -15,7 +15,7 @@ import { useGeneratedHtmlId, } from '@elastic/eui'; import type { RuleResponse } from '../../../../../common/api/detection_engine/model/rule_schema/rule_schemas'; -import { RuleAboutSection } from './rule_about_section'; +import { RuleAboutSection, Description } from './rule_about_section'; import { RuleDefinitionSection } from './rule_definition_section'; import { RuleScheduleSection } from './rule_schedule_section'; import { RuleSetupGuideSection } from './rule_setup_guide_section'; @@ -103,7 +103,8 @@ export const RuleOverviewTab = ({ isOpen={expandedOverviewSections.about} toggle={toggleOverviewSection.about} > - + {rule.description && } + ( ); export interface RuleScheduleSectionProps { - rule: RuleResponse; + rule: Partial; } export const RuleScheduleSection = ({ rule }: RuleScheduleSectionProps) => { + if (!rule.interval || !rule.from) { + return null; + } + const ruleSectionListItems = []; ruleSectionListItems.push( @@ -46,7 +50,7 @@ export const RuleScheduleSection = ({ rule }: RuleScheduleSectionProps) => { ); return ( -
+
{ - let mockRule: AboutStepRule; + let stepDataMock: AboutStepRule; beforeEach(() => { - mockRule = mockAboutStepRule(); + stepDataMock = mockAboutStepRule(); }); test('it renders loading component when "loading" is true', () => { @@ -35,11 +38,12 @@ describe('StepAboutRuleToggleDetails', () => { ); @@ -49,7 +53,12 @@ describe('StepAboutRuleToggleDetails', () => { test('it does not render details if stepDataDetails is null', () => { const wrapper = shallow( - + ); expect(wrapper.find(StepAboutRule).exists()).toBeFalsy(); @@ -65,6 +74,7 @@ describe('StepAboutRuleToggleDetails', () => { setup: '', }} stepData={null} + rule={mockRule('mocked-rule-id')} /> ); @@ -74,7 +84,7 @@ describe('StepAboutRuleToggleDetails', () => { describe('note value is empty string', () => { test('it does not render toggle buttons', () => { const mockAboutStepWithoutNote = { - ...mockRule, + ...stepDataMock, note: '', }; const wrapper = shallow( @@ -82,10 +92,11 @@ describe('StepAboutRuleToggleDetails', () => { loading={false} stepDataDetails={{ note: '', - description: mockRule.description, + description: stepDataMock.description, setup: '', }} stepData={mockAboutStepWithoutNote} + rule={mockRule('mocked-rule-id')} /> ); @@ -103,11 +114,12 @@ describe('StepAboutRuleToggleDetails', () => { ); @@ -123,11 +135,12 @@ describe('StepAboutRuleToggleDetails', () => { ); @@ -151,11 +164,12 @@ describe('StepAboutRuleToggleDetails', () => { ); @@ -180,11 +194,12 @@ describe('StepAboutRuleToggleDetails', () => { ); @@ -203,11 +218,12 @@ describe('StepAboutRuleToggleDetails', () => { ); @@ -224,11 +240,12 @@ describe('StepAboutRuleToggleDetails', () => { ); @@ -254,11 +271,12 @@ describe('StepAboutRuleToggleDetails', () => { ); diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/index.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/index.tsx index 66ad2cfcf64fec..c0d1db9f837feb 100644 --- a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/index.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/index.tsx @@ -21,14 +21,16 @@ import type { PropsWithChildren } from 'react'; import React, { memo, useCallback, useMemo, useState } from 'react'; import { css } from '@emotion/css'; +import type { Rule } from '../../../../detection_engine/rule_management/logic/types'; +import { RuleAboutSection } from '../../../../detection_engine/rule_management/components/rule_details/rule_about_section'; import { HeaderSection } from '../../../../common/components/header_section'; import { MarkdownRenderer } from '../../../../common/components/markdown_editor'; import type { AboutStepRule, AboutStepRuleDetails, } from '../../../pages/detection_engine/rules/types'; +import { castRuleAsRuleResponse } from '../../../../detection_engine/rule_details_ui/pages/rule_details/cast_rule_as_rule_response'; import * as i18n from './translations'; -import { StepAboutRuleReadOnly } from '../step_about_rule'; import { fullHeight } from './styles'; const detailsOption: EuiButtonGroupOptionProps = { @@ -51,12 +53,14 @@ interface StepPanelProps { stepData: AboutStepRule | null; stepDataDetails: AboutStepRuleDetails | null; loading: boolean; + rule: Rule; } const StepAboutRuleToggleDetailsComponent: React.FC = ({ stepData, stepDataDetails, loading, + rule, }) => { const [selectedToggleOption, setToggleOption] = useState('details'); const [aboutPanelHeight, setAboutPanelHeight] = useState(0); @@ -124,10 +128,10 @@ const StepAboutRuleToggleDetailsComponent: React.FC = ({ -
)} diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 4d5c96f4d31966..884507b4372a10 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -30606,7 +30606,7 @@ "xpack.securitySolution.detectionEngine.createRule.mlRuleTypeDescription": "Machine Learning", "xpack.securitySolution.detectionEngine.createRule.newTermsRuleTypeDescription": "Nouveaux termes", "xpack.securitySolution.detectionEngine.createRule.pageTitle": "Créer une nouvelle règle", - "xpack.securitySolution.detectionEngine.createRule.QueryLabel": "Requête personnalisée", + "xpack.securitySolution.detectionEngine.createRule.queryLabel": "Requête personnalisée", "xpack.securitySolution.detectionEngine.createRule.queryRuleTypeDescription": "Requête", "xpack.securitySolution.detectionEngine.createRule.ruleActionsField.ruleActionsFormErrorsTitle": "Veuillez corriger les problèmes répertoriés ci-dessous", "xpack.securitySolution.detectionEngine.createRule.rulePreviewDescription": "L'aperçu des règles reflète la configuration actuelle de vos paramètres et exceptions de règles. Cliquez sur l'icône d'actualisation pour afficher l'aperçu mis à jour.", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 11bf49746b2bcc..4319709c23beae 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -30605,7 +30605,7 @@ "xpack.securitySolution.detectionEngine.createRule.mlRuleTypeDescription": "機械学習", "xpack.securitySolution.detectionEngine.createRule.newTermsRuleTypeDescription": "新しい用語", "xpack.securitySolution.detectionEngine.createRule.pageTitle": "新規ルールを作成", - "xpack.securitySolution.detectionEngine.createRule.QueryLabel": "カスタムクエリ", + "xpack.securitySolution.detectionEngine.createRule.queryLabel": "カスタムクエリ", "xpack.securitySolution.detectionEngine.createRule.queryRuleTypeDescription": "クエリ", "xpack.securitySolution.detectionEngine.createRule.ruleActionsField.ruleActionsFormErrorsTitle": "次の一覧の問題を解決してください", "xpack.securitySolution.detectionEngine.createRule.rulePreviewDescription": "ルールプレビューには、ルール設定と例外の現在の構成が反映されます。更新アイコンをクリックすると、更新されたプレビューが表示されます。", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 23f68132c7adfa..fdb3d3ac3d2278 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -30601,7 +30601,7 @@ "xpack.securitySolution.detectionEngine.createRule.mlRuleTypeDescription": "Machine Learning", "xpack.securitySolution.detectionEngine.createRule.newTermsRuleTypeDescription": "新字词", "xpack.securitySolution.detectionEngine.createRule.pageTitle": "创建新规则", - "xpack.securitySolution.detectionEngine.createRule.QueryLabel": "定制查询", + "xpack.securitySolution.detectionEngine.createRule.queryLabel": "定制查询", "xpack.securitySolution.detectionEngine.createRule.queryRuleTypeDescription": "查询", "xpack.securitySolution.detectionEngine.createRule.ruleActionsField.ruleActionsFormErrorsTitle": "请修复下面所列的问题", "xpack.securitySolution.detectionEngine.createRule.rulePreviewDescription": "规则预览反映了您的规则设置和例外的当前配置,单击刷新图标可查看已更新的预览。", diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/esql_rule_details.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/esql_rule_details.cy.ts index 1ceef1fd798265..c4cdba4416f269 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/esql_rule_details.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/esql_rule_details.cy.ts @@ -8,7 +8,7 @@ import { getEsqlRule } from '../../../objects/rule'; import { - CUSTOM_QUERY_DETAILS, + ESQL_QUERY_DETAILS, DEFINITION_DETAILS, RULE_NAME_HEADER, RULE_TYPE_DETAILS, @@ -43,7 +43,7 @@ describe('Detection ES|QL rules, details view', { tags: ['@ess'] }, () => { cy.get(RULE_NAME_HEADER).should('contain', `${rule.name}`); cy.get(DEFINITION_DETAILS).within(() => { - getDetails(CUSTOM_QUERY_DETAILS).should('have.text', rule.query); + getDetails(ESQL_QUERY_DETAILS).should('have.text', rule.query); getDetails(RULE_TYPE_DETAILS).contains('ES|QL'); // ensures ES|QL rule in technical preview diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/esql_rule_edit.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/esql_rule_edit.cy.ts index f3dee0a27160e7..fe236f369567ad 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/esql_rule_edit.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/esql_rule_edit.cy.ts @@ -7,7 +7,7 @@ import { getEsqlRule } from '../../../objects/rule'; -import { CUSTOM_QUERY_DETAILS, RULE_NAME_OVERRIDE_DETAILS } from '../../../screens/rule_details'; +import { ESQL_QUERY_DETAILS, RULE_NAME_OVERRIDE_DETAILS } from '../../../screens/rule_details'; import { ESQL_QUERY_BAR, ESQL_QUERY_BAR_EXPAND_BTN } from '../../../screens/create_new_rule'; @@ -60,7 +60,7 @@ describe('Detection ES|QL rules, edit', { tags: ['@ess'] }, () => { saveEditedRule(); // ensure updated query is displayed on details page - getDetails(CUSTOM_QUERY_DETAILS).should('have.text', expectedValidEsqlQuery); + getDetails(ESQL_QUERY_DETAILS).should('have.text', expectedValidEsqlQuery); }); it('edits ES|QL rule query and override rule name with new property', () => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts index 66c506e0f21570..1984ef5a5eda4a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_creation/event_correlation_rule.cy.ts @@ -22,7 +22,7 @@ import { ABOUT_INVESTIGATION_NOTES, ABOUT_RULE_DESCRIPTION, ADDITIONAL_LOOK_BACK_DETAILS, - CUSTOM_QUERY_DETAILS, + EQL_QUERY_DETAILS, DEFINITION_DETAILS, FALSE_POSITIVES_DETAILS, removeExternalLinkText, @@ -115,7 +115,7 @@ describe('EQL rules', { tags: ['@ess', '@serverless', '@brokenInServerless'] }, cy.get(ABOUT_INVESTIGATION_NOTES).should('have.text', INVESTIGATION_NOTES_MARKDOWN); cy.get(DEFINITION_DETAILS).within(() => { getDetails(INDEX_PATTERNS_DETAILS).should('have.text', getIndexPatterns().join('')); - getDetails(CUSTOM_QUERY_DETAILS).should('have.text', rule.query); + getDetails(EQL_QUERY_DETAILS).should('have.text', rule.query); getDetails(RULE_TYPE_DETAILS).should('have.text', 'Event Correlation'); getDetails(TIMELINE_TEMPLATE_DETAILS).should('have.text', 'None'); }); diff --git a/x-pack/test/security_solution_cypress/cypress/screens/rule_details.ts b/x-pack/test/security_solution_cypress/cypress/screens/rule_details.ts index d061f4a49114dd..4759c3cd2b08c9 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/rule_details.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/rule_details.ts @@ -23,6 +23,10 @@ export const ANOMALY_SCORE_DETAILS = 'Anomaly score'; export const CUSTOM_QUERY_DETAILS = 'Custom query'; +export const EQL_QUERY_DETAILS = 'EQL query'; + +export const ESQL_QUERY_DETAILS = 'ES|QL query'; + export const SAVED_QUERY_NAME_DETAILS = 'Saved query name'; export const SAVED_QUERY_DETAILS = /^Saved query$/; From 5c72df1d47bc544d9e9c4425dcb50552daf0b857 Mon Sep 17 00:00:00 2001 From: Rachel Shen Date: Tue, 3 Oct 2023 16:55:52 -0600 Subject: [PATCH 26/35] Reporting Puppeteer update v21.3.5 (#167554) ## Summary Update the chromium version to 21.3.5 ### Checklist - [x] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) (tested locally on arm64 and win surface laptop locally) --- package.json | 2 +- x-pack/build_chromium/README.md | 11 +- .../chromium/driver_factory/args.test.ts | 2 +- .../server/browsers/chromium/paths.ts | 34 +- yarn.lock | 325 ++++++++++++++---- 5 files changed, 285 insertions(+), 89 deletions(-) diff --git a/package.json b/package.json index 6ade30114dcf01..bdfa73e8a94263 100644 --- a/package.json +++ b/package.json @@ -983,7 +983,7 @@ "prop-types": "^15.8.1", "proxy-from-env": "1.0.0", "puid": "1.0.7", - "puppeteer": "20.1.0", + "puppeteer": "21.3.6", "query-string": "^6.13.2", "rbush": "^3.0.1", "re-resizable": "^6.9.9", diff --git a/x-pack/build_chromium/README.md b/x-pack/build_chromium/README.md index 5a240ffc06a0f3..5f9e2bb06317da 100644 --- a/x-pack/build_chromium/README.md +++ b/x-pack/build_chromium/README.md @@ -46,6 +46,9 @@ python ./build_chromium/init.py # Run the build script with the path to the chromium src directory, the git commit hash python ./build_chromium/build.py 70f5d88ea95298a18a85c33c98ea00e02358ad75 x64 +# Make sure you are using python3, you can state the path explicitly if needed +/usr/bin/python3 ./build_chromium/build.py 67649b10b92bb182fba357831ef7dd6a1baa5648 x64 + # OR You can build for ARM python ./build_chromium/build.py 70f5d88ea95298a18a85c33c98ea00e02358ad75 arm64 ``` @@ -64,6 +67,8 @@ node scripts/chromium_version.js [PuppeteerVersion] When bumping the Puppeteer version, make sure you also update the `ChromiumArchivePaths.revision` variable in `x-pack/plugins/reporting/server/browsers/chromium/paths.ts`. +In some cases the revision number might not be available for the darwin or windows builds in `https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html`. For example, 1181205 was not available for darwin arm64 or windows. In that case, the next available revision numbers 1181286 and 1181280 were used. + ## Build args A good how-to on building Chromium from source is @@ -91,7 +96,7 @@ are created in x64 using cross-compiling. CentOS is not supported for building C - 8 CPU - 30GB memory - 80GB free space on disk (Try `ncdu /home` to see where space is used.) - - "Cloud API access scopes": must have **read / write** scope for the Storage API + - "Cloud API access scopes": must have **read / write** scope for the Storage API. Access scopes in the GCP VM instance needs to be set to allow full access to all Cloud APIs vs default access (this will return a 403 otherwise in the build.py script) 4. Install [Google Cloud SDK](https://cloud.google.com/sdk) locally to ssh into the GCP instance ## Artifacts @@ -101,8 +106,8 @@ The zip files and md5 files are copied to a **staging** bucket in GCP storage. To publish the built artifacts for bunding in Kibana, copy the files from the `headless_shell_staging` bucket to the `headless_shell` bucket. ``` -gsutil cp gs://headless_shell_staging/chromium-d163fd7-linux_arm64.md5 gs://headless_shell/ -gsutil cp gs://headless_shell_staging/chromium-d163fd7-linux_arm64.zip gs://headless_shell/ +gsutil cp gs://headless_shell_staging/chromium-67649b1-linux_arm64.md5 gs://headless_shell/ +gsutil cp gs://headless_shell_staging/chromium-67649b1-linux_arm64.zip gs://headless_shell/ ``` IMPORTANT: Do not replace builds in the `headless_shell` bucket that are referenced in an active Kibana branch. CI tests on that branch will fail since the archive checksum no longer matches the original version. diff --git a/x-pack/plugins/screenshotting/server/browsers/chromium/driver_factory/args.test.ts b/x-pack/plugins/screenshotting/server/browsers/chromium/driver_factory/args.test.ts index f77b84ccfed28d..ac1d9543b2b11b 100644 --- a/x-pack/plugins/screenshotting/server/browsers/chromium/driver_factory/args.test.ts +++ b/x-pack/plugins/screenshotting/server/browsers/chromium/driver_factory/args.test.ts @@ -50,6 +50,6 @@ describe('headless webgl arm mac workaround', () => { // if you're updating this, then you're likely updating chromium // please double-check that the --use-angle flag is still needed for arm macs // instead of --use-angle you may need --enable-gpu - expect(getChromiumPackage().binaryChecksum).toBe('4cc4ee072b23e4a65e714ff543eea21b'); // just putting this here so that someone updating the chromium version will see this comment + expect(getChromiumPackage().binaryChecksum).toBe('361f7cbac5bcac1d9974a43e29bf4bf5'); // just putting this here so that someone updating the chromium version will see this comment }); }); diff --git a/x-pack/plugins/screenshotting/server/browsers/chromium/paths.ts b/x-pack/plugins/screenshotting/server/browsers/chromium/paths.ts index 9556aa453f263d..e9f7370b446d96 100644 --- a/x-pack/plugins/screenshotting/server/browsers/chromium/paths.ts +++ b/x-pack/plugins/screenshotting/server/browsers/chromium/paths.ts @@ -44,10 +44,10 @@ export class ChromiumArchivePaths { platform: 'darwin', architecture: 'x64', archiveFilename: 'chrome-mac.zip', - archiveChecksum: '2ce969500158dd98e3ad4502dbb6b13c', - binaryChecksum: '9960dd00ab27b4e9ee1455692bb65701', + archiveChecksum: '086ffb9d1e248f41f1e385aaea1bb568', + binaryChecksum: '58ed6d2bba7773b85aaec1d78b9c1a7b', binaryRelativePath: 'chrome-mac/Chromium.app/Contents/MacOS/Chromium', - revision: 1121448, + revision: 1181205, location: 'common', archivePath: 'Mac', isPreInstalled: false, @@ -56,10 +56,10 @@ export class ChromiumArchivePaths { platform: 'darwin', architecture: 'arm64', archiveFilename: 'chrome-mac.zip', - archiveChecksum: 'a4fea96b155483e0617d909c9b2cb32a', - binaryChecksum: '4cc4ee072b23e4a65e714ff543eea21b', + archiveChecksum: 'f80b2cb14025e283a740836aa66e46d4', + binaryChecksum: '361f7cbac5bcac1d9974a43e29bf4bf5', binaryRelativePath: 'chrome-mac/Chromium.app/Contents/MacOS/Chromium', - revision: 1121443, + revision: 1181286, // 1181205 is not available for Mac_Arm location: 'common', archivePath: 'Mac_Arm', isPreInstalled: false, @@ -67,22 +67,22 @@ export class ChromiumArchivePaths { { platform: 'linux', architecture: 'x64', - archiveFilename: 'chromium-38c3182-locales-linux_x64.zip', - archiveChecksum: '9635c58ccd7a6260dcfc0be7fa1545f6', - binaryChecksum: '02b21e91e39eb9aa68bbb4fedfa73204', + archiveFilename: 'chromium-67649b1-locales-linux_x64.zip', + archiveChecksum: '21bd8a1e06f236fa405c74d92a7ccd63', + binaryChecksum: 'b75d45d3044cc320bb09ce7356003d24', binaryRelativePath: 'headless_shell-linux_x64/headless_shell', - revision: 1121455, + revision: 1181205, location: 'custom', isPreInstalled: true, }, { platform: 'linux', architecture: 'arm64', - archiveFilename: 'chromium-38c3182-locales-linux_arm64.zip', - archiveChecksum: '96dca82cccea6ae82aaf0bc46104a501', - binaryChecksum: '753e07c59b6f269b2f06091155d53f4b', + archiveFilename: 'chromium-67649b1-locales-linux_arm64.zip', + archiveChecksum: '0c3b42ada934258b4596f3e984d011e3', + binaryChecksum: 'ac521fbc52fb1589416a214ce7b299ee', binaryRelativePath: 'headless_shell-linux_arm64/headless_shell', - revision: 1121455, + revision: 1181205, location: 'custom', isPreInstalled: true, }, @@ -90,10 +90,10 @@ export class ChromiumArchivePaths { platform: 'win32', architecture: 'x64', archiveFilename: 'chrome-win.zip', - archiveChecksum: '76b6c8aa15f0b16df18f793c9953f59f', - binaryChecksum: '762fe3b0ffe86d525bb3ed91f870cb7a', + archiveChecksum: '08186d7494e75c2cca03270d9a4ff589', + binaryChecksum: '1623fed921c9acee7221b2de98abe54e', binaryRelativePath: path.join('chrome-win', 'chrome.exe'), - revision: 1121435, + revision: 1181280, // 1181205 is not available for win location: 'common', archivePath: 'Win', isPreInstalled: true, diff --git a/yarn.lock b/yarn.lock index 8efceaca770155..67674a57416eff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7173,17 +7173,16 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= -"@puppeteer/browsers@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@puppeteer/browsers/-/browsers-1.0.0.tgz#89de56a718c922857b1d802aac473ebbe1f54d99" - integrity sha512-YKecOIlwH0UsiM9zkKy31DYg11iD8NhOoQ7SQ4oCpwDSd1Ud31WYRoAldbVlVBj9b4hLJIXxn7XSnkH1ta1tpA== +"@puppeteer/browsers@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@puppeteer/browsers/-/browsers-1.7.1.tgz#04f1e3aec4b87f50a7acc8f64be2149bda014f0a" + integrity sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw== dependencies: debug "4.3.4" extract-zip "2.0.1" - https-proxy-agent "5.0.1" progress "2.0.3" - proxy-from-env "1.1.0" - tar-fs "2.1.1" + proxy-agent "6.3.1" + tar-fs "3.0.4" unbzip2-stream "1.4.3" yargs "17.7.1" @@ -8360,6 +8359,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== +"@tootallnate/quickjs-emscripten@^0.23.0": + version "0.23.0" + resolved "https://registry.yarnpkg.com/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz#db4ecfd499a9765ab24002c3b696d02e6d32a12c" + integrity sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA== + "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" @@ -10709,6 +10713,13 @@ agent-base@^7.0.2: dependencies: debug "^4.3.4" +agent-base@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" + integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== + dependencies: + debug "^4.3.4" + agentkeepalive@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.4.1.tgz#aa95aebc3a749bca5ed53e3880a09f5235b48f0c" @@ -11348,6 +11359,13 @@ ast-types@^0.13.2: resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA== +ast-types@^0.13.4: + version "0.13.4" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" + ast-types@^0.14.2: version "0.14.2" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd" @@ -11526,6 +11544,11 @@ axobject-query@^3.1.1: dependencies: dequal "^2.0.3" +b4a@^1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.4.tgz#ef1c1422cae5ce6535ec191baeed7567443f36c9" + integrity sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== + babel-jest@^29.6.1: version "29.6.1" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.6.1.tgz#a7141ad1ed5ec50238f3cd36127636823111233a" @@ -11825,6 +11848,11 @@ basic-auth@^2.0.1: dependencies: safe-buffer "5.1.2" +basic-ftp@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.0.3.tgz#b14c0fe8111ce001ec913686434fe0c2fb461228" + integrity sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g== + batch-processor@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/batch-processor/-/batch-processor-1.0.0.tgz#75c95c32b748e0850d10c2b168f6bdbe9891ace8" @@ -12797,12 +12825,13 @@ chromedriver@^116.0.0: proxy-from-env "^1.1.0" tcp-port-used "^1.0.1" -chromium-bidi@0.4.7: - version "0.4.7" - resolved "https://registry.yarnpkg.com/chromium-bidi/-/chromium-bidi-0.4.7.tgz#4c022c2b0fb1d1c9b571fadf373042160e71d236" - integrity sha512-6+mJuFXwTMU6I3vYLs6IL8A1DyQTPjCfIL971X0aMPVGRbGnNfl6i6Cl0NMbxi2bRYLGESt9T2ZIMRM5PAEcIQ== +chromium-bidi@0.4.28: + version "0.4.28" + resolved "https://registry.yarnpkg.com/chromium-bidi/-/chromium-bidi-0.4.28.tgz#05befef4f3f19003198237245780d1c60e6f4dbc" + integrity sha512-2HZ74QlAApJrEwcGlU/sUu0s4VS+FI3CJ09Toc9aE9VemMyhHZXeaROQgJKNRaYMUTUx6qIv1cLBs3F+vfgjSw== dependencies: - mitt "3.0.0" + mitt "3.0.1" + urlpattern-polyfill "9.0.0" ci-info@^2.0.0: version "2.0.0" @@ -13484,14 +13513,14 @@ core-util-is@1.0.2, core-util-is@^1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.3.tgz#0e614a118fcc2d9e5afc2f87d53cd09931015689" - integrity sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw== +cosmiconfig@8.3.6: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== dependencies: - import-fresh "^3.2.1" + import-fresh "^3.3.0" js-yaml "^4.1.0" - parse-json "^5.0.0" + parse-json "^5.2.0" path-type "^4.0.0" cosmiconfig@^6.0.0: @@ -13604,12 +13633,12 @@ cross-env@^6.0.3: dependencies: cross-spawn "^7.0.0" -cross-fetch@3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== +cross-fetch@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" + integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== dependencies: - node-fetch "2.6.7" + node-fetch "^2.6.12" cross-spawn@^6.0.0: version "6.0.5" @@ -14269,6 +14298,11 @@ data-uri-to-buffer@^4.0.0: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== +data-uri-to-buffer@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz#db89a9e279c2ffe74f50637a59a32fb23b3e4d7c" + integrity sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg== + data-urls@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" @@ -14558,6 +14592,15 @@ defined@^1.0.0: resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= +degenerator@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-5.0.1.tgz#9403bf297c6dad9a1ece409b37db27954f91f2f5" + integrity sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ== + dependencies: + ast-types "^0.13.4" + escodegen "^2.1.0" + esprima "^4.0.1" + del@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" @@ -14790,10 +14833,10 @@ detective@^5.0.2: defined "^1.0.0" minimist "^1.1.1" -devtools-protocol@0.0.1120988: - version "0.0.1120988" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz#8fe49088919ae3b8df7235774633763f1f925066" - integrity sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q== +devtools-protocol@0.0.1179426: + version "0.0.1179426" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1179426.tgz#c4c3ee671efae868395569123002facbbbffa267" + integrity sha512-KKC7IGwdOr7u9kTGgjUvGTov/z1s2H7oHi3zKCdR9eSDyCPia5CBi4aRhtp7d8uR7l0GS5UTDw3TjKGu5CqINg== dezalgo@^1.0.0: version "1.0.3" @@ -15799,6 +15842,17 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" +escodegen@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + escodegen@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.2.0.tgz#09de7967791cc958b7f89a2ddb6d23451af327e1" @@ -16501,6 +16555,11 @@ fast-fifo@^1.1.0: resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.0.tgz#03e381bcbfb29932d7c3afde6e15e83e05ab4d8b" integrity sha512-IgfweLvEpwyA4WgiQe9Nx6VV2QkML2NkvZnk1oKnIzXgXdWxuhF7zw4DvLTPZJn6PIUneiAXPF24QmoEqHTjyw== +fast-fifo@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" + integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== + fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" @@ -17182,6 +17241,15 @@ fs-extra@^7.0.1: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" @@ -17438,6 +17506,16 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" +get-uri@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-6.0.1.tgz#cff2ba8d456c3513a04b70c45de4dbcca5b1527c" + integrity sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q== + dependencies: + basic-ftp "^5.0.2" + data-uri-to-buffer "^5.0.1" + debug "^4.3.4" + fs-extra "^8.1.0" + get-value@^2.0.2, get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -18470,6 +18548,14 @@ http-proxy-agent@^6.0.1: agent-base "^7.0.2" debug "^4.3.4" +http-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz#e9096c5afd071a3fce56e6252bb321583c124673" + integrity sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ== + dependencies: + agent-base "^7.1.0" + debug "^4.3.4" + http-proxy-middleware@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" @@ -18512,7 +18598,7 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: +https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== @@ -18528,6 +18614,14 @@ https-proxy-agent@^6.1.0: agent-base "^7.0.2" debug "4" +https-proxy-agent@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" + integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== + dependencies: + agent-base "^7.0.2" + debug "4" + human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" @@ -18631,6 +18725,14 @@ import-fresh@^3.1.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + import-in-the-middle@1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b" @@ -18857,6 +18959,11 @@ ip-regex@^2.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= +ip@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== + ip@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" @@ -21408,6 +21515,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.14.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + lru-cache@^7.7.1: version "7.14.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.1.tgz#8da8d2f5f59827edb388e63e459ac23d6d408fea" @@ -22306,10 +22418,10 @@ mississippi@^3.0.0: stream-each "^1.1.0" through2 "^2.0.0" -mitt@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.0.tgz#69ef9bd5c80ff6f57473e8d89326d01c414be0bd" - integrity sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ== +mitt@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1" + integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== mixin-deep@^1.2.0: version "1.3.2" @@ -22765,6 +22877,11 @@ nested-error-stacks@^2.0.0, nested-error-stacks@^2.1.0: resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61" integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug== +netmask@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + next-line@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/next-line/-/next-line-1.1.0.tgz#fcae57853052b6a9bae8208e40dd7d3c2d304603" @@ -22865,13 +22982,6 @@ node-emoji@^1.10.0: dependencies: lodash.toarray "^4.4.0" -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - node-fetch@^1.0.1, node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.8" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" @@ -22879,6 +22989,13 @@ node-fetch@^1.0.1, node-fetch@^2.6.1, node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.6.12: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e" @@ -23759,6 +23876,29 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pac-proxy-agent@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz#6b9ddc002ec3ff0ba5fdf4a8a21d363bcc612d75" + integrity sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A== + dependencies: + "@tootallnate/quickjs-emscripten" "^0.23.0" + agent-base "^7.0.2" + debug "^4.3.4" + get-uri "^6.0.1" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.2" + pac-resolver "^7.0.0" + socks-proxy-agent "^8.0.2" + +pac-resolver@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-7.0.0.tgz#79376f1ca26baf245b96b34c339d79bff25e900c" + integrity sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg== + dependencies: + degenerator "^5.0.0" + ip "^1.1.8" + netmask "^2.0.2" + package-hash@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506" @@ -24966,12 +25106,26 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-agent@6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-6.3.1.tgz#40e7b230552cf44fd23ffaf7c59024b692612687" + integrity sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ== + dependencies: + agent-base "^7.0.2" + debug "^4.3.4" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.2" + lru-cache "^7.14.1" + pac-proxy-agent "^7.0.1" + proxy-from-env "^1.1.0" + socks-proxy-agent "^8.0.2" + proxy-from-env@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= -proxy-from-env@1.1.0, proxy-from-env@^1.1.0: +proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== @@ -25063,34 +25217,26 @@ pupa@^2.1.1: dependencies: escape-goat "^2.0.0" -puppeteer-core@20.1.0: - version "20.1.0" - resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-20.1.0.tgz#c74e21ad642b0adb273da83b4bf444fdecc6500f" - integrity sha512-/xTvabzAN4mnnuYkJCuWNnnEhOb3JrBTa3sY6qVi1wybuIEk5ODRg8Z5PPiKUGiKC9iG7GWOJ5CjF3iuMuxZSA== +puppeteer-core@21.3.6: + version "21.3.6" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-21.3.6.tgz#5507fafb790692ff887e368de71a1c5a0d08af1e" + integrity sha512-ZH6tjTdRXwW2fx5W3jBbG+yUVQdDfZW1kjfwvWwMzsnKEli5ZwV70Zp97GOebHQHrK8zM3vX5VqI9sd48c9PnQ== dependencies: - "@puppeteer/browsers" "1.0.0" - chromium-bidi "0.4.7" - cross-fetch "3.1.5" + "@puppeteer/browsers" "1.7.1" + chromium-bidi "0.4.28" + cross-fetch "4.0.0" debug "4.3.4" - devtools-protocol "0.0.1120988" - extract-zip "2.0.1" - https-proxy-agent "5.0.1" - proxy-from-env "1.1.0" - tar-fs "2.1.1" - unbzip2-stream "1.4.3" - ws "8.13.0" + devtools-protocol "0.0.1179426" + ws "8.14.2" -puppeteer@20.1.0: - version "20.1.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-20.1.0.tgz#30331e2729b235b3306a39cab3ad5b0cf2b90e7d" - integrity sha512-kZp1eYScK1IpHxkgnDaFSGKKCzt27iZfsxO6Xlv/cklzYrhobxTK9/PxzCacPCrYnxNQwKwHzHLPOCuSyjw1jg== +puppeteer@21.3.6: + version "21.3.6" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-21.3.6.tgz#961a44cd532ab5344ed53d7714aa56b4602ace10" + integrity sha512-ulK9+KLvdaVsG0EKbKyw/DCXCz88rsnrvIJg9tY8AmkGR01AxI4ZJTH9BJl1OE7cLfh2vxjBvY+xfvJod6rfgw== dependencies: - "@puppeteer/browsers" "1.0.0" - cosmiconfig "8.1.3" - https-proxy-agent "5.0.1" - progress "2.0.3" - proxy-from-env "1.1.0" - puppeteer-core "20.1.0" + "@puppeteer/browsers" "1.7.1" + cosmiconfig "8.3.6" + puppeteer-core "21.3.6" pure-rand@^6.0.0: version "6.0.2" @@ -27525,7 +27671,16 @@ socks-proxy-agent@^7.0.0: debug "^4.3.3" socks "^2.6.2" -socks@^2.6.1, socks@^2.6.2: +socks-proxy-agent@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz#5acbd7be7baf18c46a3f293a840109a430a640ad" + integrity sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g== + dependencies: + agent-base "^7.0.2" + debug "^4.3.4" + socks "^2.7.1" + +socks@^2.6.1, socks@^2.6.2, socks@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== @@ -28058,6 +28213,14 @@ streamx@^2.12.0, streamx@^2.12.5, streamx@^2.13.2, streamx@^2.14.0: fast-fifo "^1.1.0" queue-tick "^1.0.1" +streamx@^2.15.0: + version "2.15.1" + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.15.1.tgz#396ad286d8bc3eeef8f5cea3f029e81237c024c6" + integrity sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA== + dependencies: + fast-fifo "^1.1.0" + queue-tick "^1.0.1" + strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" @@ -28602,7 +28765,16 @@ tape@^5.0.1: string.prototype.trim "^1.2.1" through "^2.3.8" -tar-fs@2.1.1, tar-fs@^2.0.0, tar-fs@^2.1.1: +tar-fs@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-3.0.4.tgz#a21dc60a2d5d9f55e0089ccd78124f1d3771dbbf" + integrity sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w== + dependencies: + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^3.1.5" + +tar-fs@^2.0.0, tar-fs@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== @@ -28623,6 +28795,15 @@ tar-stream@^2.1.4, tar-stream@^2.2.0: inherits "^2.0.3" readable-stream "^3.1.1" +tar-stream@^3.1.5: + version "3.1.6" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.6.tgz#6520607b55a06f4a2e2e04db360ba7d338cc5bab" + integrity sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== + dependencies: + b4a "^1.6.4" + fast-fifo "^1.2.0" + streamx "^2.15.0" + tar@^6.0.2, tar@^6.1.11, tar@^6.1.15, tar@^6.1.2: version "6.1.15" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69" @@ -29839,6 +30020,11 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" +urlpattern-polyfill@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz#bc7e386bb12fd7898b58d1509df21d3c29ab3460" + integrity sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g== + use-callback-ref@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5" @@ -31112,7 +31298,12 @@ write-file-atomic@^4.0.1, write-file-atomic@^4.0.2: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.13.0, ws@>=8.13.0: +ws@8.14.2: + version "8.14.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== + +ws@>=8.13.0: version "8.13.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== From f17b2ab8c0ee131179043b5ca704f45b086c220c Mon Sep 17 00:00:00 2001 From: Nathan Reese Date: Tue, 3 Oct 2023 17:01:37 -0600 Subject: [PATCH 27/35] =?UTF-8?q?unskip=20Failing=20test:=20Chrome=20X-Pac?= =?UTF-8?q?k=20UI=20Functional=20Tests.x-pack/test/functional/apps/dashboa?= =?UTF-8?q?rd/group1/preserve=5Furl=C2=B7ts=20(#167836)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes https://github.com/elastic/kibana/issues/166900 Flaky test runner https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3295 Flaky test because `await appsMenu.clickLink('Dashboard', { category: 'kibana' });` is opening dashboard application. Looking at the screen shot, kibana stays on home page. Looking at the logs, the context menu is opened and Dashboard link is clicked. PR resolves flakiness by adding retry around appsMenu.clickLink. Screenshot 2023-10-02 at 3 52 19 PM Screenshot 2023-10-02 at 3 52 42 PM --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- test/functional/page_objects/dashboard_page.ts | 12 ++++++++++++ .../functional/apps/dashboard/group1/preserve_url.ts | 12 +++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/test/functional/page_objects/dashboard_page.ts b/test/functional/page_objects/dashboard_page.ts index 4798117f116878..6119a87c16a5f1 100644 --- a/test/functional/page_objects/dashboard_page.ts +++ b/test/functional/page_objects/dashboard_page.ts @@ -43,6 +43,7 @@ export class DashboardPageObject extends FtrService { private readonly header = this.ctx.getPageObject('header'); private readonly visualize = this.ctx.getPageObject('visualize'); private readonly discover = this.ctx.getPageObject('discover'); + private readonly appsMenu = this.ctx.getService('appsMenu'); private readonly logstashIndex = this.config.get('esTestCluster.ccs') ? 'ftr-remote:logstash-*' @@ -65,6 +66,17 @@ export class DashboardPageObject extends FtrService { await this.common.navigateToApp(this.APP_ID); } + public async navigateToAppFromAppsMenu() { + await this.retry.try(async () => { + await this.appsMenu.clickLink('Dashboard', { category: 'kibana' }); + await this.header.waitUntilLoadingHasFinished(); + const currentUrl = await this.browser.getCurrentUrl(); + if (!currentUrl.includes('app/dashboard')) { + throw new Error(`Not in dashboard application after clicking 'Dashboard' in apps menu`); + } + }); + } + public async expectAppStateRemovedFromURL() { this.retry.try(async () => { const url = await this.browser.getCurrentUrl(); diff --git a/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts b/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts index db9912be25625a..cb5713e4d03ee9 100644 --- a/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts +++ b/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts @@ -10,13 +10,11 @@ import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['common', 'dashboard', 'spaceSelector', 'header']); - const appsMenu = getService('appsMenu'); const globalNav = getService('globalNav'); const kibanaServer = getService('kibanaServer'); const spacesService = getService('spaces'); - // Failing: See https://github.com/elastic/kibana/issues/166900 - describe.skip('preserve url', function () { + describe('preserve url', function () { const anotherSpace = 'another-space'; before(async () => { @@ -39,7 +37,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('A Dashboard'); await PageObjects.common.navigateToApp('home'); - await appsMenu.clickLink('Dashboard', { category: 'kibana' }); + await PageObjects.dashboard.navigateToAppFromAppsMenu(); await PageObjects.dashboard.loadSavedDashboard('A Dashboard'); await PageObjects.header.waitUntilLoadingHasFinished(); const activeTitle = await globalNav.getLastBreadcrumb(); @@ -56,7 +54,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.spaceSelector.expectHomePage('another-space'); // other space - await appsMenu.clickLink('Dashboard', { category: 'kibana' }); + await PageObjects.dashboard.navigateToAppFromAppsMenu(); await PageObjects.dashboard.loadSavedDashboard('A Dashboard in another space'); await PageObjects.spaceSelector.openSpacesNav(); @@ -64,7 +62,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.spaceSelector.expectHomePage('default'); // default space - await appsMenu.clickLink('Dashboard', { category: 'kibana' }); + await PageObjects.dashboard.navigateToAppFromAppsMenu(); await PageObjects.dashboard.waitForRenderComplete(); const activeTitleDefaultSpace = await globalNav.getLastBreadcrumb(); expect(activeTitleDefaultSpace).to.be('A Dashboard'); @@ -74,7 +72,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.spaceSelector.expectHomePage('another-space'); // other space - await appsMenu.clickLink('Dashboard', { category: 'kibana' }); + await PageObjects.dashboard.navigateToAppFromAppsMenu(); await PageObjects.dashboard.waitForRenderComplete(); const activeTitleOtherSpace = await globalNav.getLastBreadcrumb(); expect(activeTitleOtherSpace).to.be('A Dashboard in another space'); From ce5ae7d5628ff3c3598275a349940c310cba9c89 Mon Sep 17 00:00:00 2001 From: "Joey F. Poon" Date: Tue, 3 Oct 2023 16:52:07 -0700 Subject: [PATCH 28/35] [Security Solution] fix serverless metering tasks not registering (#167881) --- .../server/task_manager/task_state.ts | 35 +++++++++++++++++++ .../task_manager/usage_reporting_task.ts | 8 +++-- 2 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 x-pack/plugins/security_solution_serverless/server/task_manager/task_state.ts diff --git a/x-pack/plugins/security_solution_serverless/server/task_manager/task_state.ts b/x-pack/plugins/security_solution_serverless/server/task_manager/task_state.ts new file mode 100644 index 00000000000000..dca03e31c55936 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/server/task_manager/task_state.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema, type TypeOf } from '@kbn/config-schema'; + +/** + * WARNING: Do not modify the existing versioned schema(s) below, instead define a new version (ex: 2, 3, 4). + * This is required to support zero-downtime upgrades and rollbacks. See https://github.com/elastic/kibana/issues/155764. + * + * As you add a new schema version, don't forget to change latestTaskStateSchema variable to reference the latest schema. + * For example, changing stateSchemaByVersion[1].schema to stateSchemaByVersion[2].schema. + */ +export const stateSchemaByVersion = { + 1: { + // A task that was created < 8.10 will go through this "up" migration + // to ensure it matches the v1 schema. + up: (state: Record) => ({ + lastSuccessfulReport: state.lastSuccessfulReport || null, + }), + schema: schema.object({ + lastSuccessfulReport: schema.nullable(schema.string()), + }), + }, +}; + +const latestTaskStateSchema = stateSchemaByVersion[1].schema; +export type LatestTaskStateSchema = TypeOf; + +export const emptyState: LatestTaskStateSchema = { + lastSuccessfulReport: null, +}; diff --git a/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.ts b/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.ts index a292d7646791d4..2fa2f50f4b9d91 100644 --- a/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.ts +++ b/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.ts @@ -10,6 +10,7 @@ import type { CoreSetup, Logger } from '@kbn/core/server'; import type { ConcreteTaskInstance } from '@kbn/task-manager-plugin/server'; import type { CloudSetup } from '@kbn/cloud-plugin/server'; import { throwUnrecoverableError } from '@kbn/task-manager-plugin/server'; + import { usageReportingService } from '../common/services'; import type { MeteringCallback, @@ -19,6 +20,8 @@ import type { } from '../types'; import type { ServerlessSecurityConfig } from '../config'; +import { stateSchemaByVersion, emptyState } from './task_state'; + const SCOPE = ['serverlessSecurity']; const TIMEOUT = '1m'; @@ -58,6 +61,7 @@ export class SecurityUsageReportingTask { [taskType]: { title: taskTitle, timeout: TIMEOUT, + stateSchemaByVersion, createTaskRunner: ({ taskInstance }: { taskInstance: ConcreteTaskInstance }) => { return { run: async () => { @@ -94,9 +98,7 @@ export class SecurityUsageReportingTask { schedule: { interval, }, - state: { - lastSuccessfulReport: null, - }, + state: emptyState, params: { version: this.version }, }); } catch (e) { From e74e5e2bfccb03806871b66b83525096069270c4 Mon Sep 17 00:00:00 2001 From: Garrett Spong Date: Tue, 3 Oct 2023 17:53:46 -0600 Subject: [PATCH 29/35] [Security Solution][Elastic AI Assistant] Refactors Knowledge Base feature flag to UI feature toggle (#167935) ## Summary This PR refactors the `assistantLangChain` code feature flag introduced in https://github.com/elastic/kibana/pull/164908, to be a UI feature toggle that users can enable/disable via the `Knowledge Base` assistant advanced settings. Left image shows the feature disabled, and the right image shows the feature partly enabled. If ELSER is configured, the UI will attempt to install all resources automatically for a one-click UX, however if ELSER is not configured, or there are failures, the user can manually enable the Knowledge Base or ES|QL base documentation:

Also, since this code feature flag was shared with the model evaluator experimental feature, a `modelEvaluatorEnabled` flag has been plumbed to fully decouple the two settings. Now _only the_ model evaluator is enabled when setting security Solution Advanced setting: ``` xpack.securitySolution.enableExperimental: ['assistantModelEvaluation'] ``` and the previous `assistantLangChain` code feature flag is now enabled by simply toggling on the Knowledge Base in the settings shown above. > [!NOTE] > Even if ELSER isn't configured, and the knowledge base/docs aren't setup, if the Knowledge Base is enabled, the LangChain code path will still be enabled as intended, but we can change this behavior if testing shows this is not ideal. ### 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)added to match the most common scenarios - [X] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) --- .../advanced_settings/advanced_settings.tsx | 193 ------------ .../advanced_settings/translations.ts | 79 ----- .../assistant/settings/assistant_settings.tsx | 39 ++- .../impl/assistant/settings/translations.ts | 6 +- .../use_settings_updater.tsx | 23 +- .../impl/assistant/types.ts | 4 + .../assistant/use_send_messages/index.tsx | 6 +- .../impl/assistant_context/constants.tsx | 7 + .../impl/assistant_context/index.test.tsx | 1 - .../impl/assistant_context/index.tsx | 28 +- .../knowledge_base_settings.tsx | 294 ++++++++++++++++++ .../knowledge_base_settings/translations.ts | 109 +++++++ .../mock/test_providers/test_providers.tsx | 1 - .../mock/test_providers/test_providers.tsx | 1 - .../public/assistant/provider.tsx | 4 +- .../common/mock/mock_assistant_provider.tsx | 1 - 16 files changed, 487 insertions(+), 309 deletions(-) delete mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/advanced_settings/advanced_settings.tsx delete mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/advanced_settings/translations.ts create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings/knowledge_base_settings.tsx create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings/translations.ts diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/advanced_settings/advanced_settings.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/advanced_settings/advanced_settings.tsx deleted file mode 100644 index 4474973b3ce62e..00000000000000 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/advanced_settings/advanced_settings.tsx +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React, { useCallback, useMemo, useState } from 'react'; -import { - EuiFormRow, - EuiTitle, - EuiText, - EuiTextColor, - EuiHorizontalRule, - EuiLoadingSpinner, - EuiSpacer, - EuiSwitch, - EuiToolTip, - EuiSwitchEvent, - EuiLink, -} from '@elastic/eui'; - -import { FormattedMessage } from '@kbn/i18n-react'; -import * as i18n from './translations'; -import { useKnowledgeBaseStatus } from '../../../knowledge_base/use_knowledge_base_status/use_knowledge_base_status'; -import { useAssistantContext } from '../../../assistant_context'; -import { useSetupKnowledgeBase } from '../../../knowledge_base/use_setup_knowledge_base/use_setup_knowledge_base'; -import { useDeleteKnowledgeBase } from '../../../knowledge_base/use_delete_knowledge_base/use_delete_knowledge_base'; - -const ESQL_RESOURCE = 'esql'; -interface Props { - onAdvancedSettingsChange?: () => void; -} - -/** - * Advanced Settings -- enable and disable LangChain integration, Knowledge Base, and ESQL KB Documents - */ -export const AdvancedSettings: React.FC = React.memo(({ onAdvancedSettingsChange }) => { - const { http, assistantLangChain } = useAssistantContext(); - const { - data: kbStatus, - isLoading, - isFetching, - } = useKnowledgeBaseStatus({ http, resource: ESQL_RESOURCE }); - const { mutate: setupKB, isLoading: isSettingUpKB } = useSetupKnowledgeBase({ http }); - const { mutate: deleteKB, isLoading: isDeletingUpKB } = useDeleteKnowledgeBase({ http }); - - const [isLangChainEnabled, setIsLangChainEnabled] = useState(assistantLangChain); - const isKnowledgeBaseEnabled = - (kbStatus?.index_exists && kbStatus?.pipeline_exists && kbStatus?.elser_exists) ?? false; - const isESQLEnabled = kbStatus?.esql_exists ?? false; - - const isLoadingKb = isLoading || isFetching || isSettingUpKB || isDeletingUpKB; - const isKnowledgeBaseAvailable = isLangChainEnabled && kbStatus?.elser_exists; - const isESQLAvailable = isLangChainEnabled && isKnowledgeBaseAvailable && isKnowledgeBaseEnabled; - - const onEnableKnowledgeBaseChange = useCallback( - (event: EuiSwitchEvent) => { - if (event.target.checked) { - setupKB(); - } else { - deleteKB(); - } - }, - [deleteKB, setupKB] - ); - - const onEnableESQLChange = useCallback( - (event: EuiSwitchEvent) => { - if (event.target.checked) { - setupKB(ESQL_RESOURCE); - } else { - deleteKB(ESQL_RESOURCE); - } - }, - [deleteKB, setupKB] - ); - - const langchainSwitch = useMemo(() => { - return ( - setIsLangChainEnabled(!isLangChainEnabled)} - showLabel={false} - /> - ); - }, [isLangChainEnabled]); - - const knowledgeBaseSwitch = useMemo(() => { - return isLoadingKb ? ( - - ) : ( - - - - ); - }, [isLoadingKb, isKnowledgeBaseAvailable, isKnowledgeBaseEnabled, onEnableKnowledgeBaseChange]); - - const esqlSwitch = useMemo(() => { - return isLoadingKb ? ( - - ) : ( - - - - ); - }, [isLoadingKb, isESQLAvailable, isESQLEnabled, onEnableESQLChange]); - - return ( - <> - -

{i18n.SETTINGS_TITLE}

-
- - - {i18n.SETTINGS_DESCRIPTION} - - - - - {langchainSwitch} - - - {i18n.LANNGCHAIN_DESCRIPTION} - - - - {knowledgeBaseSwitch} - - - - - {i18n.KNOWLEDGE_BASE_DESCRIPTION_ELSER_LEARN_MORE} - - ), - }} - /> - - - - - {esqlSwitch} - - - {i18n.ESQL_DESCRIPTION} - - - ); -}); - -AdvancedSettings.displayName = 'AdvancedSettings'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/advanced_settings/translations.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/advanced_settings/translations.ts deleted file mode 100644 index ca849f0a6f7c51..00000000000000 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/advanced_settings/translations.ts +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; - -export const SETTINGS_TITLE = i18n.translate( - 'xpack.elasticAssistant.assistant.settings.advancedSettings.settingsTitle', - { - defaultMessage: 'Advanced Settings', - } -); -export const SETTINGS_DESCRIPTION = i18n.translate( - 'xpack.elasticAssistant.assistant.settings.advancedSettings.settingsDescription', - { - defaultMessage: 'Additional knobs and dials for the Elastic AI Assistant.', - } -); - -export const LANNGCHAIN_LABEL = i18n.translate( - 'xpack.elasticAssistant.assistant.settings.advancedSettings.langChainLabel', - { - defaultMessage: 'Experimental LangChain Integration', - } -); - -export const LANNGCHAIN_DESCRIPTION = i18n.translate( - 'xpack.elasticAssistant.assistant.settings.advancedSettings.langChainDescription', - { - defaultMessage: - 'Enables advanced features and workflows like the Knowledge Base, Functions, Memories, and advanced agent and chain configurations. ', - } -); - -export const KNOWLEDGE_BASE_LABEL = i18n.translate( - 'xpack.elasticAssistant.assistant.settings.advancedSettings.knowledgeBaseLabel', - { - defaultMessage: 'Knowledge Base', - } -); - -export const KNOWLEDGE_BASE_LABEL_TOOLTIP = i18n.translate( - 'xpack.elasticAssistant.assistant.settings.advancedSettings.knowledgeBaseLabelTooltip', - { - defaultMessage: 'Requires ELSER to be configured and started.', - } -); - -export const KNOWLEDGE_BASE_DESCRIPTION_ELSER_LEARN_MORE = i18n.translate( - 'xpack.elasticAssistant.assistant.settings.advancedSettings.knowledgeBaseElserLearnMoreDescription', - { - defaultMessage: 'Learn more.', - } -); - -export const ESQL_LABEL = i18n.translate( - 'xpack.elasticAssistant.assistant.settings.advancedSettings.esqlLabel', - { - defaultMessage: 'ES|QL Knowledge Base Documents', - } -); - -export const ESQL_LABEL_TOOLTIP = i18n.translate( - 'xpack.elasticAssistant.assistant.settings.advancedSettings.esqlTooltip', - { - defaultMessage: 'Requires `Knowledge Base` to be enabled.', - } -); - -export const ESQL_DESCRIPTION = i18n.translate( - 'xpack.elasticAssistant.assistant.settings.advancedSettings.esqlDescription', - { - defaultMessage: - 'Loads ES|QL documentation and language files into the Knowledge Base for use in generating ES|QL queries.', - } -); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx index caf8fa77a9b61f..5b357fb6594cc2 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx @@ -30,7 +30,7 @@ import { useAssistantContext } from '../../assistant_context'; import { AnonymizationSettings } from '../../data_anonymization/settings/anonymization_settings'; import { QuickPromptSettings } from '../quick_prompts/quick_prompt_settings/quick_prompt_settings'; import { SystemPromptSettings } from '../prompt_editor/system_prompt/system_prompt_modal/system_prompt_settings'; -import { AdvancedSettings } from './advanced_settings/advanced_settings'; +import { KnowledgeBaseSettings } from '../../knowledge_base/knowledge_base_settings/knowledge_base_settings'; import { ConversationSettings } from '../conversations/conversation_settings/conversation_settings'; import { TEST_IDS } from '../constants'; import { useSettingsUpdater } from './use_settings_updater/use_settings_updater'; @@ -45,7 +45,7 @@ export const CONVERSATIONS_TAB = 'CONVERSATION_TAB' as const; export const QUICK_PROMPTS_TAB = 'QUICK_PROMPTS_TAB' as const; export const SYSTEM_PROMPTS_TAB = 'SYSTEM_PROMPTS_TAB' as const; export const ANONYMIZATION_TAB = 'ANONYMIZATION_TAB' as const; -export const ADVANCED_TAB = 'ADVANCED_TAB' as const; +export const KNOWLEDGE_BASE_TAB = 'KNOWLEDGE_BASE_TAB' as const; export const EVALUATION_TAB = 'EVALUATION_TAB' as const; export type SettingsTabs = @@ -53,7 +53,7 @@ export type SettingsTabs = | typeof QUICK_PROMPTS_TAB | typeof SYSTEM_PROMPTS_TAB | typeof ANONYMIZATION_TAB - | typeof ADVANCED_TAB + | typeof KNOWLEDGE_BASE_TAB | typeof EVALUATION_TAB; interface Props { defaultConnectorId?: string; @@ -68,7 +68,7 @@ interface Props { /** * Modal for overall Assistant Settings, including conversation settings, quick prompts, system prompts, - * anonymization, functions (coming soon!), and advanced settings. + * anonymization, knowledge base, and evaluation via the `isModelEvaluationEnabled` feature flag. */ export const AssistantSettings: React.FC = React.memo( ({ @@ -79,17 +79,19 @@ export const AssistantSettings: React.FC = React.memo( selectedConversation: defaultSelectedConversation, setSelectedConversationId, }) => { - const { assistantLangChain, http, selectedSettingsTab, setSelectedSettingsTab } = + const { modelEvaluatorEnabled, http, selectedSettingsTab, setSelectedSettingsTab } = useAssistantContext(); const { conversationSettings, defaultAllow, defaultAllowReplacement, + knowledgeBase, quickPromptSettings, systemPromptSettings, setUpdatedConversationSettings, setUpdatedDefaultAllow, setUpdatedDefaultAllowReplacement, + setUpdatedKnowledgeBaseSettings, setUpdatedQuickPromptSettings, setUpdatedSystemPromptSettings, saveSettings, @@ -236,17 +238,15 @@ export const AssistantSettings: React.FC = React.memo( > - {assistantLangChain && ( - setSelectedSettingsTab(ADVANCED_TAB)} - > - - - )} - {assistantLangChain && ( + setSelectedSettingsTab(KNOWLEDGE_BASE_TAB)} + > + + + {modelEvaluatorEnabled && ( = React.memo( setUpdatedDefaultAllowReplacement={setUpdatedDefaultAllowReplacement} /> )} - {selectedSettingsTab === ADVANCED_TAB && } + {selectedSettingsTab === KNOWLEDGE_BASE_TAB && ( + + )} {selectedSettingsTab === EVALUATION_TAB && } void; systemPromptSettings: Prompt[]; @@ -21,6 +23,7 @@ interface UseSettingsUpdater { setUpdatedConversationSettings: React.Dispatch< React.SetStateAction >; + setUpdatedKnowledgeBaseSettings: React.Dispatch>; setUpdatedQuickPromptSettings: React.Dispatch>; setUpdatedSystemPromptSettings: React.Dispatch>; saveSettings: () => void; @@ -34,11 +37,13 @@ export const useSettingsUpdater = (): UseSettingsUpdater => { conversations, defaultAllow, defaultAllowReplacement, + knowledgeBase, setAllQuickPrompts, setAllSystemPrompts, setConversations, setDefaultAllow, setDefaultAllowReplacement, + setKnowledgeBase, } = useAssistantContext(); /** @@ -57,6 +62,9 @@ export const useSettingsUpdater = (): UseSettingsUpdater => { const [updatedDefaultAllow, setUpdatedDefaultAllow] = useState(defaultAllow); const [updatedDefaultAllowReplacement, setUpdatedDefaultAllowReplacement] = useState(defaultAllowReplacement); + // Knowledge Base + const [updatedKnowledgeBaseSettings, setUpdatedKnowledgeBaseSettings] = + useState(knowledgeBase); /** * Reset all pending settings @@ -64,10 +72,18 @@ export const useSettingsUpdater = (): UseSettingsUpdater => { const resetSettings = useCallback((): void => { setUpdatedConversationSettings(conversations); setUpdatedQuickPromptSettings(allQuickPrompts); + setUpdatedKnowledgeBaseSettings(knowledgeBase); setUpdatedSystemPromptSettings(allSystemPrompts); setUpdatedDefaultAllow(defaultAllow); setUpdatedDefaultAllowReplacement(defaultAllowReplacement); - }, [allQuickPrompts, allSystemPrompts, conversations, defaultAllow, defaultAllowReplacement]); + }, [ + allQuickPrompts, + allSystemPrompts, + conversations, + defaultAllow, + defaultAllowReplacement, + knowledgeBase, + ]); /** * Save all pending settings @@ -76,6 +92,7 @@ export const useSettingsUpdater = (): UseSettingsUpdater => { setAllQuickPrompts(updatedQuickPromptSettings); setAllSystemPrompts(updatedSystemPromptSettings); setConversations(updatedConversationSettings); + setKnowledgeBase(updatedKnowledgeBaseSettings); setDefaultAllow(updatedDefaultAllow); setDefaultAllowReplacement(updatedDefaultAllowReplacement); }, [ @@ -84,9 +101,11 @@ export const useSettingsUpdater = (): UseSettingsUpdater => { setConversations, setDefaultAllow, setDefaultAllowReplacement, + setKnowledgeBase, updatedConversationSettings, updatedDefaultAllow, updatedDefaultAllowReplacement, + updatedKnowledgeBaseSettings, updatedQuickPromptSettings, updatedSystemPromptSettings, ]); @@ -95,6 +114,7 @@ export const useSettingsUpdater = (): UseSettingsUpdater => { conversationSettings: updatedConversationSettings, defaultAllow: updatedDefaultAllow, defaultAllowReplacement: updatedDefaultAllowReplacement, + knowledgeBase: updatedKnowledgeBaseSettings, quickPromptSettings: updatedQuickPromptSettings, resetSettings, systemPromptSettings: updatedSystemPromptSettings, @@ -102,6 +122,7 @@ export const useSettingsUpdater = (): UseSettingsUpdater => { setUpdatedDefaultAllow, setUpdatedDefaultAllowReplacement, setUpdatedConversationSettings, + setUpdatedKnowledgeBaseSettings, setUpdatedQuickPromptSettings, setUpdatedSystemPromptSettings, }; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/types.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/types.ts index dd5d184abfd202..e9ffd8f8014e84 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/types.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/types.ts @@ -15,3 +15,7 @@ export interface Prompt { isDefault?: boolean; // TODO: Should be renamed to isImmutable as this flag is used to prevent users from deleting prompts isNewConversationDefault?: boolean; } + +export interface KnowledgeBaseConfig { + assistantLangChain: boolean; +} diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_send_messages/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_send_messages/index.tsx index 38dc60c5fc9e76..f9f63aa8ef8ace 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_send_messages/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_send_messages/index.tsx @@ -29,7 +29,7 @@ interface UseSendMessages { } export const useSendMessages = (): UseSendMessages => { - const { assistantLangChain } = useAssistantContext(); + const { knowledgeBase } = useAssistantContext(); const [isLoading, setIsLoading] = useState(false); const sendMessages = useCallback( @@ -37,7 +37,7 @@ export const useSendMessages = (): UseSendMessages => { setIsLoading(true); try { return await fetchConnectorExecuteAction({ - assistantLangChain, + assistantLangChain: knowledgeBase.assistantLangChain, http, messages, apiConfig, @@ -46,7 +46,7 @@ export const useSendMessages = (): UseSendMessages => { setIsLoading(false); } }, - [assistantLangChain] + [knowledgeBase.assistantLangChain] ); return { isLoading, sendMessages }; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/constants.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/constants.tsx index cad3783c4669b2..fbf1f68e05e0d8 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/constants.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/constants.tsx @@ -5,7 +5,14 @@ * 2.0. */ +import { KnowledgeBaseConfig } from '../assistant/types'; + export const DEFAULT_ASSISTANT_NAMESPACE = 'elasticAssistantDefault'; export const QUICK_PROMPT_LOCAL_STORAGE_KEY = 'quickPrompts'; export const SYSTEM_PROMPT_LOCAL_STORAGE_KEY = 'systemPrompts'; export const LAST_CONVERSATION_ID_LOCAL_STORAGE_KEY = 'lastConversationId'; +export const KNOWLEDGE_BASE_LOCAL_STORAGE_KEY = 'knowledgeBase'; + +export const DEFAULT_KNOWLEDGE_BASE_SETTINGS: KnowledgeBaseConfig = { + assistantLangChain: false, +}; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.test.tsx index 89d3e4c6e8878e..7e50643ae75954 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.test.tsx @@ -28,7 +28,6 @@ const ContextWrapper: React.FC = ({ children }) => ( CodeBlockDetails[][]; baseAllow: string[]; @@ -73,6 +74,7 @@ export interface AssistantProviderProps { }) => EuiCommentProps[]; http: HttpSetup; getInitialConversations: () => Record; + modelEvaluatorEnabled?: boolean; nameSpace?: string; setConversations: React.Dispatch>>; setDefaultAllow: React.Dispatch>; @@ -87,7 +89,6 @@ export interface UseAssistantContext { augmentMessageCodeBlocks: (currentConversation: Conversation) => CodeBlockDetails[][]; allQuickPrompts: QuickPrompt[]; allSystemPrompts: Prompt[]; - assistantLangChain: boolean; baseAllow: string[]; baseAllowReplacement: string[]; docLinks: Omit; @@ -110,8 +111,10 @@ export interface UseAssistantContext { showAnonymizedValues: boolean; }) => EuiCommentProps[]; http: HttpSetup; + knowledgeBase: KnowledgeBaseConfig; localStorageLastConversationId: string | undefined; promptContexts: Record; + modelEvaluatorEnabled: boolean; nameSpace: string; registerPromptContext: RegisterPromptContext; selectedSettingsTab: SettingsTabs; @@ -120,6 +123,7 @@ export interface UseAssistantContext { setConversations: React.Dispatch>>; setDefaultAllow: React.Dispatch>; setDefaultAllowReplacement: React.Dispatch>; + setKnowledgeBase: React.Dispatch>; setLastConversationId: React.Dispatch>; setSelectedSettingsTab: React.Dispatch>; setShowAssistantOverlay: (showAssistantOverlay: ShowAssistantOverlay) => void; @@ -133,7 +137,6 @@ const AssistantContext = React.createContext(un export const AssistantProvider: React.FC = ({ actionTypeRegistry, assistantAvailability, - assistantLangChain, assistantTelemetry, augmentMessageCodeBlocks, baseAllow, @@ -149,6 +152,7 @@ export const AssistantProvider: React.FC = ({ getComments, http, getInitialConversations, + modelEvaluatorEnabled = false, nameSpace = DEFAULT_ASSISTANT_NAMESPACE, setConversations, setDefaultAllow, @@ -174,6 +178,14 @@ export const AssistantProvider: React.FC = ({ const [localStorageLastConversationId, setLocalStorageLastConversationId] = useLocalStorage(`${nameSpace}.${LAST_CONVERSATION_ID_LOCAL_STORAGE_KEY}`); + /** + * Local storage for knowledge base configuration, prefixed by assistant nameSpace + */ + const [localStorageKnowledgeBase, setLocalStorageKnowledgeBase] = useLocalStorage( + `${nameSpace}.${KNOWLEDGE_BASE_LOCAL_STORAGE_KEY}`, + DEFAULT_KNOWLEDGE_BASE_SETTINGS + ); + /** * Prompt contexts are used to provide components a way to register and make their data available to the assistant. */ @@ -254,7 +266,6 @@ export const AssistantProvider: React.FC = ({ () => ({ actionTypeRegistry, assistantAvailability, - assistantLangChain, assistantTelemetry, augmentMessageCodeBlocks, allQuickPrompts: localStorageQuickPrompts ?? [], @@ -272,6 +283,8 @@ export const AssistantProvider: React.FC = ({ docLinks, getComments, http, + knowledgeBase: localStorageKnowledgeBase ?? DEFAULT_KNOWLEDGE_BASE_SETTINGS, + modelEvaluatorEnabled, promptContexts, nameSpace, registerPromptContext, @@ -281,6 +294,7 @@ export const AssistantProvider: React.FC = ({ setConversations: onConversationsUpdated, setDefaultAllow, setDefaultAllowReplacement, + setKnowledgeBase: setLocalStorageKnowledgeBase, setSelectedSettingsTab, setShowAssistantOverlay, showAssistantOverlay, @@ -292,7 +306,6 @@ export const AssistantProvider: React.FC = ({ [ actionTypeRegistry, assistantAvailability, - assistantLangChain, assistantTelemetry, augmentMessageCodeBlocks, baseAllow, @@ -308,9 +321,11 @@ export const AssistantProvider: React.FC = ({ docLinks, getComments, http, + localStorageKnowledgeBase, localStorageLastConversationId, localStorageQuickPrompts, localStorageSystemPrompts, + modelEvaluatorEnabled, nameSpace, onConversationsUpdated, promptContexts, @@ -318,6 +333,7 @@ export const AssistantProvider: React.FC = ({ selectedSettingsTab, setDefaultAllow, setDefaultAllowReplacement, + setLocalStorageKnowledgeBase, setLocalStorageLastConversationId, setLocalStorageQuickPrompts, setLocalStorageSystemPrompts, diff --git a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings/knowledge_base_settings.tsx b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings/knowledge_base_settings.tsx new file mode 100644 index 00000000000000..2c667a5739ef6a --- /dev/null +++ b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings/knowledge_base_settings.tsx @@ -0,0 +1,294 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useCallback, useMemo } from 'react'; +import { + EuiFormRow, + EuiTitle, + EuiText, + EuiHorizontalRule, + EuiLoadingSpinner, + EuiSpacer, + EuiSwitchEvent, + EuiLink, + EuiBetaBadge, + EuiFlexGroup, + EuiFlexItem, + EuiHealth, + EuiButtonEmpty, + EuiSwitch, +} from '@elastic/eui'; + +import { FormattedMessage } from '@kbn/i18n-react'; +import { css } from '@emotion/react'; +import * as i18n from './translations'; +import { useAssistantContext } from '../../assistant_context'; +import { useDeleteKnowledgeBase } from '../use_delete_knowledge_base/use_delete_knowledge_base'; +import { useKnowledgeBaseStatus } from '../use_knowledge_base_status/use_knowledge_base_status'; +import { useSetupKnowledgeBase } from '../use_setup_knowledge_base/use_setup_knowledge_base'; + +import type { KnowledgeBaseConfig } from '../../assistant/types'; + +const ESQL_RESOURCE = 'esql'; +const KNOWLEDGE_BASE_INDEX_PATTERN = '.kibana-elastic-ai-assistant-kb'; + +interface Props { + knowledgeBase: KnowledgeBaseConfig; + setUpdatedKnowledgeBaseSettings: React.Dispatch>; +} + +/** + * Knowledge Base Settings -- enable and disable LangChain integration, Knowledge Base, and ESQL KB Documents + */ +export const KnowledgeBaseSettings: React.FC = React.memo( + ({ knowledgeBase, setUpdatedKnowledgeBaseSettings }) => { + const { http } = useAssistantContext(); + const { + data: kbStatus, + isLoading, + isFetching, + } = useKnowledgeBaseStatus({ http, resource: ESQL_RESOURCE }); + const { mutate: setupKB, isLoading: isSettingUpKB } = useSetupKnowledgeBase({ http }); + const { mutate: deleteKB, isLoading: isDeletingUpKB } = useDeleteKnowledgeBase({ http }); + + // Resource enabled state + const isKnowledgeBaseEnabled = + (kbStatus?.index_exists && kbStatus?.pipeline_exists && kbStatus?.elser_exists) ?? false; + const isESQLEnabled = kbStatus?.esql_exists ?? false; + + // Resource availability state + const isLoadingKb = isLoading || isFetching || isSettingUpKB || isDeletingUpKB; + const isKnowledgeBaseAvailable = knowledgeBase.assistantLangChain && kbStatus?.elser_exists; + const isESQLAvailable = + knowledgeBase.assistantLangChain && isKnowledgeBaseAvailable && isKnowledgeBaseEnabled; + + // Calculated health state for EuiHealth component + const elserHealth = kbStatus?.elser_exists ? 'success' : 'subdued'; + const knowledgeBaseHealth = isKnowledgeBaseEnabled ? 'success' : 'subdued'; + const esqlHealth = isESQLEnabled ? 'success' : 'subdued'; + + ////////////////////////////////////////////////////////////////////////////////////////// + // Main `Knowledge Base` switch, which toggles the `assistantLangChain` UI feature toggle + // setting that is saved to localstorage + const onEnableAssistantLangChainChange = useCallback( + (event: EuiSwitchEvent) => { + setUpdatedKnowledgeBaseSettings({ + ...knowledgeBase, + assistantLangChain: event.target.checked, + }); + + // If enabling and ELSER exists, try to set up automatically + if (event.target.checked && kbStatus?.elser_exists) { + setupKB(ESQL_RESOURCE); + } + }, + [kbStatus?.elser_exists, knowledgeBase, setUpdatedKnowledgeBaseSettings, setupKB] + ); + + const assistantLangChainSwitch = useMemo(() => { + return isLoadingKb ? ( + + ) : ( + + ); + }, [isLoadingKb, knowledgeBase.assistantLangChain, onEnableAssistantLangChainChange]); + + ////////////////////////////////////////////////////////////////////////////////////////// + // Knowledge Base Resource + const onEnableKB = useCallback( + (enabled: boolean) => { + if (enabled) { + setupKB(); + } else { + deleteKB(); + } + }, + [deleteKB, setupKB] + ); + + const knowledgeBaseActionButton = useMemo(() => { + return isLoadingKb || !isKnowledgeBaseAvailable ? ( + <> + ) : ( + onEnableKB(!isKnowledgeBaseEnabled)} + size="xs" + > + {isKnowledgeBaseEnabled + ? i18n.KNOWLEDGE_BASE_DELETE_BUTTON + : i18n.KNOWLEDGE_BASE_INIT_BUTTON} + + ); + }, [isKnowledgeBaseAvailable, isKnowledgeBaseEnabled, isLoadingKb, onEnableKB]); + + const knowledgeBaseDescription = useMemo(() => { + return isKnowledgeBaseEnabled ? ( + <> + {i18n.KNOWLEDGE_BASE_DESCRIPTION_INSTALLED(KNOWLEDGE_BASE_INDEX_PATTERN)}{' '} + {knowledgeBaseActionButton} + + ) : ( + <> + {i18n.KNOWLEDGE_BASE_DESCRIPTION} {knowledgeBaseActionButton} + + ); + }, [isKnowledgeBaseEnabled, knowledgeBaseActionButton]); + + ////////////////////////////////////////////////////////////////////////////////////////// + // ESQL Resource + const onEnableESQL = useCallback( + (enabled: boolean) => { + if (enabled) { + setupKB(ESQL_RESOURCE); + } else { + deleteKB(ESQL_RESOURCE); + } + }, + [deleteKB, setupKB] + ); + + const esqlActionButton = useMemo(() => { + return isLoadingKb || !isESQLAvailable ? ( + <> + ) : ( + onEnableESQL(!isESQLEnabled)} + size="xs" + > + {isESQLEnabled ? i18n.KNOWLEDGE_BASE_DELETE_BUTTON : i18n.KNOWLEDGE_BASE_INIT_BUTTON} + + ); + }, [isLoadingKb, isESQLAvailable, isESQLEnabled, onEnableESQL]); + + const esqlDescription = useMemo(() => { + return isESQLEnabled ? ( + <> + {i18n.ESQL_DESCRIPTION_INSTALLED} {esqlActionButton} + + ) : ( + <> + {i18n.ESQL_DESCRIPTION} {esqlActionButton} + + ); + }, [esqlActionButton, isESQLEnabled]); + + return ( + <> + +

+ {i18n.SETTINGS_TITLE}{' '} + +

+
+ + {i18n.SETTINGS_DESCRIPTION} + + + + {assistantLangChainSwitch} + + + + + +
+ {i18n.KNOWLEDGE_BASE_ELSER_LABEL} + + + {i18n.KNOWLEDGE_BASE_ELSER_MACHINE_LEARNING} + + ), + seeDocs: ( + + {i18n.KNOWLEDGE_BASE_ELSER_SEE_DOCS} + + ), + }} + /> + +
+
+ +
+ {i18n.KNOWLEDGE_BASE_LABEL} + + {knowledgeBaseDescription} + +
+
+ + + {i18n.ESQL_LABEL} + + {esqlDescription} + + + +
+ + ); + } +); + +KnowledgeBaseSettings.displayName = 'KnowledgeBaseSettings'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings/translations.ts b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings/translations.ts new file mode 100644 index 00000000000000..95417ddf6a8890 --- /dev/null +++ b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings/translations.ts @@ -0,0 +1,109 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const SETTINGS_TITLE = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.settingsTitle', + { + defaultMessage: 'Knowledge Base', + } +); + +export const SETTINGS_BADGE = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.settingsBadgeTitle', + { + defaultMessage: 'Experimental', + } +); + +export const SETTINGS_DESCRIPTION = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.settingsDescription', + { + defaultMessage: + 'Powered by ELSER, the Knowledge Base enables the ability to recall documents and other relevant context within your conversation.', + } +); + +export const KNOWLEDGE_BASE_LABEL = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.knowledgeBaseLabel', + { + defaultMessage: 'Knowledge Base', + } +); + +export const KNOWLEDGE_BASE_DESCRIPTION = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.knowledgeBaseDescription', + { + defaultMessage: 'Index where Knowledge Base docs are stored', + } +); + +export const KNOWLEDGE_BASE_DESCRIPTION_INSTALLED = (kbIndexPattern: string) => + i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.knowledgeBaseInstalledDescription', + { + defaultMessage: 'Initialized to `{kbIndexPattern}`', + values: { kbIndexPattern }, + } + ); + +export const KNOWLEDGE_BASE_INIT_BUTTON = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.initializeKnowledgeBaseButton', + { + defaultMessage: 'Initialize', + } +); + +export const KNOWLEDGE_BASE_DELETE_BUTTON = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.deleteKnowledgeBaseButton', + { + defaultMessage: 'Delete', + } +); + +export const KNOWLEDGE_BASE_ELSER_LABEL = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.elserLabel', + { + defaultMessage: 'ELSER Configured', + } +); + +export const KNOWLEDGE_BASE_ELSER_MACHINE_LEARNING = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.elserMachineLearningDescription', + { + defaultMessage: 'Machine Learning', + } +); + +export const KNOWLEDGE_BASE_ELSER_SEE_DOCS = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.elserSeeDocsDescription', + { + defaultMessage: 'See docs', + } +); + +export const ESQL_LABEL = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.esqlLabel', + { + defaultMessage: 'ES|QL Knowledge Base Documents', + } +); + +export const ESQL_DESCRIPTION = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.esqlDescription', + { + defaultMessage: 'Knowledge Base docs for generating ES|QL queries', + } +); + +export const ESQL_DESCRIPTION_INSTALLED = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.knowledgeBaseSettings.esqlInstalledDescription', + { + defaultMessage: 'ES|QL Knowledge Base docs loaded', + } +); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/mock/test_providers/test_providers.tsx b/x-pack/packages/kbn-elastic-assistant/impl/mock/test_providers/test_providers.tsx index 53a73ec16b661d..024e39ac46c3c0 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/mock/test_providers/test_providers.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/mock/test_providers/test_providers.tsx @@ -72,7 +72,6 @@ export const TestProvidersComponent: React.FC = ({ = ({ children, isILMAvailab { actionTypeRegistry={actionTypeRegistry} augmentMessageCodeBlocks={augmentMessageCodeBlocks} assistantAvailability={assistantAvailability} - // NOTE: `assistantLangChain` and `assistantModelEvaluation` experimental feature will be coupled until upcoming - // Knowledge Base UI updates, which will remove the `assistantLangChain` feature flag in favor of a UI feature toggle - assistantLangChain={isModelEvaluationEnabled} assistantTelemetry={assistantTelemetry} defaultAllow={defaultAllow} defaultAllowReplacement={defaultAllowReplacement} @@ -71,6 +68,7 @@ export const AssistantProvider: React.FC = ({ children }) => { getInitialConversations={getInitialConversation} getComments={getComments} http={http} + modelEvaluatorEnabled={isModelEvaluationEnabled} nameSpace={nameSpace} setConversations={setConversations} setDefaultAllow={setDefaultAllow} diff --git a/x-pack/plugins/security_solution/public/common/mock/mock_assistant_provider.tsx b/x-pack/plugins/security_solution/public/common/mock/mock_assistant_provider.tsx index 2954f47e0d1a80..4dc5f01b0ee7d8 100644 --- a/x-pack/plugins/security_solution/public/common/mock/mock_assistant_provider.tsx +++ b/x-pack/plugins/security_solution/public/common/mock/mock_assistant_provider.tsx @@ -34,7 +34,6 @@ export const MockAssistantProviderComponent: React.FC = ({ children }) => [])} baseAllow={[]} baseAllowReplacement={[]} From 5b1ae6683f34087836868fd2daca7cb22c0daaea Mon Sep 17 00:00:00 2001 From: Zacqary Adam Xeper Date: Tue, 3 Oct 2023 19:47:07 -0500 Subject: [PATCH 30/35] [RAM] Add bulk action to Untrack selected alerts (#167579) ## Summary Part of #164059 Screenshot 2023-09-28 at 5 38 45 PM Screenshot 2023-09-28 at 5 38 11 PM This PR: - Moves the `setAlertStatusToUntracked` function from the `AlertsClient` into the `AlertsService`. This function doesn't actually need any Rule IDs to do what it's supposed to do, only indices and Alert UUIDs. Therefore, we want to make it possible to use outside of a created `AlertsClient`, which requires a Rule to initialize. - Creates a versioned internal API to bulk untrack a given set of `alertUuids` present on `indices`. Both of these pieces of information are readily available from the ECS fields sent to the alert table component, from where this bulk action will be called. - Switches the `setAlertStatusToUntracked` query to look for alert UUIDs instead of alert instance IDs. https://github.com/elastic/kibana/pull/164788 dealt with untracking alerts that were bound to a single rule at a time, but this PR could be untracking alerts generated by many different rules at once. Multiple rules may generate the same alert instance ID names with different UUIDs, so using UUID increases the specificity and prevents us from untracking alert instances that the user didn't intend. - Adds a `bulkUpdateState` method to the task scheduler. https://github.com/elastic/kibana/pull/164788 modified the `bulkDisable` method to clear untracked alerts from task states, but this new method allows us to untrack a given set of alert instances without disabling the task that generated them. #### Why omit rule ID from this API? The rule ID is technically readily available from the alert table, but it becomes redundant when we already have immediate access to the alert document's index. https://github.com/elastic/kibana/pull/164788 used the rule ID to get the `ruleTypeId` and turn this into a corresponding index, which we don't have to do anymore. Furthermore, it helps to omit the rule ID from the `updateByQuery` request, because the user can easily select alerts that were generated by a wide variety of different rules, and untrack them all at once. We could include the rule ID in a separate `should` query, but this adds needless complexity to the query. We do need to know the rule ID after performing `updateByQuery`, because it corresponds to the task state we want to modify, but it's easier to retrieve this using the same query params provided. ### Checklist Delete any items that are not applicable to this PR. - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Jiawei Wu Co-authored-by: Xavier Mouligneau --- .../routes/rule/apis/bulk_untrack/index.ts | 12 + .../rule/apis/bulk_untrack/schemas/latest.ts | 7 + .../rule/apis/bulk_untrack/schemas/v1.ts | 13 + .../rule/apis/bulk_untrack/types/latest.ts | 8 + .../routes/rule/apis/bulk_untrack/types/v1.ts | 10 + .../alerts_client/alerts_client.test.ts | 47 --- .../server/alerts_client/alerts_client.ts | 62 +--- .../alerting/server/alerts_client/types.ts | 1 - .../alerts_service/alerts_service.mock.ts | 1 + .../server/alerts_service/alerts_service.ts | 9 + .../lib/set_alerts_to_untracked.test.ts | 337 ++++++++++++++++++ .../lib/set_alerts_to_untracked.ts | 191 ++++++++++ .../methods/bulk_delete/bulk_delete_rules.ts | 5 + .../bulk_untrack/bulk_untrack_alerts.test.ts | 232 ++++++++++++ .../bulk_untrack/bulk_untrack_alerts.ts | 106 ++++++ .../schemas/bulk_untrack_body_schema.ts | 12 + .../methods/bulk_untrack/schemas/index.ts | 7 + .../bulk_untrack/types/bulk_untrack_body.ts | 11 + .../rule/methods/bulk_untrack/types/index.ts | 8 + .../plugins/alerting/server/routes/index.ts | 2 + .../bulk_untrack/bulk_untrack_alert_route.ts | 44 +++ .../routes/rule/apis/bulk_untrack/index.ts | 8 + .../apis/bulk_untrack/transforms/index.ts | 8 + .../latest.ts | 8 + .../v1.ts | 17 + .../alerting/server/rules_client.mock.ts | 1 + .../rules_client/common/audit_events.ts | 3 + .../rules_client/lib/untrack_rule_alerts.ts | 26 +- .../rules_client/methods/bulk_disable.ts | 2 +- .../server/rules_client/methods/delete.ts | 5 +- .../server/rules_client/methods/disable.ts | 5 +- .../server/rules_client/rules_client.ts | 6 + x-pack/plugins/alerting/tsconfig.json | 3 +- .../alerts/components/alert_actions.test.tsx | 26 +- .../pages/alerts/components/alert_actions.tsx | 42 ++- x-pack/plugins/task_manager/server/mocks.ts | 1 + x-pack/plugins/task_manager/server/plugin.ts | 2 + .../server/task_scheduling.test.ts | 130 +++++++ .../task_manager/server/task_scheduling.ts | 17 + .../alerts_table/alerts_table.test.tsx | 6 + .../bulk_actions/bulk_actions.test.tsx | 6 + .../alerts_table/hooks/translations.ts | 7 + .../hooks/use_bulk_actions.test.tsx | 41 ++- .../alerts_table/hooks/use_bulk_actions.ts | 86 ++++- .../hooks/use_bulk_untrack_alerts.tsx | 60 ++++ .../triggers_actions_ui/public/index.ts | 2 + .../packages/helpers/es_test_index_tool.ts | 10 +- .../group1/tests/alerting/bulk_untrack.ts | 132 +++++++ .../group1/tests/alerting/index.ts | 1 + .../alerts/helpers/alerting_api_helper.ts | 6 +- .../alerts_table.ts | 2 +- .../custom_threshold_rule/avg_pct_fired.ts | 2 + .../custom_threshold_rule/avg_pct_no_data.ts | 2 + .../custom_eq_avg_bytes_fired.ts | 2 + .../documents_count_fired.ts | 2 + .../custom_threshold_rule/group_by_fired.ts | 2 + .../observability/cases/configure.ts | 6 +- 57 files changed, 1647 insertions(+), 163 deletions(-) create mode 100644 x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/schemas/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/types/v1.ts create mode 100644 x-pack/plugins/alerting/server/alerts_service/lib/set_alerts_to_untracked.test.ts create mode 100644 x-pack/plugins/alerting/server/alerts_service/lib/set_alerts_to_untracked.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/bulk_untrack_alerts.test.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/bulk_untrack_alerts.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/schemas/bulk_untrack_body_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/types/bulk_untrack_body.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/types/index.ts create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/bulk_untrack_alert_route.ts create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/index.ts create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/index.ts create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/transform_request_body_to_application/latest.ts create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/transform_request_body_to_application/v1.ts create mode 100644 x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_untrack_alerts.tsx create mode 100644 x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/bulk_untrack.ts diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/index.ts b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/index.ts new file mode 100644 index 00000000000000..7535593ce73f50 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/index.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { bulkUntrackBodySchema } from './schemas/latest'; +export { bulkUntrackBodySchema as bulkUntrackBodySchemaV1 } from './schemas/v1'; + +export type { BulkUntrackRequestBody } from './types/latest'; +export type { BulkUntrackRequestBody as BulkUntrackRequestBodyV1 } from './types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/schemas/latest.ts new file mode 100644 index 00000000000000..b9785b6b8f9e85 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/schemas/latest.ts @@ -0,0 +1,7 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +export { bulkUntrackBodySchema } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/schemas/v1.ts new file mode 100644 index 00000000000000..63a7db62843457 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/schemas/v1.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 { schema } from '@kbn/config-schema'; + +export const bulkUntrackBodySchema = schema.object({ + indices: schema.arrayOf(schema.string()), + alert_uuids: schema.arrayOf(schema.string()), +}); diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/types/latest.ts b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/types/latest.ts new file mode 100644 index 00000000000000..21c3b1a2f826af --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/types/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { BulkUntrackRequestBody } from './v1'; diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/types/v1.ts b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/types/v1.ts new file mode 100644 index 00000000000000..011499122e90af --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/rule/apis/bulk_untrack/types/v1.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. + */ +import type { TypeOf } from '@kbn/config-schema'; +import { bulkUntrackBodySchemaV1 } from '..'; + +export type BulkUntrackRequestBody = TypeOf; diff --git a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts index d1da82d9a9701e..dc98c34b20a39b 100644 --- a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts @@ -2331,53 +2331,6 @@ describe('Alerts Client', () => { expect(recoveredAlert.hit).toBeUndefined(); }); }); - - describe('setAlertStatusToUntracked()', () => { - test('should call updateByQuery on provided ruleIds', async () => { - const alertsClient = new AlertsClient<{}, {}, {}, 'default', 'recovered'>( - alertsClientParams - ); - - const opts = { - maxAlerts, - ruleLabel: `test: rule-name`, - flappingSettings: DEFAULT_FLAPPING_SETTINGS, - activeAlertsFromState: {}, - recoveredAlertsFromState: {}, - }; - await alertsClient.initializeExecution(opts); - - await alertsClient.setAlertStatusToUntracked(['test-index'], ['test-rule']); - - expect(clusterClient.updateByQuery).toHaveBeenCalledTimes(1); - }); - - test('should retry updateByQuery on failure', async () => { - clusterClient.updateByQuery.mockResponseOnce({ - total: 10, - updated: 8, - }); - const alertsClient = new AlertsClient<{}, {}, {}, 'default', 'recovered'>( - alertsClientParams - ); - - const opts = { - maxAlerts, - ruleLabel: `test: rule-name`, - flappingSettings: DEFAULT_FLAPPING_SETTINGS, - activeAlertsFromState: {}, - recoveredAlertsFromState: {}, - }; - await alertsClient.initializeExecution(opts); - - await alertsClient.setAlertStatusToUntracked(['test-index'], ['test-rule']); - - expect(clusterClient.updateByQuery).toHaveBeenCalledTimes(2); - expect(logger.warn).toHaveBeenCalledWith( - 'Attempt 1: Failed to untrack 2 of 10; indices test-index, ruleIds test-rule' - ); - }); - }); }); } }); diff --git a/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts b/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts index 34d4e994cfe8bf..1b3fe16442d9ec 100644 --- a/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts +++ b/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts @@ -6,14 +6,7 @@ */ import { ElasticsearchClient } from '@kbn/core/server'; -import { - ALERT_INSTANCE_ID, - ALERT_RULE_UUID, - ALERT_STATUS, - ALERT_STATUS_UNTRACKED, - ALERT_STATUS_ACTIVE, - ALERT_UUID, -} from '@kbn/rule-data-utils'; +import { ALERT_INSTANCE_ID, ALERT_RULE_UUID, ALERT_STATUS, ALERT_UUID } from '@kbn/rule-data-utils'; import { chunk, flatMap, get, isEmpty, keys } from 'lodash'; import { SearchRequest } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { Alert } from '@kbn/alerts-as-data-utils'; @@ -206,51 +199,6 @@ export class AlertsClient< return { hits, total }; } - public async setAlertStatusToUntracked(indices: string[], ruleIds: string[]) { - const esClient = await this.options.elasticsearchClientPromise; - const terms: Array<{ term: Record }> = ruleIds.map((ruleId) => ({ - term: { - [ALERT_RULE_UUID]: { value: ruleId }, - }, - })); - terms.push({ - term: { - [ALERT_STATUS]: { value: ALERT_STATUS_ACTIVE }, - }, - }); - - try { - // Retry this updateByQuery up to 3 times to make sure the number of documents - // updated equals the number of documents matched - for (let retryCount = 0; retryCount < 3; retryCount++) { - const response = await esClient.updateByQuery({ - index: indices, - allow_no_indices: true, - body: { - conflicts: 'proceed', - script: { - source: UNTRACK_UPDATE_PAINLESS_SCRIPT, - lang: 'painless', - }, - query: { - bool: { - must: terms, - }, - }, - }, - }); - if (response.total === response.updated) break; - this.options.logger.warn( - `Attempt ${retryCount + 1}: Failed to untrack ${ - (response.total ?? 0) - (response.updated ?? 0) - } of ${response.total}; indices ${indices}, ruleIds ${ruleIds}` - ); - } - } catch (err) { - this.options.logger.error(`Error marking ${ruleIds} as untracked - ${err.message}`); - } - } - public report( alert: ReportedAlert< AlertData, @@ -621,11 +569,3 @@ export class AlertsClient< return this._isUsingDataStreams; } } - -const UNTRACK_UPDATE_PAINLESS_SCRIPT = ` -// Certain rule types don't flatten their AAD values, apply the ALERT_STATUS key to them directly -if (!ctx._source.containsKey('${ALERT_STATUS}') || ctx._source['${ALERT_STATUS}'].empty) { - ctx._source.${ALERT_STATUS} = '${ALERT_STATUS_UNTRACKED}'; -} else { - ctx._source['${ALERT_STATUS}'] = '${ALERT_STATUS_UNTRACKED}' -}`; diff --git a/x-pack/plugins/alerting/server/alerts_client/types.ts b/x-pack/plugins/alerting/server/alerts_client/types.ts index 0c48138615e433..2f8c54238baeef 100644 --- a/x-pack/plugins/alerting/server/alerts_client/types.ts +++ b/x-pack/plugins/alerting/server/alerts_client/types.ts @@ -81,7 +81,6 @@ export interface IAlertsClient< alertsToReturn: Record; recoveredAlertsToReturn: Record; }; - setAlertStatusToUntracked(indices: string[], ruleIds: string[]): Promise; factory(): PublicAlertFactory< State, Context, diff --git a/x-pack/plugins/alerting/server/alerts_service/alerts_service.mock.ts b/x-pack/plugins/alerting/server/alerts_service/alerts_service.mock.ts index 1df9e8b2ff67a1..ca8b9199fa6c82 100644 --- a/x-pack/plugins/alerting/server/alerts_service/alerts_service.mock.ts +++ b/x-pack/plugins/alerting/server/alerts_service/alerts_service.mock.ts @@ -12,6 +12,7 @@ const creatAlertsServiceMock = () => { isInitialized: jest.fn(), getContextInitializationPromise: jest.fn(), createAlertsClient: jest.fn(), + setAlertsToUntracked: jest.fn(), }; }); }; diff --git a/x-pack/plugins/alerting/server/alerts_service/alerts_service.ts b/x-pack/plugins/alerting/server/alerts_service/alerts_service.ts index d0c9474389ef00..c90d11d50f56ab 100644 --- a/x-pack/plugins/alerting/server/alerts_service/alerts_service.ts +++ b/x-pack/plugins/alerting/server/alerts_service/alerts_service.ts @@ -44,6 +44,7 @@ import { import type { LegacyAlertsClientParams, AlertRuleData } from '../alerts_client'; import { AlertsClient } from '../alerts_client'; import { IAlertsClient } from '../alerts_client/types'; +import { setAlertsToUntracked, SetAlertsToUntrackedOpts } from './lib/set_alerts_to_untracked'; export const TOTAL_FIELDS_LIMIT = 2500; const LEGACY_ALERT_CONTEXT = 'legacy-alert'; @@ -458,4 +459,12 @@ export class AlertsService implements IAlertsService { }); } } + + public async setAlertsToUntracked(opts: SetAlertsToUntrackedOpts) { + return setAlertsToUntracked({ + logger: this.options.logger, + esClient: await this.options.elasticsearchClientPromise, + ...opts, + }); + } } diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/set_alerts_to_untracked.test.ts b/x-pack/plugins/alerting/server/alerts_service/lib/set_alerts_to_untracked.test.ts new file mode 100644 index 00000000000000..8b8d6407fdcbf6 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/lib/set_alerts_to_untracked.test.ts @@ -0,0 +1,337 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { + ElasticsearchClientMock, + elasticsearchServiceMock, + loggingSystemMock, +} from '@kbn/core/server/mocks'; +import { setAlertsToUntracked } from './set_alerts_to_untracked'; + +let clusterClient: ElasticsearchClientMock; +let logger: ReturnType; + +describe('setAlertsToUntracked()', () => { + beforeEach(() => { + logger = loggingSystemMock.createLogger(); + clusterClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + clusterClient.search.mockResponse({ + took: 1, + timed_out: false, + _shards: { + total: 1, + successful: 1, + skipped: 0, + failed: 0, + }, + hits: { + hits: [], + }, + }); + }); + test('should call updateByQuery on provided ruleIds', async () => { + await setAlertsToUntracked({ + logger, + esClient: clusterClient, + indices: ['test-index'], + ruleIds: ['test-rule'], + }); + + expect(clusterClient.updateByQuery).toHaveBeenCalledTimes(1); + expect(clusterClient.updateByQuery.mock.lastCall).toMatchInlineSnapshot(` + Array [ + Object { + "allow_no_indices": true, + "body": Object { + "conflicts": "proceed", + "query": Object { + "bool": Object { + "must": Array [ + Object { + "term": Object { + "kibana.alert.status": Object { + "value": "active", + }, + }, + }, + Object { + "bool": Object { + "should": Array [ + Object { + "term": Object { + "kibana.alert.rule.uuid": Object { + "value": "test-rule", + }, + }, + }, + ], + }, + }, + Object { + "bool": Object { + "should": Array [], + }, + }, + ], + }, + }, + "script": Object { + "lang": "painless", + "source": " + if (!ctx._source.containsKey('kibana.alert.status') || ctx._source['kibana.alert.status'].empty) { + ctx._source.kibana.alert.status = 'untracked'; + } else { + ctx._source['kibana.alert.status'] = 'untracked' + }", + }, + }, + "index": Array [ + "test-index", + ], + }, + ] + `); + }); + + test('should call updateByQuery on provided alertUuids', async () => { + await setAlertsToUntracked({ + logger, + esClient: clusterClient, + indices: ['test-index'], + alertUuids: ['test-alert'], + }); + + expect(clusterClient.updateByQuery).toHaveBeenCalledTimes(1); + expect(clusterClient.updateByQuery.mock.lastCall).toMatchInlineSnapshot(` + Array [ + Object { + "allow_no_indices": true, + "body": Object { + "conflicts": "proceed", + "query": Object { + "bool": Object { + "must": Array [ + Object { + "term": Object { + "kibana.alert.status": Object { + "value": "active", + }, + }, + }, + Object { + "bool": Object { + "should": Array [], + }, + }, + Object { + "bool": Object { + "should": Array [ + Object { + "term": Object { + "kibana.alert.uuid": Object { + "value": "test-alert", + }, + }, + }, + ], + }, + }, + ], + }, + }, + "script": Object { + "lang": "painless", + "source": " + if (!ctx._source.containsKey('kibana.alert.status') || ctx._source['kibana.alert.status'].empty) { + ctx._source.kibana.alert.status = 'untracked'; + } else { + ctx._source['kibana.alert.status'] = 'untracked' + }", + }, + }, + "index": Array [ + "test-index", + ], + }, + ] + `); + }); + + test('should retry updateByQuery on failure', async () => { + clusterClient.updateByQuery.mockResponseOnce({ + total: 10, + updated: 8, + }); + + await setAlertsToUntracked({ + logger, + esClient: clusterClient, + indices: ['test-index'], + ruleIds: ['test-rule'], + }); + + expect(clusterClient.updateByQuery).toHaveBeenCalledTimes(2); + expect(logger.warn).toHaveBeenCalledWith( + 'Attempt 1: Failed to untrack 2 of 10; indices test-index, ruleIds test-rule' + ); + }); + + describe('ensureAuthorized', () => { + test('should fail on siem consumer', async () => { + clusterClient.search.mockResponseOnce({ + took: 1, + timed_out: false, + _shards: { + total: 1, + successful: 1, + skipped: 0, + failed: 0, + }, + hits: { + hits: [], + }, + aggregations: { + ruleTypeIds: { + buckets: [ + { + key: 'some rule type', + consumers: { + buckets: [ + { + key: 'not siem', + }, + { + key: 'definitely not siem', + }, + { + key: 'hey guess what still not siem', + }, + { + key: 'siem', + }, + { + key: 'uh oh was that siem', + }, + { + key: 'not good', + }, + { + key: 'this is gonna fail', + }, + ], + }, + }, + ], + }, + }, + }); + await expect( + setAlertsToUntracked({ + logger, + esClient: clusterClient, + indices: ['test-index'], + ruleIds: ['test-rule'], + ensureAuthorized: () => Promise.resolve(), + }) + ).rejects.toThrowErrorMatchingInlineSnapshot(`"Untracking Security alerts is not permitted"`); + }); + + test('should fail on unauthorized consumer', async () => { + clusterClient.search.mockResponseOnce({ + took: 1, + timed_out: false, + _shards: { + total: 1, + successful: 1, + skipped: 0, + failed: 0, + }, + hits: { + hits: [], + }, + aggregations: { + ruleTypeIds: { + buckets: [ + { + key: 'some rule', + consumers: { + buckets: [ + { + key: 'authorized', + }, + { + key: 'unauthorized', + }, + ], + }, + }, + ], + }, + }, + }); + await expect( + setAlertsToUntracked({ + logger, + esClient: clusterClient, + indices: ['test-index'], + ruleIds: ['test-rule'], + ensureAuthorized: async ({ consumer }) => { + if (consumer === 'unauthorized') throw new Error('Unauthorized consumer'); + }, + }) + ).rejects.toThrowErrorMatchingInlineSnapshot(`"Unauthorized consumer"`); + }); + }); + + test('should succeed when all consumers are authorized', async () => { + clusterClient.search.mockResponseOnce({ + took: 1, + timed_out: false, + _shards: { + total: 1, + successful: 1, + skipped: 0, + failed: 0, + }, + hits: { + hits: [], + }, + aggregations: { + ruleTypeIds: { + buckets: [ + { + key: 'some rule', + consumers: { + buckets: [ + { + key: 'authorized', + }, + { + key: 'still authorized', + }, + { + key: 'even this one is authorized', + }, + ], + }, + }, + ], + }, + }, + }); + await expect( + setAlertsToUntracked({ + logger, + esClient: clusterClient, + indices: ['test-index'], + ruleIds: ['test-rule'], + ensureAuthorized: async ({ consumer }) => { + if (consumer === 'unauthorized') throw new Error('Unauthorized consumer'); + }, + }) + ).resolves; + }); +}); diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/set_alerts_to_untracked.ts b/x-pack/plugins/alerting/server/alerts_service/lib/set_alerts_to_untracked.ts new file mode 100644 index 00000000000000..4fd9f116205e97 --- /dev/null +++ b/x-pack/plugins/alerting/server/alerts_service/lib/set_alerts_to_untracked.ts @@ -0,0 +1,191 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { isEmpty } from 'lodash'; +import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { Logger } from '@kbn/logging'; +import { + ALERT_RULE_CONSUMER, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UUID, + ALERT_STATUS, + ALERT_STATUS_ACTIVE, + ALERT_STATUS_UNTRACKED, + ALERT_UUID, +} from '@kbn/rule-data-utils'; + +export interface SetAlertsToUntrackedOpts { + indices: string[]; + ruleIds?: string[]; + alertUuids?: string[]; + ensureAuthorized?: (opts: { ruleTypeId: string; consumer: string }) => Promise; +} + +type UntrackedAlertsResult = Array<{ [ALERT_RULE_UUID]: string; [ALERT_UUID]: string }>; +interface ConsumersAndRuleTypesAggregation { + ruleTypeIds: { + buckets: Array<{ + key: string; + consumers: { + buckets: Array<{ key: string }>; + }; + }>; + }; +} + +export async function setAlertsToUntracked({ + logger, + esClient, + indices, + ruleIds = [], + alertUuids = [], // OPTIONAL - If no alertUuids are passed, untrack ALL ids by default, + ensureAuthorized, +}: { + logger: Logger; + esClient: ElasticsearchClient; +} & SetAlertsToUntrackedOpts): Promise { + if (isEmpty(ruleIds) && isEmpty(alertUuids)) + throw new Error('Must provide either ruleIds or alertUuids'); + + const shouldMatchRules: Array<{ term: Record }> = ruleIds.map( + (ruleId) => ({ + term: { + [ALERT_RULE_UUID]: { value: ruleId }, + }, + }) + ); + const shouldMatchAlerts: Array<{ term: Record }> = alertUuids.map( + (alertId) => ({ + term: { + [ALERT_UUID]: { value: alertId }, + }, + }) + ); + + const statusTerms: Array<{ term: Record }> = [ + { + term: { + [ALERT_STATUS]: { value: ALERT_STATUS_ACTIVE }, + }, + }, + ]; + + const must = [ + ...statusTerms, + { + bool: { + should: shouldMatchRules, + }, + }, + { + bool: { + should: shouldMatchAlerts, + // If this is empty, ES will default to minimum_should_match: 0 + }, + }, + ]; + + if (ensureAuthorized) { + // Fetch all rule type IDs and rule consumers, then run the provided ensureAuthorized check for each of them + const response = await esClient.search({ + index: indices, + allow_no_indices: true, + body: { + size: 0, + query: { + bool: { + must, + }, + }, + aggs: { + ruleTypeIds: { + terms: { field: ALERT_RULE_TYPE_ID }, + aggs: { consumers: { terms: { field: ALERT_RULE_CONSUMER } } }, + }, + }, + }, + }); + const ruleTypeIdBuckets = response.aggregations?.ruleTypeIds.buckets; + if (!ruleTypeIdBuckets) throw new Error('Unable to fetch ruleTypeIds for authorization'); + for (const { + key: ruleTypeId, + consumers: { buckets: consumerBuckets }, + } of ruleTypeIdBuckets) { + const consumers = consumerBuckets.map((b) => b.key); + for (const consumer of consumers) { + if (consumer === 'siem') throw new Error('Untracking Security alerts is not permitted'); + await ensureAuthorized({ ruleTypeId, consumer }); + } + } + } + + try { + // Retry this updateByQuery up to 3 times to make sure the number of documents + // updated equals the number of documents matched + let total = 0; + for (let retryCount = 0; retryCount < 3; retryCount++) { + const response = await esClient.updateByQuery({ + index: indices, + allow_no_indices: true, + body: { + conflicts: 'proceed', + script: { + source: UNTRACK_UPDATE_PAINLESS_SCRIPT, + lang: 'painless', + }, + query: { + bool: { + must, + }, + }, + }, + }); + if (total === 0 && response.total === 0) + throw new Error('No active alerts matched the query'); + if (response.total) total = response.total; + if (response.total === response.updated) break; + logger.warn( + `Attempt ${retryCount + 1}: Failed to untrack ${ + (response.total ?? 0) - (response.updated ?? 0) + } of ${response.total}; indices ${indices}, ${ruleIds ? 'ruleIds' : 'alertUuids'} ${ + ruleIds ? ruleIds : alertUuids + }` + ); + } + + // Fetch and return updated rule and alert instance UUIDs + const searchResponse = await esClient.search({ + index: indices, + allow_no_indices: true, + body: { + _source: [ALERT_RULE_UUID, ALERT_UUID], + size: total, + query: { + bool: { + must, + }, + }, + }, + }); + return searchResponse.hits.hits.map((hit) => hit._source) as UntrackedAlertsResult; + } catch (err) { + logger.error( + `Error marking ${ruleIds ? 'ruleIds' : 'alertUuids'} ${ + ruleIds ? ruleIds : alertUuids + } as untracked - ${err.message}` + ); + throw err; + } +} + +// Certain rule types don't flatten their AAD values, apply the ALERT_STATUS key to them directly +const UNTRACK_UPDATE_PAINLESS_SCRIPT = ` +if (!ctx._source.containsKey('${ALERT_STATUS}') || ctx._source['${ALERT_STATUS}'].empty) { + ctx._source.${ALERT_STATUS} = '${ALERT_STATUS_UNTRACKED}'; +} else { + ctx._source['${ALERT_STATUS}'] = '${ALERT_STATUS_UNTRACKED}' +}`; diff --git a/x-pack/plugins/alerting/server/application/rule/methods/bulk_delete/bulk_delete_rules.ts b/x-pack/plugins/alerting/server/application/rule/methods/bulk_delete/bulk_delete_rules.ts index e8a7b77a88c3d3..37eae940e16694 100644 --- a/x-pack/plugins/alerting/server/application/rule/methods/bulk_delete/bulk_delete_rules.ts +++ b/x-pack/plugins/alerting/server/application/rule/methods/bulk_delete/bulk_delete_rules.ts @@ -36,6 +36,7 @@ import { transformRuleAttributesToRuleDomain, transformRuleDomainToRule } from ' import { ruleDomainSchema } from '../../schemas'; import type { RuleParams, RuleDomain } from '../../types'; import type { RawRule, SanitizedRule } from '../../../../types'; +import { untrackRuleAlerts } from '../../../../rules_client/lib'; export const bulkDeleteRules = async ( context: RulesClientContext, @@ -176,6 +177,10 @@ const bulkDeleteWithOCC = async ( } ); + for (const { id, attributes } of rulesToDelete) { + await untrackRuleAlerts(context, id, attributes as RuleAttributes); + } + const result = await withSpan( { name: 'unsecuredSavedObjectsClient.bulkDelete', type: 'rules' }, () => diff --git a/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/bulk_untrack_alerts.test.ts b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/bulk_untrack_alerts.test.ts new file mode 100644 index 00000000000000..4a79e0a07b5809 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/bulk_untrack_alerts.test.ts @@ -0,0 +1,232 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor 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 { RulesClient, ConstructorOptions } from '../../../../rules_client/rules_client'; +import { savedObjectsClientMock, savedObjectsRepositoryMock } from '@kbn/core/server/mocks'; +import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks'; +import { encryptedSavedObjectsMock } from '@kbn/encrypted-saved-objects-plugin/server/mocks'; +import { actionsAuthorizationMock } from '@kbn/actions-plugin/server/mocks'; +import { ActionsAuthorization } from '@kbn/actions-plugin/server'; +import { auditLoggerMock } from '@kbn/security-plugin/server/audit/mocks'; +import { loggerMock } from '@kbn/logging-mocks'; +import { ruleTypeRegistryMock } from '../../../../rule_type_registry.mock'; +import { alertingAuthorizationMock } from '../../../../authorization/alerting_authorization.mock'; +import { AlertingAuthorization } from '../../../../authorization/alerting_authorization'; +import { alertsServiceMock } from '../../../../alerts_service/alerts_service.mock'; +import { ALERT_RULE_UUID, ALERT_UUID } from '@kbn/rule-data-utils'; +import { ConcreteTaskInstance, TaskStatus } from '@kbn/task-manager-plugin/server'; + +const taskManager = taskManagerMock.createStart(); +const ruleTypeRegistry = ruleTypeRegistryMock.create(); +const unsecuredSavedObjectsClient = savedObjectsClientMock.create(); +const encryptedSavedObjects = encryptedSavedObjectsMock.createClient(); +const authorization = alertingAuthorizationMock.create(); +const actionsAuthorization = actionsAuthorizationMock.create(); +const auditLogger = auditLoggerMock.create(); +const logger = loggerMock.create(); +const internalSavedObjectsRepository = savedObjectsRepositoryMock.create(); + +const alertsService = alertsServiceMock.create(); + +const kibanaVersion = 'v8.2.0'; +const createAPIKeyMock = jest.fn(); +const rulesClientParams: jest.Mocked = { + taskManager, + ruleTypeRegistry, + unsecuredSavedObjectsClient, + authorization: authorization as unknown as AlertingAuthorization, + actionsAuthorization: actionsAuthorization as unknown as ActionsAuthorization, + spaceId: 'default', + namespace: 'default', + getUserName: jest.fn(), + createAPIKey: createAPIKeyMock, + logger, + internalSavedObjectsRepository, + encryptedSavedObjectsClient: encryptedSavedObjects, + getActionsClient: jest.fn(), + getEventLogClient: jest.fn(), + kibanaVersion, + auditLogger, + maxScheduledPerMinute: 10000, + minimumScheduleInterval: { value: '1m', enforce: false }, + isAuthenticationTypeAPIKey: jest.fn(), + getAuthenticationAPIKey: jest.fn(), + getAlertIndicesAlias: jest.fn(), + alertsService, +}; + +describe('bulkUntrackAlerts()', () => { + let rulesClient: RulesClient; + beforeEach(async () => { + rulesClient = new RulesClient(rulesClientParams); + }); + + it('should untrack alert documents and update task states', async () => { + alertsService.setAlertsToUntracked.mockResolvedValueOnce([ + { + [ALERT_RULE_UUID]: + 'did you know that you can put whatever you want into these mocked values', + [ALERT_UUID]: "it's true", + }, + ]); + + await rulesClient.bulkUntrackAlerts({ + indices: [ + 'she had them apple bottom jeans (jeans)', + 'boots with the fur (with the fur)', + 'the whole club was lookin at her', + 'she hit the floor (she hit the floor)', + 'next thing you know', + 'shawty got low, low, low, low, low, low, low, low', + ], + alertUuids: [ + 'you wake up late for school, man, you dont wanna GO', + 'you ask your mom, please? but she still says NO', + 'you missed two classes and no homeWORK', + 'but your teacher preaches class like youre some kinda JERK', + 'you gotta fight', + 'for your right', + 'to paaaaaaaaaarty', + ], + }); + + expect(alertsService.setAlertsToUntracked).toHaveBeenCalledTimes(1); + expect(taskManager.bulkUpdateState).toHaveBeenCalledWith( + ['did you know that you can put whatever you want into these mocked values'], + expect.any(Function) + ); + }); + + it('should remove provided uuids from task state', async () => { + const mockTaskId = 'task'; + const mockAlertUuid = 'alert'; + + const trackedAlertsNotToRemove = { + "we're no strangers to love": { alertUuid: 'you know the rules and so do i' }, + "a full commitment's what i'm thinkin' of": { + alertUuid: "you wouldn't get this from any other guy", + }, + "i just wanna tell you how i'm feelin'": { alertUuid: 'got to make you understand' }, + 'never gonna give you up': { alertUuid: 'never gonna let you down' }, + 'never gonna run around and desert you': { alertUuid: 'never gonna make you cry' }, + 'never gonna say goodbye': { alertUuid: 'never gonna tell a lie and hurt you' }, + }; + + const mockDate = new Date('2023-10-03T16:00:15.523Z'); + + const initialTask: ConcreteTaskInstance = { + id: mockTaskId, + state: { + alertTypeState: { + trackedAlerts: { + removeMe: { alertUuid: mockAlertUuid }, + ...trackedAlertsNotToRemove, + }, + alertInstances: { + removeMe: { alertUuid: mockAlertUuid }, + ...trackedAlertsNotToRemove, + }, + }, + }, + scheduledAt: mockDate, + runAt: mockDate, + startedAt: mockDate, + retryAt: mockDate, + ownerId: 'somebody', + taskType: "once told me the world was gonna roll me i ain't the sharpest tool in the shed", + params: {}, + attempts: 0, + status: TaskStatus.Idle, + }; + + taskManager.bulkUpdateState.mockImplementationOnce(async (taskIds, updater) => ({ + errors: [], + tasks: [{ ...initialTask, state: updater(initialTask.state, taskIds[0]) }], + })); + + alertsService.setAlertsToUntracked.mockResolvedValueOnce([ + { + [ALERT_RULE_UUID]: mockTaskId, + [ALERT_UUID]: mockAlertUuid, + }, + ]); + + await rulesClient.bulkUntrackAlerts({ + indices: ["honestly who cares we're not even testing the index right now"], + alertUuids: [mockAlertUuid], + }); + + const bulkUntrackResults = taskManager.bulkUpdateState.mock.results; + const lastBulkUntrackResult = await bulkUntrackResults[bulkUntrackResults.length - 1].value; + expect(lastBulkUntrackResult).toMatchInlineSnapshot(` + Object { + "errors": Array [], + "tasks": Array [ + Object { + "attempts": 0, + "id": "task", + "ownerId": "somebody", + "params": Object {}, + "retryAt": 2023-10-03T16:00:15.523Z, + "runAt": 2023-10-03T16:00:15.523Z, + "scheduledAt": 2023-10-03T16:00:15.523Z, + "startedAt": 2023-10-03T16:00:15.523Z, + "state": Object { + "alertInstances": Object {}, + "alertTypeState": Object { + "alertInstances": Object { + "a full commitment's what i'm thinkin' of": Object { + "alertUuid": "you wouldn't get this from any other guy", + }, + "i just wanna tell you how i'm feelin'": Object { + "alertUuid": "got to make you understand", + }, + "never gonna give you up": Object { + "alertUuid": "never gonna let you down", + }, + "never gonna run around and desert you": Object { + "alertUuid": "never gonna make you cry", + }, + "never gonna say goodbye": Object { + "alertUuid": "never gonna tell a lie and hurt you", + }, + "removeMe": Object { + "alertUuid": "alert", + }, + "we're no strangers to love": Object { + "alertUuid": "you know the rules and so do i", + }, + }, + "trackedAlerts": Object { + "a full commitment's what i'm thinkin' of": Object { + "alertUuid": "you wouldn't get this from any other guy", + }, + "i just wanna tell you how i'm feelin'": Object { + "alertUuid": "got to make you understand", + }, + "never gonna give you up": Object { + "alertUuid": "never gonna let you down", + }, + "never gonna run around and desert you": Object { + "alertUuid": "never gonna make you cry", + }, + "never gonna say goodbye": Object { + "alertUuid": "never gonna tell a lie and hurt you", + }, + "we're no strangers to love": Object { + "alertUuid": "you know the rules and so do i", + }, + }, + }, + }, + "status": "idle", + "taskType": "once told me the world was gonna roll me i ain't the sharpest tool in the shed", + }, + ], + } + `); + }); +}); diff --git a/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/bulk_untrack_alerts.ts b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/bulk_untrack_alerts.ts new file mode 100644 index 00000000000000..e3c75f28891988 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/bulk_untrack_alerts.ts @@ -0,0 +1,106 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { omitBy } from 'lodash'; +import Boom from '@hapi/boom'; +import { withSpan } from '@kbn/apm-utils'; +import { ALERT_RULE_UUID, ALERT_UUID } from '@kbn/rule-data-utils'; +import { bulkUntrackBodySchema } from './schemas'; +import type { BulkUntrackBody } from './types'; +import { WriteOperations, AlertingAuthorizationEntity } from '../../../../authorization'; +import { retryIfConflicts } from '../../../../lib/retry_if_conflicts'; +import { ruleAuditEvent, RuleAuditAction } from '../../../../rules_client/common/audit_events'; +import { RulesClientContext } from '../../../../rules_client/types'; + +export type { BulkUntrackBody }; + +export async function bulkUntrackAlerts( + context: RulesClientContext, + params: BulkUntrackBody +): Promise { + try { + bulkUntrackBodySchema.validate(params); + } catch (error) { + throw Boom.badRequest(`Failed to validate params: ${error.message}`); + } + + return await retryIfConflicts( + context.logger, + `rulesClient.bulkUntrack('${params.alertUuids}')`, + async () => await bulkUntrackAlertsWithOCC(context, params) + ); +} + +async function bulkUntrackAlertsWithOCC( + context: RulesClientContext, + { indices, alertUuids }: BulkUntrackBody +) { + try { + if (!context.alertsService) throw new Error('unable to access alertsService'); + const result = await context.alertsService.setAlertsToUntracked({ + indices, + alertUuids, + ensureAuthorized: async ({ + ruleTypeId, + consumer, + }: { + ruleTypeId: string; + consumer: string; + }) => + await withSpan({ name: 'authorization.ensureAuthorized', type: 'alerts' }, () => + context.authorization.ensureAuthorized({ + ruleTypeId, + consumer, + operation: WriteOperations.Update, + entity: AlertingAuthorizationEntity.Alert, + }) + ), + }); + + // Clear alert instances from their corresponding tasks so that they can remain untracked + const taskIds = [...new Set(result.map((doc) => doc[ALERT_RULE_UUID]))]; + await context.taskManager.bulkUpdateState(taskIds, (state, id) => { + try { + const uuidsToClear = result + .filter((doc) => doc[ALERT_RULE_UUID] === id) + .map((doc) => doc[ALERT_UUID]); + const alertTypeState = { + ...state.alertTypeState, + trackedAlerts: omitBy(state.alertTypeState.trackedAlerts, ({ alertUuid }) => + uuidsToClear.includes(alertUuid) + ), + }; + const alertInstances = omitBy(state.alertInstances, ({ meta: { uuid } }) => + uuidsToClear.includes(uuid) + ); + return { + ...state, + alertTypeState, + alertInstances, + }; + } catch (e) { + context.logger.error(`Failed to untrack alerts in task ID ${id}`); + return state; + } + }); + + context.auditLogger?.log( + ruleAuditEvent({ + action: RuleAuditAction.UNTRACK_ALERT, + outcome: 'success', + }) + ); + } catch (error) { + context.auditLogger?.log( + ruleAuditEvent({ + action: RuleAuditAction.UNTRACK_ALERT, + error, + }) + ); + throw error; + } +} diff --git a/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/schemas/bulk_untrack_body_schema.ts b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/schemas/bulk_untrack_body_schema.ts new file mode 100644 index 00000000000000..9c77a6e6b2b3ac --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/schemas/bulk_untrack_body_schema.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { schema } from '@kbn/config-schema'; + +export const bulkUntrackBodySchema = schema.object({ + indices: schema.arrayOf(schema.string()), + alertUuids: schema.arrayOf(schema.string()), +}); diff --git a/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/schemas/index.ts b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/schemas/index.ts new file mode 100644 index 00000000000000..206c3f494c5887 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/schemas/index.ts @@ -0,0 +1,7 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +export { bulkUntrackBodySchema } from './bulk_untrack_body_schema'; diff --git a/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/types/bulk_untrack_body.ts b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/types/bulk_untrack_body.ts new file mode 100644 index 00000000000000..f515314b2ef50e --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/types/bulk_untrack_body.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { bulkUntrackBodySchema } from '../schemas'; + +export type BulkUntrackBody = TypeOf; diff --git a/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/types/index.ts b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/types/index.ts new file mode 100644 index 00000000000000..7c663d1859850a --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/bulk_untrack/types/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export type { BulkUntrackBody } from './bulk_untrack_body'; diff --git a/x-pack/plugins/alerting/server/routes/index.ts b/x-pack/plugins/alerting/server/routes/index.ts index 5086cb56279ede..d0dc928173ef87 100644 --- a/x-pack/plugins/alerting/server/routes/index.ts +++ b/x-pack/plugins/alerting/server/routes/index.ts @@ -48,6 +48,7 @@ import { getFlappingSettingsRoute } from './get_flapping_settings'; import { updateFlappingSettingsRoute } from './update_flapping_settings'; import { getRuleTagsRoute } from './get_rule_tags'; import { getScheduleFrequencyRoute } from './rule/apis/get_schedule_frequency'; +import { bulkUntrackAlertRoute } from './rule/apis/bulk_untrack'; import { createMaintenanceWindowRoute } from './maintenance_window/apis/create/create_maintenance_window_route'; import { getMaintenanceWindowRoute } from './maintenance_window/apis/get/get_maintenance_window_route'; @@ -131,4 +132,5 @@ export function defineRoutes(opts: RouteOptions) { registerFieldsRoute(router, licenseState); bulkGetMaintenanceWindowRoute(router, licenseState); getScheduleFrequencyRoute(router, licenseState); + bulkUntrackAlertRoute(router, licenseState); } diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/bulk_untrack_alert_route.ts b/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/bulk_untrack_alert_route.ts new file mode 100644 index 00000000000000..791fdcca533ccc --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/bulk_untrack_alert_route.ts @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { IRouter } from '@kbn/core/server'; +import { + BulkUntrackRequestBodyV1, + bulkUntrackBodySchemaV1, +} from '../../../../../common/routes/rule/apis/bulk_untrack'; +import { transformRequestBodyToApplicationV1 } from './transforms'; +import { ILicenseState, RuleTypeDisabledError } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; +import { AlertingRequestHandlerContext, INTERNAL_BASE_ALERTING_API_PATH } from '../../../../types'; + +export const bulkUntrackAlertRoute = ( + router: IRouter, + licenseState: ILicenseState +) => { + router.post( + { + path: `${INTERNAL_BASE_ALERTING_API_PATH}/alerts/_bulk_untrack`, + validate: { + body: bulkUntrackBodySchemaV1, + }, + }, + router.handleLegacyErrors( + verifyAccessAndContext(licenseState, async function (context, req, res) { + const rulesClient = (await context.alerting).getRulesClient(); + const body: BulkUntrackRequestBodyV1 = req.body; + try { + await rulesClient.bulkUntrackAlerts(transformRequestBodyToApplicationV1(body)); + return res.noContent(); + } catch (e) { + if (e instanceof RuleTypeDisabledError) { + return e.sendResponse(res); + } + throw e; + } + }) + ) + ); +}; diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/index.ts b/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/index.ts new file mode 100644 index 00000000000000..b453f47ecbb6eb --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { bulkUntrackAlertRoute } from './bulk_untrack_alert_route'; diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/index.ts b/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/index.ts new file mode 100644 index 00000000000000..aa4eae3d633cfe --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +export { transformRequestBodyToApplication } from './transform_request_body_to_application/latest'; +export { transformRequestBodyToApplication as transformRequestBodyToApplicationV1 } from './transform_request_body_to_application/v1'; diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/transform_request_body_to_application/latest.ts b/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/transform_request_body_to_application/latest.ts new file mode 100644 index 00000000000000..3dab7ef9587fb7 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/transform_request_body_to_application/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 { transformRequestBodyToApplication } from './v1'; diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/transform_request_body_to_application/v1.ts b/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/transform_request_body_to_application/v1.ts new file mode 100644 index 00000000000000..0a0750bf45b1be --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/transforms/transform_request_body_to_application/v1.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { RewriteRequestCase } from '../../../../../lib'; +import { BulkUntrackBody } from '../../../../../../application/rule/methods/bulk_untrack/types'; + +export const transformRequestBodyToApplication: RewriteRequestCase = ({ + indices, + alert_uuids: alertUuids, +}) => ({ + indices, + alertUuids, +}); diff --git a/x-pack/plugins/alerting/server/rules_client.mock.ts b/x-pack/plugins/alerting/server/rules_client.mock.ts index ebe6f6c555a675..0b4122e221ca5a 100644 --- a/x-pack/plugins/alerting/server/rules_client.mock.ts +++ b/x-pack/plugins/alerting/server/rules_client.mock.ts @@ -53,6 +53,7 @@ const createRulesClientMock = () => { clone: jest.fn(), getAlertFromRaw: jest.fn(), getScheduleFrequency: jest.fn(), + bulkUntrackAlerts: jest.fn(), }; return mocked; }; diff --git a/x-pack/plugins/alerting/server/rules_client/common/audit_events.ts b/x-pack/plugins/alerting/server/rules_client/common/audit_events.ts index 4909a71b89b8c3..0088f623f43b79 100644 --- a/x-pack/plugins/alerting/server/rules_client/common/audit_events.ts +++ b/x-pack/plugins/alerting/server/rules_client/common/audit_events.ts @@ -33,6 +33,7 @@ export enum RuleAuditAction { SNOOZE = 'rule_snooze', UNSNOOZE = 'rule_unsnooze', RUN_SOON = 'rule_run_soon', + UNTRACK_ALERT = 'rule_alert_untrack', } type VerbsTuple = [string, string, string]; @@ -81,6 +82,7 @@ const eventVerbs: Record = { 'accessing global execution KPI for', 'accessed global execution KPI for', ], + rule_alert_untrack: ['untrack', 'untracking', 'untracked'], }; const eventTypes: Record> = { @@ -107,6 +109,7 @@ const eventTypes: Record> = { rule_run_soon: 'access', rule_get_execution_kpi: 'access', rule_get_global_execution_kpi: 'access', + rule_alert_untrack: 'change', }; export interface RuleAuditEventParams { diff --git a/x-pack/plugins/alerting/server/rules_client/lib/untrack_rule_alerts.ts b/x-pack/plugins/alerting/server/rules_client/lib/untrack_rule_alerts.ts index 7eaee0e468e1cf..17794aeb4ebdfc 100644 --- a/x-pack/plugins/alerting/server/rules_client/lib/untrack_rule_alerts.ts +++ b/x-pack/plugins/alerting/server/rules_client/lib/untrack_rule_alerts.ts @@ -8,17 +8,18 @@ import { mapValues } from 'lodash'; import { SAVED_OBJECT_REL_PRIMARY } from '@kbn/event-log-plugin/server'; import { withSpan } from '@kbn/apm-utils'; -import { RawRule, SanitizedRule, RawAlertInstance as RawAlert } from '../../types'; +import { SanitizedRule, RawAlertInstance as RawAlert } from '../../types'; import { taskInstanceToAlertTaskInstance } from '../../task_runner/alert_task_instance'; import { Alert } from '../../alert'; import { EVENT_LOG_ACTIONS } from '../../plugin'; import { createAlertEventLogRecordObject } from '../../lib/create_alert_event_log_record_object'; import { RulesClientContext } from '../types'; +import { RuleAttributes } from '../../data/rule/types'; export const untrackRuleAlerts = async ( context: RulesClientContext, id: string, - attributes: RawRule + attributes: RuleAttributes ) => { return withSpan({ name: 'untrackRuleAlerts', type: 'rules' }, async () => { if (!context.eventLogger || !attributes.scheduledTaskId) return; @@ -27,7 +28,6 @@ export const untrackRuleAlerts = async ( await context.taskManager.get(attributes.scheduledTaskId), attributes as unknown as SanitizedRule ); - const { state } = taskInstance; const untrackedAlerts = mapValues, Alert>( @@ -78,24 +78,10 @@ export const untrackRuleAlerts = async ( // Untrack Lifecycle alerts (Alerts As Data-enabled) if (isLifecycleAlert) { - const alertsClient = await context.alertsService?.createAlertsClient({ - namespace: context.namespace!, - rule: { - id, - name: attributes.name, - consumer: attributes.consumer, - revision: attributes.revision, - spaceId: context.spaceId, - tags: attributes.tags, - parameters: attributes.parameters, - executionId: '', - }, - ruleType, - logger: context.logger, - }); - if (!alertsClient) throw new Error('Could not create alertsClient'); const indices = context.getAlertIndicesAlias([ruleType.id], context.spaceId); - await alertsClient.setAlertStatusToUntracked(indices, [id]); + if (!context.alertsService) + throw new Error('Could not access alertsService to untrack alerts'); + await context.alertsService.setAlertsToUntracked({ indices, ruleIds: [id] }); } } catch (error) { // this should not block the rest of the disable process diff --git a/x-pack/plugins/alerting/server/rules_client/methods/bulk_disable.ts b/x-pack/plugins/alerting/server/rules_client/methods/bulk_disable.ts index d409d69f8a6ac9..0a1af5511fe389 100644 --- a/x-pack/plugins/alerting/server/rules_client/methods/bulk_disable.ts +++ b/x-pack/plugins/alerting/server/rules_client/methods/bulk_disable.ts @@ -115,7 +115,7 @@ const bulkDisableRulesWithOCC = async ( for await (const response of rulesFinder.find()) { await pMap(response.saved_objects, async (rule) => { try { - await untrackRuleAlerts(context, rule.id, rule.attributes); + await untrackRuleAlerts(context, rule.id, rule.attributes as RuleAttributes); if (rule.attributes.name) { ruleNameToRuleIdMapping[rule.id] = rule.attributes.name; diff --git a/x-pack/plugins/alerting/server/rules_client/methods/delete.ts b/x-pack/plugins/alerting/server/rules_client/methods/delete.ts index 605753cfcdfc82..566945f0357fc0 100644 --- a/x-pack/plugins/alerting/server/rules_client/methods/delete.ts +++ b/x-pack/plugins/alerting/server/rules_client/methods/delete.ts @@ -12,7 +12,8 @@ import { retryIfConflicts } from '../../lib/retry_if_conflicts'; import { bulkMarkApiKeysForInvalidation } from '../../invalidate_pending_api_keys/bulk_mark_api_keys_for_invalidation'; import { ruleAuditEvent, RuleAuditAction } from '../common/audit_events'; import { RulesClientContext } from '../types'; -import { migrateLegacyActions } from '../lib'; +import { untrackRuleAlerts, migrateLegacyActions } from '../lib'; +import { RuleAttributes } from '../../data/rule/types'; export async function deleteRule(context: RulesClientContext, { id }: { id: string }) { return await retryIfConflicts( @@ -66,6 +67,8 @@ async function deleteWithOCC(context: RulesClientContext, { id }: { id: string } throw error; } + await untrackRuleAlerts(context, id, attributes as RuleAttributes); + // migrate legacy actions only for SIEM rules if (attributes.consumer === AlertConsumers.SIEM) { await migrateLegacyActions(context, { ruleId: id, attributes, skipActionsValidation: true }); diff --git a/x-pack/plugins/alerting/server/rules_client/methods/disable.ts b/x-pack/plugins/alerting/server/rules_client/methods/disable.ts index 88ffd510e8800a..d51a5793371f00 100644 --- a/x-pack/plugins/alerting/server/rules_client/methods/disable.ts +++ b/x-pack/plugins/alerting/server/rules_client/methods/disable.ts @@ -12,6 +12,7 @@ import { retryIfConflicts } from '../../lib/retry_if_conflicts'; import { ruleAuditEvent, RuleAuditAction } from '../common/audit_events'; import { RulesClientContext } from '../types'; import { untrackRuleAlerts, updateMeta, migrateLegacyActions } from '../lib'; +import { RuleAttributes } from '../../data/rule/types'; export async function disable(context: RulesClientContext, { id }: { id: string }): Promise { return await retryIfConflicts( @@ -43,8 +44,6 @@ async function disableWithOCC(context: RulesClientContext, { id }: { id: string references = alert.references; } - await untrackRuleAlerts(context, id, attributes); - try { await context.authorization.ensureAuthorized({ ruleTypeId: attributes.alertTypeId, @@ -63,6 +62,8 @@ async function disableWithOCC(context: RulesClientContext, { id }: { id: string throw error; } + await untrackRuleAlerts(context, id, attributes as RuleAttributes); + context.auditLogger?.log( ruleAuditEvent({ action: RuleAuditAction.DISABLE, diff --git a/x-pack/plugins/alerting/server/rules_client/rules_client.ts b/x-pack/plugins/alerting/server/rules_client/rules_client.ts index d7a576ac99d0b2..8664a0c42b9be5 100644 --- a/x-pack/plugins/alerting/server/rules_client/rules_client.ts +++ b/x-pack/plugins/alerting/server/rules_client/rules_client.ts @@ -62,6 +62,10 @@ import { listRuleTypes } from './methods/list_rule_types'; import { getAlertFromRaw, GetAlertFromRawParams } from './lib/get_alert_from_raw'; import { getTags, GetTagsParams } from './methods/get_tags'; import { getScheduleFrequency } from '../application/rule/methods/get_schedule_frequency/get_schedule_frequency'; +import { + bulkUntrackAlerts, + BulkUntrackBody, +} from '../application/rule/methods/bulk_untrack/bulk_untrack_alerts'; export type ConstructorOptions = Omit< RulesClientContext, @@ -167,6 +171,8 @@ export class RulesClient { public muteInstance = (options: MuteAlertParams) => muteInstance(this.context, options); public unmuteInstance = (options: MuteAlertParams) => unmuteInstance(this.context, options); + public bulkUntrackAlerts = (options: BulkUntrackBody) => bulkUntrackAlerts(this.context, options); + public runSoon = (options: { id: string }) => runSoon(this.context, options); public listRuleTypes = () => listRuleTypes(this.context); diff --git a/x-pack/plugins/alerting/tsconfig.json b/x-pack/plugins/alerting/tsconfig.json index d2d5aafc7fde9c..987ad98b927cf4 100644 --- a/x-pack/plugins/alerting/tsconfig.json +++ b/x-pack/plugins/alerting/tsconfig.json @@ -58,7 +58,8 @@ "@kbn/core-http-server-mocks", "@kbn/serverless", "@kbn/core-http-router-server-mocks", - "@kbn/core-application-common", + "@kbn/core-elasticsearch-server", + "@kbn/core-application-common" ], "exclude": ["target/**/*"] } diff --git a/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.test.tsx b/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.test.tsx index 4a92143943f260..70dfcd0a82d432 100644 --- a/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.test.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.test.tsx @@ -4,6 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { act } from '@testing-library/react-hooks'; import { kibanaStartMock } from '../../../utils/kibana_react.mock'; import React from 'react'; @@ -44,6 +45,12 @@ jest.mock('../../../hooks/use_get_user_cases_permissions', () => ({ useGetUserCasesPermissions: jest.fn(() => ({ create: true, read: true })), })); +jest.mock('@kbn/triggers-actions-ui-plugin/public/common/lib/kibana/kibana_react', () => ({ + useKibana: jest.fn(() => ({ + services: { notifications: { toasts: { addDanger: jest.fn(), addSuccess: jest.fn() } } }, + })), +})); + const config = { unsafe: { alertDetails: { @@ -69,6 +76,19 @@ describe('ObservabilityActions component', () => { }); const setup = async (pageId: string) => { + const queryClient = new QueryClient({ + defaultOptions: { + queries: { + retry: false, + }, + }, + logger: { + log: () => {}, + warn: () => {}, + error: () => {}, + }, + }); + const props: Props = { config, data: inventoryThresholdAlert as unknown as TimelineNonEcsData[], @@ -82,7 +102,11 @@ describe('ObservabilityActions component', () => { refresh, }; - const wrapper = mountWithIntl(); + const wrapper = mountWithIntl( + + + + ); await act(async () => { await nextTick(); wrapper.update(); diff --git a/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.tsx b/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.tsx index 567bb32b07f8cb..77996559089076 100644 --- a/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/components/alert_actions.tsx @@ -20,8 +20,15 @@ import { CaseAttachmentsWithoutOwner } from '@kbn/cases-plugin/public'; import { AttachmentType } from '@kbn/cases-plugin/common'; import { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs'; import { TimelineNonEcsData } from '@kbn/timelines-plugin/common'; -import { ALERT_RULE_TYPE_ID, OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/rule-data-utils'; - +import { + ALERT_RULE_TYPE_ID, + ALERT_RULE_UUID, + ALERT_STATUS, + ALERT_STATUS_ACTIVE, + ALERT_UUID, + OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, +} from '@kbn/rule-data-utils'; +import { useBulkUntrackAlerts } from '@kbn/triggers-actions-ui-plugin/public'; import { useKibana } from '../../../utils/kibana_react'; import { useGetUserCasesPermissions } from '../../../hooks/use_get_user_cases_permissions'; import { isAlertDetailsEnabledPerApp } from '../../../utils/is_alert_details_enabled'; @@ -63,6 +70,7 @@ export function AlertActions({ }, } = useKibana().services; const userCasesPermissions = useGetUserCasesPermissions(); + const { mutateAsync: untrackAlerts } = useBulkUntrackAlerts(); const parseObservabilityAlert = useMemo( () => parseAlert(observabilityRuleTypeRegistry), @@ -74,13 +82,13 @@ export function AlertActions({ const [isPopoverOpen, setIsPopoverOpen] = useState(false); - const ruleId = alert.fields['kibana.alert.rule.uuid'] ?? null; + const ruleId = alert.fields[ALERT_RULE_UUID] ?? null; const linkToRule = pageId !== RULE_DETAILS_PAGE_ID && ruleId ? prepend(paths.observability.ruleDetails(ruleId)) : null; - const alertId = alert.fields['kibana.alert.uuid'] ?? null; + const alertId = alert.fields[ALERT_UUID] ?? null; const linkToAlert = pageId !== ALERT_DETAILS_PAGE_ID && alertId ? prepend(paths.observability.alertDetails(alertId)) @@ -99,6 +107,11 @@ export function AlertActions({ : []; }, [ecsData, getRuleIdFromEvent, data]); + const isActiveAlert = useMemo( + () => alert.fields[ALERT_STATUS] === ALERT_STATUS_ACTIVE, + [alert.fields] + ); + const onSuccess = useCallback(() => { refresh(); }, [refresh]); @@ -124,6 +137,14 @@ export function AlertActions({ closeActionsPopover(); }; + const handleUntrackAlert = useCallback(async () => { + await untrackAlerts({ + indices: [ecsData?._index ?? ''], + alertUuids: [alertId], + }); + onSuccess(); + }, [untrackAlerts, alertId, ecsData, onSuccess]); + const actionsMenuItems = [ ...(userCasesPermissions.create && userCasesPermissions.read ? [ @@ -190,6 +211,19 @@ export function AlertActions({ ), ], + ...(isActiveAlert + ? [ + + {i18n.translate('xpack.observability.alerts.actions.untrack', { + defaultMessage: 'Mark as untracked', + })} + , + ] + : []), ]; const actionsToolTip = diff --git a/x-pack/plugins/task_manager/server/mocks.ts b/x-pack/plugins/task_manager/server/mocks.ts index 1363b0ab9b1ee5..45a2f117167ca9 100644 --- a/x-pack/plugins/task_manager/server/mocks.ts +++ b/x-pack/plugins/task_manager/server/mocks.ts @@ -36,6 +36,7 @@ const createStartMock = () => { bulkDisable: jest.fn(), bulkEnable: jest.fn(), getRegisteredTypes: jest.fn(), + bulkUpdateState: jest.fn(), }; return mock; }; diff --git a/x-pack/plugins/task_manager/server/plugin.ts b/x-pack/plugins/task_manager/server/plugin.ts index 0c1bafe9f4fc11..4c9879f25b591f 100644 --- a/x-pack/plugins/task_manager/server/plugin.ts +++ b/x-pack/plugins/task_manager/server/plugin.ts @@ -61,6 +61,7 @@ export type TaskManagerStartContract = Pick< | 'bulkEnable' | 'bulkDisable' | 'bulkSchedule' + | 'bulkUpdateState' > & Pick & { removeIfExists: TaskStore['remove']; @@ -325,6 +326,7 @@ export class TaskManagerPlugin supportsEphemeralTasks: () => this.config.ephemeral_tasks.enabled && this.shouldRunBackgroundTasks, getRegisteredTypes: () => this.definitions.getAllTypes(), + bulkUpdateState: (...args) => taskScheduling.bulkUpdateState(...args), }; } } diff --git a/x-pack/plugins/task_manager/server/task_scheduling.test.ts b/x-pack/plugins/task_manager/server/task_scheduling.test.ts index 9f822b9cd2d76f..11a2e8a115d8ac 100644 --- a/x-pack/plugins/task_manager/server/task_scheduling.test.ts +++ b/x-pack/plugins/task_manager/server/task_scheduling.test.ts @@ -21,6 +21,7 @@ import { mockLogger } from './test_utils'; import { TaskTypeDictionary } from './task_type_dictionary'; import { ephemeralTaskLifecycleMock } from './ephemeral_task_lifecycle.mock'; import { taskManagerMock } from './mocks'; +import { omit } from 'lodash'; let fakeTimer: sinon.SinonFakeTimers; jest.mock('uuid', () => ({ @@ -370,6 +371,135 @@ describe('TaskScheduling', () => { }); }); + describe('bulkUpdateState', () => { + const id = '01ddff11-e88a-4d13-bc4e-256164e755e2'; + beforeEach(() => { + mockTaskStore.bulkUpdate.mockImplementation(() => + Promise.resolve([{ tag: 'ok', value: taskManagerMock.createTask() }]) + ); + }); + + test('should split search on chunks when input ids array too large', async () => { + mockTaskStore.bulkGet.mockResolvedValue([]); + const taskScheduling = new TaskScheduling(taskSchedulingOpts); + + await taskScheduling.bulkUpdateState(Array.from({ length: 1250 }), jest.fn()); + + expect(mockTaskStore.bulkGet).toHaveBeenCalledTimes(13); + }); + + test('should transform response into correct format', async () => { + const successfulTask = taskManagerMock.createTask({ + id: 'task-1', + enabled: false, + schedule: { interval: '1h' }, + state: { + 'hello i am a state that has been modified': "not really but we're going to pretend", + }, + }); + const failedToUpdateTask = taskManagerMock.createTask({ + id: 'task-2', + enabled: true, + schedule: { interval: '1h' }, + state: { 'this state is unchangeable': 'none shall update me' }, + }); + mockTaskStore.bulkUpdate.mockImplementation(() => + Promise.resolve([ + { tag: 'ok', value: successfulTask }, + { + tag: 'err', + error: { + type: 'task', + id: failedToUpdateTask.id, + error: { + statusCode: 400, + error: 'fail', + message: 'fail', + }, + }, + }, + ]) + ); + mockTaskStore.bulkGet.mockResolvedValue([asOk(successfulTask), asOk(failedToUpdateTask)]); + + const taskScheduling = new TaskScheduling(taskSchedulingOpts); + const result = await taskScheduling.bulkUpdateState( + [successfulTask.id, failedToUpdateTask.id], + jest.fn() + ); + + expect(result).toEqual({ + tasks: [successfulTask], + errors: [ + { + type: 'task', + id: failedToUpdateTask.id, + error: { + statusCode: 400, + error: 'fail', + message: 'fail', + }, + }, + ], + }); + }); + + test('should execute updater function on tasks', async () => { + const task = taskManagerMock.createTask({ + id, + enabled: false, + schedule: { interval: '3h' }, + runAt: new Date('1969-09-13T21:33:58.285Z'), + scheduledAt: new Date('1969-09-10T21:33:58.285Z'), + state: { removeMe: 'please remove me i dont like being in this task manager state' }, + }); + const updaterFn = jest.fn((state) => { + return { + ...omit(state, 'removeMe'), + expectedValue: 'HELLO I AM AN EXPECTED VALUE IT IS VERY NICE TO MEET YOU', + }; + }); + mockTaskStore.bulkUpdate.mockImplementation(() => + Promise.resolve([{ tag: 'ok', value: task }]) + ); + mockTaskStore.bulkGet.mockResolvedValue([asOk(task)]); + + const taskScheduling = new TaskScheduling(taskSchedulingOpts); + await taskScheduling.bulkUpdateState([id], updaterFn); + + const bulkUpdatePayload = mockTaskStore.bulkUpdate.mock.calls[0][0]; + + expect(bulkUpdatePayload).toMatchInlineSnapshot(` + Array [ + Object { + "attempts": 0, + "enabled": false, + "id": "01ddff11-e88a-4d13-bc4e-256164e755e2", + "ownerId": "123", + "params": Object { + "hello": "world", + }, + "retryAt": null, + "runAt": 1969-09-13T21:33:58.285Z, + "schedule": Object { + "interval": "3h", + }, + "scheduledAt": 1969-09-10T21:33:58.285Z, + "scope": undefined, + "startedAt": null, + "state": Object { + "expectedValue": "HELLO I AM AN EXPECTED VALUE IT IS VERY NICE TO MEET YOU", + }, + "status": "idle", + "taskType": "foo", + "user": undefined, + "version": "123", + }, + ] + `); + }); + }); + describe('bulkUpdateSchedules', () => { const id = '01ddff11-e88a-4d13-bc4e-256164e755e2'; beforeEach(() => { diff --git a/x-pack/plugins/task_manager/server/task_scheduling.ts b/x-pack/plugins/task_manager/server/task_scheduling.ts index 5ee848c716bec3..795e563986586d 100644 --- a/x-pack/plugins/task_manager/server/task_scheduling.ts +++ b/x-pack/plugins/task_manager/server/task_scheduling.ts @@ -186,6 +186,23 @@ export class TaskScheduling { }); } + public async bulkUpdateState( + taskIds: string[], + stateMapFn: (s: ConcreteTaskInstance['state'], id: string) => ConcreteTaskInstance['state'] + ) { + return await retryableBulkUpdate({ + taskIds, + store: this.store, + getTasks: async (ids) => await this.bulkGetTasksHelper(ids), + filter: () => true, + map: (task) => ({ + ...task, + state: stateMapFn(task.state, task.id), + }), + validate: false, + }); + } + /** * Bulk updates schedules for tasks by ids. * Only tasks with `idle` status will be updated, as for the tasks which have `running` status, diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.test.tsx index 564ac2d80bad91..16e7af7c794250 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_table.test.tsx @@ -53,6 +53,12 @@ jest.mock('@kbn/kibana-react-plugin/public', () => { useKibana: () => ({ services: { cases: mockCaseService, + notifications: { + toasts: { + addDanger: jest.fn(), + addSuccess: jest.fn(), + }, + }, }, }), }; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/bulk_actions/bulk_actions.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/bulk_actions/bulk_actions.test.tsx index ff05e9e282e9e3..e028ae1867a8e6 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/bulk_actions/bulk_actions.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/bulk_actions/bulk_actions.test.tsx @@ -49,6 +49,12 @@ const mockCaseService = createCasesServiceMock(); const mockKibana = jest.fn().mockReturnValue({ services: { cases: mockCaseService, + notifications: { + toasts: { + addDanger: jest.fn(), + addSuccess: jest.fn(), + }, + }, }, }); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/translations.ts b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/translations.ts index 80b346b833f41a..56054948d3ac0b 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/translations.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/translations.ts @@ -48,3 +48,10 @@ export const ALERTS_ALREADY_ATTACHED_TO_CASE = i18n.translate( defaultMessage: 'All selected alerts are already attached to the case', } ); + +export const MARK_AS_UNTRACKED = i18n.translate( + 'xpack.triggersActionsUI.alerts.table.actions.markAsUntracked', + { + defaultMessage: 'Mark as untracked', + } +); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_actions.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_actions.test.tsx index 158867ebb5a53c..b6d9616b9fc7d1 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_actions.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_actions.test.tsx @@ -6,7 +6,7 @@ */ import { renderHook } from '@testing-library/react-hooks'; -import { useBulkActions, useBulkAddToCaseActions } from './use_bulk_actions'; +import { useBulkActions, useBulkAddToCaseActions, useBulkUntrackActions } from './use_bulk_actions'; import { AppMockRenderer, createAppMockRenderer } from '../../test_utils'; import { createCasesServiceMock } from '../index.mock'; @@ -43,6 +43,7 @@ describe('bulk action hooks', () => { const refresh = jest.fn(); const clearSelection = jest.fn(); const openNewCase = jest.fn(); + const setIsBulkActionsLoading = jest.fn(); const openExistingCase = jest.fn().mockImplementation(({ getAttachments }) => { getAttachments({ theCase: { id: caseId } }); @@ -295,14 +296,40 @@ describe('bulk action hooks', () => { }); }); + describe('useBulkUntrackActions', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + it('should not how the bulk actions when the user lacks any observability permissions', () => { + mockKibana.mockImplementation(() => ({ + services: { + application: { capabilities: {} }, + }, + })); + const { result } = renderHook( + () => useBulkUntrackActions({ setIsBulkActionsLoading, refresh, clearSelection }), + { + wrapper: appMockRender.AppWrapper, + } + ); + + expect(result.current.length).toBe(0); + }); + }); + describe('useBulkActions', () => { beforeEach(() => { jest.clearAllMocks(); - mockKibana.mockImplementation(() => ({ services: { cases: mockCaseService } })); + mockKibana.mockImplementation(() => ({ + services: { + cases: mockCaseService, + application: { capabilities: { infrastructure: { show: true } } }, + }, + })); mockCaseService.helpers.canUseCases = jest.fn().mockReturnValue({ create: true, read: true }); }); - it('appends the case bulk actions', async () => { + it('appends the case and untrack bulk actions', async () => { const { result } = renderHook( () => useBulkActions({ alerts: [], query: {}, casesConfig, refresh }), { @@ -331,6 +358,14 @@ describe('bulk action hooks', () => { "label": "Add to existing case", "onClick": [Function], }, + Object { + "data-test-subj": "mark-as-untracked", + "disableOnQuery": true, + "disabledLabel": "Mark as untracked", + "key": "mark-as-untracked", + "label": "Mark as untracked", + "onClick": [Function], + }, ], }, ] diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_actions.ts b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_actions.ts index 59a9ad8d1e99fb..47a892ef76331c 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_actions.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_actions.ts @@ -27,9 +27,11 @@ import { ADD_TO_EXISTING_CASE, ADD_TO_NEW_CASE, ALERTS_ALREADY_ATTACHED_TO_CASE, + MARK_AS_UNTRACKED, NO_ALERTS_ADDED_TO_CASE, } from './translations'; import { TimelineItem } from '../bulk_actions/components/toolbar'; +import { useBulkUntrackAlerts } from './use_bulk_untrack_alerts'; interface BulkActionsProps { query: Pick; @@ -51,6 +53,9 @@ export interface UseBulkActions { type UseBulkAddToCaseActionsProps = Pick & Pick; +type UseBulkUntrackActionsProps = Pick & + Pick; + const filterAlertsAlreadyAttachedToCase = (alerts: TimelineItem[], caseId: string) => alerts.filter( (alert) => @@ -171,6 +176,60 @@ export const useBulkAddToCaseActions = ({ ]); }; +export const useBulkUntrackActions = ({ + setIsBulkActionsLoading, + refresh, + clearSelection, +}: UseBulkUntrackActionsProps) => { + const onSuccess = useCallback(() => { + refresh(); + clearSelection(); + }, [clearSelection, refresh]); + + const { application } = useKibana().services; + const { mutateAsync: untrackAlerts } = useBulkUntrackAlerts(); + // Check if at least one Observability feature is enabled + if (!application?.capabilities) return []; + const hasApmPermission = application.capabilities.apm?.['alerting:show']; + const hasInfrastructurePermission = application.capabilities.infrastructure?.show; + const hasLogsPermission = application.capabilities.logs?.show; + const hasUptimePermission = application.capabilities.uptime?.show; + const hasSloPermission = application.capabilities.slo?.show; + const hasObservabilityPermission = application.capabilities.observability?.show; + + if ( + !hasApmPermission && + !hasInfrastructurePermission && + !hasLogsPermission && + !hasUptimePermission && + !hasSloPermission && + !hasObservabilityPermission + ) + return []; + + return [ + { + label: MARK_AS_UNTRACKED, + key: 'mark-as-untracked', + disableOnQuery: true, + disabledLabel: MARK_AS_UNTRACKED, + 'data-test-subj': 'mark-as-untracked', + onClick: async (alerts?: TimelineItem[]) => { + if (!alerts) return; + const alertUuids = alerts.map((alert) => alert._id); + const indices = alerts.map((alert) => alert._index ?? ''); + try { + setIsBulkActionsLoading(true); + await untrackAlerts({ indices, alertUuids }); + onSuccess(); + } finally { + setIsBulkActionsLoading(false); + } + }, + }, + ]; +}; + export function useBulkActions({ alerts, casesConfig, @@ -184,15 +243,24 @@ export function useBulkActions({ const clearSelection = () => { updateBulkActionsState({ action: BulkActionsVerbs.clear }); }; + const setIsBulkActionsLoading = (isLoading: boolean = true) => { + updateBulkActionsState({ action: BulkActionsVerbs.updateAllLoadingState, isLoading }); + }; const caseBulkActions = useBulkAddToCaseActions({ casesConfig, refresh, clearSelection }); + const untrackBulkActions = useBulkUntrackActions({ + setIsBulkActionsLoading, + refresh, + clearSelection, + }); + + const initialItems = [...caseBulkActions, ...untrackBulkActions]; - const bulkActions = - caseBulkActions.length !== 0 - ? addItemsToInitialPanel({ - panels: configBulkActionPanels, - items: caseBulkActions, - }) - : configBulkActionPanels; + const bulkActions = initialItems.length + ? addItemsToInitialPanel({ + panels: configBulkActionPanels, + items: initialItems, + }) + : configBulkActionPanels; const isBulkActionsColumnActive = bulkActions.length !== 0; @@ -200,10 +268,6 @@ export function useBulkActions({ updateBulkActionsState({ action: BulkActionsVerbs.rowCountUpdate, rowCount: alerts.length }); }, [alerts, updateBulkActionsState]); - const setIsBulkActionsLoading = (isLoading: boolean = true) => { - updateBulkActionsState({ action: BulkActionsVerbs.updateAllLoadingState, isLoading }); - }; - return { isBulkActionsColumnActive, getBulkActionsLeadingControlColumn, diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_untrack_alerts.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_untrack_alerts.tsx new file mode 100644 index 00000000000000..baec1aeaf86d3c --- /dev/null +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_untrack_alerts.tsx @@ -0,0 +1,60 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; +import { useMutation } from '@tanstack/react-query'; +import { INTERNAL_BASE_ALERTING_API_PATH } from '@kbn/alerting-plugin/common'; +import { useKibana } from '../../../../common'; + +export const useBulkUntrackAlerts = () => { + const { + http, + notifications: { toasts }, + } = useKibana().services; + + const untrackAlerts = useMutation( + ['untrackAlerts'], + ({ indices, alertUuids }) => { + try { + const body = JSON.stringify({ + ...(indices?.length ? { indices } : {}), + ...(alertUuids ? { alert_uuids: alertUuids } : {}), + }); + return http.post(`${INTERNAL_BASE_ALERTING_API_PATH}/alerts/_bulk_untrack`, { body }); + } catch (e) { + throw new Error(`Unable to parse bulk untrack params: ${e}`); + } + }, + { + onError: (_err, params) => { + toasts.addDanger( + i18n.translate( + 'xpack.triggersActionsUI.rules.deleteConfirmationModal.errorNotification.descriptionText', + { + defaultMessage: 'Failed to untrack {uuidsCount, plural, one {alert} other {alerts}}', + values: { uuidsCount: params.alertUuids.length }, + } + ) + ); + }, + + onSuccess: (_, params) => { + toasts.addSuccess( + i18n.translate( + 'xpack.triggersActionsUI.rules.deleteConfirmationModal.successNotification.descriptionText', + { + defaultMessage: 'Untracked {uuidsCount, plural, one {alert} other {alerts}}', + values: { uuidsCount: params.alertUuids.length }, + } + ) + ); + }, + } + ); + + return untrackAlerts; +}; diff --git a/x-pack/plugins/triggers_actions_ui/public/index.ts b/x-pack/plugins/triggers_actions_ui/public/index.ts index 6d3c3bbee0d5f6..7dd3d36ce6c06d 100644 --- a/x-pack/plugins/triggers_actions_ui/public/index.ts +++ b/x-pack/plugins/triggers_actions_ui/public/index.ts @@ -152,3 +152,5 @@ export const getNotifyWhenOptions = async () => { export { transformRule } from './application/lib/rule_api/common_transformations'; export { validateActionFilterQuery } from './application/lib/value_validators'; + +export { useBulkUntrackAlerts } from './application/sections/alerts_table/hooks/use_bulk_untrack_alerts'; diff --git a/x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts b/x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts index 07fd5dba0cf231..7607cecc3e2f29 100644 --- a/x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts +++ b/x-pack/test/alerting_api_integration/packages/helpers/es_test_index_tool.ts @@ -5,6 +5,7 @@ * 2.0. */ import type { Client } from '@elastic/elasticsearch'; +import { DeleteByQueryRequest } from '@elastic/elasticsearch/lib/api/types'; export const ES_TEST_INDEX_NAME = '.kibana-alerting-test-data'; @@ -135,13 +136,12 @@ export class ESTestIndexTool { } async removeAll() { - const params = { + const params: DeleteByQueryRequest = { index: this.index, - body: { - query: { - match_all: {}, - }, + query: { + match_all: {}, }, + conflicts: 'proceed', }; return await this.es.deleteByQuery(params); } diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/bulk_untrack.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/bulk_untrack.ts new file mode 100644 index 00000000000000..b2710626032fe1 --- /dev/null +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/bulk_untrack.ts @@ -0,0 +1,132 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { ES_TEST_INDEX_NAME } from '@kbn/alerting-api-integration-helpers'; +import { ALERT_STATUS, ALERT_UUID } from '@kbn/rule-data-utils'; +import { getUrlPrefix, ObjectRemover, getTestRuleData, getEventLog } from '../../../../common/lib'; +import { FtrProviderContext } from '../../../../common/ftr_provider_context'; +import { UserAtSpaceScenarios } from '../../../scenarios'; + +const alertAsDataIndex = '.internal.alerts-observability.test.alerts.alerts-default-000001'; + +// eslint-disable-next-line import/no-default-export +export default function bulkUntrackTests({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + const retry = getService('retry'); + const es = getService('es'); + + describe('bulk untrack', () => { + const objectRemover = new ObjectRemover(supertest); + + afterEach(async () => { + await es.deleteByQuery({ + index: alertAsDataIndex, + query: { + match_all: {}, + }, + conflicts: 'proceed', + }); + objectRemover.removeAll(); + }); + + for (const scenario of UserAtSpaceScenarios) { + describe(scenario.id, () => { + it('should bulk mark alerts as untracked', async () => { + const { body: createdRule } = await supertest + .post(`${getUrlPrefix(scenario.space.id)}/api/alerting/rule`) + .set('kbn-xsrf', 'foo') + .send( + getTestRuleData({ + rule_type_id: 'test.always-firing-alert-as-data', + schedule: { interval: '24h' }, + throttle: undefined, + notify_when: undefined, + params: { + index: ES_TEST_INDEX_NAME, + reference: 'test', + }, + }) + ) + .expect(200); + objectRemover.add(scenario.space.id, createdRule.id, 'rule', 'alerting'); + + await retry.try(async () => { + return await getEventLog({ + getService, + spaceId: scenario.space.id, + type: 'alert', + id: createdRule.id, + provider: 'alerting', + actions: new Map([['active-instance', { equal: 2 }]]), + }); + }); + + await retry.try(async () => { + const { + hits: { hits: activeAlerts }, + } = await es.search({ + index: alertAsDataIndex, + body: { query: { match_all: {} } }, + }); + + activeAlerts.forEach((activeAlert: any) => { + expect(activeAlert._source[ALERT_STATUS]).eql('active'); + }); + }); + + const { + hits: { hits: activeAlerts }, + } = await es.search({ + index: alertAsDataIndex, + body: { query: { match_all: {} } }, + }); + + const ids = activeAlerts.map((activeAlert: any) => activeAlert._source[ALERT_UUID]); + + const response = await supertestWithoutAuth + .post(`${getUrlPrefix(scenario.space.id)}/internal/alerting/alerts/_bulk_untrack`) + .set('kbn-xsrf', 'foo') + .auth(scenario.user.username, scenario.user.password) + .send({ + indices: [alertAsDataIndex], + alert_uuids: ids, + }); + + switch (scenario.id) { + case 'no_kibana_privileges at space1': + case 'space_1_all at space1': + case 'space_1_all at space2': + case 'global_read at space1': + case 'space_1_all_alerts_none_actions at space1': + case 'space_1_all_with_restricted_fixture at space1': + expect(response.statusCode).to.eql(403); + break; + case 'superuser at space1': + expect(response.statusCode).to.eql(204); + await retry.try(async () => { + const { + hits: { hits: untrackedAlerts }, + } = await es.search({ + index: alertAsDataIndex, + body: { query: { match_all: {} } }, + }); + + untrackedAlerts.forEach((untrackedAlert: any) => { + expect(untrackedAlert._source[ALERT_STATUS]).eql('untracked'); + }); + }); + break; + default: + throw new Error(`Scenario untested: ${JSON.stringify(scenario)}`); + } + }); + }); + } + }); +} diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/index.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/index.ts index 24679b228c3797..8c0fb30872ac32 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/index.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group1/tests/alerting/index.ts @@ -32,6 +32,7 @@ export default function alertingTests({ loadTestFile, getService }: FtrProviderC loadTestFile(require.resolve('./get_alert_summary')); loadTestFile(require.resolve('./rule_types')); loadTestFile(require.resolve('./retain_api_key')); + loadTestFile(require.resolve('./bulk_untrack')); }); }); } diff --git a/x-pack/test/apm_api_integration/tests/alerts/helpers/alerting_api_helper.ts b/x-pack/test/apm_api_integration/tests/alerts/helpers/alerting_api_helper.ts index c32f0528869616..e0423d9372d1df 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/helpers/alerting_api_helper.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/helpers/alerting_api_helper.ts @@ -160,7 +160,11 @@ export async function deleteApmRules(supertest: SuperTest) { } export function deleteApmAlerts(es: Client) { - return es.deleteByQuery({ index: APM_ALERTS_INDEX, query: { match_all: {} } }); + return es.deleteByQuery({ + index: APM_ALERTS_INDEX, + conflicts: 'proceed', + query: { match_all: {} }, + }); } export async function clearKibanaApmEventLog(es: Client) { diff --git a/x-pack/test/examples/triggers_actions_ui_examples/alerts_table.ts b/x-pack/test/examples/triggers_actions_ui_examples/alerts_table.ts index 3351dfd0064b58..947849dbde3327 100644 --- a/x-pack/test/examples/triggers_actions_ui_examples/alerts_table.ts +++ b/x-pack/test/examples/triggers_actions_ui_examples/alerts_table.ts @@ -54,7 +54,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await waitAndClickByTestId('close'); const headers = await find.allByCssSelector('.euiDataGridHeaderCell'); - expect(headers.length).to.be(6); + expect(headers.length).to.be(7); }); it('should take into account the column type when sorting', async () => { diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts index e85222b1d68135..be230b13193f67 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts @@ -59,10 +59,12 @@ export default function ({ getService }: FtrProviderContext) { await esClient.deleteByQuery({ index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, + conflicts: 'proceed', }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', query: { term: { 'rule.id': ruleId } }, + conflicts: 'proceed', }); await dataViewApi.delete({ id: DATA_VIEW_ID, diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts index 8a7e5cbebaf70d..09af6988dbc291 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts @@ -47,10 +47,12 @@ export default function ({ getService }: FtrProviderContext) { await esClient.deleteByQuery({ index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, + conflicts: 'proceed', }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', query: { term: { 'rule.id': ruleId } }, + conflicts: 'proceed', }); await dataViewApi.delete({ id: DATA_VIEW_ID, diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts index 3e6d4fccde5fc9..9ab6bd73983e31 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts @@ -61,10 +61,12 @@ export default function ({ getService }: FtrProviderContext) { await esClient.deleteByQuery({ index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, + conflicts: 'proceed', }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', query: { term: { 'rule.id': ruleId } }, + conflicts: 'proceed', }); await dataViewApi.delete({ id: DATA_VIEW_ID, diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts index 7759e94997e645..d98334f7d4540c 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts @@ -55,10 +55,12 @@ export default function ({ getService }: FtrProviderContext) { await esClient.deleteByQuery({ index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, + conflicts: 'proceed', }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', query: { term: { 'rule.id': ruleId } }, + conflicts: 'proceed', }); await dataViewApi.delete({ id: DATA_VIEW_ID, diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts index 1a3420b85a2e07..2cab54a072f7f4 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts @@ -65,10 +65,12 @@ export default function ({ getService }: FtrProviderContext) { await esClient.deleteByQuery({ index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, + conflicts: 'proceed', }); await esClient.deleteByQuery({ index: '.kibana-event-log-*', query: { term: { 'rule.id': ruleId } }, + conflicts: 'proceed', }); await dataViewApi.delete({ id: DATA_VIEW_ID, diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts b/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts index ef58b18181f7ba..cc5b01292c846c 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts @@ -17,7 +17,8 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { const cases = getService('cases'); const toasts = getService('toasts'); - describe('Configure Case', function () { + // FLAKY: https://github.com/elastic/kibana/issues/166469 + describe.skip('Configure Case', function () { before(async () => { await svlCommonPage.login(); @@ -31,8 +32,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { await svlCommonPage.forceLogout(); }); - // FLAKY: https://github.com/elastic/kibana/issues/166469 - describe.skip('Closure options', function () { + describe('Closure options', function () { before(async () => { await common.clickAndValidate('configure-case-button', 'case-configure-title'); }); From 82c8e0d33dd161bcec5b63fbb3714b4702abbf1f Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Wed, 4 Oct 2023 00:59:31 -0400 Subject: [PATCH 31/35] [api-docs] 2023-10-04 Daily api_docs build (#167947) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/480 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.devdocs.json | 2 +- api_docs/alerting.mdx | 2 +- api_docs/apm.devdocs.json | 110 +- api_docs/apm.mdx | 4 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.devdocs.json | 62 + api_docs/controls.mdx | 4 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.devdocs.json | 8 - api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.devdocs.json | 12 - api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 4 +- api_docs/deprecations_by_plugin.mdx | 9 +- api_docs/deprecations_by_team.mdx | 4 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- .../kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- ..._analytics_shippers_elastic_v3_browser.mdx | 2 +- ...n_analytics_shippers_elastic_v3_common.mdx | 2 +- ...n_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- ..._core_custom_branding_browser_internal.mdx | 2 +- ...kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- ...n_core_custom_branding_server_internal.mdx | 2 +- .../kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.devdocs.json | 128 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- .../kbn_core_saved_objects_api_browser.mdx | 2 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...aved_objects_migration_server_internal.mdx | 2 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- .../kbn_core_test_helpers_model_versions.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- ...kbn_core_user_settings_server_internal.mdx | 2 +- .../kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.devdocs.json | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.devdocs.json | 4 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- .../kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- .../kbn_management_settings_application.mdx | 2 +- ...ent_settings_components_field_category.mdx | 2 +- ...gement_settings_components_field_input.mdx | 2 +- ...nagement_settings_components_field_row.mdx | 2 +- ...bn_management_settings_components_form.mdx | 2 +- ...n_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- .../kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- api_docs/kbn_ml_chi2test.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- .../kbn_ml_trained_models_utils.devdocs.json | 103 +- api_docs/kbn_ml_trained_models_utils.mdx | 4 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_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 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_resizable_layout.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.devdocs.json | 7335 +++++++++++++---- api_docs/kbn_search_connectors.mdx | 4 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- .../kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.devdocs.json | 24 + api_docs/kbn_shared_svg.mdx | 4 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- ...ared_ux_avatar_user_profile_components.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- ...hared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_subscription_tracking.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.devdocs.json | 4 + api_docs/licensing.mdx | 2 +- api_docs/links.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.devdocs.json | 16 + api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_log_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 16 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.devdocs.json | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.devdocs.json | 19 + api_docs/triggers_actions_ui.mdx | 4 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 611 files changed, 6803 insertions(+), 2257 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 830bff4a005ee7..7865515c81381b 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-10-03 +date: 2023-10-04 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 1804392b220e95..4b7a5895c09d6e 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 50c328aad0118d..f99157d9b1296a 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.devdocs.json b/api_docs/alerting.devdocs.json index 4d0a972d2196e6..3a975f357cfde6 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -4923,7 +4923,7 @@ "section": "def-common.RuleTypeParams", "text": "RuleTypeParams" }, - ">, \"id\" | \"snoozeSchedule\">; version?: string | undefined; }) => Promise; unmuteAll: (options: { id: string; }) => Promise; muteInstance: (options: Readonly<{} & { alertId: string; alertInstanceId: string; }>) => Promise; unmuteInstance: (options: Readonly<{} & { alertId: string; alertInstanceId: string; }>) => Promise; runSoon: (options: { id: string; }) => Promise; listRuleTypes: () => Promise, \"id\" | \"snoozeSchedule\">; version?: string | undefined; }) => Promise; unmuteAll: (options: { id: string; }) => Promise; muteInstance: (options: Readonly<{} & { alertId: string; alertInstanceId: string; }>) => Promise; unmuteInstance: (options: Readonly<{} & { alertId: string; alertInstanceId: string; }>) => Promise; bulkUntrackAlerts: (options: Readonly<{} & { indices: string[]; alertUuids: string[]; }>) => Promise; runSoon: (options: { id: string; }) => Promise; listRuleTypes: () => Promise>; getSpaceId: () => string | undefined; getAuthorization: () => ", { diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 5c77d6dd4abbc3..8f74f7e7bb42b3 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index 62a9dab0dd5d29..a4b12f31f14861 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -408,7 +408,7 @@ "label": "APIEndpoint", "description": [], "signature": [ - "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search 2023-10-31\" | \"POST /api/apm/services/{serviceName}/annotation 2023-10-31\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /api/apm/settings/agent-configuration 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/view 2023-10-31\" | \"DELETE /api/apm/settings/agent-configuration 2023-10-31\" | \"PUT /api/apm/settings/agent-configuration 2023-10-31\" | \"POST /api/apm/settings/agent-configuration/search 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/environments 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/agent_name 2023-10-31\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps 2023-10-31\" | \"POST /api/apm/sourcemaps 2023-10-31\" | \"DELETE /api/apm/sourcemaps/{id} 2023-10-31\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema 2023-10-31\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys 2023-10-31\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/get_latest_agent_versions\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\" | \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\" | \"GET /internal/apm/mobile-services/{serviceName}/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/location/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/terms\" | \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\" | \"GET /internal/apm/diagnostics\" | \"POST /internal/apm/assistant/get_apm_timeseries\" | \"GET /internal/apm/assistant/get_service_summary\" | \"GET /internal/apm/assistant/get_error_document\" | \"POST /internal/apm/assistant/get_correlation_values\" | \"GET /internal/apm/assistant/get_downstream_dependencies\" | \"POST /internal/apm/assistant/get_services_list\" | \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\" | \"GET /internal/apm/profiling/status\" | \"GET /internal/apm/services/{serviceName}/profiling/functions\"" + "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search 2023-10-31\" | \"POST /api/apm/services/{serviceName}/annotation 2023-10-31\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /api/apm/settings/agent-configuration 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/view 2023-10-31\" | \"DELETE /api/apm/settings/agent-configuration 2023-10-31\" | \"PUT /api/apm/settings/agent-configuration 2023-10-31\" | \"POST /api/apm/settings/agent-configuration/search 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/environments 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/agent_name 2023-10-31\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps 2023-10-31\" | \"POST /api/apm/sourcemaps 2023-10-31\" | \"DELETE /api/apm/sourcemaps/{id} 2023-10-31\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema 2023-10-31\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys 2023-10-31\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/get_latest_agent_versions\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\" | \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\" | \"GET /internal/apm/mobile-services/{serviceName}/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/location/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/terms\" | \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\" | \"GET /internal/apm/diagnostics\" | \"POST /internal/apm/assistant/get_apm_timeseries\" | \"GET /internal/apm/assistant/get_service_summary\" | \"GET /internal/apm/assistant/get_error_document\" | \"POST /internal/apm/assistant/get_correlation_values\" | \"GET /internal/apm/assistant/get_downstream_dependencies\" | \"POST /internal/apm/assistant/get_services_list\" | \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\" | \"GET /internal/apm/profiling/status\" | \"GET /internal/apm/services/{serviceName}/profiling/functions\" | \"POST /internal/apm/custom-dashboard\" | \"DELETE /internal/apm/custom-dashboard\" | \"GET /internal/apm/services/{serviceName}/dashboards\"" ], "path": "x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts", "deprecated": false, @@ -455,7 +455,65 @@ "label": "APMServerRouteRepository", "description": [], "signature": [ - "{ \"GET /internal/apm/services/{serviceName}/profiling/functions\": { endpoint: \"GET /internal/apm/services/{serviceName}/profiling/functions\"; params?: ", + "{ \"GET /internal/apm/services/{serviceName}/dashboards\": { endpoint: \"GET /internal/apm/services/{serviceName}/dashboards\"; params?: ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ serviceName: ", + "StringC", + "; }>; query: ", + "TypeC", + "<{ start: ", + "Type", + "; end: ", + "Type", + "; }>; }> | undefined; handler: ({}: ", + "APMRouteHandlerResources", + " & { params: { path: { serviceName: string; }; query: { start: number; end: number; }; }; }) => Promise<{ serviceDashboards: ", + "SavedApmCustomDashboard", + "[]; }>; } & ", + "APMRouteCreateOptions", + "; \"DELETE /internal/apm/custom-dashboard\": { endpoint: \"DELETE /internal/apm/custom-dashboard\"; params?: ", + "TypeC", + "<{ query: ", + "TypeC", + "<{ customDashboardId: ", + "StringC", + "; }>; }> | undefined; handler: ({}: ", + "APMRouteHandlerResources", + " & { params: { query: { customDashboardId: string; }; }; }) => Promise; } & ", + "APMRouteCreateOptions", + "; \"POST /internal/apm/custom-dashboard\": { endpoint: \"POST /internal/apm/custom-dashboard\"; params?: ", + "TypeC", + "<{ query: ", + "UnionC", + "<[", + "PartialC", + "<{ customDashboardId: ", + "StringC", + "; }>, ", + "UndefinedC", + "]>; body: ", + "TypeC", + "<{ dashboardSavedObjectId: ", + "StringC", + "; kuery: ", + "UnionC", + "<[", + "StringC", + ", ", + "UndefinedC", + "]>; serviceNameFilterEnabled: ", + "BooleanC", + "; serviceEnvironmentFilterEnabled: ", + "BooleanC", + "; }>; }> | undefined; handler: ({}: ", + "APMRouteHandlerResources", + " & { params: { query: { customDashboardId?: string | undefined; } | undefined; body: { dashboardSavedObjectId: string; kuery: string | undefined; serviceNameFilterEnabled: boolean; serviceEnvironmentFilterEnabled: boolean; }; }; }) => Promise<", + "SavedApmCustomDashboard", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/profiling/functions\": { endpoint: \"GET /internal/apm/services/{serviceName}/profiling/functions\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -5804,14 +5862,58 @@ "<{ serviceName: ", "StringC", "; }>; query: ", + "IntersectionC", + "<[", "TypeC", "<{ start: ", "Type", "; end: ", "Type", - "; }>; }> | undefined; handler: ({}: ", + "; }>, ", + "TypeC", + "<{ documentType: ", + "UnionC", + "<[", + "LiteralC", + "<", + "ApmDocumentType", + ".ServiceTransactionMetric>, ", + "LiteralC", + "<", + "ApmDocumentType", + ".TransactionMetric>, ", + "LiteralC", + "<", + "ApmDocumentType", + ".TransactionEvent>]>; rollupInterval: ", + "UnionC", + "<[", + "LiteralC", + "<", + "RollupInterval", + ".OneMinute>, ", + "LiteralC", + "<", + "RollupInterval", + ".TenMinutes>, ", + "LiteralC", + "<", + "RollupInterval", + ".SixtyMinutes>, ", + "LiteralC", + "<", + "RollupInterval", + ".None>]>; }>]>; }> | undefined; handler: ({}: ", "APMRouteHandlerResources", - " & { params: { path: { serviceName: string; }; query: { start: number; end: number; }; }; }) => Promise<", + " & { params: { path: { serviceName: string; }; query: { start: number; end: number; } & { documentType: ", + "ApmDocumentType", + ".TransactionMetric | ", + "ApmDocumentType", + ".ServiceTransactionMetric | ", + "ApmDocumentType", + ".TransactionEvent; rollupInterval: ", + "RollupInterval", + "; }; }; }) => Promise<", "ServiceTransactionTypesResponse", ">; } & ", "APMRouteCreateOptions", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index d5b282e16b2485..00df9f3ae880c0 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) for ques | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 29 | 0 | 29 | 119 | +| 29 | 0 | 29 | 120 | ## Client diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index c1f3e881586cde..303aff25799ab7 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 5d41485cc50fd2..5c4a95c5c063a7 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index b51040e21c7279..2b20563d9f23dc 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-10-03 +date: 2023-10-04 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 f6d9e07f6cb194..82a2760aa19903 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-10-03 +date: 2023-10-04 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 91a6c773f6c918..756c31a5943146 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-10-03 +date: 2023-10-04 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 dfdd206e0dabd3..a41b8226a310d5 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-10-03 +date: 2023-10-04 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 2b8e630e610175..df951a523d01c9 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-10-03 +date: 2023-10-04 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 40855bcdb7a6ea..059e6302d2a858 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-10-03 +date: 2023-10-04 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 6020e292416de6..e7ac64c0a45b73 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-10-03 +date: 2023-10-04 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 3e5da871f46b92..41275f4aba27e8 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index b6d83bc2c8d2ee..2d3eb40d33976c 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 790fc9bddf0086..6d31a18297b044 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-10-03 +date: 2023-10-04 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 1679a5b22c7e04..aa95d1e752b655 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-10-03 +date: 2023-10-04 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 5b78a80a6516bd..ce5120e848d2c3 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-10-03 +date: 2023-10-04 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 abe8e403bdf60f..ca34f2c954ae9b 100644 --- a/api_docs/controls.devdocs.json +++ b/api_docs/controls.devdocs.json @@ -6045,6 +6045,68 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "controls", + "id": "def-common.generateNewControlIds", + "type": "Function", + "tags": [], + "label": "generateNewControlIds", + "description": [], + "signature": [ + "(controlGroupInput?: ", + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.PersistableControlGroupInput", + "text": "PersistableControlGroupInput" + }, + " | undefined) => { panels: ", + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.ControlsPanels", + "text": "ControlsPanels" + }, + "; controlStyle: ", + "ControlStyle", + "; ignoreParentSettings?: ", + "ParentIgnoreSettings", + " | undefined; chainingSystem: ", + "ControlGroupChainingSystem", + "; } | undefined" + ], + "path": "src/plugins/controls/common/control_group/control_group_persistence.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "controls", + "id": "def-common.generateNewControlIds.$1", + "type": "Object", + "tags": [], + "label": "controlGroupInput", + "description": [], + "signature": [ + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.PersistableControlGroupInput", + "text": "PersistableControlGroupInput" + }, + " | undefined" + ], + "path": "src/plugins/controls/common/control_group/control_group_persistence.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "controls", "id": "def-common.getDefaultControlGroupInput", diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index e0f16902995ae7..eff0f089f8eb74 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-10-03 +date: 2023-10-04 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 | |-------------------|-----------|------------------------|-----------------| -| 309 | 0 | 302 | 16 | +| 311 | 0 | 304 | 16 | ## Client diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 08e128500d8396..35ee99b6b5e7cd 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index ee4ef45ec9fae2..088e364318f89a 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index e265a1f2e66269..412b45bf97d744 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index 86b1188504ad7e..6597f73d9a969d 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -13670,10 +13670,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/public/app/hooks/use_search_items/common.ts" @@ -21415,10 +21411,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/public/app/hooks/use_search_items/common.ts" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index a473b80e58d231..3709c8ab988c65 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 5f5cefcab0fc58..0afd41cff92a87 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-10-03 +date: 2023-10-04 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 4a94497cb10e5f..f9460e94e9899c 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 7bdc9b4cbbc574..03846af7220a72 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-10-03 +date: 2023-10-04 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 9971996e109517..5744ba4b8bbf25 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-10-03 +date: 2023-10-04 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 6f30e2c306f7b1..952e15de74e119 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index aa6f12fb292d74..fae636cd7d5520 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -627,10 +627,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/public/app/hooks/use_search_items/common.ts" @@ -8620,10 +8616,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/public/app/hooks/use_search_items/common.ts" @@ -15674,10 +15666,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx" - }, { "plugin": "transform", "path": "x-pack/plugins/transform/public/app/hooks/use_search_items/common.ts" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 019269f51387d1..93b0f65f9101be 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-10-03 +date: 2023-10-04 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 dba229fd4957f6..e5d3358eb677f6 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 419544259e2025..e1a1b3a004005d 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -139,7 +139,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core | - | | | @kbn/core-plugins-server-internal | - | | | security, aiops, licenseManagement, ml, profiling, apm, crossClusterReplication, logstash, painlessLab, searchprofiler, watcher | 8.8.0 | -| | spaces, security, actions, alerting, ml, remoteClusters, graph, indexLifecycleManagement, mapsEms, osquery, securitySolution, painlessLab, rollup, searchprofiler, snapshotRestore, transform, upgradeAssistant | 8.8.0 | +| | spaces, security, actions, alerting, aiops, ml, remoteClusters, graph, indexLifecycleManagement, mapsEms, osquery, securitySolution, painlessLab, rollup, searchprofiler, snapshotRestore, transform, upgradeAssistant | 8.8.0 | | | apm, fleet, security, securitySolution | 8.8.0 | | | apm, fleet, security, securitySolution | 8.8.0 | | | spaces, security, alerting | 8.8.0 | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 4c55254532c926..9bc8d03a4ce6ec 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -381,6 +381,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | ---------------|-----------|-----------| | | [embeddable_change_point_chart.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/aiops/public/embeddable/embeddable_change_point_chart.tsx#:~:text=KibanaThemeProvider), [embeddable_change_point_chart.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/aiops/public/embeddable/embeddable_change_point_chart.tsx#:~:text=KibanaThemeProvider), [embeddable_change_point_chart.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/aiops/public/embeddable/embeddable_change_point_chart.tsx#:~:text=KibanaThemeProvider) | - | | | [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/aiops/public/plugin.tsx#:~:text=license%24) | 8.8.0 | +| | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/aiops/server/plugin.ts#:~:text=license%24) | 8.8.0 | | | [search_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/aiops/public/application/utils/search_utils.ts#:~:text=SimpleSavedObject), [search_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/aiops/public/application/utils/search_utils.ts#:~:text=SimpleSavedObject) | - | @@ -1465,12 +1466,12 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 12 more | - | | | [dependencies_start_mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/endpoint/dependencies_start_mock.ts#:~:text=indexPatterns) | - | | | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 78 more | - | -| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 30 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 28 more | - | | | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.ts#:~:text=create) | - | | | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch) | - | | | [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/eql/api.ts#:~:text=options) | - | -| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 30 more | - | -| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 10 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 28 more | - | +| | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 9 more | - | | | [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/saved_objects.ts#:~:text=toMountPoint)+ 3 more | - | | | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider) | - | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 86a346dcc28d9a..b9d10871a4d392 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -120,7 +120,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| | ml | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/plugin.ts#:~:text=license%24), [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/aiops/public/plugin.tsx#:~:text=license%24) | 8.8.0 | -| ml | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/plugin.ts#:~:text=license%24), [license.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/transform/server/services/license.ts#:~:text=license%24) | 8.8.0 | +| ml | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/plugin.ts#:~:text=license%24), [license.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/transform/server/services/license.ts#:~:text=license%24), [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/aiops/server/plugin.ts#:~:text=license%24) | 8.8.0 | diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 14fcfc6eb2dc0b..238ae40d31a40d 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-10-03 +date: 2023-10-04 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 17da7c6e8ac835..068620922588db 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-10-03 +date: 2023-10-04 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 639642ccde073a..7390866525e158 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 76cca1b6fe0147..a99c2f8eb14118 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-10-03 +date: 2023-10-04 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 e83988ce14e679..2a80ba9cd8783c 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-10-03 +date: 2023-10-04 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 118057dd7d3010..00deb995b5c954 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-10-03 +date: 2023-10-04 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 d7f3bd4789069c..f2ff6b7d655d93 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-10-03 +date: 2023-10-04 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 4227073a250755..92df92379c1a49 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-10-03 +date: 2023-10-04 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 ef1581797820c3..8ba7beec0ce61b 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index 74cb7b5ce06a6f..222295607199b3 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 6f75f1be2cf076..9cebdbcb838fd3 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-10-03 +date: 2023-10-04 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 a4cc63566d0614..1d4b555eb678d9 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-10-03 +date: 2023-10-04 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 9a7d4b8b6fb3a9..8c6c6cd16ff30c 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-10-03 +date: 2023-10-04 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 d6a5a18bb049e8..37d670daa555df 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-10-03 +date: 2023-10-04 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 6cc61b692eb930..1b9a91b390ed8b 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-10-03 +date: 2023-10-04 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 4c434a034fc2a1..8226afed10eb6e 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-10-03 +date: 2023-10-04 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 c81c27fe290f17..81a0266817e704 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-10-03 +date: 2023-10-04 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 7f4fa034e7a566..7c7bff6beab7f8 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-10-03 +date: 2023-10-04 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 df80ced15c1fc5..1533707c0d55c1 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-10-03 +date: 2023-10-04 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 1ea36d6f5c6c55..453e5dccca4da5 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-10-03 +date: 2023-10-04 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 acc562223d9d1e..8256b7a4d25fe0 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-10-03 +date: 2023-10-04 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 7aed3941ccd912..0bcd2e1c069e10 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-10-03 +date: 2023-10-04 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 3226452595b6a8..08fdea666da302 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-10-03 +date: 2023-10-04 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 1a8ff18f949626..2ad70d81f0db3a 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-10-03 +date: 2023-10-04 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 2520892eddd7d6..5506a938d0ff2b 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-10-03 +date: 2023-10-04 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 ac6ddd05c4abd0..a6aaa2f548e18c 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-10-03 +date: 2023-10-04 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 d81c138919e0eb..e5c6384f99c4c0 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-10-03 +date: 2023-10-04 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 dd479890b39ab5..7b70d059e62855 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-10-03 +date: 2023-10-04 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 1d11dc93166b01..1eea9336254fba 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-10-03 +date: 2023-10-04 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 0dd7d019130009..a7f8564a4da2bf 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 6a15156dc00fbc..574406b54f72ed 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-10-03 +date: 2023-10-04 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 ffb8f75442c5d6..29e2a7e7ee869a 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-10-03 +date: 2023-10-04 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 df12ecc432db67..babd1ad4101ad2 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-10-03 +date: 2023-10-04 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 eb1515947b6281..848e80c4294f30 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-10-03 +date: 2023-10-04 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 311c2d90636942..3b4f019aa6cee4 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-10-03 +date: 2023-10-04 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 0c1557f00bb457..1362b9f2bcaddb 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-10-03 +date: 2023-10-04 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 8f440cc95a0112..c3ac645b733859 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-10-03 +date: 2023-10-04 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 cb74be56d54131..660b526285c731 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-10-03 +date: 2023-10-04 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 7a32b30be56100..2d60d18aed9beb 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-10-03 +date: 2023-10-04 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 15d1271acb4464..a8de4544181668 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index 17f3a9e594f06e..59449d9c99d556 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 119cf2660fe556..dc3ec65a000d3d 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index 95e5e76a9058ad..b63a05e5cd7212 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index c15ed2b1649570..eddc7c3011213f 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index fdd8996e227394..c2b12c2585d791 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index 0ac64b2e53ac58..17395efff2aa78 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 11013aa1805aaf..0b109ce3d397ed 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index bf29c16a3184f9..b36a24fae1c6b7 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 711b62fb0ffa23..700b5e310e7843 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 6c77e59c3bdf74..629f986829a637 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-10-03 +date: 2023-10-04 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 622ffabf84ffdd..f4ce75294b55c3 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index af7246b8ec0066..e4cd3e8f0b593e 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index 9a4c60041f7393..050ac31dab5027 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index 96f8d191e74f60..46c29a791c7955 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index 33eb32bcace3a0..da46224b109bf6 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index 8bba87a242d496..7645fcf4d2d94d 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 54a227ec3c8e4c..d4461115614b92 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index dfc6e7119d6c62..a426de3247da48 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 435cd177d38623..311ce4475a935c 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-10-03 +date: 2023-10-04 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 972441d77b5412..838e32eb9a2620 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 0eea1ac5a583f7..97a176d0061592 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index a9604dc24c2c1a..eae91b473cb53e 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 86a26091bee341..e71bfdca410947 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 455dfad92b250a..f510d835d4e322 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-10-03 +date: 2023-10-04 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 4ab10a99e81a49..390edf689fbbdd 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-10-03 +date: 2023-10-04 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 3a3304bbe253cb..3cc18b1c2d5170 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-10-03 +date: 2023-10-04 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 4b94db54724943..7c0c354823b907 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-10-03 +date: 2023-10-04 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 391ff5e0ba1b38..8eb28b43c63b81 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-10-03 +date: 2023-10-04 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 f916bab085bb55..1ce5c5f2274d97 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-10-03 +date: 2023-10-04 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 f96bb8172e1b2d..7da38d1ded8fa5 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 49c1fe515c925b..7f2d3c5a5c82b4 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 2d2e07689660b2..c9e201e7e662c7 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index a14916519cabd6..25b484ce3e5f06 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-10-03 +date: 2023-10-04 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 a0dc27b59df5fb..adfb1aa3fca7f7 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-10-03 +date: 2023-10-04 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 7d55cdbc1b43df..355fa2434225f5 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 66c9c83ec8a6c1..abe297cfee59e9 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-10-03 +date: 2023-10-04 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 85fc2b4ef160af..1fe4613e66472a 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index f358121c1e786f..efe1b163da05e0 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-10-03 +date: 2023-10-04 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 8233e8e38ada6a..88878002f71365 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 47b51b988df95e..ad683c3f39712f 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index fb3d47f36e9539..3cbce545bae6a7 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 b7bc9812427549..96fc9b553ec799 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 591e6054d5ccf5..8d03118fe4acc2 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 69293c25e96ea5..34a4579235f353 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 f28e929c72c3e6..1f9f99069c43c6 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-10-03 +date: 2023-10-04 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 a46ef0d3718c7d..c9678edd1a781c 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 393dd5492704de..087da7b66a7fe9 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 09f14eeb19884e..bb23b12e8ea9dd 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 fece4f2fdf3c3a..281ce961849885 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 4ce3449d8a4f7e..6cebcbf3745d0d 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 02f01a938b47ac..cc6cd6f93f082e 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-10-03 +date: 2023-10-04 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 e32a6ccf183f9e..d73e4c10578b10 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 b07c5a804dbad5..9c1cdf6c52abcb 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 29914546f83afe..f615c70a4ad853 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 0a6acf72ed3e3e..7c630ed3543d49 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 cbd846523d9a8d..c86578d403d063 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-10-03 +date: 2023-10-04 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 93479c8de44bea..8ae992ea3a230d 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 ef819d2ced1cdc..fe17576adfb01c 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 721280a5730b6a..7f19981f3d57f7 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 3a1a0622305d95..c9f49f69623421 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-10-03 +date: 2023-10-04 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 4e86f3e2780558..664bb01c9b9f90 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-10-03 +date: 2023-10-04 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 980e8b3aa7749f..bf7d1d0a267219 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 52f27f013fc45e..1ed5d87c0543af 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 18ae872c1f1df7..b6204480a80994 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 6a0984948ed4d6..969ca5a6d49c2f 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 63eb8500ee7adc..7289c0475cfdf1 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 eb21e58ac7bc66..57907642925c0b 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 cdd3b08f5931b9..ff9c0782883549 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 e98ff23262c7f6..83fa6093365749 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-10-03 +date: 2023-10-04 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 b7c564cf3eb285..98b99cfc39b139 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-10-03 +date: 2023-10-04 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 411308e1a35a37..d77dcbb1524419 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 1e3ff95472227a..957b6753dc31a1 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 f72cb45c672b85..dd9b8abf41be7a 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 1718544bf9cbb4..ac7571da0b2dbf 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 72b86ed7229529..5efb83f3307bd2 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 1a3cfb1b7e41e3..0e9c94a9269c30 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-10-03 +date: 2023-10-04 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 40fd9b4254459b..7920bd09002220 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-10-03 +date: 2023-10-04 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 9ba765d5b6edd1..8a772cadb6f333 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 32f3b1a4310c42..342cbf06052ceb 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 dbce97ed8139b5..15d00fa8a9c0af 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 b8bebcacd13ee7..a270167e53110a 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 7e7a99817f6335..a7e257b21e6863 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-10-03 +date: 2023-10-04 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 15250578f80895..527ec2f5df9fbd 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 b9d3840a52a033..be7963a1bb8ebc 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 3acd4d2cc710b8..21a60d25046fd6 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 1136fb571b293b..3af0a99784b751 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-10-03 +date: 2023-10-04 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 daa6523d60a2f2..f49735b9b263ae 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 130b30d8211a00..0f1604993ebbb3 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 d68dab225210ce..bbe87b748077d1 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 8ad822c48e56d9..3f20471c1931d5 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 2cd421e0350056..068ce3276dcaa5 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 347de818e09873..b7d1d6977cc0e6 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 e2234a70e32cf6..557c3d83a16640 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 8a9a494e2d7b73..526d856120728b 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-10-03 +date: 2023-10-04 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 10e1b351ee3ba8..fb4b13e04f778f 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-10-03 +date: 2023-10-04 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 33d713cdad1fc1..416305d3304c15 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 9054924d9632aa..82cb2abc519aa8 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 29e040e53524b0..b77b9ec5b5bf9c 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 6e7c96316b0059..d418bd45971bec 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index ae453698208338..4d8aed97b127a2 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 baafd675f507fc..22aca6a0bab37a 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 557bd3b7ca668b..8964716d4d7d14 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 daa78d3be8e0f7..513e082be4958e 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-10-03 +date: 2023-10-04 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 b3f53ac0ab28ab..fec6873ab6b719 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 f93c38cbe02307..ef4148d762d89e 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-10-03 +date: 2023-10-04 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 165dd9bcdc4420..27bf92d460a94d 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-10-03 +date: 2023-10-04 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 959ef1078922ae..ac32abd746c73b 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 26f188039bbb89..4f9ade14cffc44 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 cfe686508e1a10..2a590a816ee797 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 167fa2468fd79f..9985d442babd6a 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 8e3a44972fa2e0..52c4d79d9fc03f 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -4291,22 +4291,6 @@ "plugin": "monitoring", "path": "x-pack/plugins/monitoring/server/plugin.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timeline/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/resolve_timeline/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/get_draft_timelines/index.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" @@ -6077,6 +6061,10 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/update_flapping_settings.ts" }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/bulk_untrack/bulk_untrack_alert_route.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/maintenance_window/apis/create/create_maintenance_window_route.ts" @@ -6701,26 +6689,6 @@ "plugin": "monitoring", "path": "x-pack/plugins/monitoring/server/plugin.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/create_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/import_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/prepackaged_timelines/install_prepackaged_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/export_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/clean_draft_timelines/index.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" @@ -6785,6 +6753,10 @@ "plugin": "snapshotRestore", "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" }, + { + "plugin": "stackConnectors", + "path": "x-pack/plugins/stack_connectors/server/routes/valid_slack_api_channels.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/synthetics/server/server.ts" @@ -8597,22 +8569,6 @@ "plugin": "infra", "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/patch_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/persist_favorite/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/notes/persist_note.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/pinned_events/persist_pinned_event.ts" - }, { "plugin": "@kbn/core-http-router-server-internal", "path": "packages/core/http/core-http-router-server-internal/src/router.ts" @@ -9119,14 +9075,6 @@ "plugin": "logstash", "path": "x-pack/plugins/logstash/server/routes/pipeline/delete.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/delete_timelines/index.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/notes/delete_note.ts" - }, { "plugin": "reporting", "path": "x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts" @@ -13473,6 +13421,22 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/privileges/read_privileges_route.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timeline/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/resolve_timeline/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/get_draft_timelines/index.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/telemetry/telemetry_detection_rules_preview_route.ts" @@ -14557,6 +14521,18 @@ "plugin": "maps", "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/create_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/import_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/prepackaged_timelines/install_prepackaged_timelines/index.ts" + }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/routes/live_query/create_live_query_route.ts" @@ -14665,6 +14641,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/open_close_signals_route.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/export_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/clean_draft_timelines/index.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/indices/delete_indices_route.ts" @@ -14953,6 +14937,22 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/patch_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/persist_favorite/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/notes/persist_note.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/pinned_events/persist_pinned_event.ts" + }, { "plugin": "@kbn/core-http-router-server-internal", "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts" @@ -15161,6 +15161,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/delete_index_route.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/delete_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/notes/delete_note.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/stored_scripts/delete_script_route.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 076338f11afd56..c90bf8799f663f 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-10-03 +date: 2023-10-04 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 4c4ce150a6795a..532b7a6bf1ca7c 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 e2f170268cfbf6..fe959d8f5d1a12 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 1faca0d8530814..12444c9c0b8a4d 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 97d4eab6e5dbed..1bcd6ea14bd11d 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 7e6a3de30ca062..1b168c74b8b589 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-10-03 +date: 2023-10-04 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 94b3cf0e6622d5..db79b11229bb40 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 9ee5bcfc76eee1..b28d89e823714b 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 1774b61303f952..bda20eb0738528 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 acdeda1426d19e..152ec865a023c4 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 20ddafa360f4b0..0e648f41445e73 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 e4f24b2b7c50ea..92043c6e048f4c 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 0242cf4f4fc8ad..d80f89e60458f9 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 7cd438589fe03f..5f6874f0f947e3 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-10-03 +date: 2023-10-04 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 b47762565fe3c3..e09c0816da08cb 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 4db400d544492a..56982d0b02411b 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 33fac30696ff67..7b210b2e1c9775 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 d9488ef55f67f5..8faee45bb3cb18 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-10-03 +date: 2023-10-04 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 48616b4dc65103..c9066c2d388bc5 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 e78cc651df9431..f8741125c30fa2 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 46770c82d70f0d..eaf4235e559301 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 f0e50c25f73473..377853939d0537 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 4020b2469882a6..a1ed8bca0727b7 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-10-03 +date: 2023-10-04 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 4c48b63718627d..c9791e4c7292f7 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 6edfc4e9f4e62d..ca5fdeb6a2128b 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 96c7a3990e8ad4..1bbbf0ffa6665f 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 f3b9c391b5b70d..c2cc20277c4489 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-10-03 +date: 2023-10-04 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 e485a6b278fe52..18aa7bd3406159 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 c833e926dc07cd..c8ca73f4c2e605 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 087447e8b43594..260f7af02d28d6 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 077398845e7bc6..20dc5d68a4a93a 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 333470c41996c6..7af7dbcf72952a 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 f281de72e52ed9..73345e735c135c 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 3a32bc9f99e190..270b1c8f60f017 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 e1f66080471686..9acd2c768be29f 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 daedca04e91327..bc66a8dd4177e7 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 bf737e6c1f3e6c..83ba09196d96f6 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 5dc2822ca01a15..db4d1acf2e5cde 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-10-03 +date: 2023-10-04 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 1245472dde6c70..a04c45abece2b8 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 ef919b8fe7f12b..7593a5b6f3d98a 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-10-03 +date: 2023-10-04 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 a49baeb8d3b823..a2740a34940a3e 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 668ff48d43927c..f1f2d95bf25317 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 34fbe5e8427b47..50343f33cf49e2 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 14335ac162d38e..a339dd100da348 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 49ad26c6a7cac7..58a91703173127 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 b17207b85e37a4..151f4b06601064 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 c7da95039f63d0..b102b1093b2227 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-10-03 +date: 2023-10-04 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 2ddc4e84fcc5fd..32dd08ca19744f 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 1335d3594c62d4..21ec40e2563c03 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 9be7cf2024b549..23df10d67f7e41 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 17581970cdc7e1..7c91d9670245b3 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 bce8b40d34ae33..9880adee6e7812 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 8dde01099a5e61..8d5ce601b5d226 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 0234adc4c6d77b..c21a4af02a9f46 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-10-03 +date: 2023-10-04 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 749604b0d5be84..bf157cd79ce30b 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 3999f398bdabf1..6ba2e53ec11c5e 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 3bd0cf2dd68b74..8d8fb5a9f1b8ae 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 0d419ea99c8e70..3ab30ff55eeede 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 0efcb66582ce21..3efc97ac9b0508 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-10-03 +date: 2023-10-04 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 42d213880d3202..3cfcb0706e2adf 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 b8fd27082ae5f6..0408a171e7978e 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 cb46b1b346679b..7f179227ab3752 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index 2d2a842c2f4885..e9b61ff7b99f7d 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-10-03 +date: 2023-10-04 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 e838dc7403a579..e1faad06d61486 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 095595bebab250..3ed39cb6c294cb 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-10-03 +date: 2023-10-04 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 3ccca355ddc9fd..3e8b3cb6b2ed00 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 506ae9016934cd..504cb4a1ed8713 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 0f0c80ec261d9b..310b482ee0d34f 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-10-03 +date: 2023-10-04 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 bf49208bfacdf9..3380018fdfba3e 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 8b5cecde6606aa..1a71653a78e28c 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-10-03 +date: 2023-10-04 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 74c98b048ebb33..3006ade1531530 100644 --- a/api_docs/kbn_core_test_helpers_model_versions.mdx +++ b/api_docs/kbn_core_test_helpers_model_versions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions title: "@kbn/core-test-helpers-model-versions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-model-versions plugin -date: 2023-10-03 +date: 2023-10-04 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 4b102159d054fb..c23537c785d7b9 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-10-03 +date: 2023-10-04 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 cab73f2367ff3b..df3d8c0bda5777 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 e7ca95d3234d0d..54aa802f18b17b 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 1ec41ccf5e166d..6b4bb2377720f2 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 b4ae27e566664f..d1c43f217cfa08 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 93ad57f6a34fac..0c8a899aba681e 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 21135b30cb7a1c..ca3f405e911a2c 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 1da88bab3c6f1e..6297dd680a2650 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-10-03 +date: 2023-10-04 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 676f07cebb4b2d..b6994aacb6b79c 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-10-03 +date: 2023-10-04 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 a7175c4cb56025..f5eead18510aad 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 699d93cd968648..2d483f19188998 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 9f01c12af0f23f..f73dbb3ec7f2cb 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-10-03 +date: 2023-10-04 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 127a790404c220..310ed94c638305 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 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 6181fee2aeee0f..3536f096d9dd52 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 80ba7f8fc7c729..fd17d4fed17d73 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index ebf6ab1485f7d8..58c629c9416158 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 7a7af889154c8e..df98672012180b 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 62c7d8b695a71d..ad88ceb2104ebe 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-10-03 +date: 2023-10-04 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 4343bbbb85f069..5d2a239ab71de7 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index 4944921bb3bafd..a69548f8adc4f4 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-10-03 +date: 2023-10-04 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 4cf916b85864f1..f9cbc955ef98f5 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 0fe975d11b716d..eddf3cc1798712 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 4f2a8db32d0eca..15f52e0102c702 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-10-03 +date: 2023-10-04 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 b65b7016361bc9..bcf03f43a13601 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-10-03 +date: 2023-10-04 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 cc8829c98715b8..4a7619a98d5844 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index ade38f11c01e3d..45d2dd65edec5b 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-10-03 +date: 2023-10-04 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 cf4187790083ab..e87e7d58c6db10 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-10-03 +date: 2023-10-04 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 a3cc4b6c1e7d4e..3281642e94f6a3 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-10-03 +date: 2023-10-04 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 d6650630b23688..27da2bb89123da 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index ba7929ffcec6b5..65c410e3da692d 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-10-03 +date: 2023-10-04 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 706416b9d5f3e3..c57f48430a7417 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-10-03 +date: 2023-10-04 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 91534499712c4d..3599cf73e846b8 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-10-03 +date: 2023-10-04 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 8062d2d817d729..5ff8ccb2e98848 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-10-03 +date: 2023-10-04 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 85bad7bfecb78e..5366921bffaaa9 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-10-03 +date: 2023-10-04 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 ae6f6f9a2dc245..aa883146383265 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-10-03 +date: 2023-10-04 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 f0b050982d23e0..d4c5cec74fdccf 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-10-03 +date: 2023-10-04 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 a3c1a49fc65840..2937bcffe4e21e 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index b3dfb5dbb725d2..a225f6c0a0a087 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.devdocs.json b/api_docs/kbn_doc_links.devdocs.json index 2d0cb600191dfb..b52457797ba8f7 100644 --- a/api_docs/kbn_doc_links.devdocs.json +++ b/api_docs/kbn_doc_links.devdocs.json @@ -300,7 +300,7 @@ "label": "enterpriseSearch", "description": [], "signature": [ - "{ readonly aiSearchDoc: string; readonly aiSearchHelp: string; readonly apiKeys: string; readonly behavioralAnalytics: string; readonly behavioralAnalyticsCORS: string; readonly behavioralAnalyticsEvents: string; readonly buildConnector: string; readonly bulkApi: string; readonly configuration: string; readonly connectors: string; readonly connectorsAzureBlobStorage: string; readonly connectorsClients: string; readonly connectorsConfluence: string; readonly connectorsContentExtraction: string; readonly connectorsDropbox: string; readonly connectorsGithub: string; readonly connectorsGoogleCloudStorage: string; readonly connectorsGoogleDrive: string; readonly connectorsGmail: string; readonly connectorsJira: string; readonly connectorsMicrosoftSQL: string; readonly connectorsMongoDB: string; readonly connectorsMySQL: string; readonly connectorsNative: string; readonly connectorsNetworkDrive: string; readonly connectorsOneDrive: string; readonly connectorsOracle: string; readonly connectorsPostgreSQL: string; readonly connectorsS3: string; readonly connectorsSalesforce: string; readonly connectorsServiceNow: string; readonly connectorsSharepoint: string; readonly connectorsSharepointOnline: string; readonly connectorsSlack: string; readonly connectorsWorkplaceSearch: string; readonly crawlerExtractionRules: string; readonly crawlerManaging: string; readonly crawlerOverview: string; readonly deployTrainedModels: string; readonly documentLevelSecurity: string; readonly elser: string; readonly engines: string; readonly indexApi: string; readonly ingestionApis: string; readonly ingestPipelines: string; readonly knnSearch: string; readonly knnSearchCombine: string; readonly languageAnalyzers: string; readonly languageClients: string; readonly licenseManagement: string; readonly machineLearningStart: string; readonly mailService: string; readonly mlDocumentEnrichment: string; readonly mlDocumentEnrichmentUpdateMappings: string; readonly searchApplicationsTemplates: string; readonly searchApplicationsSearchApi: string; readonly searchApplications: string; readonly searchApplicationsSearch: string; readonly searchLabs: string; readonly searchLabsRepo: string; readonly searchTemplates: string; readonly start: string; readonly supportedNlpModels: string; readonly syncRules: string; readonly trainedModels: string; readonly textEmbedding: string; readonly troubleshootSetup: string; readonly usersAccess: string; }" + "{ readonly aiSearchDoc: string; readonly aiSearchHelp: string; readonly apiKeys: string; readonly behavioralAnalytics: string; readonly behavioralAnalyticsCORS: string; readonly behavioralAnalyticsEvents: string; readonly buildConnector: string; readonly bulkApi: string; readonly configuration: string; readonly connectors: string; readonly connectorsAzureBlobStorage: string; readonly connectorsBox: string; readonly connectorsClients: string; readonly connectorsConfluence: string; readonly connectorsContentExtraction: string; readonly connectorsDropbox: string; readonly connectorsGithub: string; readonly connectorsGoogleCloudStorage: string; readonly connectorsGoogleDrive: string; readonly connectorsGmail: string; readonly connectorsJira: string; readonly connectorsMicrosoftSQL: string; readonly connectorsMongoDB: string; readonly connectorsMySQL: string; readonly connectorsNative: string; readonly connectorsNetworkDrive: string; readonly connectorsOneDrive: string; readonly connectorsOracle: string; readonly connectorsOutlook: string; readonly connectorsPostgreSQL: string; readonly connectorsS3: string; readonly connectorsSalesforce: string; readonly connectorsServiceNow: string; readonly connectorsSharepoint: string; readonly connectorsSharepointOnline: string; readonly connectorsTeams: string; readonly connectorsSlack: string; readonly connectorsWorkplaceSearch: string; readonly connectorsZoom: string; readonly crawlerExtractionRules: string; readonly crawlerManaging: string; readonly crawlerOverview: string; readonly deployTrainedModels: string; readonly documentLevelSecurity: string; readonly elser: string; readonly engines: string; readonly indexApi: string; readonly ingestionApis: string; readonly ingestPipelines: string; readonly knnSearch: string; readonly knnSearchCombine: string; readonly languageAnalyzers: string; readonly languageClients: string; readonly licenseManagement: string; readonly machineLearningStart: string; readonly mailService: string; readonly mlDocumentEnrichment: string; readonly mlDocumentEnrichmentUpdateMappings: string; readonly searchApplicationsTemplates: string; readonly searchApplicationsSearchApi: string; readonly searchApplications: string; readonly searchApplicationsSearch: string; readonly searchLabs: string; readonly searchLabsRepo: string; readonly searchTemplates: string; readonly start: string; readonly supportedNlpModels: string; readonly syncRules: string; readonly trainedModels: string; readonly textEmbedding: string; readonly troubleshootSetup: string; readonly usersAccess: string; }" ], "path": "packages/kbn-doc-links/src/types.ts", "deprecated": false, diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 5d404f88e48d03..0bc1a8c54d0426 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-10-03 +date: 2023-10-04 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 a08b1e57f5ebcc..695014c4e8cfaf 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 4c1c7e0fea79b5..58159568bf8f21 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-10-03 +date: 2023-10-04 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 7c35cfcde2f0f9..7166a84534dcc0 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 6c395da2a40478..5444ac72403852 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 66acc6b9984b61..77f3fa578d6cd7 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.devdocs.json b/api_docs/kbn_elastic_assistant.devdocs.json index b507435efa60c9..ba744cf57e0c13 100644 --- a/api_docs/kbn_elastic_assistant.devdocs.json +++ b/api_docs/kbn_elastic_assistant.devdocs.json @@ -159,7 +159,7 @@ "label": "AssistantProvider", "description": [], "signature": [ - "({ actionTypeRegistry, assistantAvailability, assistantLangChain, assistantTelemetry, augmentMessageCodeBlocks, baseAllow, baseAllowReplacement, defaultAllow, defaultAllowReplacement, docLinks, basePath, basePromptContexts, baseQuickPrompts, baseSystemPrompts, children, getComments, http, getInitialConversations, nameSpace, setConversations, setDefaultAllow, setDefaultAllowReplacement, title, }: React.PropsWithChildren<", + "({ actionTypeRegistry, assistantAvailability, assistantTelemetry, augmentMessageCodeBlocks, baseAllow, baseAllowReplacement, defaultAllow, defaultAllowReplacement, docLinks, basePath, basePromptContexts, baseQuickPrompts, baseSystemPrompts, children, getComments, http, getInitialConversations, modelEvaluatorEnabled, nameSpace, setConversations, setDefaultAllow, setDefaultAllowReplacement, title, }: React.PropsWithChildren<", "AssistantProviderProps", ">) => JSX.Element" ], @@ -172,7 +172,7 @@ "id": "def-public.AssistantProvider.$1", "type": "CompoundType", "tags": [], - "label": "{\n actionTypeRegistry,\n assistantAvailability,\n assistantLangChain,\n assistantTelemetry,\n augmentMessageCodeBlocks,\n baseAllow,\n baseAllowReplacement,\n defaultAllow,\n defaultAllowReplacement,\n docLinks,\n basePath,\n basePromptContexts = [],\n baseQuickPrompts = [],\n baseSystemPrompts = BASE_SYSTEM_PROMPTS,\n children,\n getComments,\n http,\n getInitialConversations,\n nameSpace = DEFAULT_ASSISTANT_NAMESPACE,\n setConversations,\n setDefaultAllow,\n setDefaultAllowReplacement,\n title = DEFAULT_ASSISTANT_TITLE,\n}", + "label": "{\n actionTypeRegistry,\n assistantAvailability,\n assistantTelemetry,\n augmentMessageCodeBlocks,\n baseAllow,\n baseAllowReplacement,\n defaultAllow,\n defaultAllowReplacement,\n docLinks,\n basePath,\n basePromptContexts = [],\n baseQuickPrompts = [],\n baseSystemPrompts = BASE_SYSTEM_PROMPTS,\n children,\n getComments,\n http,\n getInitialConversations,\n modelEvaluatorEnabled = false,\n nameSpace = DEFAULT_ASSISTANT_NAMESPACE,\n setConversations,\n setDefaultAllow,\n setDefaultAllowReplacement,\n title = DEFAULT_ASSISTANT_TITLE,\n}", "description": [], "signature": [ "React.PropsWithChildren<", diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 3b4649864e5466..cf859f629faa8b 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index f420346d1194de..7cbadfcc9827ae 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-10-03 +date: 2023-10-04 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 a3c94a69df7128..adecd141c7414b 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-10-03 +date: 2023-10-04 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 b21ec30ffc0feb..4ba938b7530522 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-10-03 +date: 2023-10-04 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 a536cf0af443ca..ccdcb3dba0e464 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-10-03 +date: 2023-10-04 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 3a1d2f10adab9b..030ac91b423f52 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-10-03 +date: 2023-10-04 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 8cabff8dc1c73f..7b476cd7fd11f1 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index c1d29d145ee99b..a7a12d3447cf05 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-10-03 +date: 2023-10-04 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 626142c5b17ddf..0bd569188da069 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-10-03 +date: 2023-10-04 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 cf7f8e0985075e..158edc5b86c65e 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-10-03 +date: 2023-10-04 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 ac2b4ff9c7e747..b6fbf7f7bb289e 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index af600c96ac78f5..6796b16f5237a0 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index e3b9484caa2775..07f237321de523 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 089531f75f8123..34e0d43faa94db 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-10-03 +date: 2023-10-04 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 a25b1279970f03..1738895575923a 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-10-03 +date: 2023-10-04 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 0403b9cf2ac1c4..719969da565e8c 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index 749460918dbbd2..810b40dc2640c0 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 01719e6531bb7e..406e4541e1d7fd 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-10-03 +date: 2023-10-04 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 2d6b7062337d7d..86dea148b967f8 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-10-03 +date: 2023-10-04 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 5a152305dcbfe8..9bf79be513a867 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 79d7a6295c7b29..f470d8f8a6cf44 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-10-03 +date: 2023-10-04 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 d9ed94233d1d92..3ad45637e66c3a 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-10-03 +date: 2023-10-04 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 43baa1ce06b610..57b4cf8b5aa432 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-10-03 +date: 2023-10-04 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 5100ccca5282a0..8ac2fe4cb76fed 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-10-03 +date: 2023-10-04 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 9062043a06f0bd..ac93215a664258 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-10-03 +date: 2023-10-04 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 f1aff6b0facef5..f47825f2f54ac7 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index a480a69f040f91..4cf3b9ce1c2139 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-10-03 +date: 2023-10-04 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 7082d532027032..85bb64c864a43c 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index bd68631626e35e..e869624164d7e7 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index a8f2027c07818f..87c2fa1d1a2b9a 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-10-03 +date: 2023-10-04 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 2d55f6d276bdb4..dad7dd81c0f744 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-10-03 +date: 2023-10-04 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 12ed507b63a133..e4877891dfddc9 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index b6f4e9c9f1a26c..4d50897248da09 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 8561357152e054..aabfd0fa99189a 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index 7d4fb78cdc850b..f50cb2a2a48899 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 8412701c35f74e..48595d9349706d 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-10-03 +date: 2023-10-04 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 d1062032bb4d68..30a6da003d0a02 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index 3a256ce0c29d36..f6d747ec952825 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-10-03 +date: 2023-10-04 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 89b853fe0af97a..a4415118cbca07 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-10-03 +date: 2023-10-04 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 888a83fb89550d..6c3a050991bd1e 100644 --- a/api_docs/kbn_management_settings_application.mdx +++ b/api_docs/kbn_management_settings_application.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application title: "@kbn/management-settings-application" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-application plugin -date: 2023-10-03 +date: 2023-10-04 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 e7bad6fd29dbb8..4c3ca9eeef4178 100644 --- a/api_docs/kbn_management_settings_components_field_category.mdx +++ b/api_docs/kbn_management_settings_components_field_category.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category title: "@kbn/management-settings-components-field-category" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-category plugin -date: 2023-10-03 +date: 2023-10-04 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 32127c9feae6c4..9bc2b8fa786ced 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-10-03 +date: 2023-10-04 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 1870817da32ee6..b28b93d6f6862f 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-10-03 +date: 2023-10-04 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 9071519c38b886..4bc51cc1695392 100644 --- a/api_docs/kbn_management_settings_components_form.mdx +++ b/api_docs/kbn_management_settings_components_form.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form title: "@kbn/management-settings-components-form" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-form plugin -date: 2023-10-03 +date: 2023-10-04 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 669c45fbcba169..d78504247f2271 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-10-03 +date: 2023-10-04 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 f36bc4ee8b27e8..f53797c3b7172d 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-10-03 +date: 2023-10-04 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 b387ea76704949..18c2b07f72d85a 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-10-03 +date: 2023-10-04 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 038e2943e53b64..18aeadde73881e 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-10-03 +date: 2023-10-04 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 d249ff374eb03b..caac16a9f5e321 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-10-03 +date: 2023-10-04 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 06b5897de95392..ac6eca560bd678 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index d4e06312a42bee..2712c4dbed2974 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-10-03 +date: 2023-10-04 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 9f887e3a0cfdcf..ca9e24e992fcb3 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 655af99dedd557..976bbcbaa80ef7 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 1ce67b8e472695..d7c9b0ae80fe54 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 53940bec9d3d39..1e14fd5e52cb74 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-10-03 +date: 2023-10-04 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 e42320480bbf90..3990a8bfc55b13 100644 --- a/api_docs/kbn_ml_chi2test.mdx +++ b/api_docs/kbn_ml_chi2test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test title: "@kbn/ml-chi2test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-chi2test plugin -date: 2023-10-03 +date: 2023-10-04 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 0fa059dd284f7b..ad874267b88178 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 501aed6cd3255b..6f5672379a2f36 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-10-03 +date: 2023-10-04 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 63dccde700d377..e8c6a7b200e859 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-10-03 +date: 2023-10-04 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 4b262fb16efaa8..d94b4b0980a3cc 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 b5affa90931162..e6186a19312973 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 90064813b88448..64452c25211650 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-10-03 +date: 2023-10-04 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 561e859e5a6142..2e702ff1859d48 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-10-03 +date: 2023-10-04 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 d2581621658666..c6435521f79f62 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-10-03 +date: 2023-10-04 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 e1ec650d8068f4..febe7eb79e2ff9 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-10-03 +date: 2023-10-04 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 ec452f3027b2b1..a86280bd831384 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-10-03 +date: 2023-10-04 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 144dfdd3db8f4d..7603d7cc69c0af 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-10-03 +date: 2023-10-04 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 d6b2ed842f48e8..d53550e2ea97e1 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 10934e87fbb209..e423084c6a2b61 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 b6eccd75091b2d..037ac91309614f 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 ccb3674b36e4ac..63d2ec3c20d1fa 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 92c8b52b9a3f68..2f03f56501dbda 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 09add5e81cccde..ee0882e6685092 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.devdocs.json b/api_docs/kbn_ml_trained_models_utils.devdocs.json index d074c0826737e8..d2bb275d5a25d3 100644 --- a/api_docs/kbn_ml_trained_models_utils.devdocs.json +++ b/api_docs/kbn_ml_trained_models_utils.devdocs.json @@ -66,6 +66,17 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "@kbn/ml-trained-models-utils", + "id": "def-common.ModelDefinition.modelName", + "type": "string", + "tags": [], + "label": "modelName", + "description": [], + "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/ml-trained-models-utils", "id": "def-common.ModelDefinition.version", @@ -157,6 +168,20 @@ "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-trained-models-utils", + "id": "def-common.ModelDefinition.hidden", + "type": "CompoundType", + "tags": [], + "label": "hidden", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -206,6 +231,36 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/ml-trained-models-utils", + "id": "def-common.ELASTIC_MODEL_TAG", + "type": "string", + "tags": [], + "label": "ELASTIC_MODEL_TAG", + "description": [], + "signature": [ + "\"elastic\"" + ], + "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-trained-models-utils", + "id": "def-common.ELASTIC_MODEL_TYPE", + "type": "string", + "tags": [], + "label": "ELASTIC_MODEL_TYPE", + "description": [], + "signature": [ + "\"elastic\"" + ], + "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/ml-trained-models-utils", "id": "def-common.ElasticModelId", @@ -221,6 +276,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/ml-trained-models-utils", + "id": "def-common.ELSER_ID_V1", + "type": "string", + "tags": [], + "label": "ELSER_ID_V1", + "description": [], + "signature": [ + "\".elser_model_1\"" + ], + "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/ml-trained-models-utils", "id": "def-common.ElserVersion", @@ -244,6 +314,7 @@ "label": "ModelDefinitionResponse", "description": [], "signature": [ + "Omit<", { "pluginId": "@kbn/ml-trained-models-utils", "scope": "common", @@ -251,7 +322,22 @@ "section": "def-common.ModelDefinition", "text": "ModelDefinition" }, - " & { name: string; }" + ", \"modelName\"> & { name: string; }" + ], + "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-trained-models-utils", + "id": "def-common.ModelState", + "type": "Type", + "tags": [], + "label": "ModelState", + "description": [], + "signature": [ + "\"started\" | \"starting\" | \"stopping\" | \"downloading\" | \"downloaded\" | \"notDownloaded\" | null" ], "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", "deprecated": false, @@ -328,6 +414,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/ml-trained-models-utils", + "id": "def-common.MODEL_STATE", + "type": "Object", + "tags": [], + "label": "MODEL_STATE", + "description": [], + "signature": [ + "{ readonly DOWNLOADING: \"downloading\"; readonly DOWNLOADED: \"downloaded\"; readonly NOT_DOWNLOADED: \"notDownloaded\"; readonly STARTED: \"started\"; readonly STARTING: \"starting\"; readonly STOPPING: \"stopping\"; }" + ], + "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/ml-trained-models-utils", "id": "def-common.SUPPORTED_PYTORCH_TASKS", diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index fab5372e806af2..be9908f3b9b814 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 22 | 0 | 22 | 0 | +| 29 | 0 | 29 | 0 | ## Common diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index c879aa3616388a..699a896170f7d8 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 2cee9764598873..c2834c5cf7ab0b 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-10-03 +date: 2023-10-04 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 7dda7b8d33282a..d3a35c96ba7231 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 7891286969ed75..500fa9945ff450 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx index b8b883163d12cb..fb9cc14ead1423 100644 --- a/api_docs/kbn_openapi_generator.mdx +++ b/api_docs/kbn_openapi_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator title: "@kbn/openapi-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-generator plugin -date: 2023-10-03 +date: 2023-10-04 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 8a9ae5b71fcbb2..c85beac6f863b4 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-10-03 +date: 2023-10-04 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 955f2ce1149e82..c54a30a8000051 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-10-03 +date: 2023-10-04 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 f900aa344211d3..647de77bca2117 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index e743a61c927f95..087668ee0d6281 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 549538c38c405f..27577f749ca741 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-10-03 +date: 2023-10-04 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 2eccebf1108acf..fa87b382f9531e 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index 39ab3f94d4c1b7..f80f83b70d6c43 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 48ed94b6a509a3..bd82bd11c69ccd 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-10-03 +date: 2023-10-04 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 802d6604cee42c..cf85c1c8857aa6 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index 5da87773af0407..1509c1a981ff18 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-10-03 +date: 2023-10-04 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 2c15f75f60b140..facd8a5434cea9 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-10-03 +date: 2023-10-04 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 dfa7d4a495bcc5..ad7592dd3ad90d 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-10-03 +date: 2023-10-04 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 9ea3cb839886f8..6c7a7187c7418c 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-10-03 +date: 2023-10-04 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 c2a3d3edad44d4..07a624239db5de 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-10-03 +date: 2023-10-04 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 16c366ac9fa8c2..427c4673b94bb0 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 4e985f5a0479ff..dbb92f84671f74 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-10-03 +date: 2023-10-04 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 28f8a0bb93d00d..9eecd8792a6e40 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-10-03 +date: 2023-10-04 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 febbdced9d65e6..ec84b6f1b1280b 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-10-03 +date: 2023-10-04 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 34d82649e3dd69..9cd05df3aac22f 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-10-03 +date: 2023-10-04 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 7a82c4c23dd7b7..6643d1d45fb393 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx index dd167b2d5dc794..e1bf02ac29cc2e 100644 --- a/api_docs/kbn_resizable_layout.mdx +++ b/api_docs/kbn_resizable_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout title: "@kbn/resizable-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/resizable-layout plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout'] --- import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index c1be0b037df4fe..0224356418b99e 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 2ed9074add349f..861159a104eea0 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-10-03 +date: 2023-10-04 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 89686f52c3c302..4a41353e4caf6e 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 752ca9e966cade..bd257bba9018a4 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 8129b7cff1bf84..66cb8a44a0f575 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.devdocs.json b/api_docs/kbn_search_connectors.devdocs.json index c4c22b4fab4e14..dee27e260aaa7b 100644 --- a/api_docs/kbn_search_connectors.devdocs.json +++ b/api_docs/kbn_search_connectors.devdocs.json @@ -10015,10 +10015,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github", "type": "Object", "tags": [], - "label": "jira", + "label": "github", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10026,7 +10026,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration", "type": "Object", "tags": [], "label": "configuration", @@ -10037,7 +10037,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source", "type": "Object", "tags": [], "label": "data_source", @@ -10048,7 +10048,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -10062,7 +10062,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -10076,7 +10076,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.display", "type": "string", "tags": [], "label": "display", @@ -10097,7 +10097,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.label", "type": "string", "tags": [], "label": "label", @@ -10108,7 +10108,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.options", "type": "Array", "tags": [], "label": "options", @@ -10122,7 +10122,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.order", "type": "number", "tags": [], "label": "order", @@ -10133,7 +10133,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.required", "type": "boolean", "tags": [], "label": "required", @@ -10147,7 +10147,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -10161,7 +10161,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -10175,7 +10175,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.type", "type": "string", "tags": [], "label": "type", @@ -10196,7 +10196,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -10210,7 +10210,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.validations", "type": "Array", "tags": [], "label": "validations", @@ -10224,7 +10224,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.data_source.value", "type": "string", "tags": [], "label": "value", @@ -10237,10 +10237,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host", "type": "Object", "tags": [], - "label": "username", + "label": "host", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10248,7 +10248,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -10262,7 +10262,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -10276,7 +10276,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.display", "type": "string", "tags": [], "label": "display", @@ -10297,7 +10297,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.label", "type": "string", "tags": [], "label": "label", @@ -10308,7 +10308,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.options", "type": "Array", "tags": [], "label": "options", @@ -10322,7 +10322,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.order", "type": "number", "tags": [], "label": "order", @@ -10333,7 +10333,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.required", "type": "boolean", "tags": [], "label": "required", @@ -10347,7 +10347,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -10361,7 +10361,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -10375,7 +10375,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.type", "type": "string", "tags": [], "label": "type", @@ -10396,7 +10396,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -10410,7 +10410,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.validations", "type": "Array", "tags": [], "label": "validations", @@ -10424,7 +10424,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.host.value", "type": "string", "tags": [], "label": "value", @@ -10437,10 +10437,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token", "type": "Object", "tags": [], - "label": "password", + "label": "token", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10448,7 +10448,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -10462,13 +10462,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: string; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10476,7 +10476,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.display", "type": "string", "tags": [], "label": "display", @@ -10497,7 +10497,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.label", "type": "string", "tags": [], "label": "label", @@ -10508,7 +10508,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.options", "type": "Array", "tags": [], "label": "options", @@ -10522,7 +10522,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.order", "type": "number", "tags": [], "label": "order", @@ -10533,7 +10533,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.required", "type": "boolean", "tags": [], "label": "required", @@ -10547,7 +10547,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -10561,7 +10561,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -10575,7 +10575,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.type", "type": "string", "tags": [], "label": "type", @@ -10596,7 +10596,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -10610,7 +10610,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.validations", "type": "Array", "tags": [], "label": "validations", @@ -10624,7 +10624,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.token.value", "type": "string", "tags": [], "label": "value", @@ -10637,10 +10637,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories", "type": "Object", "tags": [], - "label": "account_email", + "label": "repositories", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10648,7 +10648,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -10662,13 +10662,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: string; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10676,7 +10676,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.display", "type": "string", "tags": [], "label": "display", @@ -10689,7 +10689,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TEXTAREA" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10697,7 +10697,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.label", "type": "string", "tags": [], "label": "label", @@ -10708,7 +10708,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.options", "type": "Array", "tags": [], "label": "options", @@ -10722,7 +10722,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.order", "type": "number", "tags": [], "label": "order", @@ -10733,18 +10733,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.placeholder", - "type": "string", - "tags": [], - "label": "placeholder", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.required", "type": "boolean", "tags": [], "label": "required", @@ -10758,7 +10747,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -10772,21 +10761,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.type", "type": "string", "tags": [], "label": "type", @@ -10799,7 +10785,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".LIST" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10807,7 +10793,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -10821,7 +10807,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.validations", "type": "Array", "tags": [], "label": "validations", @@ -10835,7 +10821,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.repositories.value", "type": "string", "tags": [], "label": "value", @@ -10848,10 +10834,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled", "type": "Object", "tags": [], - "label": "api_token", + "label": "ssl_enabled", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10859,7 +10845,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -10873,13 +10859,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: string; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10887,7 +10873,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.display", "type": "string", "tags": [], "label": "display", @@ -10900,7 +10886,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10908,7 +10894,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.label", "type": "string", "tags": [], "label": "label", @@ -10919,7 +10905,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.options", "type": "Array", "tags": [], "label": "options", @@ -10933,7 +10919,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.order", "type": "number", "tags": [], "label": "order", @@ -10944,7 +10930,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.required", "type": "boolean", "tags": [], "label": "required", @@ -10958,13 +10944,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -10972,7 +10958,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -10986,7 +10972,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.type", "type": "string", "tags": [], "label": "type", @@ -10999,7 +10985,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11007,7 +10993,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -11021,7 +11007,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.validations", "type": "Array", "tags": [], "label": "validations", @@ -11035,11 +11021,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_enabled.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -11048,10 +11037,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca", "type": "Object", "tags": [], - "label": "jira_url", + "label": "ssl_ca", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11059,7 +11048,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -11073,13 +11062,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11087,7 +11076,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.display", "type": "string", "tags": [], "label": "display", @@ -11108,7 +11097,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.label", "type": "string", "tags": [], "label": "label", @@ -11119,7 +11108,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.options", "type": "Array", "tags": [], "label": "options", @@ -11133,7 +11122,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.order", "type": "number", "tags": [], "label": "order", @@ -11144,18 +11133,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.placeholder", - "type": "string", - "tags": [], - "label": "placeholder", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.required", "type": "boolean", "tags": [], "label": "required", @@ -11169,7 +11147,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -11183,7 +11161,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.tooltip", "type": "Uncategorized", "tags": [], "label": "tooltip", @@ -11197,7 +11175,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.type", "type": "string", "tags": [], "label": "type", @@ -11218,7 +11196,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -11232,7 +11210,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.validations", "type": "Array", "tags": [], "label": "validations", @@ -11246,7 +11224,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.ssl_ca.value", "type": "string", "tags": [], "label": "value", @@ -11259,10 +11237,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count", "type": "Object", "tags": [], - "label": "projects", + "label": "retry_count", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11270,7 +11248,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -11284,7 +11262,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -11298,7 +11276,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.display", "type": "string", "tags": [], "label": "display", @@ -11311,7 +11289,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTAREA" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11319,7 +11297,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.label", "type": "string", "tags": [], "label": "label", @@ -11330,7 +11308,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.options", "type": "Array", "tags": [], "label": "options", @@ -11344,7 +11322,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.order", "type": "number", "tags": [], "label": "order", @@ -11355,13 +11333,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11369,7 +11347,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -11383,18 +11361,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.type", "type": "string", "tags": [], "label": "type", @@ -11407,7 +11388,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".LIST" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11415,13 +11396,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11429,7 +11410,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.validations", "type": "Array", "tags": [], "label": "validations", @@ -11443,23 +11424,34 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.value", + "type": "number", "tags": [], "label": "value", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.retry_count.display_value", + "type": "number", + "tags": [], + "label": "display_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false } ] }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service", "type": "Object", "tags": [], - "label": "ssl_enabled", + "label": "use_text_extraction_service", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11467,7 +11459,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -11481,7 +11473,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -11495,7 +11487,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.display", "type": "string", "tags": [], "label": "display", @@ -11516,7 +11508,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.label", "type": "string", "tags": [], "label": "label", @@ -11527,7 +11519,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.options", "type": "Array", "tags": [], "label": "options", @@ -11541,7 +11533,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.order", "type": "number", "tags": [], "label": "order", @@ -11552,7 +11544,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.required", "type": "boolean", "tags": [], "label": "required", @@ -11566,7 +11558,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -11580,21 +11572,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.type", "type": "string", "tags": [], "label": "type", @@ -11615,7 +11604,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -11629,7 +11618,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.validations", "type": "Array", "tags": [], "label": "validations", @@ -11643,7 +11632,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.configuration.use_text_extraction_service.value", "type": "boolean", "tags": [], "label": "value", @@ -11656,62 +11645,122 @@ "trackAdoption": false } ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca", - "type": "Object", - "tags": [], - "label": "ssl_ca", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.default_value", - "type": "Uncategorized", - "tags": [], - "label": "default_value", - "description": [], - "signature": [ - "null" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.depends_on", - "type": "Array", - "tags": [], - "label": "depends_on", - "description": [], - "signature": [ - "{ field: string; value: true; }[]" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.display", - "type": "string", - "tags": [], - "label": "display", - "description": [], - "signature": [ - { - "pluginId": "@kbn/search-connectors", + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.github.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive", + "type": "Object", + "tags": [], + "label": "google_drive", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials", + "type": "Object", + "tags": [], + "label": "service_account_credentials", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", "scope": "common", "docId": "kibKbnSearchConnectorsPluginApi", "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TEXTAREA" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11719,7 +11768,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.label", "type": "string", "tags": [], "label": "label", @@ -11730,7 +11779,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.options", "type": "Array", "tags": [], "label": "options", @@ -11744,7 +11793,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.order", "type": "number", "tags": [], "label": "order", @@ -11755,7 +11804,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.required", "type": "boolean", "tags": [], "label": "required", @@ -11769,13 +11818,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11783,21 +11832,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.type", "type": "string", "tags": [], "label": "type", @@ -11818,7 +11864,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -11832,7 +11878,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.validations", "type": "Array", "tags": [], "label": "validations", @@ -11846,7 +11892,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.service_account_credentials.value", "type": "string", "tags": [], "label": "value", @@ -11859,10 +11905,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security", "type": "Object", "tags": [], - "label": "retry_count", + "label": "use_document_level_security", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11870,18 +11916,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -11895,7 +11944,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.display", "type": "string", "tags": [], "label": "display", @@ -11908,7 +11957,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11916,7 +11965,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.label", "type": "string", "tags": [], "label": "label", @@ -11927,7 +11976,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.options", "type": "Array", "tags": [], "label": "options", @@ -11941,7 +11990,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.order", "type": "number", "tags": [], "label": "order", @@ -11952,13 +12001,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -11966,7 +12015,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -11980,21 +12029,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.type", "type": "string", "tags": [], "label": "type", @@ -12007,7 +12053,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12015,13 +12061,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12029,7 +12075,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.validations", "type": "Array", "tags": [], "label": "validations", @@ -12043,11 +12089,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_document_level_security.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -12056,10 +12105,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email", "type": "Object", "tags": [], - "label": "concurrent_downloads", + "label": "google_workspace_admin_email", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12067,24 +12116,27 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12092,7 +12144,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.display", "type": "string", "tags": [], "label": "display", @@ -12105,7 +12157,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12113,7 +12165,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.label", "type": "string", "tags": [], "label": "label", @@ -12124,7 +12176,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.options", "type": "Array", "tags": [], "label": "options", @@ -12138,7 +12190,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.order", "type": "number", "tags": [], "label": "order", @@ -12149,13 +12201,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12163,7 +12215,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -12177,21 +12229,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.tooltip", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.tooltip", + "type": "string", "tags": [], "label": "tooltip", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.type", "type": "string", "tags": [], "label": "type", @@ -12204,7 +12253,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12212,13 +12261,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12226,13 +12275,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.validations", "type": "Array", "tags": [], "label": "validations", "description": [], "signature": [ - "{ type: string; constraint: number; }[]" + "{ type: string; constraint: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12240,8 +12289,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.google_workspace_admin_email.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -12253,10 +12302,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency", "type": "Object", "tags": [], - "label": "use_text_extraction_service", + "label": "max_concurrency", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12264,21 +12313,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.default_value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -12292,7 +12338,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.display", "type": "string", "tags": [], "label": "display", @@ -12305,7 +12351,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12313,7 +12359,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.label", "type": "string", "tags": [], "label": "label", @@ -12324,7 +12370,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.options", "type": "Array", "tags": [], "label": "options", @@ -12338,7 +12384,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.order", "type": "number", "tags": [], "label": "order", @@ -12349,13 +12395,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12363,7 +12409,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -12377,7 +12423,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -12388,7 +12434,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.type", "type": "string", "tags": [], "label": "type", @@ -12401,7 +12447,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12409,7 +12455,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -12423,13 +12469,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.validations", "type": "Array", "tags": [], "label": "validations", "description": [], "signature": [ - "never[]" + "{ type: string; constraint: number; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12437,39 +12483,23 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.max_concurrency.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false } ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service", "type": "Object", "tags": [], - "label": "[FeatureName.SYNC_RULES]", + "label": "use_text_extraction_service", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12477,18 +12507,4088 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.default_value", + "type": "Uncategorized", "tags": [], - "label": "advanced", + "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TOGGLE" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".BOOLEAN" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.configuration.use_text_extraction_service.value", + "type": "boolean", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.features.FeatureName.DOCUMENT_LEVEL_SECURITY", + "type": "Object", + "tags": [], + "label": "[FeatureName.DOCUMENT_LEVEL_SECURITY]", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.features.FeatureName.DOCUMENT_LEVEL_SECURITY.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.google_drive.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira", + "type": "Object", + "tags": [], + "label": "jira", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source", + "type": "Object", + "tags": [], + "label": "data_source", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".DROPDOWN" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "{ label: string; value: string; }[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.data_source.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username", + "type": "Object", + "tags": [], + "label": "username", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "{ field: string; value: string; }[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.username.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password", + "type": "Object", + "tags": [], + "label": "password", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "{ field: string; value: string; }[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.password.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email", + "type": "Object", + "tags": [], + "label": "account_email", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "{ field: string; value: string; }[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.placeholder", + "type": "string", + "tags": [], + "label": "placeholder", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.account_email.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token", + "type": "Object", + "tags": [], + "label": "api_token", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "{ field: string; value: string; }[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.api_token.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url", + "type": "Object", + "tags": [], + "label": "jira_url", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.placeholder", + "type": "string", + "tags": [], + "label": "placeholder", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.jira_url.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects", + "type": "Object", + "tags": [], + "label": "projects", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTAREA" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".LIST" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.projects.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled", + "type": "Object", + "tags": [], + "label": "ssl_enabled", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TOGGLE" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".BOOLEAN" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_enabled.value", + "type": "boolean", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca", + "type": "Object", + "tags": [], + "label": "ssl_ca", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.default_value", + "type": "Uncategorized", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "{ field: string; value: true; }[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.ssl_ca.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count", + "type": "Object", + "tags": [], + "label": "retry_count", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.default_value", + "type": "number", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".NUMERIC" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".INTEGER" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.retry_count.value", + "type": "number", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads", + "type": "Object", + "tags": [], + "label": "concurrent_downloads", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.default_value", + "type": "number", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".NUMERIC" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.tooltip", + "type": "Uncategorized", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "null" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".INTEGER" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "{ type: string; constraint: number; }[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.concurrent_downloads.value", + "type": "number", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service", + "type": "Object", + "tags": [], + "label": "use_text_extraction_service", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.default_value", + "type": "boolean", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TOGGLE" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".BOOLEAN" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.configuration.use_text_extraction_service.value", + "type": "boolean", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES", + "type": "Object", + "tags": [], + "label": "[FeatureName.SYNC_RULES]", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", + "tags": [], + "label": "advanced", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.basic", + "type": "Object", + "tags": [], + "label": "basic", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.basic.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb", + "type": "Object", + "tags": [], + "label": "mongodb", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host", + "type": "Object", + "tags": [], + "label": "host", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.default_value", + "type": "string", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user", + "type": "Object", + "tags": [], + "label": "user", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.default_value", + "type": "string", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password", + "type": "Object", + "tags": [], + "label": "password", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.default_value", + "type": "string", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database", + "type": "Object", + "tags": [], + "label": "database", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.default_value", + "type": "string", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection", + "type": "Object", + "tags": [], + "label": "collection", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.default_value", + "type": "string", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection", + "type": "Object", + "tags": [], + "label": "direct_connection", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.default_value", + "type": "boolean", + "tags": [], + "label": "default_value", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TOGGLE" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.sensitive", + "type": "boolean", + "tags": [], + "label": "sensitive", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".BOOLEAN" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.value", + "type": "boolean", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.FILTERING_ADVANCED_CONFIG", + "type": "boolean", + "tags": [], + "label": "[FeatureName.FILTERING_ADVANCED_CONFIG]", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.FILTERING_RULES", + "type": "boolean", + "tags": [], + "label": "[FeatureName.FILTERING_RULES]", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES", + "type": "Object", + "tags": [], + "label": "[FeatureName.SYNC_RULES]", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", + "tags": [], + "label": "advanced", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.advanced.enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.basic", + "type": "Object", + "tags": [], + "label": "basic", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.basic.enabled", "type": "boolean", "tags": [], "label": "enabled", @@ -12501,90 +16601,257 @@ "trackAdoption": false } ] + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql", + "type": "Object", + "tags": [], + "label": "mssql", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host", + "type": "Object", + "tags": [], + "label": "host", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.default_value", + "type": "string", + "tags": [], + "label": "default_value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.depends_on", + "type": "Array", + "tags": [], + "label": "depends_on", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.display", + "type": "string", + "tags": [], + "label": "display", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.DisplayType", + "text": "DisplayType" + }, + ".TEXTBOX" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.options", + "type": "Array", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.required", + "type": "boolean", + "tags": [], + "label": "required", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.basic", - "type": "Object", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.sensitive", + "type": "boolean", "tags": [], - "label": "basic", + "label": "sensitive", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, - "trackAdoption": false, - "children": [ + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.tooltip", + "type": "string", + "tags": [], + "label": "tooltip", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.FieldType", + "text": "FieldType" + }, + ".STRING" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.ui_restrictions", + "type": "Array", + "tags": [], + "label": "ui_restrictions", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.validations", + "type": "Array", + "tags": [], + "label": "validations", + "description": [], + "signature": [ + "never[]" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false } ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.jira.serviceType", - "type": "string", - "tags": [], - "label": "serviceType", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb", - "type": "Object", - "tags": [], - "label": "mongodb", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration", - "type": "Object", - "tags": [], - "label": "configuration", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port", "type": "Object", "tags": [], - "label": "host", + "label": "port", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12592,18 +16859,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -12617,7 +16887,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.display", "type": "string", "tags": [], "label": "display", @@ -12630,7 +16900,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12638,7 +16908,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.label", "type": "string", "tags": [], "label": "label", @@ -12649,7 +16919,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.options", "type": "Array", "tags": [], "label": "options", @@ -12663,7 +16933,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.order", "type": "number", "tags": [], "label": "order", @@ -12674,7 +16944,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.required", "type": "boolean", "tags": [], "label": "required", @@ -12688,7 +16958,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -12702,7 +16972,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -12713,7 +16983,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.type", "type": "string", "tags": [], "label": "type", @@ -12726,7 +16996,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12734,7 +17004,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -12748,7 +17018,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.validations", "type": "Array", "tags": [], "label": "validations", @@ -12762,8 +17032,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.host.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -12775,10 +17045,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username", "type": "Object", "tags": [], - "label": "user", + "label": "username", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12786,7 +17056,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.default_value", "type": "string", "tags": [], "label": "default_value", @@ -12797,7 +17067,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -12811,7 +17081,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.display", "type": "string", "tags": [], "label": "display", @@ -12832,7 +17102,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.label", "type": "string", "tags": [], "label": "label", @@ -12843,7 +17113,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.options", "type": "Array", "tags": [], "label": "options", @@ -12857,7 +17127,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.order", "type": "number", "tags": [], "label": "order", @@ -12868,13 +17138,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -12882,7 +17152,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -12896,7 +17166,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -12907,7 +17177,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.type", "type": "string", "tags": [], "label": "type", @@ -12928,7 +17198,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -12942,7 +17212,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.validations", "type": "Array", "tags": [], "label": "validations", @@ -12956,7 +17226,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.user.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.value", "type": "string", "tags": [], "label": "value", @@ -12969,7 +17239,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password", "type": "Object", "tags": [], "label": "password", @@ -12980,7 +17250,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.default_value", "type": "string", "tags": [], "label": "default_value", @@ -12991,7 +17261,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -13005,7 +17275,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.display", "type": "string", "tags": [], "label": "display", @@ -13026,7 +17296,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.label", "type": "string", "tags": [], "label": "label", @@ -13037,7 +17307,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.options", "type": "Array", "tags": [], "label": "options", @@ -13051,7 +17321,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.order", "type": "number", "tags": [], "label": "order", @@ -13062,13 +17332,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13076,7 +17346,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -13090,7 +17360,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -13101,7 +17371,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.type", "type": "string", "tags": [], "label": "type", @@ -13122,7 +17392,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -13136,7 +17406,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.validations", "type": "Array", "tags": [], "label": "validations", @@ -13150,7 +17420,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.password.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.value", "type": "string", "tags": [], "label": "value", @@ -13163,7 +17433,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database", "type": "Object", "tags": [], "label": "database", @@ -13174,7 +17444,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.default_value", "type": "string", "tags": [], "label": "default_value", @@ -13185,7 +17455,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -13199,7 +17469,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.display", "type": "string", "tags": [], "label": "display", @@ -13220,7 +17490,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.label", "type": "string", "tags": [], "label": "label", @@ -13231,7 +17501,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.options", "type": "Array", "tags": [], "label": "options", @@ -13245,7 +17515,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.order", "type": "number", "tags": [], "label": "order", @@ -13256,7 +17526,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.required", "type": "boolean", "tags": [], "label": "required", @@ -13270,7 +17540,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -13284,7 +17554,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -13295,7 +17565,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.type", "type": "string", "tags": [], "label": "type", @@ -13316,7 +17586,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -13330,7 +17600,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.validations", "type": "Array", "tags": [], "label": "validations", @@ -13344,7 +17614,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.database.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.value", "type": "string", "tags": [], "label": "value", @@ -13357,10 +17627,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables", "type": "Object", "tags": [], - "label": "collection", + "label": "tables", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13368,7 +17638,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.default_value", "type": "string", "tags": [], "label": "default_value", @@ -13379,7 +17649,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -13393,7 +17663,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.display", "type": "string", "tags": [], "label": "display", @@ -13406,7 +17676,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TEXTAREA" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13414,7 +17684,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.label", "type": "string", "tags": [], "label": "label", @@ -13425,7 +17695,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.options", "type": "Array", "tags": [], "label": "options", @@ -13439,7 +17709,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.order", "type": "number", "tags": [], "label": "order", @@ -13450,7 +17720,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.required", "type": "boolean", "tags": [], "label": "required", @@ -13464,7 +17734,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -13478,7 +17748,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -13489,7 +17759,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.type", "type": "string", "tags": [], "label": "type", @@ -13502,7 +17772,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".LIST" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13510,7 +17780,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -13524,7 +17794,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.validations", "type": "Array", "tags": [], "label": "validations", @@ -13538,7 +17808,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.collection.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.value", "type": "string", "tags": [], "label": "value", @@ -13551,10 +17821,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled", "type": "Object", "tags": [], - "label": "direct_connection", + "label": "ssl_enabled", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13562,7 +17832,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.default_value", "type": "boolean", "tags": [], "label": "default_value", @@ -13576,7 +17846,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -13590,7 +17860,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.display", "type": "string", "tags": [], "label": "display", @@ -13611,7 +17881,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.label", "type": "string", "tags": [], "label": "label", @@ -13622,7 +17892,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.options", "type": "Array", "tags": [], "label": "options", @@ -13636,7 +17906,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.order", "type": "number", "tags": [], "label": "order", @@ -13647,7 +17917,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.required", "type": "boolean", "tags": [], "label": "required", @@ -13661,7 +17931,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -13675,7 +17945,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -13686,7 +17956,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.type", "type": "string", "tags": [], "label": "type", @@ -13707,7 +17977,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -13721,7 +17991,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.validations", "type": "Array", "tags": [], "label": "validations", @@ -13735,182 +18005,26 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.configuration.direct_connection.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.value", "type": "boolean", "tags": [], "label": "value", - "description": [], - "signature": [ - "false" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.FILTERING_ADVANCED_CONFIG", - "type": "boolean", - "tags": [], - "label": "[FeatureName.FILTERING_ADVANCED_CONFIG]", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.FILTERING_RULES", - "type": "boolean", - "tags": [], - "label": "[FeatureName.FILTERING_RULES]", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES", - "type": "Object", - "tags": [], - "label": "[FeatureName.SYNC_RULES]", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", - "tags": [], - "label": "advanced", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.advanced.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.basic", - "type": "Object", - "tags": [], - "label": "basic", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mongodb.serviceType", - "type": "string", - "tags": [], - "label": "serviceType", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql", - "type": "Object", - "tags": [], - "label": "mssql", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration", - "type": "Object", - "tags": [], - "label": "configuration", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca", "type": "Object", "tags": [], - "label": "host", + "label": "ssl_ca", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13918,7 +18032,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.default_value", "type": "string", "tags": [], "label": "default_value", @@ -13929,13 +18043,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -13943,7 +18057,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.display", "type": "string", "tags": [], "label": "display", @@ -13964,7 +18078,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.label", "type": "string", "tags": [], "label": "label", @@ -13975,7 +18089,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.options", "type": "Array", "tags": [], "label": "options", @@ -13989,7 +18103,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.order", "type": "number", "tags": [], "label": "order", @@ -14000,7 +18114,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.required", "type": "boolean", "tags": [], "label": "required", @@ -14014,7 +18128,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -14028,7 +18142,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -14039,7 +18153,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.type", "type": "string", "tags": [], "label": "type", @@ -14060,7 +18174,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -14074,7 +18188,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.validations", "type": "Array", "tags": [], "label": "validations", @@ -14088,7 +18202,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.host.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.value", "type": "string", "tags": [], "label": "value", @@ -14101,10 +18215,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema", "type": "Object", "tags": [], - "label": "port", + "label": "schema", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14112,21 +18226,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -14140,7 +18251,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.display", "type": "string", "tags": [], "label": "display", @@ -14153,7 +18264,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14161,7 +18272,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.label", "type": "string", "tags": [], "label": "label", @@ -14172,7 +18283,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.options", "type": "Array", "tags": [], "label": "options", @@ -14186,7 +18297,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.order", "type": "number", "tags": [], "label": "order", @@ -14197,7 +18308,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.required", "type": "boolean", "tags": [], "label": "required", @@ -14211,7 +18322,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -14225,7 +18336,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -14236,7 +18347,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.type", "type": "string", "tags": [], "label": "type", @@ -14249,7 +18360,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14257,7 +18368,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -14271,7 +18382,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.validations", "type": "Array", "tags": [], "label": "validations", @@ -14285,8 +18396,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.port.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -14298,10 +18409,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size", "type": "Object", "tags": [], - "label": "username", + "label": "fetch_size", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14309,8 +18420,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -14320,7 +18431,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -14334,7 +18445,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.display", "type": "string", "tags": [], "label": "display", @@ -14347,7 +18458,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14355,7 +18466,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.label", "type": "string", "tags": [], "label": "label", @@ -14366,7 +18477,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.options", "type": "Array", "tags": [], "label": "options", @@ -14380,7 +18491,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.order", "type": "number", "tags": [], "label": "order", @@ -14391,13 +18502,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14405,7 +18516,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -14419,7 +18530,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -14430,7 +18541,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.type", "type": "string", "tags": [], "label": "type", @@ -14443,7 +18554,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14451,13 +18562,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14465,7 +18576,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.validations", "type": "Array", "tags": [], "label": "validations", @@ -14479,8 +18590,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.username.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -14492,10 +18603,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count", "type": "Object", "tags": [], - "label": "password", + "label": "retry_count", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14503,8 +18614,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -14514,7 +18625,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -14528,7 +18639,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.display", "type": "string", "tags": [], "label": "display", @@ -14541,7 +18652,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14549,7 +18660,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.label", "type": "string", "tags": [], "label": "label", @@ -14560,7 +18671,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.options", "type": "Array", "tags": [], "label": "options", @@ -14574,7 +18685,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.order", "type": "number", "tags": [], "label": "order", @@ -14585,13 +18696,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14599,13 +18710,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14613,7 +18724,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -14624,7 +18735,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.type", "type": "string", "tags": [], "label": "type", @@ -14637,7 +18748,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14645,13 +18756,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14659,7 +18770,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.validations", "type": "Array", "tags": [], "label": "validations", @@ -14673,8 +18784,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.password.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -14686,10 +18797,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host", "type": "Object", "tags": [], - "label": "database", + "label": "validate_host", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14697,18 +18808,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.default_value", + "type": "boolean", "tags": [], "label": "default_value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -14722,7 +18836,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.display", "type": "string", "tags": [], "label": "display", @@ -14735,7 +18849,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14743,7 +18857,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.label", "type": "string", "tags": [], "label": "label", @@ -14754,7 +18868,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.options", "type": "Array", "tags": [], "label": "options", @@ -14768,7 +18882,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.order", "type": "number", "tags": [], "label": "order", @@ -14779,7 +18893,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.required", "type": "boolean", "tags": [], "label": "required", @@ -14793,7 +18907,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -14807,7 +18921,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -14818,7 +18932,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.type", "type": "string", "tags": [], "label": "type", @@ -14831,7 +18945,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14839,7 +18953,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -14853,7 +18967,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.validations", "type": "Array", "tags": [], "label": "validations", @@ -14863,27 +18977,158 @@ ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.value", + "type": "boolean", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES", + "type": "Object", + "tags": [], + "label": "[FeatureName.SYNC_RULES]", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", + "tags": [], + "label": "advanced", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.database.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.basic", + "type": "Object", "tags": [], - "label": "value", + "label": "basic", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.basic.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ] - }, + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql", + "type": "Object", + "tags": [], + "label": "mysql", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host", "type": "Object", "tags": [], - "label": "tables", + "label": "host", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14891,7 +19136,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.default_value", "type": "string", "tags": [], "label": "default_value", @@ -14902,7 +19147,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -14916,7 +19161,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.display", "type": "string", "tags": [], "label": "display", @@ -14929,7 +19174,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTAREA" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -14937,7 +19182,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.label", "type": "string", "tags": [], "label": "label", @@ -14948,7 +19193,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.options", "type": "Array", "tags": [], "label": "options", @@ -14962,7 +19207,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.order", "type": "number", "tags": [], "label": "order", @@ -14973,7 +19218,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.required", "type": "boolean", "tags": [], "label": "required", @@ -14987,7 +19232,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -15001,7 +19246,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -15012,7 +19257,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.type", "type": "string", "tags": [], "label": "type", @@ -15025,7 +19270,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".LIST" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15033,7 +19278,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -15047,7 +19292,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.validations", "type": "Array", "tags": [], "label": "validations", @@ -15061,7 +19306,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.tables.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.value", "type": "string", "tags": [], "label": "value", @@ -15074,10 +19319,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port", "type": "Object", "tags": [], - "label": "ssl_enabled", + "label": "port", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15085,13 +19330,13 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.default_value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], "signature": [ - "false" + "null" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15099,7 +19344,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -15113,7 +19358,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.display", "type": "string", "tags": [], "label": "display", @@ -15126,7 +19371,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15134,7 +19379,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.label", "type": "string", "tags": [], "label": "label", @@ -15145,7 +19390,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.options", "type": "Array", "tags": [], "label": "options", @@ -15159,7 +19404,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.order", "type": "number", "tags": [], "label": "order", @@ -15170,7 +19415,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.required", "type": "boolean", "tags": [], "label": "required", @@ -15184,7 +19429,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -15198,7 +19443,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -15209,7 +19454,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.type", "type": "string", "tags": [], "label": "type", @@ -15222,7 +19467,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15230,7 +19475,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -15244,7 +19489,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.validations", "type": "Array", "tags": [], "label": "validations", @@ -15258,14 +19503,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_enabled.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.value", + "type": "string", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -15274,10 +19516,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user", "type": "Object", "tags": [], - "label": "ssl_ca", + "label": "user", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15285,7 +19527,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.default_value", "type": "string", "tags": [], "label": "default_value", @@ -15296,13 +19538,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: true; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15310,7 +19552,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.display", "type": "string", "tags": [], "label": "display", @@ -15331,7 +19573,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.label", "type": "string", "tags": [], "label": "label", @@ -15342,7 +19584,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.options", "type": "Array", "tags": [], "label": "options", @@ -15356,7 +19598,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.order", "type": "number", "tags": [], "label": "order", @@ -15367,13 +19609,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15381,7 +19623,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -15395,7 +19637,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -15406,7 +19648,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.type", "type": "string", "tags": [], "label": "type", @@ -15427,7 +19669,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -15441,7 +19683,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.validations", "type": "Array", "tags": [], "label": "validations", @@ -15455,7 +19697,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.ssl_ca.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.value", "type": "string", "tags": [], "label": "value", @@ -15468,10 +19710,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password", "type": "Object", "tags": [], - "label": "schema", + "label": "password", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15479,7 +19721,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.default_value", "type": "string", "tags": [], "label": "default_value", @@ -15490,7 +19732,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -15504,7 +19746,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.display", "type": "string", "tags": [], "label": "display", @@ -15525,7 +19767,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.label", "type": "string", "tags": [], "label": "label", @@ -15536,7 +19778,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.options", "type": "Array", "tags": [], "label": "options", @@ -15550,7 +19792,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.order", "type": "number", "tags": [], "label": "order", @@ -15561,13 +19803,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15575,13 +19817,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15589,7 +19831,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -15600,7 +19842,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.type", "type": "string", "tags": [], "label": "type", @@ -15621,7 +19863,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -15635,7 +19877,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.validations", "type": "Array", "tags": [], "label": "validations", @@ -15649,7 +19891,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.schema.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.value", "type": "string", "tags": [], "label": "value", @@ -15662,10 +19904,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database", "type": "Object", "tags": [], - "label": "fetch_size", + "label": "database", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15673,8 +19915,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], @@ -15684,7 +19926,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -15698,7 +19940,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.display", "type": "string", "tags": [], "label": "display", @@ -15711,7 +19953,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15719,7 +19961,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.label", "type": "string", "tags": [], "label": "label", @@ -15730,7 +19972,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.options", "type": "Array", "tags": [], "label": "options", @@ -15744,7 +19986,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.order", "type": "number", "tags": [], "label": "order", @@ -15755,13 +19997,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15769,7 +20011,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -15783,7 +20025,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -15794,7 +20036,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.type", "type": "string", "tags": [], "label": "type", @@ -15807,7 +20049,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15815,13 +20057,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15829,7 +20071,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.validations", "type": "Array", "tags": [], "label": "validations", @@ -15843,8 +20085,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.fetch_size.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -15856,10 +20098,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables", "type": "Object", "tags": [], - "label": "retry_count", + "label": "tables", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15867,8 +20109,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.default_value", + "type": "string", "tags": [], "label": "default_value", "description": [], @@ -15878,7 +20120,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -15892,7 +20134,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.display", "type": "string", "tags": [], "label": "display", @@ -15905,7 +20147,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTAREA" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15913,7 +20155,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.label", "type": "string", "tags": [], "label": "label", @@ -15924,7 +20166,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.options", "type": "Array", "tags": [], "label": "options", @@ -15938,7 +20180,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.order", "type": "number", "tags": [], "label": "order", @@ -15949,13 +20191,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -15963,7 +20205,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -15977,7 +20219,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -15988,7 +20230,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.type", "type": "string", "tags": [], "label": "type", @@ -16001,7 +20243,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".LIST" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16009,13 +20251,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16023,7 +20265,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.validations", "type": "Array", "tags": [], "label": "validations", @@ -16037,8 +20279,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.retry_count.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -16050,10 +20292,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled", "type": "Object", "tags": [], - "label": "validate_host", + "label": "ssl_enabled", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16061,7 +20303,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.default_value", "type": "boolean", "tags": [], "label": "default_value", @@ -16075,7 +20317,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -16089,7 +20331,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.display", "type": "string", "tags": [], "label": "display", @@ -16110,7 +20352,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.label", "type": "string", "tags": [], "label": "label", @@ -16121,7 +20363,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.options", "type": "Array", "tags": [], "label": "options", @@ -16135,7 +20377,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.order", "type": "number", "tags": [], "label": "order", @@ -16146,7 +20388,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.required", "type": "boolean", "tags": [], "label": "required", @@ -16160,7 +20402,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -16174,7 +20416,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -16185,7 +20427,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.type", "type": "string", "tags": [], "label": "type", @@ -16206,7 +20448,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -16220,7 +20462,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.validations", "type": "Array", "tags": [], "label": "validations", @@ -16234,7 +20476,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.configuration.validate_host.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.value", "type": "boolean", "tags": [], "label": "value", @@ -16247,141 +20489,13 @@ "trackAdoption": false } ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES", - "type": "Object", - "tags": [], - "label": "[FeatureName.SYNC_RULES]", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", - "tags": [], - "label": "advanced", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.advanced.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "false" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.basic", - "type": "Object", - "tags": [], - "label": "basic", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mssql.serviceType", - "type": "string", - "tags": [], - "label": "serviceType", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql", - "type": "Object", - "tags": [], - "label": "mysql", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration", - "type": "Object", - "tags": [], - "label": "configuration", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca", "type": "Object", "tags": [], - "label": "host", + "label": "ssl_ca", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16389,7 +20503,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.default_value", "type": "string", "tags": [], "label": "default_value", @@ -16400,13 +20514,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: true; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16414,7 +20528,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.display", "type": "string", "tags": [], "label": "display", @@ -16435,7 +20549,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.label", "type": "string", "tags": [], "label": "label", @@ -16446,7 +20560,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.options", "type": "Array", "tags": [], "label": "options", @@ -16460,7 +20574,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.order", "type": "number", "tags": [], "label": "order", @@ -16471,7 +20585,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.required", "type": "boolean", "tags": [], "label": "required", @@ -16485,7 +20599,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -16499,7 +20613,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -16510,7 +20624,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.type", "type": "string", "tags": [], "label": "type", @@ -16531,7 +20645,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -16545,7 +20659,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.validations", "type": "Array", "tags": [], "label": "validations", @@ -16559,7 +20673,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.host.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.value", "type": "string", "tags": [], "label": "value", @@ -16572,10 +20686,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size", "type": "Object", "tags": [], - "label": "port", + "label": "fetch_size", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16583,21 +20697,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -16611,7 +20722,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.display", "type": "string", "tags": [], "label": "display", @@ -16632,7 +20743,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.label", "type": "string", "tags": [], "label": "label", @@ -16643,7 +20754,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.options", "type": "Array", "tags": [], "label": "options", @@ -16657,7 +20768,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.order", "type": "number", "tags": [], "label": "order", @@ -16668,13 +20779,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16682,7 +20793,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -16696,7 +20807,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -16707,7 +20818,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.type", "type": "string", "tags": [], "label": "type", @@ -16728,13 +20839,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16742,7 +20853,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.validations", "type": "Array", "tags": [], "label": "validations", @@ -16756,8 +20867,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.port.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -16769,10 +20880,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count", "type": "Object", "tags": [], - "label": "user", + "label": "retry_count", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16780,8 +20891,8 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], @@ -16791,7 +20902,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -16805,7 +20916,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.display", "type": "string", "tags": [], "label": "display", @@ -16818,7 +20929,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16826,7 +20937,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.label", "type": "string", "tags": [], "label": "label", @@ -16837,7 +20948,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.options", "type": "Array", "tags": [], "label": "options", @@ -16851,7 +20962,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.order", "type": "number", "tags": [], "label": "order", @@ -16862,7 +20973,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.required", "type": "boolean", "tags": [], "label": "required", @@ -16876,7 +20987,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -16890,7 +21001,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -16901,7 +21012,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.type", "type": "string", "tags": [], "label": "type", @@ -16914,7 +21025,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16922,13 +21033,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16936,7 +21047,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.validations", "type": "Array", "tags": [], "label": "validations", @@ -16950,8 +21061,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.user.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.value", + "type": "number", "tags": [], "label": "value", "description": [], @@ -16960,13 +21071,26 @@ "trackAdoption": false } ] - }, + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES", "type": "Object", "tags": [], - "label": "password", + "label": "[FeatureName.SYNC_RULES]", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16974,18 +21098,136 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", + "tags": [], + "label": "advanced", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.basic", + "type": "Object", + "tags": [], + "label": "basic", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.basic.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive", + "type": "Object", + "tags": [], + "label": "network_drive", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username", + "type": "Object", + "tags": [], + "label": "username", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -16999,7 +21241,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.display", "type": "string", "tags": [], "label": "display", @@ -17020,7 +21262,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.label", "type": "string", "tags": [], "label": "label", @@ -17031,7 +21273,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.options", "type": "Array", "tags": [], "label": "options", @@ -17045,7 +21287,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.order", "type": "number", "tags": [], "label": "order", @@ -17056,13 +21298,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17070,13 +21312,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17084,7 +21326,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -17095,7 +21337,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.type", "type": "string", "tags": [], "label": "type", @@ -17116,7 +21358,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -17130,7 +21372,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.validations", "type": "Array", "tags": [], "label": "validations", @@ -17144,7 +21386,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.password.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.value", "type": "string", "tags": [], "label": "value", @@ -17157,10 +21399,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password", "type": "Object", "tags": [], - "label": "database", + "label": "password", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17168,18 +21410,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -17193,7 +21438,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.display", "type": "string", "tags": [], "label": "display", @@ -17214,7 +21459,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.label", "type": "string", "tags": [], "label": "label", @@ -17225,7 +21470,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.options", "type": "Array", "tags": [], "label": "options", @@ -17239,7 +21484,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.order", "type": "number", "tags": [], "label": "order", @@ -17250,7 +21495,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.required", "type": "boolean", "tags": [], "label": "required", @@ -17264,13 +21509,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17278,7 +21523,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -17289,7 +21534,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.type", "type": "string", "tags": [], "label": "type", @@ -17310,7 +21555,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -17324,7 +21569,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.validations", "type": "Array", "tags": [], "label": "validations", @@ -17338,7 +21583,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.database.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.value", "type": "string", "tags": [], "label": "value", @@ -17351,10 +21596,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip", "type": "Object", "tags": [], - "label": "tables", + "label": "server_ip", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17362,18 +21607,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -17387,7 +21635,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.display", "type": "string", "tags": [], "label": "display", @@ -17400,7 +21648,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTAREA" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17408,7 +21656,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.label", "type": "string", "tags": [], "label": "label", @@ -17419,7 +21667,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.options", "type": "Array", "tags": [], "label": "options", @@ -17433,7 +21681,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.order", "type": "number", "tags": [], "label": "order", @@ -17444,7 +21692,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.placeholder", + "type": "string", + "tags": [], + "label": "placeholder", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.required", "type": "boolean", "tags": [], "label": "required", @@ -17458,7 +21717,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -17472,7 +21731,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -17483,7 +21742,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.type", "type": "string", "tags": [], "label": "type", @@ -17496,7 +21755,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".LIST" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17504,7 +21763,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -17518,7 +21777,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.validations", "type": "Array", "tags": [], "label": "validations", @@ -17532,7 +21791,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.tables.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.value", "type": "string", "tags": [], "label": "value", @@ -17545,10 +21804,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port", "type": "Object", "tags": [], - "label": "ssl_enabled", + "label": "server_port", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17556,13 +21815,13 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.default_value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], "signature": [ - "false" + "null" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17570,7 +21829,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -17584,7 +21843,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.display", "type": "string", "tags": [], "label": "display", @@ -17597,7 +21856,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TOGGLE" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17605,7 +21864,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.label", "type": "string", "tags": [], "label": "label", @@ -17616,7 +21875,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.options", "type": "Array", "tags": [], "label": "options", @@ -17630,7 +21889,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.order", "type": "number", "tags": [], "label": "order", @@ -17641,7 +21900,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.required", "type": "boolean", "tags": [], "label": "required", @@ -17655,7 +21914,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -17669,7 +21928,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -17680,7 +21939,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.type", "type": "string", "tags": [], "label": "type", @@ -17693,7 +21952,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".BOOLEAN" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17701,7 +21960,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -17715,7 +21974,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.validations", "type": "Array", "tags": [], "label": "validations", @@ -17729,14 +21988,11 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_enabled.value", - "type": "boolean", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.value", + "type": "number", "tags": [], "label": "value", "description": [], - "signature": [ - "false" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -17745,10 +22001,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path", "type": "Object", "tags": [], - "label": "ssl_ca", + "label": "drive_path", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17756,24 +22012,27 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.default_value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.depends_on", "type": "Array", "tags": [], "label": "depends_on", "description": [], "signature": [ - "{ field: string; value: true; }[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17781,7 +22040,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.display", "type": "string", "tags": [], "label": "display", @@ -17802,7 +22061,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.label", "type": "string", "tags": [], "label": "label", @@ -17813,7 +22072,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.options", "type": "Array", "tags": [], "label": "options", @@ -17827,7 +22086,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.order", "type": "number", "tags": [], "label": "order", @@ -17838,7 +22097,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.placeholder", + "type": "string", + "tags": [], + "label": "placeholder", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.required", "type": "boolean", "tags": [], "label": "required", @@ -17852,7 +22122,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -17866,7 +22136,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -17877,7 +22147,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.type", "type": "string", "tags": [], "label": "type", @@ -17898,7 +22168,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -17912,7 +22182,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.validations", "type": "Array", "tags": [], "label": "validations", @@ -17926,7 +22196,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.ssl_ca.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.value", "type": "string", "tags": [], "label": "value", @@ -17936,13 +22206,141 @@ "trackAdoption": false } ] - }, + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features", + "type": "Object", + "tags": [], + "label": "features", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES", + "type": "Object", + "tags": [], + "label": "[FeatureName.SYNC_RULES]", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.advanced", + "type": "Object", + "tags": [], + "label": "advanced", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.advanced.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "false" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.basic", + "type": "Object", + "tags": [], + "label": "basic", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.basic.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [], + "signature": [ + "true" + ], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.serviceType", + "type": "string", + "tags": [], + "label": "serviceType", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive", + "type": "Object", + "tags": [], + "label": "onedrive", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration", + "type": "Object", + "tags": [], + "label": "configuration", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id", "type": "Object", "tags": [], - "label": "fetch_size", + "label": "client_id", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17950,18 +22348,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -17975,7 +22376,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.display", "type": "string", "tags": [], "label": "display", @@ -17988,7 +22389,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -17996,7 +22397,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.label", "type": "string", "tags": [], "label": "label", @@ -18007,7 +22408,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.options", "type": "Array", "tags": [], "label": "options", @@ -18021,7 +22422,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.order", "type": "number", "tags": [], "label": "order", @@ -18032,13 +22433,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18046,7 +22447,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -18060,18 +22461,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.type", "type": "string", "tags": [], "label": "type", @@ -18084,7 +22488,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18092,13 +22496,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18106,7 +22510,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.validations", "type": "Array", "tags": [], "label": "validations", @@ -18120,8 +22524,8 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.fetch_size.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_id.value", + "type": "string", "tags": [], "label": "value", "description": [], @@ -18133,10 +22537,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret", "type": "Object", "tags": [], - "label": "retry_count", + "label": "client_secret", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18144,18 +22548,21 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.default_value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.default_value", + "type": "Uncategorized", "tags": [], "label": "default_value", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -18169,7 +22576,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.display", "type": "string", "tags": [], "label": "display", @@ -18182,7 +22589,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TEXTBOX" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18190,7 +22597,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.label", "type": "string", "tags": [], "label": "label", @@ -18201,7 +22608,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.options", "type": "Array", "tags": [], "label": "options", @@ -18215,7 +22622,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.order", "type": "number", "tags": [], "label": "order", @@ -18226,13 +22633,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18240,13 +22647,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "false" + "true" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18254,18 +22661,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.type", "type": "string", "tags": [], "label": "type", @@ -18278,7 +22688,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".STRING" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18286,13 +22696,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "string[]" + "never[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18300,7 +22710,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.validations", "type": "Array", "tags": [], "label": "validations", @@ -18312,153 +22722,25 @@ "deprecated": false, "trackAdoption": false }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.configuration.retry_count.value", - "type": "number", - "tags": [], - "label": "value", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features", - "type": "Object", - "tags": [], - "label": "features", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES", - "type": "Object", - "tags": [], - "label": "[FeatureName.SYNC_RULES]", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", - "tags": [], - "label": "advanced", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.advanced.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.basic", - "type": "Object", - "tags": [], - "label": "basic", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.mysql.serviceType", - "type": "string", - "tags": [], - "label": "serviceType", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive", - "type": "Object", - "tags": [], - "label": "network_drive", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration", - "type": "Object", - "tags": [], - "label": "configuration", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.client_secret.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id", "type": "Object", "tags": [], - "label": "username", + "label": "tenant_id", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18466,7 +22748,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -18480,7 +22762,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -18494,7 +22776,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.display", "type": "string", "tags": [], "label": "display", @@ -18515,7 +22797,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.label", "type": "string", "tags": [], "label": "label", @@ -18526,7 +22808,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.options", "type": "Array", "tags": [], "label": "options", @@ -18540,7 +22822,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.order", "type": "number", "tags": [], "label": "order", @@ -18551,7 +22833,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.required", "type": "boolean", "tags": [], "label": "required", @@ -18565,7 +22847,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -18579,18 +22861,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.type", "type": "string", "tags": [], "label": "type", @@ -18611,7 +22896,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -18625,7 +22910,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.validations", "type": "Array", "tags": [], "label": "validations", @@ -18639,7 +22924,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.username.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.tenant_id.value", "type": "string", "tags": [], "label": "value", @@ -18652,10 +22937,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count", "type": "Object", "tags": [], - "label": "password", + "label": "retry_count", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18663,21 +22948,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -18691,7 +22973,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.display", "type": "string", "tags": [], "label": "display", @@ -18704,7 +22986,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18712,7 +22994,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.label", "type": "string", "tags": [], "label": "label", @@ -18723,7 +23005,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.options", "type": "Array", "tags": [], "label": "options", @@ -18737,7 +23019,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.order", "type": "number", "tags": [], "label": "order", @@ -18748,13 +23030,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18762,13 +23044,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.sensitive", "type": "boolean", "tags": [], "label": "sensitive", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18776,18 +23058,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.type", "type": "string", "tags": [], "label": "type", @@ -18800,7 +23085,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18808,13 +23093,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18822,7 +23107,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.validations", "type": "Array", "tags": [], "label": "validations", @@ -18836,7 +23121,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.password.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.retry_count.value", "type": "string", "tags": [], "label": "value", @@ -18849,10 +23134,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads", "type": "Object", "tags": [], - "label": "server_ip", + "label": "concurrent_downloads", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18860,21 +23145,18 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.default_value", - "type": "Uncategorized", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.default_value", + "type": "number", "tags": [], "label": "default_value", "description": [], - "signature": [ - "null" - ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -18888,7 +23170,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.display", "type": "string", "tags": [], "label": "display", @@ -18901,7 +23183,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".NUMERIC" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18909,7 +23191,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.label", "type": "string", "tags": [], "label": "label", @@ -18920,7 +23202,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.options", "type": "Array", "tags": [], "label": "options", @@ -18934,7 +23216,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.order", "type": "number", "tags": [], "label": "order", @@ -18945,24 +23227,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.placeholder", - "type": "string", - "tags": [], - "label": "placeholder", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.required", "type": "boolean", "tags": [], "label": "required", "description": [], "signature": [ - "true" + "false" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -18970,7 +23241,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -18984,18 +23255,21 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.tooltip", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.tooltip", + "type": "Uncategorized", "tags": [], "label": "tooltip", "description": [], + "signature": [ + "null" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.type", "type": "string", "tags": [], "label": "type", @@ -19008,7 +23282,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".INTEGER" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19016,13 +23290,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19030,7 +23304,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.validations", "type": "Array", "tags": [], "label": "validations", @@ -19044,7 +23318,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_ip.value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.concurrent_downloads.value", "type": "string", "tags": [], "label": "value", @@ -19057,10 +23331,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security", "type": "Object", "tags": [], - "label": "server_port", + "label": "use_document_level_security", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19068,7 +23342,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -19082,7 +23356,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -19096,7 +23370,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.display", "type": "string", "tags": [], "label": "display", @@ -19109,7 +23383,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".NUMERIC" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19117,7 +23391,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.label", "type": "string", "tags": [], "label": "label", @@ -19128,7 +23402,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.options", "type": "Array", "tags": [], "label": "options", @@ -19142,7 +23416,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.order", "type": "number", "tags": [], "label": "order", @@ -19153,7 +23427,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.required", "type": "boolean", "tags": [], "label": "required", @@ -19167,7 +23441,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -19181,7 +23455,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -19192,7 +23466,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.type", "type": "string", "tags": [], "label": "type", @@ -19205,7 +23479,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".INTEGER" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19213,7 +23487,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", @@ -19227,7 +23501,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.validations", "type": "Array", "tags": [], "label": "validations", @@ -19241,11 +23515,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.server_port.value", - "type": "number", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_document_level_security.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -19254,10 +23531,10 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service", "type": "Object", "tags": [], - "label": "drive_path", + "label": "use_text_extraction_service", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19265,7 +23542,7 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.default_value", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.default_value", "type": "Uncategorized", "tags": [], "label": "default_value", @@ -19279,7 +23556,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.depends_on", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.depends_on", "type": "Array", "tags": [], "label": "depends_on", @@ -19293,7 +23570,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.display", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.display", "type": "string", "tags": [], "label": "display", @@ -19306,7 +23583,7 @@ "section": "def-common.DisplayType", "text": "DisplayType" }, - ".TEXTBOX" + ".TOGGLE" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19314,7 +23591,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.label", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.label", "type": "string", "tags": [], "label": "label", @@ -19325,7 +23602,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.options", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.options", "type": "Array", "tags": [], "label": "options", @@ -19339,7 +23616,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.order", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.order", "type": "number", "tags": [], "label": "order", @@ -19350,18 +23627,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.placeholder", - "type": "string", - "tags": [], - "label": "placeholder", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.required", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.required", "type": "boolean", "tags": [], "label": "required", @@ -19375,7 +23641,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.sensitive", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.sensitive", "type": "boolean", "tags": [], "label": "sensitive", @@ -19389,7 +23655,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.tooltip", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.tooltip", "type": "string", "tags": [], "label": "tooltip", @@ -19400,7 +23666,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.type", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.type", "type": "string", "tags": [], "label": "type", @@ -19413,7 +23679,7 @@ "section": "def-common.FieldType", "text": "FieldType" }, - ".STRING" + ".BOOLEAN" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19421,13 +23687,13 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.ui_restrictions", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.ui_restrictions", "type": "Array", "tags": [], "label": "ui_restrictions", "description": [], "signature": [ - "never[]" + "string[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19435,7 +23701,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.validations", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.validations", "type": "Array", "tags": [], "label": "validations", @@ -19449,11 +23715,14 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.configuration.drive_path.value", - "type": "string", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.configuration.use_text_extraction_service.value", + "type": "boolean", "tags": [], "label": "value", "description": [], + "signature": [ + "false" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, "trackAdoption": false @@ -19464,7 +23733,18 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-search-connectors/types/native_connectors.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.features", "type": "Object", "tags": [], "label": "features", @@ -19475,10 +23755,10 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.features.FeatureName.DOCUMENT_LEVEL_SECURITY", "type": "Object", "tags": [], - "label": "[FeatureName.SYNC_RULES]", + "label": "[FeatureName.DOCUMENT_LEVEL_SECURITY]", "description": [], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -19486,57 +23766,17 @@ "children": [ { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.advanced", - "type": "Object", - "tags": [], - "label": "advanced", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.advanced.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "false" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.basic", - "type": "Object", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.features.FeatureName.DOCUMENT_LEVEL_SECURITY.enabled", + "type": "boolean", "tags": [], - "label": "basic", + "label": "enabled", "description": [], + "signature": [ + "true" + ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.features.FeatureName.SYNC_RULES.basic.enabled", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "true" - ], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - } - ] + "trackAdoption": false } ] } @@ -19544,18 +23784,7 @@ }, { "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-search-connectors/types/native_connectors.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-connectors", - "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.network_drive.serviceType", + "id": "def-common.NATIVE_CONNECTOR_DEFINITIONS.onedrive.serviceType", "type": "string", "tags": [], "label": "serviceType", diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 6c62278c9c7bed..373c49016f105b 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/te | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1748 | 0 | 1748 | 0 | +| 2048 | 0 | 2048 | 0 | ## Common diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index e16e99d875e4ff..49de241dc84725 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 114e188c27a7fc..717b6108076fed 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-10-03 +date: 2023-10-04 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 ce42806fcf5179..73884fa7880ab1 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-10-03 +date: 2023-10-04 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 64f4c71406af21..116f26dd90f46b 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-10-03 +date: 2023-10-04 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 2c28c62b008995..9c29a3620e5648 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index ffd307eae76a4e..60dc2e146ee971 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-10-03 +date: 2023-10-04 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 f9308180da1188..84b75373410ee8 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-10-03 +date: 2023-10-04 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 f9483b7f24f013..ab6bc7fad047ab 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-10-03 +date: 2023-10-04 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 6a26b56399b037..b2404508032438 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 65001c83a8db31..aba7a850cdc69b 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index c9012627107b13..c4674eea195067 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 50fdf7e8a39769..c9ba5071281b1d 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 336043290c0fc7..34661d22ed9c5d 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-10-03 +date: 2023-10-04 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 47ffa14c49e35d..41075154bac87a 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-10-03 +date: 2023-10-04 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 e547d00ec7480e..76ff7b35cdf24a 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-10-03 +date: 2023-10-04 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 035ef49e2a7eeb..d873aa8b59deee 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 0de273d3daef10..77c29e6a7ef8ef 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-10-03 +date: 2023-10-04 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 ee19d7112cdfe1..b726e7d9bcc4eb 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-10-03 +date: 2023-10-04 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 594701c1a08e34..2de4b1c3d0e1aa 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-10-03 +date: 2023-10-04 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 9b311e08295c72..b4fcc1f3ab65a4 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 d1d8dfa04b04e1..81e4be7d4d983d 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-10-03 +date: 2023-10-04 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 0b6ce7671bad66..cfec7eea37bba0 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-10-03 +date: 2023-10-04 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 4615f3a9990fd9..295f8697601c63 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 9475d192dcb9e0..7316db3890f86f 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-10-03 +date: 2023-10-04 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 adc987af94778b..58a18cdb0fd67d 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 6d21e972f45894..c73e1bd6c4fcdb 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-10-03 +date: 2023-10-04 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 b49489e9531592..514dd3f915e8c2 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-10-03 +date: 2023-10-04 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 2222126654ce8b..01446a23c72d5f 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-10-03 +date: 2023-10-04 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 6e37b2e5cbb765..df2d3b07e5d7b4 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-10-03 +date: 2023-10-04 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 820180bf6d7e3c..bfb556f280f927 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-10-03 +date: 2023-10-04 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 6b6b5a56c8f871..6ffc0c61835942 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-10-03 +date: 2023-10-04 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.devdocs.json b/api_docs/kbn_shared_svg.devdocs.json index 9a8e4e6d62ef92..588b1067732688 100644 --- a/api_docs/kbn_shared_svg.devdocs.json +++ b/api_docs/kbn_shared_svg.devdocs.json @@ -22,6 +22,30 @@ "interfaces": [], "enums": [], "misc": [ + { + "parentPluginId": "@kbn/shared-svg", + "id": "def-common.content", + "type": "string", + "tags": [], + "label": "content", + "description": [], + "path": "packages/kbn-ambient-ui-types/index.d.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-svg", + "id": "def-common.content", + "type": "string", + "tags": [], + "label": "content", + "description": [], + "path": "packages/kbn-ambient-ui-types/index.d.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/shared-svg", "id": "def-common.content", diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 52639d3e138cde..7d7b3d1e927d18 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) for ques | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2 | 0 | 2 | 0 | +| 4 | 0 | 4 | 0 | ## Common diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index eaa5526e373ae8..e3278f6713a624 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 7a23855fd9d1f7..8c66cb2c66b097 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index b68e6714f55a3b..5d5715345b9d1f 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index f6d01c7f6e2bb2..98366524af159a 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 5b92d8dd99e1f7..4532a64fa853dd 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-10-03 +date: 2023-10-04 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 044b8c56c28948..51e51e1b5fceef 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-10-03 +date: 2023-10-04 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 136cc7c391fd03..3909f7cb5b76f3 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 f1291580202772..fbb57cc717da13 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 127298fd530def..5a72a36f1e5136 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-10-03 +date: 2023-10-04 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 832d3dfc11a16e..d657ae8b8c1514 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-10-03 +date: 2023-10-04 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 ae30e5a216852c..8b9b3d8c9479ae 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 954d867800f3ee..b83874e227ab16 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 b452d558033567..497dc43acf8d2c 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-10-03 +date: 2023-10-04 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 efafc729119cd9..a937fb3a1f2bd1 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-10-03 +date: 2023-10-04 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 89e92d69b56808..2e4eb12f81ca9c 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-10-03 +date: 2023-10-04 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 48bbcca2952969..7cf0d2d51552a8 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-10-03 +date: 2023-10-04 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 9d6246af0a9785..60820afea31f19 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-10-03 +date: 2023-10-04 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 9f76869f2fcd93..5a9680546679ab 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 b3a29ae0a1781a..5cc61578942497 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-10-03 +date: 2023-10-04 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 fc1b91ee92b33e..a68389a97579dc 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 c1315061795aee..41124c5d1364ca 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-10-03 +date: 2023-10-04 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 09483b90d1bb38..9b1594fa5b6d5f 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 02a8d3e58c4f82..614cb0dcb17883 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-10-03 +date: 2023-10-04 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 f858f551e9c595..0ae50d2dca0cd4 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 a2446518931abd..de2ccbffecc329 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-10-03 +date: 2023-10-04 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 5d48d6e7eee4b8..4bdf7d15cad4e3 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 912de01db7195b..aab09201948124 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-10-03 +date: 2023-10-04 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 2f92a2e8da3fcf..2a3ff12472f289 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-10-03 +date: 2023-10-04 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 3fa1a61bd5d971..f3a46f161bbcfe 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 2017f185e47aab..ad9e850bdc497b 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 db19e1a9ae5517..06bde717c846bc 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-10-03 +date: 2023-10-04 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 4d84df2f8a3196..4f0895eedd529a 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-10-03 +date: 2023-10-04 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 3d5b2aa249fac6..ead2f6e7e3ffd2 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 b89d0a6c3fcfe2..af81c4c53858fb 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-10-03 +date: 2023-10-04 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 40c1bc7cf11f17..9dfb6a29e15803 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-10-03 +date: 2023-10-04 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 1c743f1e9ff115..e9892249c21cad 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-10-03 +date: 2023-10-04 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 3cd2e89c36671c..0d93c547dd5145 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-10-03 +date: 2023-10-04 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 0479c67007fa16..6005a60064f710 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index a0ed89e28a51b7..af997d48080e10 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-10-03 +date: 2023-10-04 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 2843e6600d2cf9..6b60f64117f371 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-10-03 +date: 2023-10-04 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 6abfe3786364c9..352c042ce2a037 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 7700c96d82680b..ba2faa59f4ee29 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-10-03 +date: 2023-10-04 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 6a7818956c7f12..24614e641fa4d2 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-10-03 +date: 2023-10-04 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 aaa3c770fb305e..10da0ca89d0679 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_subscription_tracking.mdx b/api_docs/kbn_subscription_tracking.mdx index e42141887b78dc..a215f21dde1549 100644 --- a/api_docs/kbn_subscription_tracking.mdx +++ b/api_docs/kbn_subscription_tracking.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-subscription-tracking title: "@kbn/subscription-tracking" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/subscription-tracking plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/subscription-tracking'] --- import kbnSubscriptionTrackingObj from './kbn_subscription_tracking.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index ce1ab2f74e1c4c..4d864b8037c818 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-10-03 +date: 2023-10-04 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 79fc16b4822efd..a57c3ed3ebc0ae 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 1fe097e875cf65..8e830cf45b2a63 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-10-03 +date: 2023-10-04 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 c47eebab418f88..0fd0a340e41978 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 6df3d6aedd7ce4..4eae2e898df5d9 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 22aac187f11d09..c448d74c001bb9 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index ab326d92e95f0b..a98aee6a2762d2 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-10-03 +date: 2023-10-04 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 c8f7903d418726..6abef4b3cb2656 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-10-03 +date: 2023-10-04 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 4fef07727c5e81..1cf8ad38e27495 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-10-03 +date: 2023-10-04 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 a5bf8efb162ab2..87218bf34c107d 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-10-03 +date: 2023-10-04 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 d1669b1ffdf988..d81de2c5fca9af 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-10-03 +date: 2023-10-04 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 1ae1af45e86541..2ee6ad369ae8b5 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-10-03 +date: 2023-10-04 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 1e7b690589466c..b8120562c5c506 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-10-03 +date: 2023-10-04 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 b07006c4c112f7..a2087344b05b37 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index c8d8a87b504e1d..3ae29ff6cec18b 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 0a003c3e653dee..cc32e0d5a7fe3f 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-10-03 +date: 2023-10-04 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 7a3b3342d677ed..7d0e7625549192 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-10-03 +date: 2023-10-04 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 3a91ff72f10b24..5279f67f8e4afa 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-10-03 +date: 2023-10-04 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 1e8ae3745f5fdc..145b5304caf143 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-10-03 +date: 2023-10-04 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 7e9192f8ec04ab..0206955946b473 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-10-03 +date: 2023-10-04 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 05df87b4d19b1c..35b86e5615659d 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index e07d40e2f72424..b550dbb55e6d30 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-10-03 +date: 2023-10-04 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 316dd522da92cb..b316eb12dad4d8 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index ab01552616ac8a..356e258f0b7e2f 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-10-03 +date: 2023-10-04 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 681a72f46329f3..85b74a775e9518 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-10-03 +date: 2023-10-04 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 ece1e784ff0733..ef82a6fde36aff 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-10-03 +date: 2023-10-04 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 cf60ba36ac3f39..e2532acc7f9090 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-10-03 +date: 2023-10-04 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 4f8ce11c263fd5..535cb06bd546f4 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-10-03 +date: 2023-10-04 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 a4d8dca3c79d5e..9d7769ae9a2974 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-10-03 +date: 2023-10-04 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 23838547aedea6..f4931f56c2be04 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.devdocs.json b/api_docs/licensing.devdocs.json index d041c80cac66de..2d2924491b936c 100644 --- a/api_docs/licensing.devdocs.json +++ b/api_docs/licensing.devdocs.json @@ -2186,6 +2186,10 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/plugin.ts" }, + { + "plugin": "aiops", + "path": "x-pack/plugins/aiops/server/plugin.ts" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/server/plugin.ts" diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index fc932bf94ddf07..6ace00fe51a0f0 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-10-03 +date: 2023-10-04 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 377ece699f997d..252c39322ca6a5 100644 --- a/api_docs/links.mdx +++ b/api_docs/links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/links title: "links" image: https://source.unsplash.com/400x175/?github description: API docs for the links plugin -date: 2023-10-03 +date: 2023-10-04 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 3c85b961b0a047..36861d7fc6323e 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 403d104fb8d1bb..9ac971ea3b4a0f 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 26f32368538f37..566777c5b47976 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-10-03 +date: 2023-10-04 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 24ae2df740750b..26b43a942c8d15 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-10-03 +date: 2023-10-04 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 3f62a492f75462..3b1862a9f985bc 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-10-03 +date: 2023-10-04 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 9e3705d5e9885a..0bc75c29258ff7 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-10-03 +date: 2023-10-04 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 3e6499cf0e56e6..d4b6dfef85c014 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.devdocs.json b/api_docs/ml.devdocs.json index 8dfd6b380c2a45..a3f795bac57afc 100644 --- a/api_docs/ml.devdocs.json +++ b/api_docs/ml.devdocs.json @@ -1902,6 +1902,22 @@ "MlPutTrainedModelRequest", "): Promise<", "MlTrainedModelConfig", + ">; getELSER(params?: ", + { + "pluginId": "@kbn/ml-trained-models-utils", + "scope": "common", + "docId": "kibKbnMlTrainedModelsUtilsPluginApi", + "section": "def-common.GetElserOptions", + "text": "GetElserOptions" + }, + " | undefined): Promise<", + { + "pluginId": "@kbn/ml-trained-models-utils", + "scope": "common", + "docId": "kibKbnMlTrainedModelsUtilsPluginApi", + "section": "def-common.ModelDefinitionResponse", + "text": "ModelDefinitionResponse" + }, ">; }" ], "path": "x-pack/plugins/ml/server/shared.ts", diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index cdb50a405db188..30cddb7edb9bcd 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 007a9c8aa81608..fbec9a529dc700 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-10-03 +date: 2023-10-04 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 14b290a344ce74..fae56d87b06cbd 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-10-03 +date: 2023-10-04 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 173ea869e4f251..5680809c10e42d 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-10-03 +date: 2023-10-04 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 12b2ccd23a4cd9..3e6d4a836f0d4f 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-10-03 +date: 2023-10-04 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 8449b89d07fea2..1c5b21cb4714e0 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-10-03 +date: 2023-10-04 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 88f03d9695b099..5ce826a89a292e 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-10-03 +date: 2023-10-04 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 9497303b79ed64..1d3696f26300b8 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-10-03 +date: 2023-10-04 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 d09f0f28e4a845..c36dfffa7e4f11 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index 2f64d0f377d64d..b3b5d7dc00d55a 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index a11f5f715c431b..ac51c37ec4bedd 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-10-03 +date: 2023-10-04 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 cfb672376fedba..495743d4247b03 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-10-03 +date: 2023-10-04 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 adce418422e7a1..7e19211aec394e 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-10-03 +date: 2023-10-04 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 a232cc84285128..d9d8766ba9ccac 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-10-03 +date: 2023-10-04 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 ed9e95eada5f8f..5385249ce7b86d 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -21,7 +21,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 75443 | 223 | 64253 | 1574 | +| 75755 | 223 | 64565 | 1575 | ## Plugin Directory @@ -31,7 +31,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 17 | 1 | 15 | 2 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 67 | 1 | 4 | 1 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 776 | 1 | 745 | 50 | -| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 29 | 0 | 29 | 119 | +| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 29 | 0 | 29 | 120 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 9 | 0 | 9 | 0 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | Asset manager plugin for entity assets (inventory, topology, etc) | 9 | 0 | 9 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 9 | 0 | @@ -50,7 +50,7 @@ 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 | 14 | 0 | 2 | 2 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 13 | 0 | 13 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Content management app | 149 | 0 | 126 | 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 | 309 | 0 | 302 | 16 | +| | [@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 | 311 | 0 | 304 | 16 | | crossClusterReplication | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-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 | @@ -185,7 +185,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 240 | 1 | 196 | 17 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the transforms features provided by Elastic. Transforms enable you to convert existing Elasticsearch indices into summarized indices, which provide opportunities for new insights and analytics. | 4 | 0 | 4 | 1 | | translations | [@elastic/kibana-localization](https://github.com/orgs/elastic/teams/kibana-localization) | - | 0 | 0 | 0 | 0 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 578 | 1 | 552 | 52 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 579 | 1 | 553 | 52 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds UI Actions service to Kibana | 145 | 0 | 103 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Extends UI Actions plugin with more functionality | 212 | 0 | 145 | 10 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains services reliant on the plugin lifecycle for the unified doc viewer component (see @kbn/unified-doc-viewer). | 13 | 0 | 10 | 3 | @@ -512,7 +512,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 5 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 8 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 2 | 0 | 1 | 0 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 22 | 0 | 22 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 29 | 0 | 29 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 31 | 1 | 24 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 78 | 0 | 76 | 3 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 55 | 1 | 50 | 0 | @@ -544,7 +544,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-detections-response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 114 | 0 | 111 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 68 | 0 | 68 | 0 | -| | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 1748 | 0 | 1748 | 0 | +| | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 2048 | 0 | 2048 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 15 | 0 | 8 | 0 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 14 | 0 | 14 | 6 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 50 | 0 | 47 | 0 | @@ -576,7 +576,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/enterprise-search-frontend @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/enterprise-search-frontend ) | - | 1 | 0 | 1 | 0 | | | [@elastic/security-solution @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/security-solution ) | - | 1 | 0 | 1 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 0 | 0 | -| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 2 | 0 | 2 | 0 | +| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 4 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 2 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 40 | 0 | 3 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 4 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index b9071fb7255acc..c94afd6726d230 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-10-03 +date: 2023-10-04 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 910a7822191e50..3a4e594dfff371 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-10-03 +date: 2023-10-04 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 4932f1ab8723f0..00457f1b7f5ad5 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-10-03 +date: 2023-10-04 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 bc7a7368d5631e..93900ce0671dfc 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-10-03 +date: 2023-10-04 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 4e77594da9d20b..e5a5c3745fedf6 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-10-03 +date: 2023-10-04 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 fa08fbec58bdd6..d57bdbfe3d304f 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-10-03 +date: 2023-10-04 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 e127e3bf397568..17be3ce7347ab0 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-10-03 +date: 2023-10-04 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 2e8412a73e61ba..f80203dc65a03f 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-10-03 +date: 2023-10-04 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 d3ee7b06b4b076..057ef309a1908a 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-10-03 +date: 2023-10-04 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 5d95b14324e040..e2ef88610bad44 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-10-03 +date: 2023-10-04 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 2dac7732e65cbf..beff3d03e64324 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-10-03 +date: 2023-10-04 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 db876d9a04b553..9bb0ee48c65c78 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-10-03 +date: 2023-10-04 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 839a1a4e865644..9be994c1a1b978 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-10-03 +date: 2023-10-04 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 a71621cebb0cff..035cafcea23c15 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-10-03 +date: 2023-10-04 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 67d56993cf219d..fd1e6da25c084a 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-10-03 +date: 2023-10-04 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 9c61450fa90e35..2f1dad24ba22dc 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 922fe2cc11f103..8a8530a7e0bc4a 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-10-03 +date: 2023-10-04 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 699591e9994722..6750369625a69f 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-10-03 +date: 2023-10-04 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 7b6a5433829f61..61333fa922ef8c 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-10-03 +date: 2023-10-04 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 d31f881a4ee4db..f2a4007dfabc16 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-10-03 +date: 2023-10-04 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 7e1b9812c790c7..5f9ac7fdfc053d 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-10-03 +date: 2023-10-04 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 e3d240b492aed8..545a9b04455ead 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-10-03 +date: 2023-10-04 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 b99b55db755e20..3a1d3130b69a12 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-10-03 +date: 2023-10-04 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 0b5870d7b156c1..1fde97f8160a19 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-10-03 +date: 2023-10-04 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 5da9475f7ea01e..1655bfd9995c64 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 3cbd0ff796db17..65d3d009b08177 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-10-03 +date: 2023-10-04 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 82aa52119bfaaf..6ae122edde8f75 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-10-03 +date: 2023-10-04 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 f9eef746786cdf..df49f554a3e4c3 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-10-03 +date: 2023-10-04 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 ccca429893484c..77a5f87ceff413 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.devdocs.json b/api_docs/task_manager.devdocs.json index abdde3e96fa977..620d48af005c2f 100644 --- a/api_docs/task_manager.devdocs.json +++ b/api_docs/task_manager.devdocs.json @@ -1773,7 +1773,7 @@ "signature": [ "Pick<", "TaskScheduling", - ", \"schedule\" | \"runSoon\" | \"ephemeralRunNow\" | \"ensureScheduled\" | \"bulkUpdateSchedules\" | \"bulkEnable\" | \"bulkDisable\" | \"bulkSchedule\"> & Pick<", + ", \"schedule\" | \"runSoon\" | \"ephemeralRunNow\" | \"ensureScheduled\" | \"bulkUpdateSchedules\" | \"bulkEnable\" | \"bulkDisable\" | \"bulkSchedule\" | \"bulkUpdateState\"> & Pick<", "TaskStore", ", \"get\" | \"aggregate\" | \"fetch\" | \"remove\" | \"bulkRemove\"> & { removeIfExists: (id: string) => Promise; } & { supportsEphemeralTasks: () => boolean; getRegisteredTypes: () => string[]; }" ], diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 6fadb362315e7a..487a988e98d831 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-10-03 +date: 2023-10-04 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 e1e7d23a2be323..10f1f2535bc913 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-10-03 +date: 2023-10-04 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 48d6b9f15f203b..293abfc53166a4 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index 690d9291319cc2..8a56f882f506a8 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index 3ef4221459dcb8..3c18c09632a4d9 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index b33ae7482afdd8..b151e77653cc6b 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 3f69beef3f3394..ac963e4b5591fc 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-10-03 +date: 2023-10-04 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 c4fccb6b21c2ab..b0809955803769 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-10-03 +date: 2023-10-04 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 dde7bc56d4cef1..61eac471b522f4 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.devdocs.json b/api_docs/triggers_actions_ui.devdocs.json index a71ebed1405afc..6b205e65bf6309 100644 --- a/api_docs/triggers_actions_ui.devdocs.json +++ b/api_docs/triggers_actions_ui.devdocs.json @@ -1789,6 +1789,25 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "triggersActionsUi", + "id": "def-public.useBulkUntrackAlerts", + "type": "Function", + "tags": [], + "label": "useBulkUntrackAlerts", + "description": [], + "signature": [ + "() => ", + "UseMutationResult", + "" + ], + "path": "x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/hooks/use_bulk_untrack_alerts.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "triggersActionsUi", "id": "def-public.useConnectorContext", diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 51fe48e759541f..48e4f9d89c804f 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 578 | 1 | 552 | 52 | +| 579 | 1 | 553 | 52 | ## Client diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 26ec6ab9333f91..6a0bbf988918f5 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-10-03 +date: 2023-10-04 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 fa9574593b9f95..af87c5d67d7a26 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-10-03 +date: 2023-10-04 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 08be104a6529d1..fb2d331b7115f4 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-10-03 +date: 2023-10-04 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 e692bb225f19bb..06f5ae34177b24 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-10-03 +date: 2023-10-04 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 303621cf610baa..925959a291e167 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-10-03 +date: 2023-10-04 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 42b518b4a9158a..e1252144f73962 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-10-03 +date: 2023-10-04 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 35ad388965ebcd..7d8a95edf987da 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-10-03 +date: 2023-10-04 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 65c769e8b886e7..3eb337c05ae3d1 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-10-03 +date: 2023-10-04 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 1d8770c644b549..7b6f2f888e0c03 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-10-03 +date: 2023-10-04 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 8d9e88f57a46ae..365162b61ee7d6 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-10-03 +date: 2023-10-04 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 18c9d675192600..02be92a35c2d5d 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-10-03 +date: 2023-10-04 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 acfa0c5465ac74..aaa1b41d5bd0c0 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-10-03 +date: 2023-10-04 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 3e38f2d28024d0..bfe7402987c65d 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-10-03 +date: 2023-10-04 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 443393fd61d2a7..63ce12aab067dd 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-10-03 +date: 2023-10-04 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 73879eff9a9962..9f2e4cd8f8961e 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-10-03 +date: 2023-10-04 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 cc1823d335af6d..2eefb082597430 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-10-03 +date: 2023-10-04 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 e1b22fe8aa5f60..dfc9b6cd8ad57c 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-10-03 +date: 2023-10-04 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 087b76cd4f51b3..2c2a070030345a 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-10-03 +date: 2023-10-04 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 f8d6e3cde89f02..cdf3234db07abe 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-10-03 +date: 2023-10-04 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 2be47afee8f581..a314818334cbb5 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 7cb28095080781..28f223df4f772e 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-10-03 +date: 2023-10-04 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 471ae6a858a72ad5d56779016ebfb9c9abe94eaa Mon Sep 17 00:00:00 2001 From: Katerina Date: Wed, 4 Oct 2023 08:20:12 +0200 Subject: [PATCH 32/35] [APM] Add telemetry from custom dashboards (#167866) ## Summary closes: https://github.com/elastic/kibana/issues/167865 Adds telemetry for the total number of custom dashboards linked with services and the kuery used ## How to test Navigate to `internal/apm/debug-telemetry` on any of the deployed environments You will find the custom_dashboards field like this image ### Update indexer - https://github.com/elastic/telemetry/pull/2702 --- .../__snapshots__/apm_telemetry.test.ts.snap | 30 +++++++++++ .../collect_data_telemetry/tasks.test.ts | 52 +++++++++++++++++++ .../collect_data_telemetry/tasks.ts | 30 +++++++++++ .../apm/server/lib/apm_telemetry/schema.ts | 30 +++++++++++ .../apm/server/lib/apm_telemetry/types.ts | 5 ++ .../schema/xpack_plugins.json | 33 ++++++++++++ 6 files changed, 180 insertions(+) diff --git a/x-pack/plugins/apm/common/__snapshots__/apm_telemetry.test.ts.snap b/x-pack/plugins/apm/common/__snapshots__/apm_telemetry.test.ts.snap index dac7b7a8d034b4..f8e220ca97946a 100644 --- a/x-pack/plugins/apm/common/__snapshots__/apm_telemetry.test.ts.snap +++ b/x-pack/plugins/apm/common/__snapshots__/apm_telemetry.test.ts.snap @@ -2577,6 +2577,22 @@ exports[`APM telemetry helpers getApmTelemetry generates a JSON object with the } } }, + "custom_dashboards": { + "properties": { + "kuery_fields": { + "type": "keyword", + "_meta": { + "description": "An array of up to 500 unique fields used to create the custom dashboards across all spaces. Example [service.language.name, service.name] " + } + }, + "total": { + "type": "long", + "_meta": { + "description": "Total number of custom dashboards retrived from the saved object across all spaces" + } + } + } + }, "per_service": { "properties": { "service_id": { @@ -2967,6 +2983,20 @@ exports[`APM telemetry helpers getApmTelemetry generates a JSON object with the } } }, + "custom_dashboards": { + "properties": { + "took": { + "properties": { + "ms": { + "type": "long", + "_meta": { + "description": "Execution time in milliseconds for the \\"custom_dashboards\\" task" + } + } + } + } + } + }, "per_service": { "properties": { "took": { diff --git a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts index 0cbd35a8f3bd6b..48dd36e0dacda3 100644 --- a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts +++ b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts @@ -801,6 +801,58 @@ describe('data telemetry collection tasks', () => { }); }); + describe('custom dashboards', () => { + const task = tasks.find((t) => t.name === 'custom_dashboards'); + const savedObjectsClient = savedObjectsClientMock.create(); + + it('returns custom dashboards stats from all spaces', async () => { + savedObjectsClient.find.mockResolvedValueOnce({ + page: 1, + per_page: 500, + total: 2, + saved_objects: [ + { + type: 'apm-custom-dashboards', + id: '0b6157f0-44bd-11ed-bdb7-bffab551cd4d', + namespaces: ['default'], + attributes: { + dashboardSavedObjectId: 'foo-id', + serviceEnvironmentFilterEnabled: true, + serviceNameFilterEnabled: true, + kuery: 'service.name: frontend and service.environment: prod', + }, + references: [], + score: 1, + }, + { + type: 'apm-custom-dashboards', + id: '0b6157f0-44bd-11ed-bdb7-bffab551cd4d', + namespaces: ['space-1'], + attributes: { + dashboardSavedObjectId: 'bar-id', + serviceEnvironmentFilterEnabled: true, + serviceNameFilterEnabled: true, + kuery: 'service.name: frontend', + }, + references: [], + score: 0, + }, + ], + }); + + expect( + await task?.executor({ + savedObjectsClient, + } as any) + ).toEqual({ + custom_dashboards: { + kuery_fields: ['service.name', 'service.environment'], + total: 2, + }, + }); + }); + }); + describe('top_traces', () => { const task = tasks.find((t) => t.name === 'top_traces'); diff --git a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts index b980c79e261cdd..1ae9b5752a1c88 100644 --- a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts +++ b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts @@ -71,6 +71,10 @@ import { import { APM_AGENT_CONFIGURATION_INDEX } from '../../../routes/settings/apm_indices/apm_system_index_constants'; import { IndicesStatsResponse, TelemetryClient } from '../telemetry_client'; import { RollupInterval } from '../../../../common/rollup'; +import { + APM_CUSTOM_DASHBOARDS_SAVED_OBJECT_TYPE, + SavedApmCustomDashboard, +} from '../../../../common/custom_dashboards'; type ISavedObjectsClient = Pick; const TIME_RANGES = ['1d', 'all'] as const; @@ -1491,6 +1495,32 @@ export const tasks: TelemetryTask[] = [ }; }, }, + { + name: 'custom_dashboards', + executor: async ({ savedObjectsClient }) => { + const response = await savedObjectsClient.find({ + type: APM_CUSTOM_DASHBOARDS_SAVED_OBJECT_TYPE, + page: 1, + perPage: 500, + sortField: 'updated_at', + sortOrder: 'desc', + namespaces: ['*'], + }); + + const kueryNodes = response.saved_objects.map( + ({ attributes: { kuery } }) => fromKueryExpression(kuery ?? '') + ); + + const kueryFields = getKueryFields(kueryNodes); + + return { + custom_dashboards: { + kuery_fields: uniq(kueryFields), + total: response.total ?? 0, + }, + }; + }, + }, { name: 'per_service', executor: async ({ indices, telemetryClient }) => { diff --git a/x-pack/plugins/apm/server/lib/apm_telemetry/schema.ts b/x-pack/plugins/apm/server/lib/apm_telemetry/schema.ts index 7c5ca6c78c7b3d..59f8c1f7097e77 100644 --- a/x-pack/plugins/apm/server/lib/apm_telemetry/schema.ts +++ b/x-pack/plugins/apm/server/lib/apm_telemetry/schema.ts @@ -1083,6 +1083,25 @@ export const apmSchema: MakeSchemaFrom = { }, }, }, + custom_dashboards: { + kuery_fields: { + type: 'array', + items: { + type: 'keyword', + _meta: { + description: + 'An array of up to 500 unique fields used to create the custom dashboards across all spaces. Example [service.language.name, service.name] ', + }, + }, + }, + total: { + type: 'long', + _meta: { + description: + 'Total number of custom dashboards retrived from the saved object across all spaces', + }, + }, + }, per_service: { type: 'array', items: { ...apmPerServiceSchema } }, top_traces: { max: { @@ -1263,6 +1282,17 @@ export const apmSchema: MakeSchemaFrom = { }, }, }, + custom_dashboards: { + took: { + ms: { + type: 'long', + _meta: { + description: + 'Execution time in milliseconds for the "custom_dashboards" task', + }, + }, + }, + }, per_service: { took: { ms: { diff --git a/x-pack/plugins/apm/server/lib/apm_telemetry/types.ts b/x-pack/plugins/apm/server/lib/apm_telemetry/types.ts index b4beb768ae3348..11e181f552b474 100644 --- a/x-pack/plugins/apm/server/lib/apm_telemetry/types.ts +++ b/x-pack/plugins/apm/server/lib/apm_telemetry/types.ts @@ -213,6 +213,10 @@ export interface APMUsage { kuery_fields: string[]; total: number; }; + custom_dashboards: { + kuery_fields: string[]; + total: number; + }; per_service: APMPerService[]; top_traces: { max: number; @@ -234,6 +238,7 @@ export interface APMUsage { | 'cardinality' | 'environments' | 'service_groups' + | 'custom_dashboards' | 'per_service' | 'top_traces', { took: { ms: number } } diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json index db7cac9e55cd34..be6ceb1dab3b7c 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -5672,6 +5672,25 @@ } } }, + "custom_dashboards": { + "properties": { + "kuery_fields": { + "type": "array", + "items": { + "type": "keyword", + "_meta": { + "description": "An array of up to 500 unique fields used to create the custom dashboards across all spaces. Example [service.language.name, service.name] " + } + } + }, + "total": { + "type": "long", + "_meta": { + "description": "Total number of custom dashboards retrived from the saved object across all spaces" + } + } + } + }, "per_service": { "type": "array", "items": { @@ -6077,6 +6096,20 @@ } } }, + "custom_dashboards": { + "properties": { + "took": { + "properties": { + "ms": { + "type": "long", + "_meta": { + "description": "Execution time in milliseconds for the \"custom_dashboards\" task" + } + } + } + } + } + }, "per_service": { "properties": { "took": { From 96a1ef45815fe5482dff2d2ed97131b685091bb9 Mon Sep 17 00:00:00 2001 From: Michael Olorunnisola Date: Wed, 4 Oct 2023 02:34:00 -0400 Subject: [PATCH 33/35] [Security Solution][Timeline] - ESQL in timeline (#166764) ## Summary This PR leverages the work done [here](https://github.com/elastic/kibana/pull/165596) to introduce ES|QL into timeline. The goal of this PR is to provide security users easy access to ESQL from within the security solution. It will be released in `technical preview` for the 8.11 release. image ### 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 --------- Co-authored-by: Jatin Kathuria Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Jatin Kathuria --- config/serverless.security.yml | 1 - .../top_nav/discover_topnav.test.tsx | 23 +++++ .../components/top_nav/discover_topnav.tsx | 21 +++-- .../search_bar_customization.ts | 1 + .../cypress/e2e/all/alerts_cases.cy.ts | 4 +- .../e2e/all/alerts_multiple_agents.cy.ts | 15 ++-- .../osquery/cypress/screens/live_query.ts | 2 + .../common/experimental_features.ts | 2 +- .../use_discover_in_timeline_actions.tsx | 10 +-- .../use_discover_in_timeline_actions.test.tsx | 30 +++++-- .../use_discover_in_timeline_actions.tsx | 28 ++++-- .../use_search_bar_customizations.tsx | 3 + .../use_set_discover_customizations.ts | 1 - .../timeline/discover_tab_content/index.tsx | 22 ++--- .../timeline/tabs_content/index.tsx | 47 +++++++--- .../timeline/tabs_content/translations.ts | 13 ++- .../timelines/discover/cell_actions.cy.ts | 32 +------ .../timelines/discover/discover_state.cy.ts | 48 ++++------ .../discover_timeline_state_integration.cy.ts | 49 +++------- .../timelines/discover/search_filter.cy.ts | 89 +++++-------------- .../cypress/screens/discover.ts | 8 +- .../cypress/tasks/alerts.ts | 2 +- .../cypress/tasks/discover.ts | 35 +++++++- .../cypress/tasks/timeline.ts | 6 +- 24 files changed, 247 insertions(+), 245 deletions(-) diff --git a/config/serverless.security.yml b/config/serverless.security.yml index f8ed3d37345e5e..057739b8dc50e9 100644 --- a/config/serverless.security.yml +++ b/config/serverless.security.yml @@ -35,7 +35,6 @@ xpack.fleet.internal.registry.spec.max: '3.0' # Serverless security specific options xpack.securitySolution.enableExperimental: - - discoverInTimeline - esqlRulesDisabled xpack.ml.ad.enabled: true diff --git a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx index 5b00f1ee6e75e9..50e8b9e16a4187 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx @@ -46,6 +46,11 @@ const mockSearchBarCustomizationWithCustomSearchBar: SearchBarCustomization = { CustomSearchBar: MockCustomSearchBar, }; +const mockSearchBarCustomizationWithHiddenDataViewPicker: SearchBarCustomization = { + id: 'search_bar', + hideDataViewPicker: true, +}; + let mockUseCustomizations = false; jest.mock('../../../../customizations', () => ({ @@ -256,5 +261,23 @@ describe('Discover topnav component', () => { ).find(mockSearchBarCustomization.CustomDataViewPicker!); expect(dataViewPickerOverride.length).toBe(1); }); + + it('should not render the dataView picker when hideDataViewPicker is true', () => { + (useDiscoverCustomization as jest.Mock).mockImplementation((id: DiscoverCustomizationId) => { + if (id === 'search_bar') { + return mockSearchBarCustomizationWithHiddenDataViewPicker; + } + }); + + const props = getProps(); + const component = mountWithIntl( + + + + ); + + const topNav = component.find(mockDiscoverService.navigation.ui.AggregateQueryTopNavMenu); + expect(topNav.prop('dataViewPickerComponentProps')).toBeUndefined(); + }); }); }); diff --git a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx index 650d5141536e93..7b53587d08eb44 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx @@ -114,6 +114,7 @@ export const DiscoverTopNav = ({ }, [dataViewEditor, stateContainer]); const topNavCustomization = useDiscoverCustomization('top_nav'); + const topNavMenu = useMemo( () => getTopNavLinks({ @@ -171,6 +172,17 @@ export const DiscoverTopNav = ({ if (isESQLModeEnabled) { supportedTextBasedLanguages.push('ESQL'); } + + const searchBarCustomization = useDiscoverCustomization('search_bar'); + + const SearchBar = useMemo( + () => searchBarCustomization?.CustomSearchBar ?? AggregateQueryTopNavMenu, + [searchBarCustomization?.CustomSearchBar, AggregateQueryTopNavMenu] + ); + + const shouldHideDefaultDataviewPicker = + !!searchBarCustomization?.CustomDataViewPicker || !!searchBarCustomization?.hideDataViewPicker; + const dataViewPickerProps: DataViewPickerProps = { trigger: { label: dataView?.getName() || '', @@ -201,13 +213,6 @@ export const DiscoverTopNav = ({ [services, stateContainer] ); - const searchBarCustomization = useDiscoverCustomization('search_bar'); - - const SearchBar = useMemo( - () => searchBarCustomization?.CustomSearchBar ?? AggregateQueryTopNavMenu, - [searchBarCustomization?.CustomSearchBar, AggregateQueryTopNavMenu] - ); - return ( >; + hideDataViewPicker?: boolean; } diff --git a/x-pack/plugins/osquery/cypress/e2e/all/alerts_cases.cy.ts b/x-pack/plugins/osquery/cypress/e2e/all/alerts_cases.cy.ts index b3053fc11bc9f0..5b9a43b6015fff 100644 --- a/x-pack/plugins/osquery/cypress/e2e/all/alerts_cases.cy.ts +++ b/x-pack/plugins/osquery/cypress/e2e/all/alerts_cases.cy.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { LIVE_QUERY_EDITOR } from '../../screens/live_query'; +import { OSQUERY_FLYOUT_BODY_EDITOR } from '../../screens/live_query'; import { cleanupCase, cleanupPack, @@ -79,7 +79,7 @@ describe( cy.getBySel('osquery-action-item').click(); cy.contains(/^\d+ agen(t|ts) selected/); cy.contains('Run a set of queries in a pack').click(); - cy.get(LIVE_QUERY_EDITOR).should('not.exist'); + cy.get(OSQUERY_FLYOUT_BODY_EDITOR).should('not.exist'); cy.getBySel('select-live-pack').click().type(`${packName}{downArrow}{enter}`); submitQuery(); cy.get('[aria-label="Add to Case"]').first().click(); diff --git a/x-pack/plugins/osquery/cypress/e2e/all/alerts_multiple_agents.cy.ts b/x-pack/plugins/osquery/cypress/e2e/all/alerts_multiple_agents.cy.ts index d9be2632bdca2b..84f685c87b770d 100644 --- a/x-pack/plugins/osquery/cypress/e2e/all/alerts_multiple_agents.cy.ts +++ b/x-pack/plugins/osquery/cypress/e2e/all/alerts_multiple_agents.cy.ts @@ -14,6 +14,7 @@ import { takeOsqueryActionWithParams, } from '../../tasks/live_query'; import { ServerlessRoleName } from '../../support/roles'; +import { OSQUERY_FLYOUT_BODY_EDITOR } from '../../screens/live_query'; describe( 'Alert Event Details - dynamic params', @@ -43,12 +44,14 @@ describe( it('should substitute parameters in investigation guide', () => { cy.getBySel('expand-event').first().click(); cy.getBySel('securitySolutionFlyoutInvestigationGuideButton').click(); - cy.contains('Get processes').click(); - cy.getBySel('flyout-body-osquery').within(() => { - cy.contains("SELECT * FROM os_version where name='Ubuntu';"); - cy.contains('host.os.platform'); - cy.contains('platform'); - }); + // Flakes at times if the button is only clicked once + cy.contains('Get processes').should('be.visible').dblclick({ force: true }); + // Cypress can properly reads the fields when the codeEditor is interacted with first + // This is probably due to the tokenization of the fields when it's inactive + cy.get(OSQUERY_FLYOUT_BODY_EDITOR).click(); + cy.getBySel('flyout-body-osquery').contains("SELECT * FROM os_version where name='Ubuntu';"); + cy.getBySel('flyout-body-osquery').contains('host.os.platform'); + cy.getBySel('flyout-body-osquery').contains('platform'); }); // response-actions-notification doesn't exist in expandable flyout diff --git a/x-pack/plugins/osquery/cypress/screens/live_query.ts b/x-pack/plugins/osquery/cypress/screens/live_query.ts index b44764331fb3ac..05b672474a8d80 100644 --- a/x-pack/plugins/osquery/cypress/screens/live_query.ts +++ b/x-pack/plugins/osquery/cypress/screens/live_query.ts @@ -8,6 +8,8 @@ export const AGENT_FIELD = '[data-test-subj="comboBoxInput"]'; export const ALL_AGENTS_OPTION = '[title="All agents"]'; export const LIVE_QUERY_EDITOR = '.kibanaCodeEditor'; +export const OSQUERY_FLYOUT_BODY_EDITOR = + '[data-test-subj="flyout-body-osquery"] .kibanaCodeEditor'; export const SUBMIT_BUTTON = '#submit-button'; export const RESULTS_TABLE = 'osqueryResultsTable'; diff --git a/x-pack/plugins/security_solution/common/experimental_features.ts b/x-pack/plugins/security_solution/common/experimental_features.ts index b92da8f442a07b..a30b5cfe17ae69 100644 --- a/x-pack/plugins/security_solution/common/experimental_features.ts +++ b/x-pack/plugins/security_solution/common/experimental_features.ts @@ -108,7 +108,7 @@ export const allowedExperimentalValues = Object.freeze({ * Enables Discover embedded within timeline * * */ - discoverInTimeline: false, + discoverInTimeline: true, /** * disables ES|QL rules diff --git a/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/__mocks__/use_discover_in_timeline_actions.tsx b/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/__mocks__/use_discover_in_timeline_actions.tsx index cd192a528e36f2..64f284a8e21376 100644 --- a/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/__mocks__/use_discover_in_timeline_actions.tsx +++ b/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/__mocks__/use_discover_in_timeline_actions.tsx @@ -7,22 +7,22 @@ export const useDiscoverInTimelineActions = () => { return { - resetDiscoverAppState: jest.fn(), + resetDiscoverAppState: jest.fn().mockResolvedValue(true), restoreDiscoverAppStateFromSavedSearch: jest.fn(), updateSavedSearch: jest.fn(), getAppStateFromSavedSearch: jest.fn(), - defaultDiscoverAppState: { + getDefaultDiscoverAppState: () => ({ query: { query: '', - language: 'kuery', + language: 'esql', }, sort: [['@timestamp', 'desc']], columns: [], index: 'security-solution-default', interval: 'auto', filters: [], - hideChart: true, + hideChart: false, grid: {}, - }, + }), }; }; diff --git a/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.test.tsx b/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.test.tsx index 79e138347c79c5..8463097d98d079 100644 --- a/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.test.tsx @@ -25,8 +25,12 @@ import { createStore } from '../../store'; import { TimelineId } from '../../../../common/types'; import type { ComponentType, FC, PropsWithChildren } from 'react'; import React from 'react'; +import type { DataView } from '@kbn/data-views-plugin/common'; +import TestRenderer from 'react-test-renderer'; -const mockDiscoverStateContainerRef = { +const { act } = TestRenderer; + +let mockDiscoverStateContainerRef = { current: discoverPluginMock.getDiscoverStateMock({}), }; @@ -64,6 +68,9 @@ const getTestProviderWithCustomState = (state: State = mockState) => { }; const renderTestHook = (customWrapper: ComponentType = getTestProviderWithCustomState()) => { + mockDiscoverStateContainerRef = { + current: discoverPluginMock.getDiscoverStateMock({}), + }; return renderHook(() => useDiscoverInTimelineActions(mockDiscoverStateContainerRef), { wrapper: customWrapper, }); @@ -120,6 +127,13 @@ export const savedSearchMock = { const startServicesMock = createStartServicesMock(); +startServicesMock.dataViews.get = jest.fn( + async () => + ({ + getIndexPattern: jest.fn(), + } as unknown as DataView) +); + describe('useDiscoverInTimelineActions', () => { beforeEach(() => { (useKibana as jest.Mock).mockImplementation(() => ({ @@ -188,15 +202,15 @@ describe('useDiscoverInTimelineActions', () => { describe('resetDiscoverAppState', () => { it('should reset Discover AppState to a default state', async () => { const { result, waitFor } = renderTestHook(); - result.current.resetDiscoverAppState(); + await result.current.resetDiscoverAppState(); await waitFor(() => { const appState = mockDiscoverStateContainerRef.current.appState.getState(); - expect(appState).toMatchObject(result.current.defaultDiscoverAppState); + expect(appState).toMatchObject(result.current.getDefaultDiscoverAppState()); }); }); it('should reset Discover time to a default state', async () => { const { result, waitFor } = renderTestHook(); - result.current.resetDiscoverAppState(); + await result.current.resetDiscoverAppState(); await waitFor(() => { const globalState = mockDiscoverStateContainerRef.current.globalState.get(); expect(globalState).toMatchObject({ time: { from: 'now-15m', to: 'now' } }); @@ -206,7 +220,9 @@ describe('useDiscoverInTimelineActions', () => { describe('updateSavedSearch', () => { it('should add defaults to the savedSearch before updating saved search', async () => { const { result } = renderTestHook(); - await result.current.updateSavedSearch(savedSearchMock, TimelineId.active); + await act(async () => { + await result.current.updateSavedSearch(savedSearchMock, TimelineId.active); + }); expect(startServicesMock.savedSearch.save).toHaveBeenNthCalledWith( 1, @@ -242,7 +258,9 @@ describe('useDiscoverInTimelineActions', () => { const LocalTestProvider = getTestProviderWithCustomState(localMockState); const { result } = renderTestHook(LocalTestProvider); - await result.current.updateSavedSearch(savedSearchMock, TimelineId.active); + await act(async () => { + await result.current.updateSavedSearch(savedSearchMock, TimelineId.active); + }); expect(startServicesMock.savedSearch.save).toHaveBeenNthCalledWith( 1, diff --git a/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx b/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx index 8361612231a242..d6acd1ce7ffc9d 100644 --- a/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx +++ b/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx @@ -40,7 +40,11 @@ export const useDiscoverInTimelineActions = ( const { addError } = useAppToasts(); const { - services: { customDataService: discoverDataService, savedSearch: savedSearchService }, + services: { + customDataService: discoverDataService, + savedSearch: savedSearchService, + dataViews: dataViewService, + }, } = useKibana(); const dispatch = useDispatch(); @@ -69,18 +73,23 @@ export const useDiscoverInTimelineActions = ( }, }); - const defaultDiscoverAppState: DiscoverAppState = useMemo(() => { + const getDefaultDiscoverAppState: () => Promise = useCallback(async () => { + const localDataViewId = dataViewId ?? 'security-solution-default'; + + const dataView = await dataViewService.get(localDataViewId); + return { - query: discoverDataService.query.queryString.getDefaultQuery(), + query: { + esql: dataView ? `from ${dataView.getIndexPattern()} | limit 10` : '', + }, sort: [['@timestamp', 'desc']], columns: [], - index: dataViewId ?? 'security-solution-default', interval: 'auto', filters: [], hideChart: true, grid: {}, }; - }, [discoverDataService, dataViewId]); + }, [dataViewService, dataViewId]); /* * generates Appstate from a given saved Search object @@ -123,13 +132,14 @@ export const useDiscoverInTimelineActions = ( * resets discover state to a default value * * */ - const resetDiscoverAppState = useCallback(() => { + const resetDiscoverAppState = useCallback(async () => { + const defaultDiscoverAppState = await getDefaultDiscoverAppState(); discoverStateContainer.current?.appState.set(defaultDiscoverAppState); discoverStateContainer.current?.globalState.set({ ...discoverStateContainer.current?.globalState.get(), time: defaultDiscoverTimeRange, }); - }, [defaultDiscoverAppState, discoverStateContainer]); + }, [getDefaultDiscoverAppState, discoverStateContainer]); const persistSavedSearch = useCallback( async (savedSearch: SavedSearch, savedSearchOption: SaveSavedSearchOptions) => { @@ -220,14 +230,14 @@ export const useDiscoverInTimelineActions = ( restoreDiscoverAppStateFromSavedSearch, updateSavedSearch, getAppStateFromSavedSearch, - defaultDiscoverAppState, + getDefaultDiscoverAppState, }), [ resetDiscoverAppState, restoreDiscoverAppStateFromSavedSearch, updateSavedSearch, getAppStateFromSavedSearch, - defaultDiscoverAppState, + getDefaultDiscoverAppState, ] ); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/customizations/use_search_bar_customizations.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/customizations/use_search_bar_customizations.tsx index 66ef304dc7b7fa..c748357bb24b81 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/customizations/use_search_bar_customizations.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/customizations/use_search_bar_customizations.tsx @@ -6,15 +6,18 @@ */ import type { CustomizationCallback } from '@kbn/discover-plugin/public'; +import { useIsExperimentalFeatureEnabled } from '../../../../../common/hooks/use_experimental_features'; import { useGetStatefulQueryBar } from '../use_get_stateful_query_bar'; export const useSearchBarCustomizations = () => { const { CustomStatefulTopNavKqlQueryBar } = useGetStatefulQueryBar(); + const isDiscoverInTimelineEnabled = useIsExperimentalFeatureEnabled('discoverInTimeline'); const setSearchBarCustomizations: CustomizationCallback = ({ customizations }) => { customizations.set({ id: 'search_bar', CustomSearchBar: CustomStatefulTopNavKqlQueryBar, + hideDataViewPicker: isDiscoverInTimelineEnabled, }); }; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/customizations/use_set_discover_customizations.ts b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/customizations/use_set_discover_customizations.ts index 3ae7f5c86ad003..2adf30691294ee 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/customizations/use_set_discover_customizations.ts +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/customizations/use_set_discover_customizations.ts @@ -11,7 +11,6 @@ import { useSearchBarCustomizations } from './use_search_bar_customizations'; export const useSetDiscoverCustomizationCallbacks = (): CustomizationCallback[] => { const searchBarCustomizationCallback = useSearchBarCustomizations(); - const histogramCustomizationCallback = useHistogramCustomization(); return [searchBarCustomizationCallback, histogramCustomizationCallback]; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/index.tsx index abce4c9efa9a47..97737a8ebfc3b0 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/index.tsx @@ -72,6 +72,7 @@ export const DiscoverTabContent: FC = ({ timelineId }) updateSavedSearch, restoreDiscoverAppStateFromSavedSearch, resetDiscoverAppState, + getDefaultDiscoverAppState, } = useDiscoverInTimelineContext(); const { @@ -126,9 +127,10 @@ export const DiscoverTabContent: FC = ({ timelineId }) if (!savedSearchById) { // nothing to restore if savedSearchById is null if (status === 'draft') { - resetDiscoverAppState(); + resetDiscoverAppState().then(() => { + setSavedSearchLoaded(true); + }); } - setSavedSearchLoaded(true); return; } restoreDiscoverAppStateFromSavedSearch(savedSearchById); @@ -227,15 +229,13 @@ export const DiscoverTabContent: FC = ({ timelineId }) savedSearchAppState = getAppStateFromSavedSearch(localSavedSearch); } - const finalAppState = savedSearchAppState?.appState ?? discoverAppState; + const defaultDiscoverAppState = await getDefaultDiscoverAppState(); - if (finalAppState) { - stateContainer.appState.set(finalAppState); - await stateContainer.appState.replaceUrlState(finalAppState); - } else { - // set initial dataView Id - if (dataView) stateContainer.actions.setDataView(dataView); - } + const finalAppState = + savedSearchAppState?.appState ?? discoverAppState ?? defaultDiscoverAppState; + + stateContainer.appState.set(finalAppState); + await stateContainer.appState.replaceUrlState(finalAppState); const unsubscribeState = stateContainer.appState.state$.subscribe({ next: setDiscoverAppState, @@ -272,12 +272,12 @@ export const DiscoverTabContent: FC = ({ timelineId }) setDiscoverSavedSearchState, setDiscoverInternalState, setDiscoverAppState, - dataView, setDiscoverStateContainer, getAppStateFromSavedSearch, discoverDataService.query.timefilter.timefilter, savedSearchId, savedSearchService, + getDefaultDiscoverAppState, ] ); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx index b7b4e92afcb6f6..0f6a3fad1eb66a 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { EuiBadge, EuiSkeletonText, EuiTabs, EuiTab } from '@elastic/eui'; +import { EuiBadge, EuiSkeletonText, EuiTabs, EuiTab, EuiBetaBadge } from '@elastic/eui'; import { css } from '@emotion/react'; import { Assistant } from '@kbn/elastic-assistant'; import { isEmpty } from 'lodash/fp'; @@ -14,6 +14,7 @@ import React, { lazy, memo, Suspense, useCallback, useEffect, useMemo, useState import { useDispatch } from 'react-redux'; import styled from 'styled-components'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useAssistantTelemetry } from '../../../../assistant/use_assistant_telemetry'; import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features'; import { useConversationStore } from '../../../../assistant/use_conversation_store'; @@ -44,6 +45,7 @@ import * as i18n from './translations'; import { useLicense } from '../../../../common/hooks/use_license'; import { TIMELINE_CONVERSATION_TITLE } from '../../../../assistant/content/conversations/translations'; import { initializeTimelineSettings } from '../../../store/timeline/actions'; +import { DISCOVER_ESQL_IN_TIMELINE_TECHNICAL_PREVIEW } from './translations'; const HideShowContainer = styled.div.attrs<{ $isVisible: boolean; isOverflowYScroll: boolean }>( ({ $isVisible = false, isOverflowYScroll = false }) => ({ @@ -248,8 +250,18 @@ const CountBadge = styled(EuiBadge)` margin-left: ${({ theme }) => theme.eui.euiSizeS}; `; +const StyledEuiBetaBadge = styled(EuiBetaBadge)` + vertical-align: middle; + margin-left: ${({ theme }) => theme.eui.euiSizeS}; + + &:hover { + cursor: pointer; + } +`; + const StyledEuiTab = styled(EuiTab)` .euiTab__content { + align-items: center; display: flex; flex-direction: row; white-space: pre; @@ -388,6 +400,28 @@ const TabsContentComponent: React.FC = ({ {i18n.QUERY_TAB} {showTimeline && } + {isDiscoverInTimelineEnabled && ( + + {i18n.DISCOVER_ESQL_IN_TIMELINE_TAB} + + } + /> + + )} {timelineType === TimelineType.default && ( = ({ {i18n.SECURITY_ASSISTANT} )} - {isDiscoverInTimelineEnabled && ( - - {i18n.DISCOVER_IN_TIMELINE_TAB} - - )} )} diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/translations.ts b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/translations.ts index e900af321c0309..91bdd08d34af32 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/translations.ts +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/translations.ts @@ -46,10 +46,17 @@ export const SECURITY_ASSISTANT = i18n.translate( } ); -export const DISCOVER_IN_TIMELINE_TAB = i18n.translate( - 'xpack.securitySolution.timeline.tabs.discoverInTimeline', +export const DISCOVER_ESQL_IN_TIMELINE_TAB = i18n.translate( + 'xpack.securitySolution.timeline.tabs.discoverEsqlInTimeline', { - defaultMessage: 'Discover', + defaultMessage: 'ES|QL', + } +); + +export const DISCOVER_ESQL_IN_TIMELINE_TECHNICAL_PREVIEW = i18n.translate( + 'xpack.securitySolution.timeline.tabs.discoverEsqlInTimeline.technicalPreviewLabel', + { + defaultMessage: 'Technical Preview', } ); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/cell_actions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/cell_actions.cy.ts index 6ff904f13ebce0..5c7e0f85dbc476 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/cell_actions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/cell_actions.cy.ts @@ -9,7 +9,6 @@ import { grantClipboardReadPerm } from '../../../../tasks/common/clipboard'; import { DISCOVER_CELL_ACTIONS, DISCOVER_CONTAINER, - DISCOVER_FILTER_BADGES, GET_DISCOVER_DATA_GRID_CELL, } from '../../../../screens/discover'; import { waitForDiscoverGridToLoad } from '../../../../tasks/discover'; @@ -28,7 +27,7 @@ describe.skip( `Discover Datagrid Cell Actions`, { env: { ftrConfig: { enableExperimental: ['discoverInTimeline'] } }, - tags: ['@serverless', '@brokenInServerless'], + tags: ['@ess'], }, () => { beforeEach(() => { @@ -39,35 +38,6 @@ describe.skip( updateDateRangeInLocalDatePickers(DISCOVER_CONTAINER, INITIAL_START_DATE, INITIAL_END_DATE); waitForDiscoverGridToLoad(); }); - it('Filter for', () => { - cy.get(GET_DISCOVER_DATA_GRID_CELL(TIMESTAMP_COLUMN_NAME, 0)).then((sub) => { - const selectedTimestamp = sub.text(); - cy.get(GET_DISCOVER_DATA_GRID_CELL(TIMESTAMP_COLUMN_NAME, 0)).realHover(); - cy.get(DISCOVER_CELL_ACTIONS.FILTER_FOR).should('be.visible').trigger('click'); - - cy.get(DISCOVER_FILTER_BADGES).should('have.length', 1); - cy.get(DISCOVER_FILTER_BADGES) - .first() - .should( - 'have.text', - `${TIMESTAMP_COLUMN_NAME}: ${selectedTimestamp} to ${selectedTimestamp}` - ); - }); - }); - it('Filter out', { tags: ['@brokenInServerless'] }, () => { - cy.get(GET_DISCOVER_DATA_GRID_CELL(TIMESTAMP_COLUMN_NAME, 0)).then((sub) => { - const selectedTimestamp = sub.text(); - cy.get(GET_DISCOVER_DATA_GRID_CELL(TIMESTAMP_COLUMN_NAME, 0)).realHover(); - cy.get(DISCOVER_CELL_ACTIONS.FILTER_OUT).should('be.visible').trigger('click'); - cy.get(DISCOVER_FILTER_BADGES).should('have.length', 1); - cy.get(DISCOVER_FILTER_BADGES) - .first() - .should( - 'have.text', - `NOT ${TIMESTAMP_COLUMN_NAME}: ${selectedTimestamp} to ${selectedTimestamp}` - ); - }); - }); // @TODO: copy is incredibly flaky although it is written same strategy as above tests // Need to see what is the reaosn for that. Trusting that above tests prove that `Copy` // will also work correctly. diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts index ad73a9b33524f0..7d438791c3f1b4 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_state.cy.ts @@ -5,19 +5,15 @@ * 2.0. */ -import { fillAddFilterForm } from '../../../../tasks/search_bar'; import { - addDiscoverKqlQuery, + addDiscoverEsqlQuery, addFieldToTable, - openAddDiscoverFilterPopover, submitDiscoverSearchBar, - switchDataViewTo, + verifyDiscoverEsqlQuery, } from '../../../../tasks/discover'; import { navigateFromHeaderTo } from '../../../../tasks/security_header'; import { DISCOVER_CONTAINER, - DISCOVER_QUERY_INPUT, - DISCOVER_FILTER_BADGES, DISCOVER_DATA_VIEW_SWITCHER, GET_DISCOVER_DATA_GRID_CELL_HEADER, } from '../../../../screens/discover'; @@ -34,14 +30,14 @@ import { ALERTS, CSP_FINDINGS } from '../../../../screens/security_header'; const INITIAL_START_DATE = 'Jan 18, 2021 @ 20:33:29.186'; const INITIAL_END_DATE = 'Jan 19, 2024 @ 20:33:29.186'; +const DEFAULT_ESQL_QUERY = + 'from .alerts-security.alerts-default,apm-*-transaction*,auditbeat-*,endgame-*,filebeat-*,logs-*,packetbeat-*,traces-apm*,winlogbeat-*,-*elastic-cloud-logs-* | limit 10'; -// FLAKY: https://github.com/elastic/kibana/issues/165663 -// FLAKY: https://github.com/elastic/kibana/issues/165747 describe( 'Discover State', { env: { ftrConfig: { enableExperimental: ['discoverInTimeline'] } }, - tags: ['@ess', '@serverless', '@brokenInServerless'], + tags: ['@ess'], }, () => { beforeEach(() => { @@ -51,36 +47,22 @@ describe( gotToDiscoverTab(); updateDateRangeInLocalDatePickers(DISCOVER_CONTAINER, INITIAL_START_DATE, INITIAL_END_DATE); }); - it('should remember kql query when navigating away and back to discover ', () => { - const kqlQuery = '_id:*'; - addDiscoverKqlQuery(kqlQuery); - submitDiscoverSearchBar(); - navigateFromHeaderTo(CSP_FINDINGS); - navigateFromHeaderTo(ALERTS); - openActiveTimeline(); - gotToDiscoverTab(); - cy.get(DISCOVER_QUERY_INPUT).should('have.text', kqlQuery); + it('should not allow the dataview to be changed', () => { + cy.get(DISCOVER_DATA_VIEW_SWITCHER.BTN).should('not.exist'); }); - it('should remember filters when navigating away and back to discover ', () => { - openAddDiscoverFilterPopover(); - fillAddFilterForm({ - key: 'agent.type', - value: 'winlogbeat', - }); - navigateFromHeaderTo(CSP_FINDINGS); - navigateFromHeaderTo(ALERTS); - openActiveTimeline(); - gotToDiscoverTab(); - cy.get(DISCOVER_FILTER_BADGES).should('have.length', 1); + it('should have the default esql query on load', () => { + verifyDiscoverEsqlQuery(DEFAULT_ESQL_QUERY); }); - it.skip('should remember dataView when navigating away and back to discover ', () => { - const dataviewName = '.kibana-event-log'; - switchDataViewTo(dataviewName); + it('should remember esql query when navigating away and back to discover ', () => { + const esqlQuery = 'from auditbeat-* | limit 5'; + addDiscoverEsqlQuery(esqlQuery); + submitDiscoverSearchBar(); navigateFromHeaderTo(CSP_FINDINGS); navigateFromHeaderTo(ALERTS); openActiveTimeline(); gotToDiscoverTab(); - cy.get(DISCOVER_DATA_VIEW_SWITCHER.BTN).should('contain.text', dataviewName); + + verifyDiscoverEsqlQuery(esqlQuery); }); it('should remember columns when navigating away and back to discover ', () => { addFieldToTable('host.name'); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts index 9f8612551c51c3..6e1289f9f8450e 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts @@ -13,13 +13,10 @@ import { navigateFromKibanaCollapsibleTo, openKibanaNavigation, } from '../../../../tasks/kibana_navigation'; -import { fillAddFilterForm } from '../../../../tasks/search_bar'; import { - addDiscoverKqlQuery, + addDiscoverEsqlQuery, addFieldToTable, - openAddDiscoverFilterPopover, - switchDataViewTo, - switchDataViewToESQL, + verifyDiscoverEsqlQuery, } from '../../../../tasks/discover'; import { GET_LOCAL_DATE_PICKER_START_DATE_POPOVER_BUTTON, @@ -29,8 +26,6 @@ import { ALERTS_URL } from '../../../../urls/navigation'; import { DISCOVER_CONTAINER, DISCOVER_DATA_VIEW_SWITCHER, - DISCOVER_FILTER_BADGES, - DISCOVER_QUERY_INPUT, GET_DISCOVER_DATA_GRID_CELL_HEADER, } from '../../../../screens/discover'; import { updateDateRangeInLocalDatePickers } from '../../../../tasks/date_picker'; @@ -63,6 +58,7 @@ const TIMELINE_PATCH_REQ = 'TIMELINE_PATCH_REQ'; const TIMELINE_RESPONSE_SAVED_OBJECT_ID_PATH = 'response.body.data.persistTimeline.timeline.savedObjectId'; +const esqlQuery = 'from auditbeat-* | where ecs.version == "8.0.0"'; describe( 'Discover Timeline State Integration', @@ -126,19 +122,11 @@ describe( ); }); it('should save/restore discover dataview/timerange/filter/query/columns when saving/resoring timeline', () => { - const dataviewName = '.kibana-event-log'; const timelineSuffix = Date.now(); const timelineName = `DataView timeline-${timelineSuffix}`; - const kqlQuery = '_id:*'; const column1 = 'event.category'; const column2 = 'ecs.version'; - switchDataViewTo(dataviewName); - addDiscoverKqlQuery(kqlQuery); - openAddDiscoverFilterPopover(); - fillAddFilterForm({ - key: 'ecs.version', - value: '1.8.0', - }); + addDiscoverEsqlQuery(esqlQuery); addFieldToTable(column1); addFieldToTable(column2); @@ -155,10 +143,7 @@ describe( openTimelineById(timelineId); cy.get(LOADING_INDICATOR).should('not.exist'); gotToDiscoverTab(); - cy.get(DISCOVER_DATA_VIEW_SWITCHER.BTN).should('contain.text', dataviewName); - cy.get(DISCOVER_QUERY_INPUT).should('have.text', kqlQuery); - cy.get(DISCOVER_FILTER_BADGES).should('have.length', 1); - cy.get(DISCOVER_FILTER_BADGES).should('contain.text', 'ecs.version: 1.8.0'); + verifyDiscoverEsqlQuery(esqlQuery); cy.get(GET_DISCOVER_DATA_GRID_CELL_HEADER(column1)).should('exist'); cy.get(GET_DISCOVER_DATA_GRID_CELL_HEADER(column2)).should('exist'); cy.get(GET_LOCAL_DATE_PICKER_START_DATE_POPOVER_BUTTON(DISCOVER_CONTAINER)).should( @@ -168,19 +153,11 @@ describe( }); }); it('should save/restore discover dataview/timerange/filter/query/columns when timeline is opened via url', () => { - const dataviewName = '.kibana-event-log'; const timelineSuffix = Date.now(); const timelineName = `DataView timeline-${timelineSuffix}`; - const kqlQuery = '_id:*'; const column1 = 'event.category'; const column2 = 'ecs.version'; - switchDataViewTo(dataviewName); - addDiscoverKqlQuery(kqlQuery); - openAddDiscoverFilterPopover(); - fillAddFilterForm({ - key: 'ecs.version', - value: '1.8.0', - }); + addDiscoverEsqlQuery(esqlQuery); addFieldToTable(column1); addFieldToTable(column2); @@ -192,10 +169,7 @@ describe( cy.wait(`@${TIMELINE_REQ_WITH_SAVED_SEARCH}`); // reload the page with the exact url cy.reload(); - cy.get(DISCOVER_DATA_VIEW_SWITCHER.BTN).should('contain.text', dataviewName); - cy.get(DISCOVER_QUERY_INPUT).should('have.text', kqlQuery); - cy.get(DISCOVER_FILTER_BADGES).should('have.length', 1); - cy.get(DISCOVER_FILTER_BADGES).should('contain.text', 'ecs.version: 1.8.0'); + verifyDiscoverEsqlQuery(esqlQuery); cy.get(GET_DISCOVER_DATA_GRID_CELL_HEADER(column1)).should('exist'); cy.get(GET_DISCOVER_DATA_GRID_CELL_HEADER(column2)).should('exist'); cy.get(GET_LOCAL_DATE_PICKER_START_DATE_POPOVER_BUTTON(DISCOVER_CONTAINER)).should( @@ -207,7 +181,6 @@ describe( it('should save/restore discover ES|QL when saving timeline', () => { const timelineSuffix = Date.now(); const timelineName = `ES|QL timeline-${timelineSuffix}`; - switchDataViewToESQL(); addNameToTimeline(timelineName); cy.wait(`@${TIMELINE_PATCH_REQ}`) .its(TIMELINE_RESPONSE_SAVED_OBJECT_ID_PATH) @@ -220,7 +193,7 @@ describe( openTimelineById(timelineId); cy.get(LOADING_INDICATOR).should('not.exist'); gotToDiscoverTab(); - cy.get(DISCOVER_DATA_VIEW_SWITCHER.BTN).should('contain.text', 'ES|QL'); + cy.get(DISCOVER_DATA_VIEW_SWITCHER.BTN).should('not.exist'); }); }); }); @@ -235,8 +208,7 @@ describe( it('should save discover saved search with `Security Solution` tag', () => { const timelineSuffix = Date.now(); const timelineName = `SavedObject timeline-${timelineSuffix}`; - const kqlQuery = '_id: *'; - addDiscoverKqlQuery(kqlQuery); + addDiscoverEsqlQuery(esqlQuery); addNameToTimeline(timelineName); cy.wait(`@${TIMELINE_REQ_WITH_SAVED_SEARCH}`); openKibanaNavigation(); @@ -257,8 +229,7 @@ describe( it('should rename the saved search on timeline rename', () => { const timelineSuffix = Date.now(); const timelineName = `Rename timeline-${timelineSuffix}`; - const kqlQuery = '_id: *'; - addDiscoverKqlQuery(kqlQuery); + addDiscoverEsqlQuery(esqlQuery); addNameToTimeline(timelineName); cy.wait(`@${TIMELINE_PATCH_REQ}`) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts index c48fa80baad465..42375aeee5e2ea 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/search_filter.cy.ts @@ -6,7 +6,6 @@ */ import { GET_LOCAL_DATE_PICKER_START_DATE_POPOVER_BUTTON } from '../../../../screens/date_picker'; -import { fillAddFilterForm, fillAddFilterFormAsQueryDSL } from '../../../../tasks/search_bar'; import { setStartDate, updateDateRangeInLocalDatePickers, @@ -14,20 +13,15 @@ import { } from '../../../../tasks/date_picker'; import { DISCOVER_CONTAINER, - DISCOVER_NO_RESULTS, DISCOVER_RESULT_HITS, - DISCOVER_FILTER_BADGES, - DISCOVER_QUERY_INPUT, GET_DISCOVER_DATA_GRID_CELL_HEADER, - DISCOVER_DATA_VIEW_SWITCHER, + DISCOVER_ESQL_INPUT_TEXT_CONTAINER, } from '../../../../screens/discover'; import { - addDiscoverKqlQuery, - switchDataViewTo, + addDiscoverEsqlQuery, submitDiscoverSearchBar, - openAddDiscoverFilterPopover, addFieldToTable, - createAdHocDataView, + convertNBSPToSP, } from '../../../../tasks/discover'; import { createNewTimeline, gotToDiscoverTab } from '../../../../tasks/timeline'; import { login } from '../../../../tasks/login'; @@ -37,13 +31,14 @@ import { ALERTS_URL } from '../../../../urls/navigation'; const INITIAL_START_DATE = 'Jan 18, 2021 @ 20:33:29.186'; const INITIAL_END_DATE = 'Jan 19, 2024 @ 20:33:29.186'; const NEW_START_DATE = 'Jan 18, 2023 @ 20:33:29.186'; +const esqlQuery = 'from auditbeat-* | where ecs.version == "8.0.0"'; // Failing: See https://github.com/elastic/kibana/issues/167186 -describe.skip( +describe( 'Basic discover search and filter operations', { env: { ftrConfig: { enableExperimental: ['discoverInTimeline'] } }, - tags: ['@ess', '@serverless'], + tags: ['@ess'], }, () => { beforeEach(() => { @@ -53,76 +48,34 @@ describe.skip( gotToDiscoverTab(); updateDateRangeInLocalDatePickers(DISCOVER_CONTAINER, INITIAL_START_DATE, INITIAL_END_DATE); }); - it('should change data when dataView is changed', () => { - switchDataViewTo('.kibana-event-log'); - cy.get(DISCOVER_RESULT_HITS).should('have.text', '1'); - }); - it('should show data according to kql query', () => { - const kqlQuery = '_id:"invalid"'; - addDiscoverKqlQuery(kqlQuery); + it('should show data according to esql query', () => { + addDiscoverEsqlQuery(`${esqlQuery} | limit 1`); submitDiscoverSearchBar(); - cy.get(DISCOVER_NO_RESULTS).should('be.visible'); - }); - it('should show correct data according to filter applied', () => { - openAddDiscoverFilterPopover(); - fillAddFilterForm({ - key: 'agent.type', - value: 'winlogbeat', - }); - cy.get(DISCOVER_FILTER_BADGES).should('have.length', 1); - cy.get(DISCOVER_RESULT_HITS).should('have.text', '1'); - }); - it('should show correct data according to query DSL', () => { - const query = { - bool: { - filter: [ - { - term: { - 'agent.type': 'winlogbeat', - }, - }, - ], - }, - }; - openAddDiscoverFilterPopover(); - fillAddFilterFormAsQueryDSL(JSON.stringify(query)); - cy.get(DISCOVER_FILTER_BADGES).should('have.length', 1); - cy.get(DISCOVER_RESULT_HITS).should('have.text', '1'); + cy.get(DISCOVER_RESULT_HITS).should('have.text', 1); }); - - it('should be able to create ad-hoc dataview without saving', () => { - const adHocDVName = 'adHocDataView'; - const indexPattern = 'audit'; - createAdHocDataView(adHocDVName, indexPattern); - cy.get(DISCOVER_DATA_VIEW_SWITCHER.BTN).should('contain.text', adHocDVName); - }); - it('should be able to add fields to the table', () => { addFieldToTable('host.name'); - cy.get(GET_DISCOVER_DATA_GRID_CELL_HEADER('host.name')).should('be.visible'); addFieldToTable('user.name'); + cy.get(GET_DISCOVER_DATA_GRID_CELL_HEADER('host.name')).should('be.visible'); cy.get(GET_DISCOVER_DATA_GRID_CELL_HEADER('user.name')).should('be.visible'); }); context('navigation', () => { - it('should remove the filter when back is pressed after adding a filter', () => { - openAddDiscoverFilterPopover(); - fillAddFilterForm({ - key: 'agent.type', - value: 'winlogbeat', - }); - cy.get(DISCOVER_FILTER_BADGES).should('have.length', 1); - cy.go('back'); - cy.get(DISCOVER_FILTER_BADGES).should('not.exist'); - }); it('should removed the query when back is pressed after adding a query', () => { - const kqlQuery = '_id:"invalid"'; - addDiscoverKqlQuery(kqlQuery); + addDiscoverEsqlQuery(esqlQuery); submitDiscoverSearchBar(); - cy.get(DISCOVER_QUERY_INPUT).should('have.text', kqlQuery); + cy.get(DISCOVER_ESQL_INPUT_TEXT_CONTAINER).then((subj) => { + const currentQuery = subj.text(); + const sanitizedQuery = convertNBSPToSP(currentQuery); + expect(sanitizedQuery).to.eq(esqlQuery); + }); cy.go('back'); - cy.get(DISCOVER_QUERY_INPUT).should('not.have.text', kqlQuery); + cy.get(DISCOVER_ESQL_INPUT_TEXT_CONTAINER).then((subj) => { + const currentQuery = subj.text(); + const sanitizedQuery = convertNBSPToSP(currentQuery); + expect(sanitizedQuery).to.not.eq(esqlQuery); + }); }); it(`should changed the timerange to ${INITIAL_START_DATE} when back is pressed after modifying timerange from ${INITIAL_START_DATE} to ${NEW_START_DATE} `, () => { diff --git a/x-pack/test/security_solution_cypress/cypress/screens/discover.ts b/x-pack/test/security_solution_cypress/cypress/screens/discover.ts index a728c1f4c82bd2..bc3d418b73bb88 100644 --- a/x-pack/test/security_solution_cypress/cypress/screens/discover.ts +++ b/x-pack/test/security_solution_cypress/cypress/screens/discover.ts @@ -26,10 +26,14 @@ export const DISCOVER_DATA_VIEW_EDITOR_FLYOUT = { SAVE_DATA_VIEW_BTN: getDataTestSubjectSelector('saveIndexPatternButton'), }; -export const DISCOVER_QUERY_INPUT = `${DISCOVER_CONTAINER} ${getDataTestSubjectSelector( - 'unifiedQueryInput' +export const DISCOVER_ESQL_INPUT = `${DISCOVER_CONTAINER} ${getDataTestSubjectSelector( + 'kibanaCodeEditor' )}`; +export const DISCOVER_ESQL_INPUT_TEXT_CONTAINER = `${DISCOVER_ESQL_INPUT} .view-lines`; + +export const DISCOVER_ESQL_EDITABLE_INPUT = `${DISCOVER_ESQL_INPUT} textarea:first`; + export const DISCOVER_ADD_FILTER = `${DISCOVER_CONTAINER} ${getDataTestSubjectSelector( 'addFilter' )}`; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts b/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts index fee36ce79faffc..1bbdc9eac15393 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/alerts.ts @@ -162,7 +162,7 @@ export const setEnrichmentDates = (from?: string, to?: string) => { cy.get(ENRICHMENT_QUERY_END_INPUT).type(`{selectall}${to}{enter}`); } }); - cy.get(UPDATE_ENRICHMENT_RANGE_BUTTON).click(); + cy.get(UPDATE_ENRICHMENT_RANGE_BUTTON).click({ force: true }); }; export const refreshAlertPageFilter = () => { diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/discover.ts b/x-pack/test/security_solution_cypress/cypress/tasks/discover.ts index 90623f239c3266..e5d835bbe8c53b 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/discover.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/discover.ts @@ -10,11 +10,12 @@ import { DISCOVER_CONTAINER, DISCOVER_DATA_GRID_UPDATING, DISCOVER_DATA_VIEW_SWITCHER, - DISCOVER_QUERY_INPUT, + DISCOVER_ESQL_INPUT, GET_DISCOVER_COLUMN_TOGGLE_BTN, DISCOVER_FIELD_SEARCH, DISCOVER_DATA_VIEW_EDITOR_FLYOUT, DISCOVER_FIELD_LIST_LOADING, + DISCOVER_ESQL_EDITABLE_INPUT, } from '../screens/discover'; import { GET_LOCAL_SEARCH_BAR_SUBMIT_BUTTON } from '../screens/search_bar'; @@ -43,8 +44,35 @@ export const waitForDiscoverGridToLoad = () => { cy.get(DISCOVER_FIELD_LIST_LOADING).should('not.exist'); }; -export const addDiscoverKqlQuery = (kqlQuery: string) => { - cy.get(DISCOVER_QUERY_INPUT).type(`${kqlQuery}{enter}`); +export const selectCurrentDiscoverEsqlQuery = (discoverEsqlInput = DISCOVER_ESQL_INPUT) => { + cy.get(discoverEsqlInput).click(); + cy.get(discoverEsqlInput).focused(); + cy.get(discoverEsqlInput).type(Cypress.platform === 'darwin' ? '{cmd+a}' : '{ctrl+a}'); +}; + +export const addDiscoverEsqlQuery = (esqlQuery: string) => { + // ESQL input uses the monaco editor which doesn't allow for traditional input updates + selectCurrentDiscoverEsqlQuery(DISCOVER_ESQL_EDITABLE_INPUT); + cy.get(DISCOVER_ESQL_EDITABLE_INPUT).clear(); + cy.get(DISCOVER_ESQL_EDITABLE_INPUT).type(`${esqlQuery}`); + cy.get(DISCOVER_ESQL_EDITABLE_INPUT).blur(); + cy.get(GET_LOCAL_SEARCH_BAR_SUBMIT_BUTTON(DISCOVER_CONTAINER)).realClick(); +}; + +export const convertNBSPToSP = (str: string) => { + return str.replaceAll(String.fromCharCode(160), ' '); +}; + +export const verifyDiscoverEsqlQuery = (esqlQueryToVerify: string) => { + // We select the query first as multi-line queries do not render fully unless all the text is selected + selectCurrentDiscoverEsqlQuery(); + /** + * When selected all visual spaces actually render the middot character, so we replace the spaces with the middot + * If testing without selecting first you can replace with a Non-breaking space character + * https://github.com/cypress-io/cypress/issues/15863#issuecomment-816746693 + */ + const unicodeReplacedQuery = esqlQueryToVerify.replaceAll(' ', '\u00b7'); + cy.get(DISCOVER_ESQL_INPUT).should('include.text', unicodeReplacedQuery); }; export const submitDiscoverSearchBar = () => { @@ -69,6 +97,7 @@ export const clearFieldSearch = () => { export const addFieldToTable = (fieldId: string) => { searchForField(fieldId); + cy.get(GET_DISCOVER_COLUMN_TOGGLE_BTN(fieldId)).first().should('exist'); cy.get(GET_DISCOVER_COLUMN_TOGGLE_BTN(fieldId)).first().trigger('click'); clearFieldSearch(); }; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts index 6c985c6d93cc11..a0e81d1f244f79 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts @@ -102,7 +102,7 @@ export const addDescriptionToTimeline = ( if (!modalAlreadyOpen) { cy.get(TIMELINE_EDIT_MODAL_OPEN_BUTTON).first().click(); } - cy.get(TIMELINE_DESCRIPTION_INPUT).type(description); + cy.get(TIMELINE_DESCRIPTION_INPUT).should('not.be.disabled').type(description); cy.get(TIMELINE_DESCRIPTION_INPUT).invoke('val').should('equal', description); cy.get(TIMELINE_EDIT_MODAL_SAVE_BUTTON).click(); cy.get(TIMELINE_TITLE_INPUT).should('not.exist'); @@ -112,7 +112,7 @@ export const addNameToTimeline = (name: string, modalAlreadyOpen: boolean = fals if (!modalAlreadyOpen) { cy.get(TIMELINE_EDIT_MODAL_OPEN_BUTTON).first().click(); } - cy.get(TIMELINE_TITLE_INPUT).type(`${name}{enter}`); + cy.get(TIMELINE_TITLE_INPUT).should('not.be.disabled').type(`${name}{enter}`); cy.get(TIMELINE_TITLE_INPUT).should('have.attr', 'value', name); cy.get(TIMELINE_EDIT_MODAL_SAVE_BUTTON).click(); cy.get(TIMELINE_TITLE_INPUT).should('not.exist'); @@ -315,7 +315,7 @@ export const createNewTimeline = () => { cy.get(TIMELINE_SETTINGS_ICON).should('be.visible'); // eslint-disable-next-line cypress/no-unnecessary-waiting cy.wait(300); - cy.get(CREATE_NEW_TIMELINE).eq(0).click(); + cy.get(CREATE_NEW_TIMELINE).eq(0).should('be.visible').click(); }; export const openCreateTimelineOptionsPopover = () => { From 8c82dfbf221f938cb6c3897614cbf54954b52971 Mon Sep 17 00:00:00 2001 From: Carlos Delgado <6339205+carlosdelest@users.noreply.github.com> Date: Wed, 4 Oct 2023 09:06:49 +0200 Subject: [PATCH 34/35] [Enterprise Search] Bugfix - Updating search applications removed custom template (#167532) --- .../common/types/search_applications.ts | 3 +- ...pdate_search_application_api_logic.test.ts | 27 ++++++++- .../update_search_application_api_logic.ts | 11 +++- .../search_application_indices_logic.test.ts | 10 +++- .../search_application_indices_logic.ts | 2 + ...h_application_indices_flyout_logic.test.ts | 1 + .../search_applications.test.ts | 59 +++++++++++++++++++ .../enterprise_search/search_applications.ts | 27 ++++++++- 8 files changed, 133 insertions(+), 7 deletions(-) diff --git a/x-pack/plugins/enterprise_search/common/types/search_applications.ts b/x-pack/plugins/enterprise_search/common/types/search_applications.ts index 045a8bcdf5f957..1768eeecd9aee6 100644 --- a/x-pack/plugins/enterprise_search/common/types/search_applications.ts +++ b/x-pack/plugins/enterprise_search/common/types/search_applications.ts @@ -25,7 +25,8 @@ export interface EnterpriseSearchApplicationDetails { template: { script: { lang: string; - params: unknown; + options: object; + params: object; source: string; }; }; diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/api/search_applications/update_search_application_api_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/search_applications/update_search_application_api_logic.test.ts index 8a263e4e1a6308..6421bd1f0df18e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/applications/api/search_applications/update_search_application_api_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/applications/api/search_applications/update_search_application_api_logic.test.ts @@ -18,7 +18,23 @@ describe('UpdateSearchApplicationApiLogic', () => { }); describe('updateSearchApplication', () => { it('calls correct api', async () => { - const searchApplication = { name: 'my-search-application', indices: ['an-index'] }; + const searchApplication = { + name: 'my-search-application', + indices: ['an-index'], + template: { + script: { + source: '"query":{"term":{"{{field_name}}":["{{field_value}}"', + lang: 'mustache', + options: { + content_type: 'application/json;charset=utf-8', + }, + params: { + field_name: 'hello', + field_value: 'world', + }, + }, + }, + }; const response = { result: 'updated' }; const promise = Promise.resolve(response); http.put.mockReturnValue(promise); @@ -27,7 +43,14 @@ describe('UpdateSearchApplicationApiLogic', () => { expect(http.put).toHaveBeenCalledWith( '/internal/enterprise_search/search_applications/my-search-application', { - body: '{"indices":["an-index"],"name":"my-search-application"}', + body: + '{"indices":["an-index"],' + + '"name":"my-search-application",' + + '"template":{' + + '"script":{"source":"\\"query\\":{\\"term\\":{\\"{{field_name}}\\":[\\"{{field_value}}\\"",' + + '"lang":"mustache",' + + '"options":{"content_type":"application/json;charset=utf-8"},' + + '"params":{"field_name":"hello","field_value":"world"}}}}', } ); await expect(result).resolves.toEqual(response); diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/api/search_applications/update_search_application_api_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/api/search_applications/update_search_application_api_logic.ts index cea5b0b5c9e881..8cd1afca438c62 100644 --- a/x-pack/plugins/enterprise_search/public/applications/applications/api/search_applications/update_search_application_api_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/applications/api/search_applications/update_search_application_api_logic.ts @@ -12,6 +12,14 @@ import { HttpLogic } from '../../../shared/http'; export interface UpdateSearchApplicationApiParams { indices: string[]; name: string; + template: { + script: { + lang: string; + options: object; + params: object; + source: string; + }; + }; } export type UpdateSearchApplicationApiResponse = EnterpriseSearchApplication; @@ -24,11 +32,12 @@ export type UpdateSearchApplicationApiLogicActions = Actions< export const updateSearchApplication = async ({ name, indices, + template, }: UpdateSearchApplicationApiParams): Promise => { const route = `/internal/enterprise_search/search_applications/${name}`; return await HttpLogic.values.http.put(route, { - body: JSON.stringify({ indices, name }), + body: JSON.stringify({ indices, name, template }), }); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_indices_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_indices_logic.test.ts index f5676faa477692..a116f76cf8e596 100644 --- a/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_indices_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_indices_logic.test.ts @@ -38,9 +38,13 @@ const mockSearchApplicationData: EnterpriseSearchApplicationDetails = { name: DEFAULT_VALUES.searchApplicationName, template: { script: { + source: '"query":{"term":{"{{field_name}}":["{{field_value}}"', lang: 'mustache', - params: { query_string: '*' }, - source: '', + options: { content_type: 'application/json;charset=utf-8' }, + params: { + field_name: 'hello', + field_value: 'world', + }, }, }, updated_at_millis: 1679501369566, @@ -114,6 +118,7 @@ describe('SearchApplicationViewLogic', () => { ).toHaveBeenCalledWith({ name: DEFAULT_VALUES.searchApplicationName, indices: ['search-002'], + template: mockSearchApplicationData.template, }); }); }); @@ -131,6 +136,7 @@ describe('SearchApplicationViewLogic', () => { ).toHaveBeenCalledWith({ name: DEFAULT_VALUES.searchApplicationName, indices: ['search-001', 'search-002', 'search-003'], + template: mockSearchApplicationData.template, }); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_indices_logic.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_indices_logic.ts index bd994eff66b8c0..a12895f955cee2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_indices_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_indices_logic.ts @@ -64,6 +64,7 @@ export const SearchApplicationIndicesLogic = kea< actions.updateSearchApplicationRequest({ name: values.searchApplicationName, indices: updatedIndices, + template: values.searchApplicationData.template, }); }, searchApplicationUpdated: () => { @@ -77,6 +78,7 @@ export const SearchApplicationIndicesLogic = kea< actions.updateSearchApplicationRequest({ name: values.searchApplicationName, indices: updatedIndices, + template: values.searchApplicationData.template, }); }, }), diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/components/search_applications/search_application_indices_flyout_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/applications/components/search_applications/search_application_indices_flyout_logic.test.ts index b41a3050bbc0cb..2f13794fa7474a 100644 --- a/x-pack/plugins/enterprise_search/public/applications/applications/components/search_applications/search_application_indices_flyout_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/search_applications/search_application_indices_flyout_logic.test.ts @@ -44,6 +44,7 @@ const mockSearchApplicationData: EnterpriseSearchApplicationDetails = { script: { lang: 'mustache', params: { query_string: '*' }, + options: { content_type: 'application/json;charset=utf-8' }, source: '', }, }, diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search_applications.test.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search_applications.test.ts index 37c6590e42166a..eba77ee7799736 100644 --- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search_applications.test.ts +++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search_applications.test.ts @@ -217,6 +217,65 @@ describe('engines routes', () => { }, }); }); + + it('PUT - Upsert API request - create with template', async () => { + mockClient.asCurrentUser.searchApplication.put.mockImplementation(() => ({ + acknowledged: true, + })); + + await mockRouter.callRoute({ + body: { + indices: ['test-indices-1'], + template: { + script: { + source: '"query":{"term":{"{{field_name}}":["{{field_value}}"', + lang: 'mustache', + options: { + content_type: 'application/json;charset=utf-8', + }, + params: { + field_name: 'hello', + field_value: 'world', + }, + }, + }, + }, + params: { + engine_name: 'engine-name', + }, + query: { create: true }, + }); + expect(mockClient.asCurrentUser.searchApplication.put).toHaveBeenCalledWith({ + create: true, + name: 'engine-name', + search_application: { + indices: ['test-indices-1'], + name: 'engine-name', + template: { + script: { + source: '"query":{"term":{"{{field_name}}":["{{field_value}}"', + lang: 'mustache', + options: { + content_type: 'application/json;charset=utf-8', + }, + params: { + field_name: 'hello', + field_value: 'world', + }, + }, + }, + updated_at_millis: expect.any(Number), + }, + }); + const mock = jest.fn(); + const mockResponse = mock({ result: 'created' }); + expect(mockRouter.response.ok).toHaveReturnedWith(mockResponse); + expect(mockRouter.response.ok).toHaveBeenCalledWith({ + body: { + acknowledged: true, + }, + }); + }); it('returns 400, create search application with invalid characters', async () => { (mockClient.asCurrentUser.searchApplication.put as jest.Mock).mockRejectedValueOnce({ meta: { diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search_applications.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search_applications.ts index 2004857b8c35ab..1cf2ce06c2f5fb 100644 --- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search_applications.ts +++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search_applications.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { SearchResponse, AcknowledgedResponseBase } from '@elastic/elasticsearch/lib/api/types'; +import { AcknowledgedResponseBase, SearchResponse } from '@elastic/elasticsearch/lib/api/types'; import { schema } from '@kbn/config-schema'; import { i18n } from '@kbn/i18n'; @@ -103,6 +103,16 @@ export function registerSearchApplicationsRoutes({ log, router }: RouteDependenc body: schema.object({ indices: schema.arrayOf(schema.string()), name: schema.maybe(schema.string()), + template: schema.maybe( + schema.object({ + script: schema.object({ + source: schema.oneOf([schema.string(), schema.object({}, { unknowns: 'allow' })]), + lang: schema.string(), + params: schema.maybe(schema.object({}, { unknowns: 'allow' })), + options: schema.maybe(schema.object({}, { unknowns: 'allow' })), + }), + }) + ), }), params: schema.object({ engine_name: schema.string(), @@ -115,12 +125,27 @@ export function registerSearchApplicationsRoutes({ log, router }: RouteDependenc elasticsearchErrorHandler(log, async (context, request, response) => { const { client } = (await context.core).elasticsearch; try { + const script = request.body.template?.script; const engine = (await client.asCurrentUser.searchApplication.put({ ...request.query, name: request.params.engine_name, search_application: { indices: request.body.indices, name: request.params.engine_name, + template: + script == null + ? undefined + : { + script: { + source: + typeof script.source === 'string' + ? script.source + : JSON.stringify(script.source), + lang: script.lang, + params: script.params, + options: script.options, + }, + }, updated_at_millis: Date.now(), }, })) as EnterpriseSearchApplicationUpsertResponse; From cd50e1d87b8f95d4c787d301d6aa0f0e3f5302a8 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Wed, 4 Oct 2023 03:11:40 -0400 Subject: [PATCH 35/35] skip failing test suite (#167945) --- .../tests/alerting/group4/alerts_as_data/alerts_as_data.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data.ts index d6006360102338..2aed9770c56b39 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data.ts @@ -62,7 +62,8 @@ export default function createAlertsAsDataInstallResourcesTest({ getService }: F 'kibana.alert.rule.execution.uuid', ]; - describe('alerts as data', () => { + // Failing: See https://github.com/elastic/kibana/issues/167945 + describe.skip('alerts as data', () => { afterEach(() => objectRemover.removeAll()); after(async () => { await es.deleteByQuery({ index: alertsAsDataIndex, query: { match_all: {} } });