From 0a22f9659483812e02b0bfc1d0d5f38ff16aa4a9 Mon Sep 17 00:00:00 2001
From: Ievgen Sorokopud
Date: Wed, 10 Aug 2022 13:24:38 +0200
Subject: [PATCH 01/49] [Security Solution] Incorrect alerts count is
displaying under preview results for data view (#138131)
* [Security Solution] Incorrect alerts count is displaying under preview results for data view (#137657)
* Fix CI
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
---
.../components/rules/rule_preview/helpers.test.ts | 11 +++++++++++
.../components/rules/rule_preview/helpers.ts | 11 ++++++++++-
.../components/rules/rule_preview/index.test.tsx | 12 ++++++++++++
.../components/rules/rule_preview/index.tsx | 13 +++++++++++--
.../rules/rule_preview/preview_histogram.test.tsx | 15 ++++++++++++---
.../rules/rule_preview/preview_histogram.tsx | 11 ++++++-----
.../rules/rule_preview/use_preview_histogram.tsx | 10 ++++------
.../rules/rule_preview/use_preview_route.tsx | 9 ++++++++-
.../components/rules/step_define_rule/index.tsx | 3 +++
.../detection_engine/rules/create/helpers.ts | 3 +++
10 files changed, 80 insertions(+), 18 deletions(-)
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.test.ts b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.test.ts
index 3ef94563edc61..deee988052ef2 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.test.ts
+++ b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.test.ts
@@ -5,6 +5,7 @@
* 2.0.
*/
+import { DataSourceType } from '../../../pages/detection_engine/rules/types';
import {
isNoisy,
getTimeframeOptions,
@@ -71,6 +72,7 @@ describe('query_preview/helpers', () => {
isThreatQueryBarValid: true,
index: [],
dataViewId: undefined,
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: ['threat-*'],
threatMapping: [
{ entries: [{ field: 'test-field', value: 'test-value', type: 'mapping' }] },
@@ -89,6 +91,7 @@ describe('query_preview/helpers', () => {
isThreatQueryBarValid: true,
index: ['test-*'],
dataViewId: undefined,
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: ['threat-*'],
threatMapping: [
{ entries: [{ field: 'test-field', value: 'test-value', type: 'mapping' }] },
@@ -107,6 +110,7 @@ describe('query_preview/helpers', () => {
isThreatQueryBarValid: false,
index: ['test-*'],
dataViewId: undefined,
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: ['threat-*'],
threatMapping: [
{ entries: [{ field: 'test-field', value: 'test-value', type: 'mapping' }] },
@@ -125,6 +129,7 @@ describe('query_preview/helpers', () => {
isThreatQueryBarValid: true,
index: ['test-*'],
dataViewId: undefined,
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: [],
threatMapping: [
{ entries: [{ field: 'test-field', value: 'test-value', type: 'mapping' }] },
@@ -143,6 +148,7 @@ describe('query_preview/helpers', () => {
isThreatQueryBarValid: true,
index: ['test-*'],
dataViewId: undefined,
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: ['threat-*'],
threatMapping: [],
machineLearningJobId: ['test-ml-job-id'],
@@ -159,6 +165,7 @@ describe('query_preview/helpers', () => {
isThreatQueryBarValid: true,
index: ['test-*'],
dataViewId: undefined,
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: ['threat-*'],
threatMapping: [],
machineLearningJobId: [],
@@ -175,6 +182,7 @@ describe('query_preview/helpers', () => {
isThreatQueryBarValid: true,
index: ['test-*'],
dataViewId: undefined,
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: ['threat-*'],
threatMapping: [],
machineLearningJobId: [],
@@ -191,6 +199,7 @@ describe('query_preview/helpers', () => {
isThreatQueryBarValid: true,
index: ['test-*'],
dataViewId: undefined,
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: [],
threatMapping: [],
machineLearningJobId: [],
@@ -207,6 +216,7 @@ describe('query_preview/helpers', () => {
isThreatQueryBarValid: true,
index: ['test-*'],
dataViewId: undefined,
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: ['threat-*'],
threatMapping: [
{ entries: [{ field: 'test-field', value: 'test-value', type: 'mapping' }] },
@@ -225,6 +235,7 @@ describe('query_preview/helpers', () => {
isThreatQueryBarValid: true,
index: ['test-*'],
dataViewId: undefined,
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: ['threat-*'],
threatMapping: [],
machineLearningJobId: [],
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts
index a008371e7c127..9ee6628636ad4 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts
+++ b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts
@@ -16,6 +16,8 @@ import type { ChartSeriesConfigs } from '../../../../common/components/charts/co
import { getQueryFilter } from '../../../../../common/detection_engine/get_query_filter';
import type { FieldValueQueryBar } from '../query_bar';
import type { ESQuery } from '../../../../../common/typed_json';
+import { DataSourceType } from '../../../pages/detection_engine/rules/types';
+
/**
* Determines whether or not to display noise warning.
* Is considered noisy if alerts/hour rate > 1
@@ -165,6 +167,7 @@ export const getIsRulePreviewDisabled = ({
isThreatQueryBarValid,
index,
dataViewId,
+ dataSourceType,
threatIndex,
threatMapping,
machineLearningJobId,
@@ -176,14 +179,20 @@ export const getIsRulePreviewDisabled = ({
isThreatQueryBarValid: boolean;
index: string[];
dataViewId: string | undefined;
+ dataSourceType: DataSourceType;
threatIndex: string[];
threatMapping: ThreatMapping;
machineLearningJobId: string[];
queryBar: FieldValueQueryBar;
newTermsFields: string[];
}) => {
- if (!isQueryBarValid || ((index == null || index.length === 0) && dataViewId == null))
+ if (
+ !isQueryBarValid ||
+ (dataSourceType === DataSourceType.DataView && !dataViewId) ||
+ (dataSourceType === DataSourceType.IndexPatterns && index.length === 0)
+ ) {
return true;
+ }
if (ruleType === 'threat_match') {
if (!isThreatQueryBarValid || !threatIndex.length || !threatMapping) return true;
if (
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.test.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.test.tsx
index bd0cfac44f69d..3b635796edd64 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.test.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.test.tsx
@@ -9,11 +9,15 @@ import React from 'react';
import { render } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
+import type { DataViewBase } from '@kbn/es-query';
+import { fields } from '@kbn/data-plugin/common/mocks';
+
import { TestProviders } from '../../../../common/mock';
import type { RulePreviewProps } from '.';
import { RulePreview } from '.';
import { usePreviewRoute } from './use_preview_route';
import { usePreviewHistogram } from './use_preview_histogram';
+import { DataSourceType } from '../../../pages/detection_engine/rules/types';
jest.mock('../../../../common/lib/kibana');
jest.mock('./use_preview_route');
@@ -27,9 +31,17 @@ jest.mock('../../../../common/containers/use_global_time', () => ({
}),
}));
+const getMockIndexPattern = (): DataViewBase => ({
+ fields,
+ id: '1234',
+ title: 'logstash-*',
+});
+
const defaultProps: RulePreviewProps = {
ruleType: 'threat_match',
index: ['test-*'],
+ indexPattern: getMockIndexPattern(),
+ dataSourceType: DataSourceType.IndexPatterns,
threatIndex: ['threat-*'],
threatMapping: [
{
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.tsx
index 955e9d5ff3716..3f541344abe5a 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.tsx
@@ -10,6 +10,7 @@ import dateMath from '@kbn/datemath';
import type { Unit } from '@kbn/datemath';
import type { ThreatMapping, Type } from '@kbn/securitysolution-io-ts-alerting-types';
import styled from 'styled-components';
+import type { DataViewBase } from '@kbn/es-query';
import type { EuiButtonGroupOptionProps, OnTimeChangeProps } from '@elastic/eui';
import {
EuiButtonGroup,
@@ -39,7 +40,10 @@ import { useStartTransaction } from '../../../../common/lib/apm/use_start_transa
import { SINGLE_RULE_ACTIONS } from '../../../../common/lib/apm/user_actions';
import { Form, UseField, useForm, useFormData } from '../../../../shared_imports';
import { ScheduleItem } from '../schedule_item_form';
-import type { AdvancedPreviewForm } from '../../../pages/detection_engine/rules/types';
+import type {
+ AdvancedPreviewForm,
+ DataSourceType,
+} from '../../../pages/detection_engine/rules/types';
import { schema } from './schema';
const HelpTextComponent = (
@@ -70,9 +74,11 @@ const advancedOptionsDefaultValue = {
export interface RulePreviewProps {
index: string[];
+ indexPattern: DataViewBase;
isDisabled: boolean;
query: FieldValueQueryBar;
dataViewId?: string;
+ dataSourceType: DataSourceType;
ruleType: Type;
threatIndex: string[];
threatMapping: ThreatMapping;
@@ -97,7 +103,9 @@ const defaultTimeRange: Unit = 'h';
const RulePreviewComponent: React.FC = ({
index,
+ indexPattern,
dataViewId,
+ dataSourceType,
isDisabled,
query,
ruleType,
@@ -197,6 +205,7 @@ const RulePreviewComponent: React.FC = ({
index,
isDisabled,
dataViewId,
+ dataSourceType,
query,
threatIndex,
threatQuery,
@@ -334,7 +343,7 @@ const RulePreviewComponent: React.FC = ({
previewId={previewId}
addNoiseWarning={addNoiseWarning}
spaceId={spaceId}
- index={index}
+ indexPattern={indexPattern}
advancedOptions={advancedOptions}
/>
)}
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.test.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.test.tsx
index 4cbb74f7def21..e9fde44db0b44 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.test.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.test.tsx
@@ -9,6 +9,9 @@ import React from 'react';
import { render } from '@testing-library/react';
import moment from 'moment';
+import type { DataViewBase } from '@kbn/es-query';
+import { fields } from '@kbn/data-plugin/common/mocks';
+
import { useGlobalTime } from '../../../../common/containers/use_global_time';
import { TestProviders } from '../../../../common/mock';
import { usePreviewHistogram } from './use_preview_histogram';
@@ -21,6 +24,12 @@ jest.mock('../../../../common/containers/use_global_time');
jest.mock('./use_preview_histogram');
jest.mock('../../../../common/utils/normalize_time_range');
+const getMockIndexPattern = (): DataViewBase => ({
+ fields,
+ id: '1234',
+ title: 'logstash-*',
+});
+
describe('PreviewHistogram', () => {
const mockSetQuery = jest.fn();
@@ -58,7 +67,7 @@ describe('PreviewHistogram', () => {
previewId={'test-preview-id'}
spaceId={'default'}
ruleType={'query'}
- index={['']}
+ indexPattern={getMockIndexPattern()}
/>
);
@@ -89,7 +98,7 @@ describe('PreviewHistogram', () => {
previewId={'test-preview-id'}
spaceId={'default'}
ruleType={'query'}
- index={['']}
+ indexPattern={getMockIndexPattern()}
/>
);
@@ -141,7 +150,7 @@ describe('PreviewHistogram', () => {
previewId={'test-preview-id'}
spaceId={'default'}
ruleType={'query'}
- index={['']}
+ indexPattern={getMockIndexPattern()}
advancedOptions={{
timeframeStart: moment(start, format),
timeframeEnd: moment(end, format),
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.tsx
index f374c4b192bf2..589e11c17016a 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.tsx
@@ -12,6 +12,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiText, EuiSpacer, EuiLoadingChart } from '
import styled from 'styled-components';
import type { Type } from '@kbn/securitysolution-io-ts-alerting-types';
import { useDispatch, useSelector } from 'react-redux';
+import type { DataViewBase } from '@kbn/es-query';
import { eventsViewerSelector } from '../../../../common/components/events_viewer/selectors';
import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features';
import { useKibana } from '../../../../common/lib/kibana';
@@ -63,7 +64,7 @@ interface PreviewHistogramProps {
addNoiseWarning: () => void;
spaceId: string;
ruleType: Type;
- index: string[];
+ indexPattern: DataViewBase;
advancedOptions?: AdvancedPreviewOptions;
}
@@ -75,7 +76,7 @@ export const PreviewHistogram = ({
addNoiseWarning,
spaceId,
ruleType,
- index,
+ indexPattern,
advancedOptions,
}: PreviewHistogramProps) => {
const dispatch = useDispatch();
@@ -99,7 +100,7 @@ export const PreviewHistogram = ({
startDate,
endDate,
spaceId,
- index,
+ indexPattern,
ruleType,
});
@@ -118,7 +119,7 @@ export const PreviewHistogram = ({
const {
browserFields,
- indexPattern,
+ indexPattern: selectedIndexPattern,
runtimeMappings,
dataViewId: selectedDataViewId,
loading: isLoadingIndexPattern,
@@ -225,7 +226,7 @@ export const PreviewHistogram = ({
hasAlertsCrud: false,
id: TimelineId.rulePreview,
indexNames: [`${DEFAULT_PREVIEW_INDEX}-${spaceId}`],
- indexPattern,
+ indexPattern: selectedIndexPattern,
isLive: false,
isLoadingIndexPattern,
itemsPerPage,
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_histogram.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_histogram.tsx
index facd9a4258e1d..16f57dc402211 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_histogram.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_histogram.tsx
@@ -7,6 +7,7 @@
import { useMemo } from 'react';
import type { Type } from '@kbn/securitysolution-io-ts-alerting-types';
import { getEsQueryConfig } from '@kbn/data-plugin/common';
+import type { DataViewBase } from '@kbn/es-query';
import { useMatrixHistogramCombined } from '../../../../common/containers/matrix_histogram';
import { MatrixHistogramType } from '../../../../../common/search_strategy';
import { convertToBuildEsQuery } from '../../../../common/lib/keury';
@@ -19,8 +20,8 @@ interface PreviewHistogramParams {
endDate: string;
startDate: string;
spaceId: string;
- index: string[];
ruleType: Type;
+ indexPattern: DataViewBase;
}
export const usePreviewHistogram = ({
@@ -28,17 +29,14 @@ export const usePreviewHistogram = ({
startDate,
endDate,
spaceId,
- index,
ruleType,
+ indexPattern,
}: PreviewHistogramParams) => {
const { uiSettings } = useKibana().services;
const [filterQuery, error] = convertToBuildEsQuery({
config: getEsQueryConfig(uiSettings),
- indexPattern: {
- fields: [],
- title: index == null ? '' : index.join(),
- },
+ indexPattern,
queries: [{ query: `kibana.alert.rule.uuid:${previewId}`, language: 'kuery' }],
filters: [],
});
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_route.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_route.tsx
index 94817129fc9d0..d0c543e3c3a31 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_route.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_route.tsx
@@ -14,12 +14,16 @@ import { formatPreviewRule } from '../../../pages/detection_engine/rules/create/
import type { FieldValueThreshold } from '../threshold_input';
import type { RulePreviewLogs } from '../../../../../common/detection_engine/schemas/request';
import type { EqlOptionsSelected } from '../../../../../common/search_strategy';
-import type { AdvancedPreviewOptions } from '../../../pages/detection_engine/rules/types';
+import type {
+ AdvancedPreviewOptions,
+ DataSourceType,
+} from '../../../pages/detection_engine/rules/types';
interface PreviewRouteParams {
isDisabled: boolean;
index: string[];
dataViewId?: string;
+ dataSourceType: DataSourceType;
threatIndex: string[];
query: FieldValueQueryBar;
threatQuery: FieldValueQueryBar;
@@ -38,6 +42,7 @@ interface PreviewRouteParams {
export const usePreviewRoute = ({
index,
dataViewId,
+ dataSourceType,
isDisabled,
query,
threatIndex,
@@ -107,6 +112,7 @@ export const usePreviewRoute = ({
formatPreviewRule({
index,
dataViewId,
+ dataSourceType,
query,
ruleType,
threatIndex,
@@ -126,6 +132,7 @@ export const usePreviewRoute = ({
}, [
index,
dataViewId,
+ dataSourceType,
isRequestTriggered,
query,
rule,
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx
index 15e0ff4a913b4..d791cafe54b15 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx
@@ -834,13 +834,16 @@ const StepDefineRuleComponent: FC = ({
(
export const formatPreviewRule = ({
index,
dataViewId,
+ dataSourceType,
query,
threatIndex,
threatQuery,
@@ -596,6 +597,7 @@ export const formatPreviewRule = ({
}: {
index: string[];
dataViewId?: string;
+ dataSourceType: DataSourceType;
threatIndex: string[];
query: FieldValueQueryBar;
threatQuery: FieldValueQueryBar;
@@ -614,6 +616,7 @@ export const formatPreviewRule = ({
...stepDefineDefaultValue,
index,
dataViewId,
+ dataSourceType,
queryBar: query,
ruleType,
threatIndex,
From 5a24ba3fe3990d654f8c6dc8de0d2e834feb1404 Mon Sep 17 00:00:00 2001
From: Georgii Gorbachev
Date: Wed, 10 Aug 2022 13:48:06 +0200
Subject: [PATCH 02/49] [Security Solution][Detections] Unskip tests for bulk
editing index patterns (#138435)
**Ticket:** https://github.com/elastic/kibana/issues/138409
**Caused by:** https://github.com/elastic/kibana/pull/138304#issuecomment-1209490032
## Summary
The merge of https://github.com/elastic/kibana/pull/138304 caused unit tests for bulk editing index patterns to start failing. This PR was reverted by https://github.com/elastic/kibana/commit/0bc8cf7f49fe8b9e7bf8c3ebc0f30794472aba84. The tests were skipped in https://github.com/elastic/kibana/commit/26a478355384e010af5bda35c029b2defa9b49e6.
These tests are fully functional in `main`. Unskipping them.
---
.../rules/bulk_actions/rule_params_modifier.test.ts | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/bulk_actions/rule_params_modifier.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/bulk_actions/rule_params_modifier.test.ts
index e83fc53c20cf5..c3b4fe0f20134 100644
--- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/bulk_actions/rule_params_modifier.test.ts
+++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/bulk_actions/rule_params_modifier.test.ts
@@ -50,8 +50,7 @@ describe('ruleParamsModifier', () => {
expect(editedRuleParams).toHaveProperty('version', ruleParamsMock.version + 1);
});
- // FLAKY: https://github.com/elastic/kibana/issues/138409
- describe.skip('index_patterns', () => {
+ describe('index_patterns', () => {
test('should add new index pattern to rule', () => {
const editedRuleParams = ruleParamsModifier(ruleParamsMock, [
{
From 0c46b0dda966523b65d800c0985e46b99a6c6807 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cau=C3=AA=20Marcondes?=
<55978943+cauemarcondes@users.noreply.github.com>
Date: Wed, 10 Aug 2022 08:51:07 -0400
Subject: [PATCH 03/49] [APM] Rename JVMs to Metrics (#138437)
* [APM] Rename JVMs to Metrics
* rename test
---
.../components/routing/service_detail/index.tsx | 2 +-
.../templates/apm_service_template/index.test.tsx | 12 ++++++------
.../routing/templates/apm_service_template/index.tsx | 6 +++---
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx b/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx
index 4fc2b9836b88c..1835eee137f41 100644
--- a/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx
+++ b/x-pack/plugins/apm/public/components/routing/service_detail/index.tsx
@@ -222,7 +222,7 @@ export const serviceDetail = {
...page({
tab: 'nodes',
title: i18n.translate('xpack.apm.views.nodes.title', {
- defaultMessage: 'JVMs',
+ defaultMessage: 'Metrics',
}),
element: ,
}),
diff --git a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.test.tsx b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.test.tsx
index 7ac3b14e7faa9..763d4cf0717a1 100644
--- a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.test.tsx
+++ b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.test.tsx
@@ -4,7 +4,7 @@
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
-import { isMetricsTabHidden, isJVMsTabHidden } from '.';
+import { isMetricsTabHidden, isMetricsJVMsTabHidden } from '.';
describe('APM service template', () => {
describe('isMetricsTabHidden', () => {
@@ -41,8 +41,8 @@ describe('APM service template', () => {
});
});
});
- describe('isJVMsTabHidden', () => {
- describe('hides JVMs tab', () => {
+ describe('isMetricsJVMsTabHidden', () => {
+ describe('hides metrics JVMs tab', () => {
[
{ agentName: undefined },
{ agentName: 'ruby', runtimeName: 'ruby' },
@@ -55,18 +55,18 @@ describe('APM service template', () => {
{ runtimeName: 'aws_lambda' },
].map((input) => {
it(`when input ${JSON.stringify(input)}`, () => {
- expect(isJVMsTabHidden(input)).toBeTruthy();
+ expect(isMetricsJVMsTabHidden(input)).toBeTruthy();
});
});
});
- describe('shows JVMs tab', () => {
+ describe('shows metrics JVMs tab', () => {
[
{ agentName: 'java' },
{ agentName: 'opentelemetry/java' },
{ agentName: 'ruby', runtimeName: 'jruby' },
].map((input) => {
it(`when input ${JSON.stringify(input)}`, () => {
- expect(isJVMsTabHidden(input)).toBeFalsy();
+ expect(isMetricsJVMsTabHidden(input)).toBeFalsy();
});
});
});
diff --git a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx
index 80957e990f250..7acf14fc0bf01 100644
--- a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx
+++ b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/index.tsx
@@ -155,7 +155,7 @@ export function isMetricsTabHidden({
);
}
-export function isJVMsTabHidden({
+export function isMetricsJVMsTabHidden({
agentName,
runtimeName,
}: {
@@ -255,9 +255,9 @@ function useTabs({ selectedTab }: { selectedTab: Tab['key'] }) {
query,
}),
label: i18n.translate('xpack.apm.serviceDetails.nodesTabLabel', {
- defaultMessage: 'JVMs',
+ defaultMessage: 'Metrics',
}),
- hidden: isJVMsTabHidden({ agentName, runtimeName }),
+ hidden: isMetricsJVMsTabHidden({ agentName, runtimeName }),
},
{
key: 'infrastructure',
From 27162e08021b116ee567c8d161acd09d17f61041 Mon Sep 17 00:00:00 2001
From: doakalexi <109488926+doakalexi@users.noreply.github.com>
Date: Wed, 10 Aug 2022 09:28:39 -0400
Subject: [PATCH 04/49] Fixing test failure (#138156)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
---
.../spaces_only/tests/alerting/bulk_edit.ts | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/bulk_edit.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/bulk_edit.ts
index 783ec5a9d1628..adbc7650b08b2 100644
--- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/bulk_edit.ts
+++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/bulk_edit.ts
@@ -356,12 +356,13 @@ export default function createUpdateTests({ getService }: FtrProviderContext) {
],
};
- const bulkEditResponse = await retry.try(async () =>
- supertest
- .post(`${getUrlPrefix(Spaces.space1.id)}/internal/alerting/rules/_bulk_edit`)
- .set('kbn-xsrf', 'foo')
- .send(payload)
- .expect(200)
+ const bulkEditResponse = await retry.try(
+ async () =>
+ await supertest
+ .post(`${getUrlPrefix(Spaces.space1.id)}/internal/alerting/rules/_bulk_edit`)
+ .set('kbn-xsrf', 'foo')
+ .send(payload)
+ .expect(200)
);
// after applying bulk edit action monitoring still available
From 5155d6a5b8d89610ea373a8a2ebec658f91fa969 Mon Sep 17 00:00:00 2001
From: "Devin W. Hurley"
Date: Wed, 10 Aug 2022 09:29:24 -0400
Subject: [PATCH 05/49] [Security Solution] [Platform] Fixes the alert context
menu option to add rule exception (#138291)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
---
x-pack/plugins/security_solution/common/ecs/index.ts | 4 +++-
.../plugins/security_solution/common/ecs/rule/index.ts | 1 +
.../timeline_actions/alert_context_menu.tsx | 10 ++++++++++
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/x-pack/plugins/security_solution/common/ecs/index.ts b/x-pack/plugins/security_solution/common/ecs/index.ts
index e68e25cf4c396..f77ef70aaf96c 100644
--- a/x-pack/plugins/security_solution/common/ecs/index.ts
+++ b/x-pack/plugins/security_solution/common/ecs/index.ts
@@ -74,5 +74,7 @@ export interface Ecs {
Target?: Target;
dll?: DllEcs;
'kibana.alert.workflow_status'?: 'open' | 'acknowledged' | 'in-progress' | 'closed';
- 'kibana.alert.rule.parameters'?: { index: string[] };
+ // I believe these parameters are all snake cased to correspond with how they are sent "over the wire" as request / response
+ // Not representative of the parsed types that are camel cased.
+ 'kibana.alert.rule.parameters'?: { index: string[]; data_view_id?: string };
}
diff --git a/x-pack/plugins/security_solution/common/ecs/rule/index.ts b/x-pack/plugins/security_solution/common/ecs/rule/index.ts
index ae7e5064a8ece..073bb7db3a3e8 100644
--- a/x-pack/plugins/security_solution/common/ecs/rule/index.ts
+++ b/x-pack/plugins/security_solution/common/ecs/rule/index.ts
@@ -20,6 +20,7 @@ export interface RuleEcs {
from?: string[];
immutable?: boolean[];
index?: string[];
+ data_view_id?: string;
interval?: string[];
language?: string[];
query?: string[];
diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx
index 6982f75d6d6a7..fe2eabec1ea0b 100644
--- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx
@@ -344,6 +344,15 @@ export const AddExceptionFlyoutWrapper: React.FC
return ruleIndices;
}, [enrichedAlert, ruleIndices]);
+ const memoDataViewId = useMemo(() => {
+ if (
+ enrichedAlert != null &&
+ enrichedAlert['kibana.alert.rule.parameters']?.data_view_id != null
+ ) {
+ return enrichedAlert['kibana.alert.rule.parameters'].data_view_id;
+ }
+ }, [enrichedAlert]);
+
const isLoading = isLoadingAlertData && isSignalIndexLoading;
return (
@@ -351,6 +360,7 @@ export const AddExceptionFlyoutWrapper: React.FC
ruleName={ruleName}
ruleId={ruleId}
ruleIndices={useRuleIndices}
+ dataViewId={memoDataViewId}
exceptionListType={exceptionListType}
alertData={enrichedAlert}
isAlertDataLoading={isLoading}
From 08d14ef2c00576732e3b9a2a9d9da76669c50134 Mon Sep 17 00:00:00 2001
From: Steph Milovic
Date: Wed, 10 Aug 2022 07:31:08 -0600
Subject: [PATCH 06/49] [Security Solution] Host/User details flyout, fix ML
narrow date range
---
.../expandable_host.test.tsx.snap | 341 ------------------
.../host_details/expandable_host.test.tsx | 55 ++-
.../host_details/expandable_host.tsx | 26 +-
.../user_details/expandable_user.test.tsx | 98 +++++
.../user_details/expandable_user.tsx | 27 +-
5 files changed, 187 insertions(+), 360 deletions(-)
delete mode 100644 x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/__snapshots__/expandable_host.test.tsx.snap
create mode 100644 x-pack/plugins/security_solution/public/timelines/components/side_panel/user_details/expandable_user.test.tsx
diff --git a/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/__snapshots__/expandable_host.test.tsx.snap b/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/__snapshots__/expandable_host.test.tsx.snap
deleted file mode 100644
index 8f14c778cff20..0000000000000
--- a/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/__snapshots__/expandable_host.test.tsx.snap
+++ /dev/null
@@ -1,341 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Expandable Host Component ExpandableHostDetails: rendering it should render the HostOverview of the ExpandableHostDetails 1`] = `
-.c3 {
- color: #535966;
-}
-
-.c2 {
- word-break: break-word;
-}
-
-.c2 dt {
- font-size: 12px !important;
-}
-
-.c2 dd {
- width: -webkit-fit-content;
- width: -moz-fit-content;
- width: fit-content;
-}
-
-.c2 dd > div {
- width: -webkit-fit-content;
- width: -moz-fit-content;
- width: fit-content;
-}
-
-.c1 {
- position: relative;
-}
-
-.c1 .euiButtonIcon {
- position: absolute;
- right: 12px;
- top: 6px;
- z-index: 2;
-}
-
-.c0 {
- width: 100%;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-flex: 1;
- -webkit-flex-grow: 1;
- -ms-flex-positive: 1;
- flex-grow: 1;
-}
-
-.c0 > * {
- max-width: 100%;
-}
-
-.c0 .inspectButtonComponent {
- pointer-events: none;
- opacity: 0;
- -webkit-transition: opacity 250ms ease;
- transition: opacity 250ms ease;
-}
-
-.c0:hover .inspectButtonComponent {
- pointer-events: auto;
- opacity: 1;
-}
-
-.c4 {
- padding: 12px;
- background: rgba(250,251,253,0.9);
- bottom: 0;
- left: 0;
- position: absolute;
- right: 0;
- top: 0;
- z-index: 1000;
-}
-
-.c5 {
- height: 100%;
-}
-
-
-
-
-
- -
- Host ID
-
- -
-
- —
-
-
- -
- First seen
-
- -
-
-
- -
- Last seen
-
- -
-
-
-
-
-
-
- -
- IP addresses
-
- -
-
- —
-
-
- -
- MAC addresses
-
- -
-
- —
-
-
- -
- Platform
-
- -
-
- —
-
-
-
-
-
-
- -
- Operating system
-
- -
-
- —
-
-
- -
- Family
-
- -
-
- —
-
-
- -
- Version
-
- -
-
- —
-
-
- -
- Architecture
-
- -
-
- —
-
-
-
-
-
-
- -
- Cloud provider
-
- -
-
- —
-
-
- -
- Region
-
- -
-
- —
-
-
- -
- Instance ID
-
- -
-
- —
-
-
- -
- Machine type
-
- -
-
- —
-
-
-
-
-
-
-
-`;
diff --git a/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/expandable_host.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/expandable_host.test.tsx
index 945f8bd8b9b52..ecdb41639c5fd 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/expandable_host.test.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/expandable_host.test.tsx
@@ -6,13 +6,43 @@
*/
import { mount } from 'enzyme';
+import { waitFor } from '@testing-library/react';
import React from 'react';
import '../../../../common/mock/match_media';
import { mockGlobalState, TestProviders } from '../../../../common/mock';
import { ExpandableHostDetails } from './expandable_host';
+import { mockAnomalies } from '../../../../common/components/ml/mock';
+import type { Anomalies } from '../../../../common/components/ml/types';
+import { hasMlUserPermissions } from '../../../../../common/machine_learning/has_ml_user_permissions';
+const mockDispatch = jest.fn();
+jest.mock('../../../../../common/machine_learning/has_ml_user_permissions');
+jest.mock('react-redux', () => {
+ const original = jest.requireActual('react-redux');
+
+ return {
+ ...original,
+ useDispatch: () => mockDispatch,
+ };
+});
+jest.mock('../../../../common/components/ml/anomaly/anomaly_table_provider', () => ({
+ AnomalyTableProvider: ({
+ children,
+ }: {
+ children: (args: {
+ anomaliesData: Anomalies;
+ isLoadingAnomaliesData: boolean;
+ }) => React.ReactNode;
+ }) => children({ anomaliesData: mockAnomalies, isLoadingAnomaliesData: false }),
+}));
describe('Expandable Host Component', () => {
+ beforeAll(() => {
+ (hasMlUserPermissions as jest.Mock).mockReturnValue(true);
+ });
+ beforeEach(() => {
+ jest.clearAllMocks();
+ });
const mockProps = {
contextID: 'text-context',
hostName: 'testHostName',
@@ -26,7 +56,7 @@ describe('Expandable Host Component', () => {
);
- expect(wrapper.find('ExpandableHostDetails').render()).toMatchSnapshot();
+ expect(wrapper.find('[data-test-subj="host-overview"]').exists()).toBe(true);
});
test('it should render the HostOverview of the ExpandableHostDetails with the correct indices', () => {
@@ -40,5 +70,28 @@ describe('Expandable Host Component', () => {
mockGlobalState.sourcerer.sourcererScopes.default.selectedPatterns
);
});
+
+ test('it should set date range to anomaly date range', async () => {
+ const wrapper = mount(
+
+
+
+ );
+ wrapper.find('[data-test-subj="anomaly-score-popover"]').first().simulate('click');
+ await waitFor(() => {
+ wrapper
+ .find('button[data-test-subj="anomaly-description-narrow-range-link"]')
+ .first()
+ .simulate('click');
+ });
+ expect(mockDispatch).toHaveBeenCalledWith({
+ type: 'x-pack/security_solution/local/inputs/SET_ABSOLUTE_RANGE_DATE_PICKER',
+ payload: {
+ id: 'global',
+ from: '2019-06-15T06:00:00.000Z',
+ to: '2019-06-17T06:00:00.000Z',
+ },
+ });
+ });
});
});
diff --git a/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/expandable_host.tsx b/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/expandable_host.tsx
index b8009a376bb88..1adeb1304dd2b 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/expandable_host.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/expandable_host.tsx
@@ -5,10 +5,11 @@
* 2.0.
*/
-import React from 'react';
+import React, { useCallback } from 'react';
import styled from 'styled-components';
import { i18n } from '@kbn/i18n';
import { EuiTitle } from '@elastic/eui';
+import { useDispatch } from 'react-redux';
import { HostDetailsLink } from '../../../../common/components/links';
import { useGlobalTime } from '../../../../common/containers/use_global_time';
import { useSourcererDataView } from '../../../../common/containers/sourcerer';
@@ -65,6 +66,7 @@ export const ExpandableHostDetails = ({
(i.e. extraneous endpoint data is retrieved from the backend leading to endpoint data not being returned)
*/
const { selectedPatterns } = useSourcererDataView();
+ const dispatch = useDispatch();
const [loading, { hostDetails: hostOverview }] = useHostDetails({
endDate: to,
@@ -72,6 +74,19 @@ export const ExpandableHostDetails = ({
indexNames: selectedPatterns,
startDate: from,
});
+ const narrowDateRange = useCallback(
+ (score, interval) => {
+ const fromTo = scoreIntervalToDateTime(score, interval);
+ dispatch(
+ setAbsoluteRangeDatePicker({
+ id: 'global',
+ from: fromTo.from,
+ to: fromTo.to,
+ })
+ );
+ },
+ [dispatch]
+ );
return (
{
- const fromTo = scoreIntervalToDateTime(score, interval);
- setAbsoluteRangeDatePicker({
- id: 'global',
- from: fromTo.from,
- to: fromTo.to,
- });
- }}
+ narrowDateRange={narrowDateRange}
hostName={hostName}
/>
)}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/side_panel/user_details/expandable_user.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/side_panel/user_details/expandable_user.test.tsx
new file mode 100644
index 0000000000000..f375209527e5d
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/timelines/components/side_panel/user_details/expandable_user.test.tsx
@@ -0,0 +1,98 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { mount } from 'enzyme';
+import { waitFor } from '@testing-library/react';
+import React from 'react';
+
+import '../../../../common/mock/match_media';
+import { mockGlobalState, TestProviders } from '../../../../common/mock';
+import { ExpandableUserDetails } from './expandable_user';
+import { mockAnomalies } from '../../../../common/components/ml/mock';
+import type { Anomalies } from '../../../../common/components/ml/types';
+import { hasMlUserPermissions } from '../../../../../common/machine_learning/has_ml_user_permissions';
+const mockDispatch = jest.fn();
+jest.mock('../../../../../common/machine_learning/has_ml_user_permissions');
+jest.mock('react-redux', () => {
+ const original = jest.requireActual('react-redux');
+
+ return {
+ ...original,
+ useDispatch: () => mockDispatch,
+ };
+});
+jest.mock('../../../../common/components/ml/anomaly/anomaly_table_provider', () => ({
+ AnomalyTableProvider: ({
+ children,
+ }: {
+ children: (args: {
+ anomaliesData: Anomalies;
+ isLoadingAnomaliesData: boolean;
+ }) => React.ReactNode;
+ }) => children({ anomaliesData: mockAnomalies, isLoadingAnomaliesData: false }),
+}));
+
+describe('Expandable Host Component', () => {
+ beforeAll(() => {
+ (hasMlUserPermissions as jest.Mock).mockReturnValue(true);
+ });
+ beforeEach(() => {
+ jest.clearAllMocks();
+ });
+ const mockProps = {
+ contextID: 'text-context',
+ userName: 'testUserName',
+ isDraggable: true,
+ };
+
+ describe('ExpandableUserDetails: rendering', () => {
+ test('it should render the UserOverview of the ExpandableUserDetails', () => {
+ const wrapper = mount(
+
+
+
+ );
+
+ expect(wrapper.find('[data-test-subj="user-overview"]').exists()).toBe(true);
+ });
+
+ test('it should render the UserOverview of the ExpandableUserDetails with the correct indices', () => {
+ const wrapper = mount(
+
+
+
+ );
+
+ expect(wrapper.find('UserOverview').prop('indexPatterns')).toStrictEqual(
+ mockGlobalState.sourcerer.sourcererScopes.default.selectedPatterns
+ );
+ });
+
+ test('it should set date range to anomaly date range', async () => {
+ const wrapper = mount(
+
+
+
+ );
+ wrapper.find('[data-test-subj="anomaly-score-popover"]').first().simulate('click');
+ await waitFor(() => {
+ wrapper
+ .find('button[data-test-subj="anomaly-description-narrow-range-link"]')
+ .first()
+ .simulate('click');
+ });
+ expect(mockDispatch).toHaveBeenCalledWith({
+ type: 'x-pack/security_solution/local/inputs/SET_ABSOLUTE_RANGE_DATE_PICKER',
+ payload: {
+ id: 'global',
+ from: '2019-06-15T06:00:00.000Z',
+ to: '2019-06-17T06:00:00.000Z',
+ },
+ });
+ });
+ });
+});
diff --git a/x-pack/plugins/security_solution/public/timelines/components/side_panel/user_details/expandable_user.tsx b/x-pack/plugins/security_solution/public/timelines/components/side_panel/user_details/expandable_user.tsx
index f1f32802845b0..cbfb7439c83fb 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/side_panel/user_details/expandable_user.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/side_panel/user_details/expandable_user.tsx
@@ -8,7 +8,8 @@
import { EuiTitle } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import styled from 'styled-components';
-import React from 'react';
+import React, { useCallback } from 'react';
+import { useDispatch } from 'react-redux';
import { UserDetailsLink } from '../../../../common/components/links';
import { UserOverview } from '../../../../overview/components/user_overview';
import { useUserDetails } from '../../../../users/containers/users/details';
@@ -57,6 +58,7 @@ export const ExpandableUserDetails = ({
}: ExpandableUserProps & { contextID: string; isDraggable?: boolean }) => {
const { to, from, isInitializing } = useGlobalTime();
const { selectedPatterns } = useSourcererDataView();
+ const dispatch = useDispatch();
const [loading, { userDetails }] = useUserDetails({
endDate: to,
@@ -66,6 +68,20 @@ export const ExpandableUserDetails = ({
skip: isInitializing,
});
+ const narrowDateRange = useCallback(
+ (score, interval) => {
+ const fromTo = scoreIntervalToDateTime(score, interval);
+ dispatch(
+ setAbsoluteRangeDatePicker({
+ id: 'global',
+ from: fromTo.from,
+ to: fromTo.to,
+ })
+ );
+ },
+ [dispatch]
+ );
+
return (
{
- const fromTo = scoreIntervalToDateTime(score, interval);
- setAbsoluteRangeDatePicker({
- id: 'global',
- from: fromTo.from,
- to: fromTo.to,
- });
- }}
+ narrowDateRange={narrowDateRange}
indexPatterns={selectedPatterns}
/>
)}
From b8f07a1ccff5301bb3165c12c8730b3f558c4629 Mon Sep 17 00:00:00 2001
From: Byron Hulcher
Date: Wed, 10 Aug 2022 09:34:17 -0400
Subject: [PATCH 07/49] [Enterprise Search] New elasticsearchErrorHandler for
server routes (#138341)
---
.../common/types/error_codes.ts | 1 +
.../routes/enterprise_search/config_data.ts | 20 +-
.../routes/enterprise_search/connectors.ts | 43 +--
.../enterprise_search/crawler/crawler.ts | 13 +-
.../enterprise_search/create_api_key.ts | 31 +-
.../routes/enterprise_search/indices.ts | 275 +++++++++---------
.../routes/enterprise_search/mapping.ts | 26 +-
.../server/routes/enterprise_search/search.ts | 84 +++---
.../server/utils/create_error.ts | 11 +-
.../utils/elasticsearch_error_handler.ts | 73 +++++
.../server/utils/identify_exceptions.ts | 11 +-
11 files changed, 325 insertions(+), 263 deletions(-)
create mode 100644 x-pack/plugins/enterprise_search/server/utils/elasticsearch_error_handler.ts
diff --git a/x-pack/plugins/enterprise_search/common/types/error_codes.ts b/x-pack/plugins/enterprise_search/common/types/error_codes.ts
index a982289fbdb67..327d000003f9b 100644
--- a/x-pack/plugins/enterprise_search/common/types/error_codes.ts
+++ b/x-pack/plugins/enterprise_search/common/types/error_codes.ts
@@ -12,4 +12,5 @@ export enum ErrorCode {
INDEX_NOT_FOUND = 'index_not_found',
RESOURCE_NOT_FOUND = 'resource_not_found',
UNAUTHORIZED = 'unauthorized',
+ UNCAUGHT_EXCEPTION = 'uncaught_exception',
}
diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/config_data.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/config_data.ts
index 5be5bf8cc0373..e65941cb7f20e 100644
--- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/config_data.ts
+++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/config_data.ts
@@ -5,8 +5,18 @@
* 2.0.
*/
+import { i18n } from '@kbn/i18n';
+
import { callEnterpriseSearchConfigAPI } from '../../lib/enterprise_search_config_api';
import { RouteDependencies } from '../../plugin';
+import { elasticsearchErrorHandler } from '../../utils/elasticsearch_error_handler';
+
+const errorMessage = i18n.translate(
+ 'xpack.enterpriseSearch.server.routes.configData.errorMessage',
+ {
+ defaultMessage: 'Error fetching data from Enterprise Search',
+ }
+);
export function registerConfigDataRoute({ router, config, log }: RouteDependencies) {
router.get(
@@ -14,18 +24,18 @@ export function registerConfigDataRoute({ router, config, log }: RouteDependenci
path: '/internal/enterprise_search/config_data',
validate: false,
},
- async (context, request, response) => {
- const data = await callEnterpriseSearchConfigAPI({ request, config, log });
+ elasticsearchErrorHandler(log, async (context, request, response) => {
+ const data = await callEnterpriseSearchConfigAPI({ config, log, request });
if ('responseStatus' in data) {
return response.customError({
+ body: errorMessage,
statusCode: data.responseStatus,
- body: 'Error fetching data from Enterprise Search',
});
} else if (!Object.keys(data).length) {
return response.customError({
+ body: errorMessage,
statusCode: 502,
- body: 'Error fetching data from Enterprise Search',
});
} else {
return response.ok({
@@ -33,6 +43,6 @@ export function registerConfigDataRoute({ router, config, log }: RouteDependenci
headers: { 'content-type': 'application/json' },
});
}
- }
+ })
);
}
diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts
index 5c2f191eb1395..015567712d648 100644
--- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts
+++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts
@@ -16,8 +16,9 @@ import { updateConnectorScheduling } from '../../lib/connectors/update_connector
import { RouteDependencies } from '../../plugin';
import { createError } from '../../utils/create_error';
+import { elasticsearchErrorHandler } from '../../utils/elasticsearch_error_handler';
-export function registerConnectorRoutes({ router }: RouteDependencies) {
+export function registerConnectorRoutes({ router, log }: RouteDependencies) {
router.post(
{
path: '/internal/enterprise_search/connectors',
@@ -29,25 +30,12 @@ export function registerConnectorRoutes({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { client } = (await context.core).elasticsearch;
try {
const body = await addConnector(client, request.body);
return response.ok({ body });
} catch (error) {
- if (error.statusCode === 403) {
- return createError({
- errorCode: ErrorCode.UNAUTHORIZED,
- message: i18n.translate(
- 'xpack.enterpriseSearch.server.routes.addConnector.unauthorizedError',
- {
- defaultMessage: 'You do not have the correct access rights to create this resource',
- }
- ),
- response,
- statusCode: 403,
- });
- }
if (
(error as Error).message === ErrorCode.CONNECTOR_DOCUMENT_ALREADY_EXISTS ||
(error as Error).message === ErrorCode.INDEX_ALREADY_EXISTS
@@ -64,15 +52,12 @@ export function registerConnectorRoutes({ router }: RouteDependencies) {
statusCode: 409,
});
}
- return response.customError({
- body: i18n.translate('xpack.enterpriseSearch.server.routes.addConnector.error', {
- defaultMessage: 'Error fetching data from Enterprise Search',
- }),
- statusCode: 502,
- });
+
+ throw error;
}
- }
+ })
);
+
router.post(
{
path: '/internal/enterprise_search/connectors/{connectorId}/configuration',
@@ -86,7 +71,7 @@ export function registerConnectorRoutes({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { client } = (await context.core).elasticsearch;
try {
await updateConnectorConfiguration(client, request.params.connectorId, request.body);
@@ -99,8 +84,9 @@ export function registerConnectorRoutes({ router }: RouteDependencies) {
statusCode: 502,
});
}
- }
+ })
);
+
router.post(
{
path: '/internal/enterprise_search/connectors/{connectorId}/scheduling',
@@ -111,7 +97,7 @@ export function registerConnectorRoutes({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { client } = (await context.core).elasticsearch;
try {
await updateConnectorScheduling(client, request.params.connectorId, request.body);
@@ -124,8 +110,9 @@ export function registerConnectorRoutes({ router }: RouteDependencies) {
statusCode: 502,
});
}
- }
+ })
);
+
router.post(
{
path: '/internal/enterprise_search/connectors/{connectorId}/start_sync',
@@ -135,7 +122,7 @@ export function registerConnectorRoutes({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { client } = (await context.core).elasticsearch;
try {
await startConnectorSync(client, request.params.connectorId);
@@ -148,6 +135,6 @@ export function registerConnectorRoutes({ router }: RouteDependencies) {
statusCode: 502,
});
}
- }
+ })
);
}
diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts
index eec442fcaef7a..41a00607cfc25 100644
--- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts
+++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts
@@ -6,7 +6,6 @@
*/
import { schema } from '@kbn/config-schema';
-
import { i18n } from '@kbn/i18n';
import { ErrorCode } from '../../../../common/types/error_codes';
@@ -15,13 +14,14 @@ import { fetchCrawlerByIndexName } from '../../../lib/crawler/fetch_crawlers';
import { RouteDependencies } from '../../../plugin';
import { createError } from '../../../utils/create_error';
+import { elasticsearchErrorHandler } from '../../../utils/elasticsearch_error_handler';
import { registerCrawlerCrawlRulesRoutes } from './crawler_crawl_rules';
import { registerCrawlerEntryPointRoutes } from './crawler_entry_points';
import { registerCrawlerSitemapRoutes } from './crawler_sitemaps';
export function registerCrawlerRoutes(routeDependencies: RouteDependencies) {
- const { router, enterpriseSearchRequestHandler } = routeDependencies;
+ const { router, enterpriseSearchRequestHandler, log } = routeDependencies;
router.post(
{
@@ -33,11 +33,13 @@ export function registerCrawlerRoutes(routeDependencies: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { client } = (await context.core).elasticsearch;
+
const indexExists = await client.asCurrentUser.indices.exists({
index: request.body.index_name,
});
+
if (indexExists) {
return createError({
errorCode: ErrorCode.INDEX_ALREADY_EXISTS,
@@ -51,7 +53,9 @@ export function registerCrawlerRoutes(routeDependencies: RouteDependencies) {
statusCode: 409,
});
}
+
const crawler = await fetchCrawlerByIndexName(client, request.body.index_name);
+
if (crawler) {
return createError({
errorCode: ErrorCode.CRAWLER_ALREADY_EXISTS,
@@ -81,10 +85,11 @@ export function registerCrawlerRoutes(routeDependencies: RouteDependencies) {
statusCode: 409,
});
}
+
return enterpriseSearchRequestHandler.createRequest({
path: '/api/ent/v1/internal/indices',
})(context, request, response);
- }
+ })
);
router.post(
diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/create_api_key.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/create_api_key.ts
index 2a0f745f2e4c8..da3b8c736146e 100644
--- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/create_api_key.ts
+++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/create_api_key.ts
@@ -11,9 +11,10 @@ import { SecurityPluginStart } from '@kbn/security-plugin/server';
import { createApiKey } from '../../lib/indices/create_api_key';
import { RouteDependencies } from '../../plugin';
+import { elasticsearchErrorHandler } from '../../utils/elasticsearch_error_handler';
export function registerCreateAPIKeyRoute(
- { router }: RouteDependencies,
+ { log, router }: RouteDependencies,
security: SecurityPluginStart
) {
router.post(
@@ -28,24 +29,20 @@ export function registerCreateAPIKeyRoute(
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { indexName } = request.params;
const { keyName } = request.body;
- try {
- const createResponse = await createApiKey(request, security, indexName, keyName);
- if (!createResponse) {
- throw new Error('Unable to create API Key');
- }
- return response.ok({
- body: { apiKey: createResponse },
- headers: { 'content-type': 'application/json' },
- });
- } catch (error) {
- return response.customError({
- body: 'Error creating API Key',
- statusCode: 502,
- });
+
+ const createResponse = await createApiKey(request, security, indexName, keyName);
+
+ if (!createResponse) {
+ throw new Error('Unable to create API Key');
}
- }
+
+ return response.ok({
+ body: { apiKey: createResponse },
+ headers: { 'content-type': 'application/json' },
+ });
+ })
);
}
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 c254d0300e94d..bf44bab16fc2a 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
@@ -19,27 +19,23 @@ import { fetchIndices } from '../../lib/indices/fetch_indices';
import { generateApiKey } from '../../lib/indices/generate_api_key';
import { RouteDependencies } from '../../plugin';
import { createError } from '../../utils/create_error';
+import { elasticsearchErrorHandler } from '../../utils/elasticsearch_error_handler';
import { isIndexNotFoundException } from '../../utils/identify_exceptions';
-export function registerIndexRoutes({ router }: RouteDependencies) {
+export function registerIndexRoutes({ router, log }: RouteDependencies) {
router.get(
{ path: '/internal/enterprise_search/search_indices', validate: false },
- async (context, _, response) => {
+ elasticsearchErrorHandler(log, async (context, _, response) => {
const { client } = (await context.core).elasticsearch;
- try {
- const indices = await fetchIndices(client, '*', false, true);
- return response.ok({
- body: indices,
- headers: { 'content-type': 'application/json' },
- });
- } catch (error) {
- return response.customError({
- body: 'Error fetching data from Enterprise Search',
- statusCode: 502,
- });
- }
- }
+ const indices = await fetchIndices(client, '*', false, true);
+
+ return response.ok({
+ body: indices,
+ headers: { 'content-type': 'application/json' },
+ });
+ })
);
+
router.get(
{
path: '/internal/enterprise_search/indices',
@@ -52,7 +48,7 @@ export function registerIndexRoutes({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const {
page,
size,
@@ -60,44 +56,40 @@ export function registerIndexRoutes({ router }: RouteDependencies) {
search_query: searchQuery,
} = request.query;
const { client } = (await context.core).elasticsearch;
- try {
- const indexPattern = searchQuery ? `*${searchQuery}*` : '*';
- const totalIndices = await fetchIndices(client, indexPattern, !!returnHiddenIndices, false);
- const totalResults = totalIndices.length;
- const totalPages = Math.ceil(totalResults / size) || 1;
- const startIndex = (page - 1) * size;
- const endIndex = page * size;
- const selectedIndices = totalIndices.slice(startIndex, endIndex);
- const indexNames = selectedIndices.map(({ name }) => name);
- const connectors = await fetchConnectors(client, indexNames);
- const crawlers = await fetchCrawlers(client, indexNames);
- const indices = selectedIndices.map((index) => ({
- ...index,
- connector: connectors.find((connector) => connector.index_name === index.name),
- crawler: crawlers.find((crawler) => crawler.index_name === index.name),
- }));
- return response.ok({
- body: {
- indices,
- meta: {
- page: {
- current: page,
- size: indices.length,
- total_pages: totalPages,
- total_results: totalResults,
- },
+
+ const indexPattern = searchQuery ? `*${searchQuery}*` : '*';
+ const totalIndices = await fetchIndices(client, indexPattern, !!returnHiddenIndices, false);
+ const totalResults = totalIndices.length;
+ const totalPages = Math.ceil(totalResults / size) || 1;
+ const startIndex = (page - 1) * size;
+ const endIndex = page * size;
+ const selectedIndices = totalIndices.slice(startIndex, endIndex);
+ const indexNames = selectedIndices.map(({ name }) => name);
+ const connectors = await fetchConnectors(client, indexNames);
+ const crawlers = await fetchCrawlers(client, indexNames);
+ const indices = selectedIndices.map((index) => ({
+ ...index,
+ connector: connectors.find((connector) => connector.index_name === index.name),
+ crawler: crawlers.find((crawler) => crawler.index_name === index.name),
+ }));
+
+ return response.ok({
+ body: {
+ indices,
+ meta: {
+ page: {
+ current: page,
+ size: indices.length,
+ total_pages: totalPages,
+ total_results: totalResults,
},
},
- headers: { 'content-type': 'application/json' },
- });
- } catch (error) {
- return response.customError({
- body: 'Error fetching index data from Elasticsearch',
- statusCode: 502,
- });
- }
- }
+ },
+ headers: { 'content-type': 'application/json' },
+ });
+ })
);
+
router.get(
{
path: '/internal/enterprise_search/indices/{indexName}',
@@ -107,9 +99,10 @@ export function registerIndexRoutes({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { indexName } = request.params;
const { client } = (await context.core).elasticsearch;
+
try {
const index = await fetchIndex(client, indexName);
return response.ok({
@@ -125,13 +118,12 @@ export function registerIndexRoutes({ router }: RouteDependencies) {
statusCode: 404,
});
}
- return response.customError({
- body: 'Error fetching data from Enterprise Search',
- statusCode: 502,
- });
+
+ throw error;
}
- }
+ })
);
+
router.get(
{
path: '/internal/enterprise_search/indices/{indexName}/exists',
@@ -141,25 +133,35 @@ export function registerIndexRoutes({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { indexName } = request.params;
const { client } = (await context.core).elasticsearch;
+ let indexExists: boolean;
+
try {
- const indexExists = await client.asCurrentUser.indices.exists({ index: indexName });
- return response.ok({
- body: {
- exists: indexExists,
- },
- headers: { 'content-type': 'application/json' },
- });
- } catch (error) {
- return response.customError({
- body: 'Error fetching data from Enterprise Search',
- statusCode: 502,
- });
+ indexExists = await client.asCurrentUser.indices.exists({ index: indexName });
+ } catch (e) {
+ log.warn(
+ i18n.translate('xpack.enterpriseSearch.server.routes.indices.existsErrorLogMessage', {
+ defaultMessage: 'An error occured while resolving request to {requestUrl}',
+ values: {
+ requestUrl: request.url.toString(),
+ },
+ })
+ );
+ log.warn(e);
+ indexExists = false;
}
- }
+
+ return response.ok({
+ body: {
+ exists: indexExists,
+ },
+ headers: { 'content-type': 'application/json' },
+ });
+ })
);
+
router.post(
{
path: '/internal/enterprise_search/indices/{indexName}/api_key',
@@ -169,23 +171,19 @@ export function registerIndexRoutes({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { indexName } = request.params;
const { client } = (await context.core).elasticsearch;
- try {
- const apiKey = await generateApiKey(client, indexName);
- return response.ok({
- body: apiKey,
- headers: { 'content-type': 'application/json' },
- });
- } catch (error) {
- return response.customError({
- body: 'Error fetching data from Enterprise Search',
- statusCode: 502,
- });
- }
- }
+
+ const apiKey = await generateApiKey(client, indexName);
+
+ return response.ok({
+ body: apiKey,
+ headers: { 'content-type': 'application/json' },
+ });
+ })
);
+
router.post(
{
path: '/internal/enterprise_search/indices',
@@ -196,67 +194,66 @@ export function registerIndexRoutes({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { ['index_name']: indexName, language } = request.body;
const { client } = (await context.core).elasticsearch;
- try {
- const indexExists = await client.asCurrentUser.indices.exists({
- index: request.body.index_name,
+
+ const indexExists = await client.asCurrentUser.indices.exists({
+ index: request.body.index_name,
+ });
+
+ if (indexExists) {
+ return createError({
+ errorCode: ErrorCode.INDEX_ALREADY_EXISTS,
+ message: i18n.translate(
+ 'xpack.enterpriseSearch.server.routes.createApiIndex.indexExistsError',
+ {
+ defaultMessage: 'This index already exists',
+ }
+ ),
+ response,
+ statusCode: 409,
});
- if (indexExists) {
- return createError({
- errorCode: ErrorCode.INDEX_ALREADY_EXISTS,
- message: i18n.translate(
- 'xpack.enterpriseSearch.server.routes.createApiIndex.indexExistsError',
- {
- defaultMessage: 'This index already exists',
- }
- ),
- response,
- statusCode: 409,
- });
- }
- const crawler = await fetchCrawlerByIndexName(client, request.body.index_name);
- if (crawler) {
- return createError({
- errorCode: ErrorCode.CRAWLER_ALREADY_EXISTS,
- message: i18n.translate(
- 'xpack.enterpriseSearch.server.routes.createApiIndex.crawlerExistsError',
- {
- defaultMessage: 'A crawler for this index already exists',
- }
- ),
- response,
- statusCode: 409,
- });
- }
+ }
- const connector = await fetchConnectorByIndexName(client, request.body.index_name);
+ const crawler = await fetchCrawlerByIndexName(client, request.body.index_name);
- if (connector) {
- return createError({
- errorCode: ErrorCode.CONNECTOR_DOCUMENT_ALREADY_EXISTS,
- message: i18n.translate(
- 'xpack.enterpriseSearch.server.routes.createApiIndex.connectorExistsError',
- {
- defaultMessage: 'A connector for this index already exists',
- }
- ),
- response,
- statusCode: 409,
- });
- }
- const createIndexResponse = await createApiIndex(client, indexName, language);
- return response.ok({
- body: createIndexResponse,
- headers: { 'content-type': 'application/json' },
+ if (crawler) {
+ return createError({
+ errorCode: ErrorCode.CRAWLER_ALREADY_EXISTS,
+ message: i18n.translate(
+ 'xpack.enterpriseSearch.server.routes.createApiIndex.crawlerExistsError',
+ {
+ defaultMessage: 'A crawler for this index already exists',
+ }
+ ),
+ response,
+ statusCode: 409,
});
- } catch (error) {
- return response.customError({
- body: 'Error fetching data from Enterprise Search',
- statusCode: 502,
+ }
+
+ const connector = await fetchConnectorByIndexName(client, request.body.index_name);
+
+ if (connector) {
+ return createError({
+ errorCode: ErrorCode.CONNECTOR_DOCUMENT_ALREADY_EXISTS,
+ message: i18n.translate(
+ 'xpack.enterpriseSearch.server.routes.createApiIndex.connectorExistsError',
+ {
+ defaultMessage: 'A connector for this index already exists',
+ }
+ ),
+ response,
+ statusCode: 409,
});
}
- }
+
+ const createIndexResponse = await createApiIndex(client, indexName, language);
+
+ return response.ok({
+ body: createIndexResponse,
+ headers: { 'content-type': 'application/json' },
+ });
+ })
);
}
diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/mapping.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/mapping.ts
index 506fcaf73bd1f..b963157694acf 100644
--- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/mapping.ts
+++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/mapping.ts
@@ -9,8 +9,9 @@ import { schema } from '@kbn/config-schema';
import { fetchMapping } from '../../lib/fetch_mapping';
import { RouteDependencies } from '../../plugin';
+import { elasticsearchErrorHandler } from '../../utils/elasticsearch_error_handler';
-export function registerMappingRoute({ router }: RouteDependencies) {
+export function registerMappingRoute({ router, log }: RouteDependencies) {
router.get(
{
path: '/internal/enterprise_search/mappings/{index_name}',
@@ -20,20 +21,15 @@ export function registerMappingRoute({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { client } = (await context.core).elasticsearch;
- try {
- const mapping = await fetchMapping(client, request.params.index_name);
- return response.ok({
- body: mapping,
- headers: { 'content-type': 'application/json' },
- });
- } catch (error) {
- return response.customError({
- body: 'Error fetching data from Enterprise Search',
- statusCode: 502,
- });
- }
- }
+
+ const mapping = await fetchMapping(client, request.params.index_name);
+
+ return response.ok({
+ body: mapping,
+ headers: { 'content-type': 'application/json' },
+ });
+ })
);
}
diff --git a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search.ts b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search.ts
index 68391bf8b4f4b..ee57f4a59c568 100644
--- a/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search.ts
+++ b/x-pack/plugins/enterprise_search/server/routes/enterprise_search/search.ts
@@ -13,6 +13,7 @@ import { ENTERPRISE_SEARCH_DOCUMENTS_DEFAULT_DOC_COUNT } from '../../../common/c
import { fetchSearchResults } from '../../lib/fetch_search_results';
import { RouteDependencies } from '../../plugin';
+import { elasticsearchErrorHandler } from '../../utils/elasticsearch_error_handler';
const calculateMeta = (searchResults: SearchResponseBody, page: number, size: number) => {
let totalResults = 0;
@@ -35,7 +36,7 @@ const calculateMeta = (searchResults: SearchResponseBody, page: number, size: nu
};
};
-export function registerSearchRoute({ router }: RouteDependencies) {
+export function registerSearchRoute({ router, log }: RouteDependencies) {
router.get(
{
path: '/internal/enterprise_search/indices/{index_name}/search',
@@ -52,34 +53,29 @@ export function registerSearchRoute({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { client } = (await context.core).elasticsearch;
const { page = 0, size = ENTERPRISE_SEARCH_DOCUMENTS_DEFAULT_DOC_COUNT } = request.query;
const from = page * size;
- try {
- const searchResults: SearchResponseBody = await fetchSearchResults(
- client,
- request.params.index_name,
- '',
- from,
- size
- );
- return response.ok({
- body: {
- meta: calculateMeta(searchResults, page, size),
- results: searchResults,
- },
- headers: { 'content-type': 'application/json' },
- });
- } catch (error) {
- return response.customError({
- body: 'Error fetching data from Enterprise Search',
- statusCode: 502,
- });
- }
- }
+ const searchResults: SearchResponseBody = await fetchSearchResults(
+ client,
+ request.params.index_name,
+ '',
+ from,
+ size
+ );
+
+ return response.ok({
+ body: {
+ meta: calculateMeta(searchResults, page, size),
+ results: searchResults,
+ },
+ headers: { 'content-type': 'application/json' },
+ });
+ })
);
+
router.get(
{
path: '/internal/enterprise_search/indices/{index_name}/search/{query}',
@@ -97,32 +93,26 @@ export function registerSearchRoute({ router }: RouteDependencies) {
}),
},
},
- async (context, request, response) => {
+ elasticsearchErrorHandler(log, async (context, request, response) => {
const { client } = (await context.core).elasticsearch;
const { page = 0, size = ENTERPRISE_SEARCH_DOCUMENTS_DEFAULT_DOC_COUNT } = request.query;
const from = page * size;
- try {
- const searchResults = await fetchSearchResults(
- client,
- request.params.index_name,
- request.params.query,
- from,
- size
- );
- return response.ok({
- body: {
- meta: calculateMeta(searchResults, page, size),
- results: searchResults,
- },
- headers: { 'content-type': 'application/json' },
- });
- } catch (error) {
- return response.customError({
- body: 'Error fetching data from Enterprise Search',
- statusCode: 502,
- });
- }
- }
+ const searchResults = await fetchSearchResults(
+ client,
+ request.params.index_name,
+ request.params.query,
+ from,
+ size
+ );
+
+ return response.ok({
+ body: {
+ meta: calculateMeta(searchResults, page, size),
+ results: searchResults,
+ },
+ headers: { 'content-type': 'application/json' },
+ });
+ })
);
}
diff --git a/x-pack/plugins/enterprise_search/server/utils/create_error.ts b/x-pack/plugins/enterprise_search/server/utils/create_error.ts
index 388c540148f6c..ca9fac814f4c9 100644
--- a/x-pack/plugins/enterprise_search/server/utils/create_error.ts
+++ b/x-pack/plugins/enterprise_search/server/utils/create_error.ts
@@ -9,16 +9,19 @@ import { KibanaResponseFactory } from '@kbn/core-http-server';
import { ErrorCode } from '../../common/types/error_codes';
+export interface EnterpriseSearchError {
+ errorCode: ErrorCode;
+ message: string;
+ statusCode: number;
+}
+
export function createError({
errorCode,
message,
response,
statusCode,
-}: {
- errorCode: ErrorCode;
- message: string;
+}: EnterpriseSearchError & {
response: KibanaResponseFactory;
- statusCode: number;
}) {
return response.customError({
body: {
diff --git a/x-pack/plugins/enterprise_search/server/utils/elasticsearch_error_handler.ts b/x-pack/plugins/enterprise_search/server/utils/elasticsearch_error_handler.ts
new file mode 100644
index 0000000000000..3f938149e5a16
--- /dev/null
+++ b/x-pack/plugins/enterprise_search/server/utils/elasticsearch_error_handler.ts
@@ -0,0 +1,73 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor 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 { RequestHandler } from '@kbn/core/server';
+import { Logger } from '@kbn/core/server';
+
+import { i18n } from '@kbn/i18n';
+
+import { ErrorCode } from '../../common/types/error_codes';
+
+import { createError, EnterpriseSearchError } from './create_error';
+import { isUnauthorizedException } from './identify_exceptions';
+
+export function elasticsearchErrorHandler(
+ log: Logger,
+ requestHandler: RequestHandler
+): RequestHandler {
+ return async (context, request, response) => {
+ try {
+ return await requestHandler(context, request, response);
+ } catch (error) {
+ let enterpriseSearchError: EnterpriseSearchError | undefined;
+
+ if (isUnauthorizedException(error)) {
+ enterpriseSearchError = {
+ errorCode: ErrorCode.UNAUTHORIZED,
+ message: i18n.translate('xpack.enterpriseSearch.server.routes.unauthorizedError', {
+ defaultMessage: 'You do not have sufficient permissions.',
+ }),
+ statusCode: 403,
+ };
+ } else {
+ enterpriseSearchError = {
+ errorCode: ErrorCode.UNCAUGHT_EXCEPTION,
+ message: i18n.translate('xpack.enterpriseSearch.server.routes.uncaughtExceptionError', {
+ defaultMessage: 'Enterprise Search encountered an error.',
+ }),
+ statusCode: 502,
+ };
+ }
+
+ if (enterpriseSearchError !== undefined) {
+ log.error(
+ i18n.translate('xpack.enterpriseSearch.server.routes.errorLogMessage', {
+ defaultMessage:
+ 'An error occured while resolving request to {requestUrl}: {errorMessage}',
+ values: {
+ errorMessage: enterpriseSearchError.message,
+ requestUrl: request.url.toString(),
+ },
+ })
+ );
+ log.error(error);
+ return createError({
+ ...enterpriseSearchError,
+ message: i18n.translate('xpack.enterpriseSearch.server.routes.checkKibanaLogsMessage', {
+ defaultMessage: '{errorMessage} Check Kibana Server logs for details.',
+ values: {
+ errorMessage: enterpriseSearchError.message,
+ },
+ }),
+ response,
+ });
+ }
+
+ throw error;
+ }
+ };
+}
diff --git a/x-pack/plugins/enterprise_search/server/utils/identify_exceptions.ts b/x-pack/plugins/enterprise_search/server/utils/identify_exceptions.ts
index ce0349b95c207..7bc13135343dc 100644
--- a/x-pack/plugins/enterprise_search/server/utils/identify_exceptions.ts
+++ b/x-pack/plugins/enterprise_search/server/utils/identify_exceptions.ts
@@ -5,20 +5,23 @@
* 2.0.
*/
-interface ErrorResponse {
+interface ElasticsearchResponseError {
meta?: {
body?: {
error?: {
type: string;
};
};
+ statusCode?: number;
};
name: 'ResponseError';
- statusCode: string;
}
-export const isIndexNotFoundException = (error: ErrorResponse) =>
+export const isIndexNotFoundException = (error: ElasticsearchResponseError) =>
error?.meta?.body?.error?.type === 'index_not_found_exception';
-export const isResourceAlreadyExistsException = (error: ErrorResponse) =>
+export const isResourceAlreadyExistsException = (error: ElasticsearchResponseError) =>
error?.meta?.body?.error?.type === 'resource_already_exists_exception';
+
+export const isUnauthorizedException = (error: ElasticsearchResponseError) =>
+ error.meta?.statusCode === 403;
From e2401c97e406ca669ba12d326bb340f8ca8a5db1 Mon Sep 17 00:00:00 2001
From: Jonathan Budzenski
Date: Wed, 10 Aug 2022 10:02:17 -0400
Subject: [PATCH 08/49] [ci] Fix build argument labels (#138322)
* [ci] Fix build arguments
* without quotes
---
.buildkite/scripts/build_kibana.sh | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/.buildkite/scripts/build_kibana.sh b/.buildkite/scripts/build_kibana.sh
index 54e5273eb4c68..90f9da8ac8de4 100755
--- a/.buildkite/scripts/build_kibana.sh
+++ b/.buildkite/scripts/build_kibana.sh
@@ -9,17 +9,12 @@ export KBN_NP_PLUGINS_BUILT=true
echo "--- Build Kibana Distribution"
BUILD_ARGS=""
-if is_pr_with_label "ci:build-all-platforms"; then
- BUILD_ARGS="--all-platforms --skip-os-packages"
-fi
-if is_pr_with_label "ci:build-os-packages"; then
- BUILD_ARGS="--all-platforms --docker-cross-compile"
-fi
-if ! is_pr_with_label "ci:build-canvas-shareable-runtime"; then
- BUILD_ARGS="$BUILD_ARGS --skip-canvas-shareable-runtime"
-fi
-
-node scripts/build "$BUILD_ARGS"
+is_pr_with_label "ci:build-all-platforms" && BUILD_ARGS="--all-platforms"
+is_pr_with_label "ci:build-docker-cross-compile" && BUILD_ARG="$BUILD_ARGS --docker-cross-compile"
+is_pr_with_label "ci:build-os-packages" || BUILD_ARGS="$BUILD_ARGS --skip-os-packages"
+is_pr_with_label "ci:build-canvas-shareable-runtime" || BUILD_ARGS="$BUILD_ARGS --skip-canvas-shareable-runtime"
+is_pr_with_label "ci:build-docker-contexts" || BUILD_ARGS="$BUILD_ARGS --skip-docker-contexts"
+node scripts/build $BUILD_ARGS
if is_pr_with_label "ci:build-cloud-image"; then
echo "$KIBANA_DOCKER_PASSWORD" | docker login -u "$KIBANA_DOCKER_USERNAME" --password-stdin docker.elastic.co
From 05da4a3965dbbfa88f837f54dc61b9caf337e592 Mon Sep 17 00:00:00 2001
From: doakalexi <109488926+doakalexi@users.noreply.github.com>
Date: Wed, 10 Aug 2022 10:06:39 -0400
Subject: [PATCH 09/49] [ResponseOps][Alerting] Index threshold alert can't use
unsigned long data type (#138452)
* Adding unsigned_long
* Reverting comment change
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
---
.../server/data/routes/fields.ts | 1 +
.../common/lib/es_test_index_tool.ts | 3 ++
.../index_threshold/alert.ts | 39 +++++++++++++++++++
.../index_threshold/create_test_data.ts | 1 +
4 files changed, 44 insertions(+)
diff --git a/x-pack/plugins/triggers_actions_ui/server/data/routes/fields.ts b/x-pack/plugins/triggers_actions_ui/server/data/routes/fields.ts
index e2e9b5967305d..e2c4302afe352 100644
--- a/x-pack/plugins/triggers_actions_ui/server/data/routes/fields.ts
+++ b/x-pack/plugins/triggers_actions_ui/server/data/routes/fields.ts
@@ -138,4 +138,5 @@ const normalizedFieldTypes: Record = {
float: 'number',
half_float: 'number',
scaled_float: 'number',
+ unsigned_long: 'number',
};
diff --git a/x-pack/test/alerting_api_integration/common/lib/es_test_index_tool.ts b/x-pack/test/alerting_api_integration/common/lib/es_test_index_tool.ts
index 524709e6c02a7..f66ad0bcd46e1 100644
--- a/x-pack/test/alerting_api_integration/common/lib/es_test_index_tool.ts
+++ b/x-pack/test/alerting_api_integration/common/lib/es_test_index_tool.ts
@@ -50,6 +50,9 @@ export class ESTestIndexTool {
testedValue: {
type: 'long',
},
+ testedValueUnsigned: {
+ type: 'unsigned_long',
+ },
group: {
type: 'keyword',
},
diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/alert.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/alert.ts
index d24db787c5fdd..afa9032ea3419 100644
--- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/alert.ts
+++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/alert.ts
@@ -265,6 +265,45 @@ export default function ruleTests({ getService }: FtrProviderContext) {
expect(inGroup2).to.be.greaterThan(0);
});
+ it('runs correctly: max grouped on unsigned long', async () => {
+ await createRule({
+ name: 'never fire',
+ aggType: 'max',
+ aggField: 'testedValueUnsigned',
+ groupBy: 'top',
+ termField: 'group',
+ termSize: 2,
+ thresholdComparator: '<',
+ threshold: [Number.MAX_SAFE_INTEGER],
+ });
+
+ await createRule({
+ name: 'always fire',
+ aggType: 'max',
+ aggField: 'testedValueUnsigned',
+ groupBy: 'top',
+ termField: 'group',
+ termSize: 2, // two actions will fire each interval
+ thresholdComparator: '>=',
+ threshold: [Number.MAX_SAFE_INTEGER],
+ });
+
+ // create some more documents in the first group
+ await createEsDocumentsInGroups(1);
+
+ const docs = await waitForDocs(4);
+
+ for (const doc of docs) {
+ const { name, message } = doc._source.params;
+
+ expect(name).to.be('always fire');
+
+ const messagePattern =
+ /alert 'always fire' is active for group \'group-\d\':\n\n- Value: \d+\n- Conditions Met: max\(testedValueUnsigned\) is greater than or equal to \d+ over 15s\n- Timestamp: \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/;
+ expect(message).to.match(messagePattern);
+ }
+ });
+
it('runs correctly: min grouped', async () => {
await createRule({
name: 'never fire',
diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/create_test_data.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/create_test_data.ts
index 80438a856e8ac..32f1322d12d4d 100644
--- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/create_test_data.ts
+++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/create_test_data.ts
@@ -65,6 +65,7 @@ async function createEsDocument(
date: new Date(epochMillis).toISOString(),
date_epoch_millis: epochMillis,
testedValue,
+ testedValueUnsigned: '18446744073709551615',
group,
'@timestamp': new Date(epochMillis).toISOString(),
};
From 9452be575e807fe0f97fe3ed7141e8795450c8db Mon Sep 17 00:00:00 2001
From: Sander Philipse <94373878+sphilipse@users.noreply.github.com>
Date: Wed, 10 Aug 2022 16:19:43 +0200
Subject: [PATCH 10/49] [Enterprise Search] Fix React rendering issues
(#138496)
---
.../components/api_key/api_key.tsx | 35 +-
.../method_connector/method_connector.tsx | 86 +++--
.../document_list/document_list.tsx | 127 ++++---
.../generate_api_key_modal/modal.test.tsx | 8 +-
.../generate_api_key_modal/modal.tsx | 27 +-
.../connector/api_key_configuration.tsx | 87 ++---
.../connector/connector_configuration.tsx | 333 +++++++++---------
.../connector_configuration_config.tsx | 48 +--
.../connector/connector_overview_panels.tsx | 26 +-
.../search_indices/search_indices.tsx | 94 ++---
10 files changed, 434 insertions(+), 437 deletions(-)
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/api_key/api_key.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/api_key/api_key.tsx
index 1fc67699c9a6d..f24fc6234d0c8 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/api_key/api_key.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/api_key/api_key.tsx
@@ -7,36 +7,23 @@
import React from 'react';
-import { EuiCodeBlock, EuiFormLabel, EuiSpacer, EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
+import { EuiCodeBlock, EuiFormLabel, EuiSpacer } from '@elastic/eui';
interface ApiKeyProps {
- actions?: React.ReactNode;
apiKey: string;
label?: string;
}
-export const ApiKey: React.FC = ({ apiKey, label, actions }) => {
- const codeBlock = (
+export const ApiKey: React.FC = ({ apiKey, label }) => (
+ <>
+ {label && (
+ <>
+ {label}
+
+ >
+ )}
{apiKey}
- );
- return (
- <>
- {label && (
- <>
- {label}
-
- >
- )}
- {actions ? (
-
- {codeBlock}
- {actions}
-
- ) : (
- codeBlock
- )}
- >
- );
-};
+ >
+);
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_connector/method_connector.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_connector/method_connector.tsx
index a3d3456e21f40..59d43d8635e1b 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_connector/method_connector.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_connector/method_connector.tsx
@@ -69,49 +69,6 @@ export const MethodConnector: React.FC = () => {
const { setIsModalVisible } = useActions(AddConnectorPackageLogic);
const { fullIndexName, language } = useValues(NewSearchIndexLogic);
- const confirmModal = isModalVisible && (
- {
- event?.preventDefault();
- setIsModalVisible(false);
- }}
- onConfirm={(event) => {
- event.preventDefault();
- makeRequest({ deleteExistingConnector: true, indexName: fullIndexName, language });
- }}
- cancelButtonText={i18n.translate(
- 'xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.cancelButton.label',
- {
- defaultMessage: 'Cancel',
- }
- )}
- confirmButtonText={i18n.translate(
- 'xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.confirmButton.label',
- {
- defaultMessage: 'Replace configuration',
- }
- )}
- defaultFocusedButton="confirm"
- >
- {i18n.translate(
- 'xpack.enterpriseSearch.content..newIndex.steps.buildConnector.confirmModal.description',
- {
- defaultMessage:
- 'A deleted index named {indexName} was originally tied to an existing connector configuration. Would you like to replace the existing connector configuration with a new one?',
- values: {
- indexName: fullIndexName,
- },
- }
- )}
-
- );
-
return (
{
BUILD_SEARCH_EXPERIENCE_STEP,
]}
/>
- {confirmModal}
+ {isModalVisible && (
+ {
+ event?.preventDefault();
+ setIsModalVisible(false);
+ }}
+ onConfirm={(event) => {
+ event.preventDefault();
+ makeRequest({ deleteExistingConnector: true, indexName: fullIndexName, language });
+ }}
+ cancelButtonText={i18n.translate(
+ 'xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.cancelButton.label',
+ {
+ defaultMessage: 'Cancel',
+ }
+ )}
+ confirmButtonText={i18n.translate(
+ 'xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.confirmButton.label',
+ {
+ defaultMessage: 'Replace configuration',
+ }
+ )}
+ defaultFocusedButton="confirm"
+ >
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content..newIndex.steps.buildConnector.confirmModal.description',
+ {
+ defaultMessage:
+ 'A deleted index named {indexName} was originally tied to an existing connector configuration. Would you like to replace the existing connector configuration with a new one?',
+ values: {
+ indexName: fullIndexName,
+ },
+ }
+ )}
+
+ )}
);
};
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/document_list/document_list.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/document_list/document_list.tsx
index 779c636968435..43ed12f040d0c 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/document_list/document_list.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/document_list/document_list.tsx
@@ -57,72 +57,10 @@ export const DocumentList: React.FC = () => {
return [];
};
- const docsPerPageButton = (
- {
- setIsPopoverOpen(true);
- }}
- >
- {i18n.translate(
- 'xpack.enterpriseSearch.content.searchIndex.documents.documentList.pagination.itemsPerPage',
- {
- defaultMessage: 'Documents per page: {docPerPage}',
- values: { docPerPage: docsPerPage },
- }
- )}
-
- );
-
const getIconType = (size: number) => {
return size === docsPerPage ? 'check' : 'empty';
};
- const docsPerPageOptions = [
- {
- setIsPopoverOpen(false);
- setDocsPerPage(10);
- }}
- >
- {i18n.translate(
- 'xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationOptions.option',
- { defaultMessage: '{docCount} documents', values: { docCount: 10 } }
- )}
- ,
-
- {
- setIsPopoverOpen(false);
- setDocsPerPage(25);
- }}
- >
- {i18n.translate(
- 'xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationOptions.option',
- { defaultMessage: '{docCount} documents', values: { docCount: 25 } }
- )}
- ,
- {
- setIsPopoverOpen(false);
- setDocsPerPage(50);
- }}
- >
- {i18n.translate(
- 'xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationOptions.option',
- { defaultMessage: '{docCount} documents', values: { docCount: 50 } }
- )}
- ,
- ];
-
return (
<>
{
'xpack.enterpriseSearch.content.searchIndex.documents.documentList.docsPerPage',
{ defaultMessage: 'Document count per page dropdown' }
)}
- button={docsPerPageButton}
+ button={
+ {
+ setIsPopoverOpen(true);
+ }}
+ >
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.searchIndex.documents.documentList.pagination.itemsPerPage',
+ {
+ defaultMessage: 'Documents per page: {docPerPage}',
+ values: { docPerPage: docsPerPage },
+ }
+ )}
+
+ }
isOpen={isPopoverOpen}
closePopover={() => {
setIsPopoverOpen(false);
@@ -183,7 +138,51 @@ export const DocumentList: React.FC = () => {
panelPaddingSize="none"
anchorPosition="downLeft"
>
-
+ {
+ setIsPopoverOpen(false);
+ setDocsPerPage(10);
+ }}
+ >
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationOptions.option',
+ { defaultMessage: '{docCount} documents', values: { docCount: 10 } }
+ )}
+ ,
+
+ {
+ setIsPopoverOpen(false);
+ setDocsPerPage(25);
+ }}
+ >
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationOptions.option',
+ { defaultMessage: '{docCount} documents', values: { docCount: 25 } }
+ )}
+ ,
+ {
+ setIsPopoverOpen(false);
+ setDocsPerPage(50);
+ }}
+ >
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationOptions.option',
+ { defaultMessage: '{docCount} documents', values: { docCount: 50 } }
+ )}
+ ,
+ ]}
+ />
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/generate_api_key_modal/modal.test.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/generate_api_key_modal/modal.test.tsx
index 325d52ab2d2fd..b579df9da5c8b 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/generate_api_key_modal/modal.test.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/generate_api_key_modal/modal.test.tsx
@@ -11,14 +11,12 @@ import React from 'react';
import { shallow } from 'enzyme';
-import { EuiModal, EuiFieldText } from '@elastic/eui';
+import { EuiModal, EuiFieldText, EuiCodeBlock } from '@elastic/eui';
const mockActions = { makeRequest: jest.fn(), setKeyName: jest.fn() };
const mockValues = { apiKey: '', isLoading: false, isSuccess: false, keyName: '' };
-import { ApiKey } from '../../../api_key/api_key';
-
import { GenerateApiKeyModal } from './modal';
const onCloseMock = jest.fn();
@@ -84,8 +82,8 @@ describe('GenerateApiKeyModal', () => {
);
expect(wrapper.find(EuiFieldText)).toHaveLength(0);
expect(wrapper.find('[data-test-subj="generateApiKeyButton"]')).toHaveLength(0);
- expect(wrapper.find(ApiKey)).toHaveLength(1);
- expect(wrapper.find(ApiKey).prop('apiKey')).toEqual('apiKeyFromBackend123123==');
+ expect(wrapper.find(EuiCodeBlock)).toHaveLength(1);
+ expect(wrapper.find(EuiCodeBlock).children().text()).toEqual('apiKeyFromBackend123123==');
});
});
});
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/generate_api_key_modal/modal.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/generate_api_key_modal/modal.tsx
index fcb95fd4ade32..2690deea0c6de 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/generate_api_key_modal/modal.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/generate_api_key_modal/modal.tsx
@@ -26,14 +26,14 @@ import {
EuiText,
EuiSpacer,
EuiLink,
+ EuiFormLabel,
+ EuiCodeBlock,
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { docLinks } from '../../../../../shared/doc_links';
-import { ApiKey } from '../../../api_key/api_key';
-
import { GenerateApiKeyModalLogic } from './generate_api_key_modal.logic';
interface GenerateApiKeyModalProps {
@@ -114,10 +114,21 @@ export const GenerateApiKeyModal: React.FC = ({ indexN
>
) : (
- {keyName}
+
+
+
+
+ {apiKey}
+
+
+
= ({ indexN
href={encodeURI(`data:text/csv;charset=utf-8,${apiKey}`)}
download={`${keyName}.csv`}
/>
- }
- />
+
+
)}
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/api_key_configuration.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/api_key_configuration.tsx
index c435bac2a5811..19974d4b281b3 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/api_key_configuration.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/api_key_configuration.tsx
@@ -23,6 +23,43 @@ import { Status } from '../../../../../../common/types/api';
import { GenerateConnectorApiKeyApiLogic } from '../../../api/connector_package/generate_connector_api_key_api_logic';
import { ApiKey } from '../../api_key/api_key';
+const ConfirmModal: React.FC<{
+ onCancel: () => void;
+ onConfirm: () => void;
+}> = ({ onCancel, onConfirm }) => (
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.apiKey.confirmModal.description',
+ {
+ defaultMessage:
+ 'Generating a new API key will invalidate the previous key. Are you sure you want to generate a new API key? This can not be undone.',
+ }
+ )}
+
+);
+
export const ApiKeyConfig: React.FC<{ hasApiKey: boolean; indexName: string }> = ({
hasApiKey,
indexName,
@@ -44,50 +81,18 @@ export const ApiKeyConfig: React.FC<{ hasApiKey: boolean; indexName: string }> =
const [isModalVisible, setIsModalVisible] = useState(false);
- const confirmModal = (
- {
- event?.preventDefault();
- setIsModalVisible(false);
- }}
- onConfirm={(event) => {
- event.preventDefault();
- makeRequest({ indexName });
- setIsModalVisible(false);
- }}
- cancelButtonText={i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.apiKey.confirmModal.cancelButton.label',
- {
- defaultMessage: 'Cancel',
- }
- )}
- confirmButtonText={i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.apiKey.confirmModal.confirmButton.label',
- {
- defaultMessage: 'Generate API key',
- }
- )}
- defaultFocusedButton="confirm"
- >
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.apiKey.confirmModal.description',
- {
- defaultMessage:
- 'Generating a new API key will invalidate the previous key. Are you sure you want to generate a new API key? This can not be undone.',
- }
- )}
-
- );
+ const onCancel = () => {
+ setIsModalVisible(false);
+ };
+
+ const onConfirm = () => {
+ makeRequest({ indexName });
+ setIsModalVisible(false);
+ };
return (
- {isModalVisible && confirmModal}
+ {isModalVisible && }
{i18n.translate(
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx
index 596b1837323da..acd8c856c3893 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx
@@ -55,172 +55,6 @@ export const ConnectorConfiguration: React.FC = () => {
const hasApiKey = !!(indexData.connector.api_key_id ?? apiKeyData);
- const ScheduleStep: React.FC = () => (
-
-
-
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.scheduleSync.description',
- {
- defaultMessage:
- 'Once your connectors are configured to your liking, don’t forget to set a recurring sync schedule to make sure your documents are indexed and relevant. You can also trigger a one-time sync without enabling a sync schedule.',
- }
- )}
-
-
-
-
-
-
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.steps.schedule.button.label',
- {
- defaultMessage: 'Set schedule and sync',
- }
- )}
-
-
-
-
-
- );
-
- const ConnectorPackage: React.FC = () => (
- <>
-
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.firstParagraph',
- {
- defaultMessage:
- 'The connectors repository contains several connector client examples to help you utilize our framework for accelerated development against custom data sources.',
- }
- )}
-
-
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.button.label',
- {
- defaultMessage: 'Explore the connectors repository',
- }
- )}
-
-
-
-
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.clientExamplesLink',
- { defaultMessage: 'connector client examples' }
- )}
-
- ),
- }}
- />
-
-
-
-
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.configurationFileLink',
- { defaultMessage: 'configuration file' }
- )}
-
- ),
- }}
- />
-
-
-
- {`${
- apiKeyData?.encoded
- ? `elasticsearch:
- api_key: "${apiKeyData?.encoded}"
-`
- : ''
- }connector_id: "${indexData.connector.id}"
-`}
-
-
-
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.connectorDeployedText',
- {
- defaultMessage:
- 'Once you’ve configured the connector, deploy the connector to your self managed infrastructure.',
- }
- )}
-
-
- {!indexData.connector.status || indexData.connector.status === ConnectorStatus.CREATED ? (
-
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.waitingForConnectorText',
- {
- defaultMessage:
- 'Your connector has not connected to Enterprise Search. Troubleshoot your configuration and refresh the page.',
- }
- )}
-
- recheckIndex()}
- isLoading={recheckIndexLoading}
- >
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.waitingForConnector.button.label',
- {
- defaultMessage: 'Recheck now',
- }
- )}
-
-
- ) : (
-
- )}
- >
- );
-
return (
<>
@@ -246,7 +80,137 @@ export const ConnectorConfiguration: React.FC = () => {
titleSize: 'xs',
},
{
- children: ,
+ children: (
+ <>
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.firstParagraph',
+ {
+ defaultMessage:
+ 'The connectors repository contains several connector client examples to help you utilize our framework for accelerated development against custom data sources.',
+ }
+ )}
+
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.button.label',
+ {
+ defaultMessage: 'Explore the connectors repository',
+ }
+ )}
+
+
+
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.clientExamplesLink',
+ { defaultMessage: 'connector client examples' }
+ )}
+
+ ),
+ }}
+ />
+
+
+
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.configurationFileLink',
+ { defaultMessage: 'configuration file' }
+ )}
+
+ ),
+ }}
+ />
+
+
+
+ {`${
+ apiKeyData?.encoded
+ ? `elasticsearch:
+ api_key: "${apiKeyData?.encoded}"
+ `
+ : ''
+ }connector_id: "${indexData.connector.id}"
+ `}
+
+
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.connectorDeployedText',
+ {
+ defaultMessage:
+ 'Once you’ve configured the connector, deploy the connector to your self managed infrastructure.',
+ }
+ )}
+
+
+ {!indexData.connector.status ||
+ indexData.connector.status === ConnectorStatus.CREATED ? (
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.waitingForConnectorText',
+ {
+ defaultMessage:
+ 'Your connector has not connected to Enterprise Search. Troubleshoot your configuration and refresh the page.',
+ }
+ )}
+
+ recheckIndex()}
+ isLoading={recheckIndexLoading}
+ >
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.waitingForConnector.button.label',
+ {
+ defaultMessage: 'Recheck now',
+ }
+ )}
+
+
+ ) : (
+
+ )}
+ >
+ ),
status:
!indexData.connector.status ||
indexData.connector.status === ConnectorStatus.CREATED
@@ -275,7 +239,40 @@ export const ConnectorConfiguration: React.FC = () => {
titleSize: 'xs',
},
{
- children: ,
+ children: (
+
+
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.scheduleSync.description',
+ {
+ defaultMessage:
+ 'Once your connectors are configured to your liking, don’t forget to set a recurring sync schedule to make sure your documents are indexed and relevant. You can also trigger a one-time sync without enabling a sync schedule.',
+ }
+ )}
+
+
+
+
+
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.steps.schedule.button.label',
+ {
+ defaultMessage: 'Set schedule and sync',
+ }
+ )}
+
+
+
+
+
+ ),
status: indexData.connector.scheduling.enabled ? 'complete' : 'incomplete',
title: i18n.translate(
'xpack.enterpriseSearch.content.indices.configurationConnector.steps.schedule.title',
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration_config.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration_config.tsx
index 472fb9570209e..5588a9c16fd5d 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration_config.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration_config.tsx
@@ -35,28 +35,6 @@ export const ConnectorConfigurationConfig: React.FC = () => {
title: label,
}));
- const display = (
-
-
-
-
-
-
-
- setIsEditing(!isEditing)}>
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.configurationConnector.config.editButton.title',
- {
- defaultMessage: 'Edit configuration',
- }
- )}
-
-
-
-
-
- );
-
return (
@@ -130,7 +108,31 @@ export const ConnectorConfigurationConfig: React.FC = () => {
- {isEditing ? : displayList.length > 0 && display}
+ {isEditing ? (
+
+ ) : (
+ displayList.length > 0 && (
+
+
+
+
+
+
+
+ setIsEditing(!isEditing)}>
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.configurationConnector.config.editButton.title',
+ {
+ defaultMessage: 'Edit configuration',
+ }
+ )}
+
+
+
+
+
+ )
+ )}
);
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_overview_panels.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_overview_panels.tsx
index d972d7a1f3efa..b1fa1aaa378af 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_overview_panels.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_overview_panels.tsx
@@ -28,20 +28,20 @@ import {
import { IndexViewLogic } from '../index_view_logic';
import { SearchIndexTabId } from '../search_index';
+const StatusPanel: React.FC<{ ingestionStatus: IngestionStatus }> = ({ ingestionStatus }) => (
+
+
+
+);
+
export const ConnectorOverviewPanels: React.FC = () => {
const { ingestionStatus, index } = useValues(IndexViewLogic);
- const statusPanel = (
-
-
-
- );
-
return isConnectorIndex(index) ? (
@@ -83,10 +83,10 @@ export const ConnectorOverviewPanels: React.FC = () => {
tabId: SearchIndexTabId.CONFIGURATION,
})}
>
- {statusPanel}
+
) : (
- statusPanel
+
)}
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx
index 0977b64abb3f0..e6b74bb89773e 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx
@@ -60,50 +60,6 @@ export const SearchIndices: React.FC = () => {
fetchIndices({ meta, returnHiddenIndices: showHiddenIndices, searchQuery });
}, [searchQuery, meta.page.current, showHiddenIndices]);
- const createNewIndexButton = (
-
-
- {i18n.translate('xpack.enterpriseSearch.content.searchIndices.create.buttonTitle', {
- defaultMessage: 'Create new index',
- })}
-
-
- );
-
- const engineSteps = (
- <>
-
-
- {i18n.translate('xpack.enterpriseSearch.content.searchIndices.searchIndices.stepsTitle', {
- defaultMessage: 'Build beautiful search experiences with Enterprise Search',
- })}
-
-
-
-
-
-
-
-
-
-
-
- >
- );
-
- const hiddenIndicesSwitch = (
- setShowHiddenIndices(event.target.checked)}
- />
- );
-
const pageTitle = isLoading
? ''
: indices.length !== 0
@@ -122,7 +78,20 @@ export const SearchIndices: React.FC = () => {
isLoading={isLoading}
pageHeader={{
pageTitle,
- rightSideItems: isLoading ? [] : [createNewIndexButton],
+ rightSideItems: isLoading
+ ? []
+ : [
+
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.searchIndices.create.buttonTitle',
+ {
+ defaultMessage: 'Create new index',
+ }
+ )}
+
+ ,
+ ],
}}
>
{!hasNoIndices ? (
@@ -179,7 +148,18 @@ export const SearchIndices: React.FC = () => {
- {hiddenIndicesSwitch}
+
+ setShowHiddenIndices(event.target.checked)}
+ />
+
{
<>
- {engineSteps}
+ <>
+
+
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.searchIndices.searchIndices.stepsTitle',
+ {
+ defaultMessage: 'Build beautiful search experiences with Enterprise Search',
+ }
+ )}
+
+
+
+
+
+
+
+
+
+
+
+ >
>
)}
From 3ef3614197e38db840da064055241d76c310f021 Mon Sep 17 00:00:00 2001
From: doakalexi <109488926+doakalexi@users.noreply.github.com>
Date: Wed, 10 Aug 2022 10:21:20 -0400
Subject: [PATCH 11/49] [ResponseOps][Actions] Getting error about secrets not
being saved when import a SO (Connector Saved Object) (#138019)
* Adding transform function to add secrets if needed
* Adding functional tests and updating transform
* Removing duplicate validation
* Adding secrets to everything
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
---
.../transform_connectors_for_export.test.ts | 9 +-
.../transform_connectors_for_export.ts | 3 +-
.../actions/builtin_action_types/email.ts | 85 ++++++++++++++++---
3 files changed, 81 insertions(+), 16 deletions(-)
diff --git a/x-pack/plugins/actions/server/saved_objects/transform_connectors_for_export.test.ts b/x-pack/plugins/actions/server/saved_objects/transform_connectors_for_export.test.ts
index 50ddd0a429649..3524d4ae37867 100644
--- a/x-pack/plugins/actions/server/saved_objects/transform_connectors_for_export.test.ts
+++ b/x-pack/plugins/actions/server/saved_objects/transform_connectors_for_export.test.ts
@@ -240,7 +240,13 @@ describe('transform connector for export', () => {
it('should not change connectors without secrets', () => {
expect(transformConnectorsForExport(connectorsWithNoSecrets, actionTypeRegistry)).toEqual(
- connectorsWithNoSecrets
+ connectorsWithNoSecrets.map((connector) => ({
+ ...connector,
+ attributes: {
+ ...connector.attributes,
+ secrets: {},
+ },
+ }))
);
});
@@ -250,6 +256,7 @@ describe('transform connector for export', () => {
...connector,
attributes: {
...connector.attributes,
+ secrets: {},
isMissingSecrets: true,
},
}))
diff --git a/x-pack/plugins/actions/server/saved_objects/transform_connectors_for_export.ts b/x-pack/plugins/actions/server/saved_objects/transform_connectors_for_export.ts
index 250346f33d4af..9c690885bfe3c 100644
--- a/x-pack/plugins/actions/server/saved_objects/transform_connectors_for_export.ts
+++ b/x-pack/plugins/actions/server/saved_objects/transform_connectors_for_export.ts
@@ -28,6 +28,7 @@ function transformConnectorForExport(
actionType: ActionType
): SavedObject {
let isMissingSecrets = false;
+
try {
// If connector requires secrets, this will throw an error
validateSecrets(actionType, {});
@@ -39,11 +40,11 @@ function transformConnectorForExport(
isMissingSecrets = true;
}
- // Skip connectors
return {
...connector,
attributes: {
...connector.attributes,
+ secrets: {},
isMissingSecrets,
},
};
diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/builtin_action_types/email.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/builtin_action_types/email.ts
index 22d46b3918932..cf31d6111c349 100644
--- a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/builtin_action_types/email.ts
+++ b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/builtin_action_types/email.ts
@@ -89,6 +89,33 @@ export default function emailTest({ getService }: FtrProviderContext) {
);
});
});
+
+ describe('export, import, then execute email connector', () => {
+ afterEach(() => objectRemover.removeAll());
+
+ it('successfully executes with no auth', async () => {
+ const from = `bob@${EmailDomainAllowed}`;
+ const conn = await createConnector(from, false);
+ expect(conn.status).to.be(200);
+ const { id } = conn.body;
+
+ const text = await exportConnector(id);
+
+ const { body } = await importConnector(text);
+ const importId = body.successResults[0].id;
+
+ const to = EmailDomainsAllowed.map((domain) => `jeb@${domain}`).sort();
+ const cc = EmailDomainsAllowed.map((domain) => `jim@${domain}`).sort();
+ const bcc = EmailDomainsAllowed.map((domain) => `joe@${domain}`).sort();
+ const ccNames = cc.map((email) => `Jimmy Jack <${email}>`);
+ const run = await runConnector(importId, to, ccNames, bcc);
+
+ expect(run.status).to.be(200);
+
+ const { status } = run.body || {};
+ expect(status).to.be('ok');
+ });
+ });
});
/* returns the following `body`, for the special email __json service:
@@ -111,23 +138,29 @@ export default function emailTest({ getService }: FtrProviderContext) {
...
}
*/
- async function createConnector(from: string): Promise<{ status: number; body: any }> {
+ async function createConnector(
+ from: string,
+ hasAuth: boolean = true
+ ): Promise<{ status: number; body: any }> {
+ const connector: any = {
+ name: `An email connector from ${__filename}`,
+ connector_type_id: '.email',
+ config: {
+ service: '__json',
+ from,
+ hasAuth,
+ },
+ };
+ if (hasAuth) {
+ connector.secrets = {
+ user: 'bob',
+ password: 'changeme',
+ };
+ }
const { status, body } = await supertest
.post('/api/actions/connector')
.set('kbn-xsrf', 'foo')
- .send({
- name: `An email connector from ${__filename}`,
- connector_type_id: '.email',
- config: {
- service: '__json',
- from,
- hasAuth: true,
- },
- secrets: {
- user: 'bob',
- password: 'changeme',
- },
- });
+ .send(connector);
if (status === 200) {
objectRemover.add('default', body.id, 'connector', 'actions');
@@ -151,6 +184,30 @@ export default function emailTest({ getService }: FtrProviderContext) {
return { status, body };
}
+
+ async function exportConnector(id: string) {
+ const { text } = await supertest
+ .post(`/api/saved_objects/_export`)
+ .send({
+ objects: [
+ {
+ id,
+ type: 'action',
+ },
+ ],
+ includeReferencesDeep: true,
+ })
+ .set('kbn-xsrf', 'true');
+ return text;
+ }
+
+ async function importConnector(text: any) {
+ return await supertest
+ .post('/api/saved_objects/_import')
+ .query({ overwrite: true })
+ .attach('file', Buffer.from(text), 'actions.ndjson')
+ .set('kbn-xsrf', 'true');
+ }
}
function addressesFromMessage(message: any, which: 'to' | 'cc' | 'bcc'): string[] {
From 664ddc2a95ea797a454bf81b23fbac1a99c030a6 Mon Sep 17 00:00:00 2001
From: Quynh Nguyen <43350163+qn895@users.noreply.github.com>
Date: Wed, 10 Aug 2022 09:36:19 -0500
Subject: [PATCH 12/49] [ML] Transform: Fix unsupported boolean filter when
cloning (#137773)
* [ML] Turn filter boolean into json editor instead
* [ML] Reformat bracelet condition, add isJSONValid check
* [ML] Add functional tests
* [ML] Add functional tests
* Change to useMemo
* [ML] add json is invalid message
* [ML] Refactor into nested agg
* [ML] Remove unused code, change to null, add validator function
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
---
.../public/app/common/validators.test.ts | 26 +++
.../transform/public/app/common/validators.ts | 17 ++
.../agg_label_form.test.tsx.snap | 2 +-
.../aggregation_list/agg_label_form.tsx | 2 +-
.../filter_agg/components/editor_form.tsx | 15 +-
.../filter_agg/components/filter_agg_form.tsx | 87 +++++-----
.../step_define/common/filter_agg/config.ts | 7 +
.../step_define/common/filter_agg/types.ts | 2 +
.../test/functional/apps/transform/cloning.ts | 148 ++++++++++++++++++
.../functional/services/transform/wizard.ts | 19 +++
10 files changed, 284 insertions(+), 41 deletions(-)
diff --git a/x-pack/plugins/transform/public/app/common/validators.test.ts b/x-pack/plugins/transform/public/app/common/validators.test.ts
index f48039052d203..324ce7f8255e1 100644
--- a/x-pack/plugins/transform/public/app/common/validators.test.ts
+++ b/x-pack/plugins/transform/public/app/common/validators.test.ts
@@ -7,6 +7,7 @@
import {
continuousModeDelayValidator,
+ jsonStringValidator,
parseDuration,
retentionPolicyMaxAgeValidator,
transformFrequencyValidator,
@@ -137,3 +138,28 @@ describe('transformFrequencyValidator', () => {
expect(transformFrequencyValidator('2h')).toBe(false);
});
});
+
+describe('jsonStringValidator', () => {
+ it('should return false for non-string input', () => {
+ expect(jsonStringValidator(false)).toBe(false);
+ expect(jsonStringValidator(undefined)).toBe(false);
+ expect(jsonStringValidator(null)).toBe(false);
+ expect(jsonStringValidator(0)).toBe(false);
+ expect(jsonStringValidator({})).toBe(false);
+ });
+
+ it('should return whether string is parsable as valid json', () => {
+ expect(
+ jsonStringValidator(`{
+ "must": [],
+ "must_not": [],
+ "should": []
+ }`)
+ ).toBe(true);
+ expect(
+ jsonStringValidator(`{
+ "must":,
+ }`)
+ ).toBe(false);
+ });
+});
diff --git a/x-pack/plugins/transform/public/app/common/validators.ts b/x-pack/plugins/transform/public/app/common/validators.ts
index 065a6b4d1c0ca..9f92df3cdcabc 100644
--- a/x-pack/plugins/transform/public/app/common/validators.ts
+++ b/x-pack/plugins/transform/public/app/common/validators.ts
@@ -127,3 +127,20 @@ export const transformFrequencyValidator = (value: string): boolean => {
export function transformSettingsMaxPageSearchSizeValidator(value: number): boolean {
return value >= 10 && value <= 10000;
}
+
+/**
+ * Validates whether string input can be parsed as a valid JSON
+ * @param value User input value.
+ */
+export function jsonStringValidator(value: unknown): boolean {
+ if (typeof value !== 'string') return false;
+
+ try {
+ return !!JSON.parse(value);
+ } catch (e) {
+ // eslint-disable-next-line no-console
+ console.error(`JSON is invalid.\n${e}`);
+ return false;
+ }
+ return true;
+}
diff --git a/x-pack/plugins/transform/public/app/sections/create_transform/components/aggregation_list/__snapshots__/agg_label_form.test.tsx.snap b/x-pack/plugins/transform/public/app/sections/create_transform/components/aggregation_list/__snapshots__/agg_label_form.test.tsx.snap
index 10258f53aa25b..3eabb1a573f8b 100644
--- a/x-pack/plugins/transform/public/app/sections/create_transform/components/aggregation_list/__snapshots__/agg_label_form.test.tsx.snap
+++ b/x-pack/plugins/transform/public/app/sections/create_transform/components/aggregation_list/__snapshots__/agg_label_form.test.tsx.snap
@@ -26,7 +26,7 @@ exports[`Transform: Date histogram aggregation 1`] = `
button={
= ({
size="s"
iconType="pencil"
onClick={() => setPopoverVisibility(!isPopoverVisible)}
- data-test-subj="transformAggregationEntryEditButton"
+ data-test-subj={`transformAggregationEntryEditButton_${item.aggName}`}
/>
}
isOpen={isPopoverVisible}
diff --git a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/editor_form.tsx b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/editor_form.tsx
index d8d81d11b4f60..59ded1217f4d6 100644
--- a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/editor_form.tsx
+++ b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/editor_form.tsx
@@ -6,13 +6,15 @@
*/
import React from 'react';
-import { EuiSpacer } from '@elastic/eui';
+import { EuiCallOut, EuiSpacer } from '@elastic/eui';
import { CodeEditor } from '@kbn/kibana-react-plugin/public';
+import { FormattedMessage } from '@kbn/i18n-react';
import { FilterAggConfigEditor } from '../types';
export const FilterEditorForm: FilterAggConfigEditor['aggTypeConfig']['FilterAggFormComponent'] = ({
config,
onChange,
+ isValid,
}) => {
return (
<>
@@ -36,6 +38,17 @@ export const FilterEditorForm: FilterAggConfigEditor['aggTypeConfig']['FilterAgg
}}
value={config || ''}
/>
+ {isValid === false ? (
+ <>
+
+
+
+
+ >
+ ) : null}
>
);
};
diff --git a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_agg_form.tsx b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_agg_form.tsx
index 55ecc18863aa5..841fdf1104346 100644
--- a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_agg_form.tsx
+++ b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_agg_form.tsx
@@ -25,7 +25,7 @@ export function getSupportedFilterAggs(
fieldName: string,
dataView: DataView,
runtimeMappings?: RuntimeMappings
-): FilterAggType[] {
+): FilterAggType[] | undefined {
const dataViewField = dataView.fields.getByName(fieldName);
if (dataViewField !== undefined) {
@@ -39,7 +39,10 @@ export function getSupportedFilterAggs(
];
}
- throw new Error(`The field ${fieldName} does not exist in the index or runtime fields`);
+ // Some aggs like filter boolean might have fields that don't exist
+ // but we still support it as JSON
+ // eslint-disable-next-line no-console
+ console.error(`The field ${fieldName} does not exist in the index or runtime fields`);
}
/**
@@ -67,45 +70,52 @@ export const FilterAggForm: PivotAggsConfigFilter['AggFormComponent'] = ({
const filterAggTypeConfig = aggConfig?.aggTypeConfig;
const filterAgg = aggConfig?.filterAgg ?? '';
-
+ const isValid = filterAggTypeConfig?.isValid ? filterAggTypeConfig?.isValid() : undefined;
return (
<>
-
-
-
+
+
+ }
+ >
+
- }
- >
-
-
- >
- }
- >
- ({ text: v, value: v }))
- )}
- value={filterAgg}
- onChange={(e) => {
- // have to reset aggTypeConfig of filterAgg change
- const filterAggUpdate = e.target.value as FilterAggType;
- onChange({
- filterAgg: filterAggUpdate,
- aggTypeConfig: getFilterAggTypeConfig(filterAggUpdate),
- });
- }}
- data-test-subj="transformFilterAggTypeSelector"
- />
-
+
+ >
+ }
+ >
+ ({ text: v, value: v }))
+ )}
+ value={filterAgg}
+ onChange={(e) => {
+ // have to reset aggTypeConfig of filterAgg change
+ const filterAggUpdate = e.target.value as FilterAggType;
+ onChange({
+ filterAgg: filterAggUpdate,
+ aggTypeConfig: getFilterAggTypeConfig(filterAggUpdate),
+ });
+ }}
+ data-test-subj="transformFilterAggTypeSelector"
+ />
+
+ ) : null}
{filterAgg !== '' && filterAggTypeConfig?.FilterAggFormComponent && (
)}
>
diff --git a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/config.ts b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/config.ts
index 543dff6d5cfe4..7003373bb25d7 100644
--- a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/config.ts
+++ b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/config.ts
@@ -5,6 +5,7 @@
* 2.0.
*/
+import { jsonStringValidator } from '../../../../../../common/validators';
import {
isPivotAggsConfigWithUiSupport,
PivotAggsConfigBase,
@@ -188,6 +189,9 @@ export function getFilterAggTypeConfig(
null,
2
),
+ isValid() {
+ return jsonStringValidator(this.filterAggConfig);
+ },
getEsAggConfig(fieldName) {
return JSON.parse(this.filterAggConfig!);
},
@@ -199,6 +203,9 @@ export function getFilterAggTypeConfig(
getEsAggConfig() {
return this.filterAggConfig !== undefined ? JSON.parse(this.filterAggConfig!) : {};
},
+ isValid() {
+ return jsonStringValidator(this.filterAggConfig);
+ },
};
}
}
diff --git a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/types.ts b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/types.ts
index 6fce1e487a5fd..f7fcf18f76b36 100644
--- a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/types.ts
+++ b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/types.ts
@@ -18,6 +18,8 @@ type FilterAggForm = FC<{
onChange: (arg: Partial<{ config: Partial }>) => void;
/** Selected field for the aggregation */
selectedField?: string;
+ /** Whether the configuration is valid */
+ isValid?: boolean;
}>;
interface FilterAggTypeConfig {
diff --git a/x-pack/test/functional/apps/transform/cloning.ts b/x-pack/test/functional/apps/transform/cloning.ts
index 46f398b7842c9..7cd7902b0396b 100644
--- a/x-pack/test/functional/apps/transform/cloning.ts
+++ b/x-pack/test/functional/apps/transform/cloning.ts
@@ -88,6 +88,86 @@ function getTransformConfigWithRuntimeMappings(): TransformPivotConfig {
};
}
+function getTransformConfigWithBoolFilterAgg(): TransformPivotConfig {
+ const date = Date.now();
+
+ return {
+ id: `ec_cloning_filter_agg_${date}`,
+ source: {
+ index: ['ft_ecommerce'],
+ },
+ // @ts-ignore Boolean filter doesn't have to have field
+ pivot: {
+ group_by: {
+ category: {
+ terms: {
+ field: 'category.keyword',
+ },
+ },
+ },
+ aggregations: {
+ 'products.base_price.avg': {
+ avg: {
+ field: 'products.base_price',
+ },
+ },
+ Saturday: {
+ filter: {
+ term: {
+ day_of_week: 'Saturday',
+ },
+ },
+ aggs: {
+ 'saturday.products.base_price.max': {
+ max: {
+ field: 'products.base_price',
+ },
+ },
+ },
+ },
+ FEMALE: {
+ filter: {
+ bool: {
+ must: [],
+ must_not: [],
+ should: [],
+ },
+ },
+ aggs: {
+ 'female.products.base_price.sum': {
+ sum: {
+ field: 'products.base_price',
+ },
+ },
+ },
+ },
+ user_exists: {
+ filter: {
+ exists: {
+ field: 'user',
+ },
+ },
+ aggs: {
+ 'user_exists.order_date.min': {
+ min: {
+ field: 'order_date',
+ },
+ },
+ },
+ },
+ },
+ },
+ description: 'ecommerce batch transform with filter aggregations',
+ frequency: '3s',
+ retention_policy: { time: { field: 'order_date', max_age: '3d' } },
+ settings: {
+ max_page_search_size: 250,
+ num_failure_retries: 5,
+ },
+ dest: { index: `user-ec_2_${date}` },
+ };
+}
+
export default function ({ getService }: FtrProviderContext) {
const esArchiver = getService('esArchiver');
const transform = getService('transform');
@@ -95,6 +175,8 @@ export default function ({ getService }: FtrProviderContext) {
describe('cloning', function () {
const transformConfigWithPivot = getTransformConfig();
const transformConfigWithRuntimeMapping = getTransformConfigWithRuntimeMappings();
+ const transformConfigWithBoolFilterAgg = getTransformConfigWithBoolFilterAgg();
+
const transformConfigWithLatest = getLatestTransformConfig('cloning');
before(async () => {
@@ -108,10 +190,15 @@ export default function ({ getService }: FtrProviderContext) {
transformConfigWithRuntimeMapping.id,
transformConfigWithRuntimeMapping
);
+ await transform.api.createAndRunTransform(
+ transformConfigWithBoolFilterAgg.id,
+ transformConfigWithBoolFilterAgg
+ );
await transform.api.createAndRunTransform(
transformConfigWithLatest.id,
transformConfigWithLatest
);
+
await transform.testResources.setKibanaTimeZoneToUTC();
await transform.securityUI.loginAsTransformPowerUser();
@@ -208,6 +295,59 @@ export default function ({ getService }: FtrProviderContext) {
),
},
},
+ {
+ type: 'pivot' as const,
+ suiteTitle: 'clone transform with filter agg',
+ originalConfig: transformConfigWithBoolFilterAgg,
+ transformId: `clone_${transformConfigWithBoolFilterAgg.id}`,
+ transformDescription: `a cloned transform with filter agg`,
+ get destinationIndex(): string {
+ return `user-${this.transformId}`;
+ },
+ expected: {
+ runtimeMappingsEditorValueArr: [''],
+ aggs: {
+ index: 0,
+ label: 'products.base_price.avg',
+ },
+ editableAggregations: [
+ 'products.base_price.avg',
+ // term filter
+ 'Saturday',
+ 'saturday.products.base_price.max',
+ // boolean filter
+ 'FEMALE',
+ 'female.products.base_price.sum',
+ // exist filter
+ 'user_exists',
+ 'user_exists.order_date.min',
+ ],
+ indexPreview: {
+ columns: 10,
+ rows: 5,
+ },
+ groupBy: {
+ index: 0,
+ label: 'category',
+ },
+ transformPreview: {
+ column: 0,
+ values: [
+ `Men's Accessories`,
+ `Men's Clothing`,
+ `Men's Shoes`,
+ `Women's Accessories`,
+ `Women's Clothing`,
+ ],
+ },
+ retentionPolicySwitchEnabled: true,
+ retentionPolicyField: 'order_date',
+ retentionPolicyMaxAge: '3d',
+ numFailureRetries: getNumFailureRetriesStr(
+ transformConfigWithBoolFilterAgg.settings?.num_failure_retries
+ ),
+ },
+ },
{
type: 'latest' as const,
suiteTitle: 'clone transform with latest function',
@@ -308,6 +448,14 @@ export default function ({ getService }: FtrProviderContext) {
testData.expected.aggs.index,
testData.expected.aggs.label
);
+ if (
+ Array.isArray(testData.expected.editableAggregations) &&
+ testData.expected.editableAggregations?.length > 0
+ ) {
+ for (const aggName of testData.expected.editableAggregations) {
+ await transform.wizard.assertAggregationEntryEditPopoverValid(aggName);
+ }
+ }
} else if (isLatestTransform(testData.originalConfig)) {
await transform.testExecution.logTestStep('should show pre-filler unique keys');
await transform.wizard.assertUniqueKeysInputValue(
diff --git a/x-pack/test/functional/services/transform/wizard.ts b/x-pack/test/functional/services/transform/wizard.ts
index a19986f2504b8..f59e95d334a3f 100644
--- a/x-pack/test/functional/services/transform/wizard.ts
+++ b/x-pack/test/functional/services/transform/wizard.ts
@@ -19,6 +19,7 @@ export type HistogramCharts = Array<{
export function TransformWizardProvider({ getService, getPageObjects }: FtrProviderContext) {
const aceEditor = getService('aceEditor');
+ const browser = getService('browser');
const canvasElement = getService('canvasElement');
const log = getService('log');
const testSubjects = getService('testSubjects');
@@ -1049,5 +1050,23 @@ export function TransformWizardProvider({ getService, getPageObjects }: FtrProvi
await this.assertProgressbarExists();
});
},
+
+ async assertAggregationEntryEditPopoverValid(aggName: string) {
+ await retry.tryForTime(5000, async () => {
+ await testSubjects.click(`transformAggregationEntryEditButton_${aggName}`);
+
+ await testSubjects.existOrFail(`transformAggPopoverForm_${aggName}`);
+ const isApplyAggChangeEnabled = await testSubjects.isEnabled(
+ `~transformAggPopoverForm_${aggName} > ~transformApplyAggChanges`
+ );
+
+ expect(isApplyAggChangeEnabled).to.eql(
+ true,
+ 'Expected Transform aggregation entry `Apply` to be enabled'
+ );
+ // escape popover
+ await browser.pressKeys(browser.keys.ESCAPE);
+ });
+ },
};
}
From 3ff5fb2bec151df2989ef8d1a4967e4c3e6b69c1 Mon Sep 17 00:00:00 2001
From: Walter Rafelsberger
Date: Wed, 10 Aug 2022 17:41:40 +0200
Subject: [PATCH 13/49] [ML] Explain Log Rate Spikes: Fix stale brush props.
(#138272)
Fixes stale props that would cause a broken brush update when the overall time range selection changes.
---
.../src/dual_brush/dual_brush.tsx | 46 +++++++++++++------
1 file changed, 33 insertions(+), 13 deletions(-)
diff --git a/x-pack/packages/ml/aiops_components/src/dual_brush/dual_brush.tsx b/x-pack/packages/ml/aiops_components/src/dual_brush/dual_brush.tsx
index b4eb2e0809f4e..c593da55ffded 100644
--- a/x-pack/packages/ml/aiops_components/src/dual_brush/dual_brush.tsx
+++ b/x-pack/packages/ml/aiops_components/src/dual_brush/dual_brush.tsx
@@ -5,6 +5,7 @@
* 2.0.
*/
+import { isEqual } from 'lodash';
import React, { useEffect, useRef } from 'react';
import * as d3Brush from 'd3-brush';
@@ -74,7 +75,14 @@ export function DualBrush({
}: DualBrushProps) {
const d3BrushContainer = useRef(null);
const brushes = useRef([]);
+
+ // We need to pass props to refs here because the d3-brush code doesn't consider
+ // native React prop changes. The brush code does its own check whether these props changed then.
+ // The initialized brushes might otherwise act on stale data.
const widthRef = useRef(width);
+ const minRef = useRef(min);
+ const maxRef = useRef(max);
+ const snapTimestampsRef = useRef(snapTimestamps);
const { baselineMin, baselineMax, deviationMin, deviationMax } = windowParameters;
@@ -93,11 +101,14 @@ export function DualBrush({
function brushend(this: d3Selection.BaseType) {
const currentWidth = widthRef.current;
- const x = d3.scaleLinear().domain([min, max]).rangeRound([0, currentWidth]);
+ const x = d3
+ .scaleLinear()
+ .domain([minRef.current, maxRef.current])
+ .rangeRound([0, currentWidth]);
const px2ts = (px: number) => Math.round(x.invert(px));
- const xMin = x(min) ?? 0;
- const xMax = x(max) ?? 0;
+ const xMin = x(minRef.current) ?? 0;
+ const xMax = x(maxRef.current) ?? 0;
const minExtentPx = Math.round((xMax - xMin) / 100);
const baselineBrush = d3.select('#aiops-brush-baseline');
@@ -157,8 +168,8 @@ export function DualBrush({
newWindowParameters.baselineMax = px2ts(newBaselineMax);
}
- const snappedWindowParameters = snapTimestamps
- ? getSnappedWindowParameters(newWindowParameters, snapTimestamps)
+ const snappedWindowParameters = snapTimestampsRef.current
+ ? getSnappedWindowParameters(newWindowParameters, snapTimestampsRef.current)
: newWindowParameters;
const newBrushPx = {
@@ -235,7 +246,7 @@ export function DualBrush({
mlBrushSelection
.attr('class', 'brush')
.selectAll('.overlay')
- .attr('width', width)
+ .attr('width', widthRef.current)
.style('pointer-events', 'none');
mlBrushSelection
@@ -252,10 +263,13 @@ export function DualBrush({
.data(brushes.current, (d) => (d as DualBrush).id);
mlBrushSelection.each(function (brushObject, i, n) {
- const x = d3.scaleLinear().domain([min, max]).rangeRound([0, widthRef.current]);
+ const x = d3
+ .scaleLinear()
+ .domain([minRef.current, maxRef.current])
+ .rangeRound([0, widthRef.current]);
brushObject.brush.extent([
[0, BRUSH_MARGIN],
- [width, BRUSH_HEIGHT - BRUSH_MARGIN],
+ [widthRef.current, BRUSH_HEIGHT - BRUSH_MARGIN],
]);
brushObject.brush(d3.select(n[i] as SVGGElement));
const xStart = x(brushObject.start) ?? 0;
@@ -268,11 +282,17 @@ export function DualBrush({
widthRef.current = width;
newBrush('baseline', baselineMin, baselineMax);
newBrush('deviation', deviationMin, deviationMax);
- } else {
- if (widthRef.current !== width) {
- widthRef.current = width;
- updateBrushes();
- }
+ } else if (
+ widthRef.current !== width ||
+ minRef.current !== min ||
+ maxRef.current !== max ||
+ !isEqual(snapTimestampsRef.current, snapTimestamps)
+ ) {
+ widthRef.current = width;
+ minRef.current = min;
+ maxRef.current = max;
+ snapTimestampsRef.current = snapTimestamps;
+ updateBrushes();
}
drawBrushes();
From e634f188f2551603bf362aedb0b165272c357ade Mon Sep 17 00:00:00 2001
From: spalger
Date: Wed, 10 Aug 2022 10:43:04 -0500
Subject: [PATCH 14/49] skip suites failing es promotion (#138528)
---
x-pack/test/functional/apps/security/user_email.ts | 3 ++-
.../security_api_integration/tests/user_profiles/bulk_get.ts | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/x-pack/test/functional/apps/security/user_email.ts b/x-pack/test/functional/apps/security/user_email.ts
index 44c375bdab10d..3d50e4cbbd22a 100644
--- a/x-pack/test/functional/apps/security/user_email.ts
+++ b/x-pack/test/functional/apps/security/user_email.ts
@@ -15,7 +15,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const security = getService('security');
const kibanaServer = getService('kibanaServer');
- describe('useremail', function () {
+ // FAILING ES PROMOTION: https://github.com/elastic/kibana/issues/138528
+ describe.skip('useremail', function () {
before(async () => {
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/security/discover'
diff --git a/x-pack/test/security_api_integration/tests/user_profiles/bulk_get.ts b/x-pack/test/security_api_integration/tests/user_profiles/bulk_get.ts
index 8955a06261848..985d2ac8f0d09 100644
--- a/x-pack/test/security_api_integration/tests/user_profiles/bulk_get.ts
+++ b/x-pack/test/security_api_integration/tests/user_profiles/bulk_get.ts
@@ -14,7 +14,8 @@ export default function ({ getService }: FtrProviderContext) {
const supertestWithoutAuth = getService('supertestWithoutAuth');
const security = getService('security');
- describe('Getting user profiles in bulk', () => {
+ // FAILING ES PROMOTION: https://github.com/elastic/kibana/issues/138528
+ describe.skip('Getting user profiles in bulk', () => {
const usersSessions = new Map();
before(async () => {
// 1. Create test users
From 3aa0599305c2bea691c1337583f371f616a7b341 Mon Sep 17 00:00:00 2001
From: Jatin Kathuria
Date: Wed, 10 Aug 2022 17:57:26 +0200
Subject: [PATCH 15/49] [Observability][SecuritySolution] Fix to prevent
observability style conflict in flyout across plugins (#138091)
* fix to prevent style conflict in flyouts from diff. plugins
* remove unnecessary class token
---
.../pages/alerts/components/alerts_flyout/alerts_flyout.tsx | 2 +-
.../public/pages/alerts/containers/alerts_page/styles.scss | 2 +-
x-pack/plugins/observability/public/pages/overview/index.tsx | 1 +
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/x-pack/plugins/observability/public/pages/alerts/components/alerts_flyout/alerts_flyout.tsx b/x-pack/plugins/observability/public/pages/alerts/components/alerts_flyout/alerts_flyout.tsx
index 14063f382f913..72593235264d3 100644
--- a/x-pack/plugins/observability/public/pages/alerts/components/alerts_flyout/alerts_flyout.tsx
+++ b/x-pack/plugins/observability/public/pages/alerts/components/alerts_flyout/alerts_flyout.tsx
@@ -45,7 +45,7 @@ export function AlertsFlyout({
}
return (
-
+
diff --git a/x-pack/plugins/observability/public/pages/alerts/containers/alerts_page/styles.scss b/x-pack/plugins/observability/public/pages/alerts/containers/alerts_page/styles.scss
index cee2ea31a0ea8..13787ccd00c16 100644
--- a/x-pack/plugins/observability/public/pages/alerts/containers/alerts_page/styles.scss
+++ b/x-pack/plugins/observability/public/pages/alerts/containers/alerts_page/styles.scss
@@ -4,7 +4,7 @@ $fullscreenFlyoutTop: 72px;
top: $fullscreenFlyoutTop;
}
- .euiFlyout,
+ .euiFlyout.oblt__flyout,
.euiCollapsibleNav {
top: $fullscreenFlyoutTop;
height: calc(100% - #{$fullscreenFlyoutTop});
diff --git a/x-pack/plugins/observability/public/pages/overview/index.tsx b/x-pack/plugins/observability/public/pages/overview/index.tsx
index 08a70f6206802..902dd3707d2f8 100644
--- a/x-pack/plugins/observability/public/pages/overview/index.tsx
+++ b/x-pack/plugins/observability/public/pages/overview/index.tsx
@@ -219,6 +219,7 @@ export function OverviewPage() {
>
{isFlyoutVisible && (
setIsFlyoutVisible(false)}
From e59c7958deaa3e7c221ddbfb3d42e7b3bd6c5d3a Mon Sep 17 00:00:00 2001
From: Ersin Erdal <92688503+ersin-erdal@users.noreply.github.com>
Date: Wed, 10 Aug 2022 17:57:51 +0200
Subject: [PATCH 16/49] return error message when usage collector failed
(#136507)
* return error message when usage collector is failed
---
.../server/usage/actions_telemetry.test.ts | 13 ++++
.../actions/server/usage/actions_telemetry.ts | 35 ++++++-----
.../usage/actions_usage_collector.test.ts | 48 ++++++++++++++
.../server/usage/actions_usage_collector.ts | 7 ++-
x-pack/plugins/actions/server/usage/task.ts | 63 ++++++++++---------
x-pack/plugins/actions/server/usage/types.ts | 2 +
.../usage/alerting_usage_collector.test.ts | 38 +++++++++++
.../server/usage/alerting_usage_collector.ts | 12 +++-
.../lib/get_telemetry_from_event_log.test.ts | 6 ++
.../usage/lib/get_telemetry_from_event_log.ts | 13 ++++
.../lib/get_telemetry_from_kibana.test.ts | 6 ++
.../usage/lib/get_telemetry_from_kibana.ts | 25 +++++---
.../get_telemetry_from_task_manager.test.ts | 3 +
.../lib/get_telemetry_from_task_manager.ts | 6 ++
x-pack/plugins/alerting/server/usage/task.ts | 25 +++++++-
x-pack/plugins/alerting/server/usage/types.ts | 2 +
.../schema/xpack_plugins.json | 18 ++++++
17 files changed, 264 insertions(+), 58 deletions(-)
diff --git a/x-pack/plugins/actions/server/usage/actions_telemetry.test.ts b/x-pack/plugins/actions/server/usage/actions_telemetry.test.ts
index 532cefec75f20..b5606543b04e5 100644
--- a/x-pack/plugins/actions/server/usage/actions_telemetry.test.ts
+++ b/x-pack/plugins/actions/server/usage/actions_telemetry.test.ts
@@ -112,6 +112,7 @@ Object {
"some.type": 1,
},
"countTotal": 4,
+ "hasErrors": false,
}
`);
});
@@ -130,6 +131,8 @@ Object {
Object {
"countByType": Object {},
"countTotal": 0,
+ "errorMessage": "oh no",
+ "hasErrors": true,
}
`);
});
@@ -194,6 +197,7 @@ Object {
"countEmailByService": Object {},
"countNamespaces": 1,
"countTotal": 2,
+ "hasErrors": false,
}
`);
});
@@ -295,6 +299,7 @@ Object {
"countEmailByService": Object {},
"countNamespaces": 1,
"countTotal": 4,
+ "hasErrors": false,
}
`);
});
@@ -316,6 +321,8 @@ Object {
"countEmailByService": Object {},
"countNamespaces": 0,
"countTotal": 0,
+ "errorMessage": "oh no",
+ "hasErrors": true,
}
`);
});
@@ -438,6 +445,7 @@ Object {
"some.type": 1,
},
"countTotal": 6,
+ "hasErrors": false,
}
`);
});
@@ -546,6 +554,7 @@ Object {
},
"countNamespaces": 1,
"countTotal": 6,
+ "hasErrors": false,
}
`);
});
@@ -645,6 +654,7 @@ Object {
},
"countNamespaces": 3,
"countTotal": 6,
+ "hasErrors": false,
}
`);
});
@@ -744,6 +754,7 @@ Object {
__slack: 7,
},
countTotal: 120,
+ hasErrors: false,
});
});
@@ -765,6 +776,8 @@ Object {
"countFailed": 0,
"countFailedByType": Object {},
"countTotal": 0,
+ "errorMessage": "oh no",
+ "hasErrors": true,
}
`);
});
diff --git a/x-pack/plugins/actions/server/usage/actions_telemetry.ts b/x-pack/plugins/actions/server/usage/actions_telemetry.ts
index 82f65ddf0cf8a..1e2320e2b1a5d 100644
--- a/x-pack/plugins/actions/server/usage/actions_telemetry.ts
+++ b/x-pack/plugins/actions/server/usage/actions_telemetry.ts
@@ -43,7 +43,6 @@ export async function getTotalCount(
`,
},
};
-
try {
const searchResult = await esClient.search({
index: kibanaIndex,
@@ -78,6 +77,7 @@ export async function getTotalCount(
}
}
return {
+ hasErrors: false,
countTotal:
Object.keys(aggs).reduce(
(total: number, key: string) => parseInt(aggs[key], 10) + total,
@@ -86,8 +86,13 @@ export async function getTotalCount(
countByType,
};
} catch (err) {
+ const errorMessage = err && err.message ? err.message : err.toString();
+
logger.warn(`Error executing actions telemetry task: getTotalCount - ${JSON.stringify(err)}`);
+
return {
+ hasErrors: true,
+ errorMessage,
countTotal: 0,
countByType: {},
};
@@ -101,6 +106,8 @@ export async function getInUseTotalCount(
referenceType?: string,
preconfiguredActions?: PreConfiguredAction[]
): Promise<{
+ hasErrors: boolean;
+ errorMessage?: string;
countTotal: number;
countByType: Record;
countByAlertHistoryConnectorType: number;
@@ -363,6 +370,7 @@ export async function getInUseTotalCount(
}
return {
+ hasErrors: false,
countTotal: aggs.total + (preconfiguredActionsAggs?.total ?? 0),
countByType: countByActionTypeId,
countByAlertHistoryConnectorType: preconfiguredAlertHistoryConnectors,
@@ -370,10 +378,14 @@ export async function getInUseTotalCount(
countNamespaces: namespacesList.size,
};
} catch (err) {
+ const errorMessage = err && err.message ? err.message : err.toString();
+
logger.warn(
`Error executing actions telemetry task: getInUseTotalCount - ${JSON.stringify(err)}`
);
return {
+ hasErrors: true,
+ errorMessage,
countTotal: 0,
countByType: {},
countByAlertHistoryConnectorType: 0,
@@ -383,21 +395,6 @@ export async function getInUseTotalCount(
}
}
-export async function getInUseByAlertingTotalCounts(
- esClient: ElasticsearchClient,
- kibanaIndex: string,
- logger: Logger,
- preconfiguredActions?: PreConfiguredAction[]
-): Promise<{
- countTotal: number;
- countByType: Record;
- countByAlertHistoryConnectorType: number;
- countEmailByService: Record;
- countNamespaces: number;
-}> {
- return await getInUseTotalCount(esClient, kibanaIndex, logger, 'alert', preconfiguredActions);
-}
-
function replaceFirstAndLastDotSymbols(strToReplace: string) {
const hasFirstSymbolDot = strToReplace.startsWith('.');
const appliedString = hasFirstSymbolDot ? strToReplace.replace('.', '__') : strToReplace;
@@ -410,6 +407,8 @@ export async function getExecutionsPerDayCount(
eventLogIndex: string,
logger: Logger
): Promise<{
+ hasErrors: boolean;
+ errorMessage?: string;
countTotal: number;
countByType: Record;
countFailed: number;
@@ -566,6 +565,7 @@ export async function getExecutionsPerDayCount(
);
return {
+ hasErrors: false,
countTotal: aggsExecutions.total,
countByType: Object.entries(aggsExecutions.connectorTypes).reduce(
(res: Record, [key, value]) => {
@@ -588,10 +588,13 @@ export async function getExecutionsPerDayCount(
avgExecutionTimeByType,
};
} catch (err) {
+ const errorMessage = err && err.message ? err.message : err.toString();
logger.warn(
`Error executing actions telemetry task: getExecutionsPerDayCount - ${JSON.stringify(err)}`
);
return {
+ hasErrors: true,
+ errorMessage,
countTotal: 0,
countByType: {},
countFailed: 0,
diff --git a/x-pack/plugins/actions/server/usage/actions_usage_collector.test.ts b/x-pack/plugins/actions/server/usage/actions_usage_collector.test.ts
index 7efc54a5f99d3..58bd3798536f9 100644
--- a/x-pack/plugins/actions/server/usage/actions_usage_collector.test.ts
+++ b/x-pack/plugins/actions/server/usage/actions_usage_collector.test.ts
@@ -6,9 +6,11 @@
*/
import { UsageCollectionSetup } from '@kbn/usage-collection-plugin/server';
+
import { registerActionsUsageCollector } from './actions_usage_collector';
import { configSchema, ActionsConfig } from '../config';
import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks';
+import { ConcreteTaskInstance, TaskManagerStartContract } from '@kbn/task-manager-plugin/server';
const mockTaskManagerStart = taskManagerMock.createStart();
@@ -43,4 +45,50 @@ describe('registerActionsUsageCollector', () => {
expect(usageCollectionMock.makeUsageCollector).toHaveBeenCalledTimes(1);
expect(usageCollectionMock.makeUsageCollector.mock.calls[0][0].type).toBe('actions');
});
+
+ it('should return an error message if fetching data fails', async () => {
+ mockTaskManagerStart.get.mockRejectedValueOnce(new Error('error message'));
+ const taskManagerPromise = new Promise((resolve) => {
+ resolve(mockTaskManagerStart);
+ });
+ registerActionsUsageCollector(
+ usageCollectionMock as UsageCollectionSetup,
+ config,
+ taskManagerPromise
+ );
+ // @ts-ignore
+ expect(await usageCollectionMock.makeUsageCollector.mock.calls[0][0].fetch()).toEqual(
+ expect.objectContaining({
+ has_errors: true,
+ error_messages: ['error message'],
+ })
+ );
+ });
+
+ it('should return the task state including error messages', async () => {
+ const mockStats = {
+ has_errors: true,
+ error_messages: ['an error message'],
+ count_active_total: 1,
+ count_disabled_total: 10,
+ };
+ mockTaskManagerStart.get.mockResolvedValue({
+ id: '1',
+ state: mockStats,
+ } as unknown as ConcreteTaskInstance);
+
+ const taskManagerPromise = new Promise((resolve) => {
+ resolve(mockTaskManagerStart);
+ });
+ registerActionsUsageCollector(
+ usageCollectionMock as UsageCollectionSetup,
+ config,
+ taskManagerPromise
+ );
+ // @ts-ignore
+ expect(await usageCollectionMock.makeUsageCollector.mock.calls[0][0].fetch()).toEqual({
+ alert_history_connector_enabled: false,
+ ...mockStats,
+ });
+ });
});
diff --git a/x-pack/plugins/actions/server/usage/actions_usage_collector.ts b/x-pack/plugins/actions/server/usage/actions_usage_collector.ts
index 1a6b22b0b0ce6..f6e02b2e0fec9 100644
--- a/x-pack/plugins/actions/server/usage/actions_usage_collector.ts
+++ b/x-pack/plugins/actions/server/usage/actions_usage_collector.ts
@@ -23,6 +23,8 @@ export function createActionsUsageCollector(
return true;
},
schema: {
+ has_errors: { type: 'boolean' },
+ error_messages: { type: 'array', items: { type: 'text' } },
alert_history_connector_enabled: {
type: 'boolean',
_meta: { description: 'Indicates if preconfigured alert history connector is enabled.' },
@@ -51,13 +53,16 @@ export function createActionsUsageCollector(
const doc = await getLatestTaskState(await taskManager);
// get the accumulated state from the recurring task
const { runs, ...state } = get(doc, 'state') as ActionsUsage & { runs: number };
-
return {
...state,
alert_history_connector_enabled: config.preconfiguredAlertHistoryEsIndex,
};
} catch (err) {
+ const errMessage = err && err.message ? err.message : err.toString();
+
return {
+ has_errors: true,
+ error_messages: [errMessage],
alert_history_connector_enabled: false,
count_total: 0,
count_by_type: {},
diff --git a/x-pack/plugins/actions/server/usage/task.ts b/x-pack/plugins/actions/server/usage/task.ts
index 68b109ec8b0fa..15f70529d3852 100644
--- a/x-pack/plugins/actions/server/usage/task.ts
+++ b/x-pack/plugins/actions/server/usage/task.ts
@@ -101,36 +101,39 @@ export function telemetryTaskRunner(
getTotalCount(esClient, kibanaIndex, logger, preconfiguredActions),
getInUseTotalCount(esClient, kibanaIndex, logger, undefined, preconfiguredActions),
getExecutionsPerDayCount(esClient, eventLogIndex, logger),
- ])
- .then(([totalAggegations, totalInUse, totalExecutionsPerDay]) => {
- return {
- state: {
- runs: (state.runs || 0) + 1,
- count_total: totalAggegations.countTotal,
- count_by_type: totalAggegations.countByType,
- count_active_total: totalInUse.countTotal,
- count_active_by_type: totalInUse.countByType,
- count_active_alert_history_connectors: totalInUse.countByAlertHistoryConnectorType,
- count_active_email_connectors_by_service_type: totalInUse.countEmailByService,
- count_actions_namespaces: totalInUse.countNamespaces,
- count_actions_executions_per_day: totalExecutionsPerDay.countTotal,
- count_actions_executions_by_type_per_day: totalExecutionsPerDay.countByType,
- count_actions_executions_failed_per_day: totalExecutionsPerDay.countFailed,
- count_actions_executions_failed_by_type_per_day:
- totalExecutionsPerDay.countFailedByType,
- avg_execution_time_per_day: totalExecutionsPerDay.avgExecutionTime,
- avg_execution_time_by_type_per_day: totalExecutionsPerDay.avgExecutionTimeByType,
- },
- runAt: getNextMidnight(),
- };
- })
- .catch((errMsg) => {
- logger.warn(`Error executing actions telemetry task: ${errMsg}`);
- return {
- state: {},
- runAt: getNextMidnight(),
- };
- });
+ ]).then(([totalAggegations, totalInUse, totalExecutionsPerDay]) => {
+ const hasErrors =
+ totalAggegations.hasErrors || totalInUse.hasErrors || totalExecutionsPerDay.hasErrors;
+
+ const errorMessages = [
+ totalAggegations.errorMessage,
+ totalInUse.errorMessage,
+ totalExecutionsPerDay.errorMessage,
+ ].filter((message) => message !== undefined);
+
+ return {
+ state: {
+ has_errors: hasErrors,
+ ...(errorMessages.length > 0 && { error_messages: errorMessages }),
+ runs: (state.runs || 0) + 1,
+ count_total: totalAggegations.countTotal,
+ count_by_type: totalAggegations.countByType,
+ count_active_total: totalInUse.countTotal,
+ count_active_by_type: totalInUse.countByType,
+ count_active_alert_history_connectors: totalInUse.countByAlertHistoryConnectorType,
+ count_active_email_connectors_by_service_type: totalInUse.countEmailByService,
+ count_actions_namespaces: totalInUse.countNamespaces,
+ count_actions_executions_per_day: totalExecutionsPerDay.countTotal,
+ count_actions_executions_by_type_per_day: totalExecutionsPerDay.countByType,
+ count_actions_executions_failed_per_day: totalExecutionsPerDay.countFailed,
+ count_actions_executions_failed_by_type_per_day:
+ totalExecutionsPerDay.countFailedByType,
+ avg_execution_time_per_day: totalExecutionsPerDay.avgExecutionTime,
+ avg_execution_time_by_type_per_day: totalExecutionsPerDay.avgExecutionTimeByType,
+ },
+ runAt: getNextMidnight(),
+ };
+ });
},
};
};
diff --git a/x-pack/plugins/actions/server/usage/types.ts b/x-pack/plugins/actions/server/usage/types.ts
index 4d9f9c6ef17ff..b58ac9c096f63 100644
--- a/x-pack/plugins/actions/server/usage/types.ts
+++ b/x-pack/plugins/actions/server/usage/types.ts
@@ -8,6 +8,8 @@
import { MakeSchemaFrom } from '@kbn/usage-collection-plugin/server';
export interface ActionsUsage {
+ has_errors: boolean;
+ error_messages?: string[];
alert_history_connector_enabled: boolean;
count_total: number;
count_by_type: Record;
diff --git a/x-pack/plugins/alerting/server/usage/alerting_usage_collector.test.ts b/x-pack/plugins/alerting/server/usage/alerting_usage_collector.test.ts
index fd8960adf4d8c..b13e678ce4402 100644
--- a/x-pack/plugins/alerting/server/usage/alerting_usage_collector.test.ts
+++ b/x-pack/plugins/alerting/server/usage/alerting_usage_collector.test.ts
@@ -8,6 +8,7 @@
import { UsageCollectionSetup } from '@kbn/usage-collection-plugin/server';
import { registerAlertingUsageCollector } from './alerting_usage_collector';
import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks';
+import { ConcreteTaskInstance, TaskManagerStartContract } from '@kbn/task-manager-plugin/server';
const taskManagerStart = taskManagerMock.createStart();
beforeEach(() => jest.resetAllMocks());
@@ -38,4 +39,41 @@ describe('registerAlertingUsageCollector', () => {
expect(usageCollectionMock.makeUsageCollector).toHaveBeenCalledTimes(1);
expect(usageCollectionMock.makeUsageCollector.mock.calls[0][0].type).toBe('alerts');
});
+
+ it('should return an error message if fetching data fails', async () => {
+ taskManagerStart.get.mockRejectedValueOnce(new Error('error message'));
+ const taskManagerPromise = new Promise((resolve) => {
+ resolve(taskManagerStart);
+ });
+ registerAlertingUsageCollector(usageCollectionMock as UsageCollectionSetup, taskManagerPromise);
+ // @ts-ignore
+ expect(await usageCollectionMock.makeUsageCollector.mock.calls[0][0].fetch()).toEqual(
+ expect.objectContaining({
+ has_errors: true,
+ error_messages: ['error message'],
+ })
+ );
+ });
+
+ it('should return the task state including error messages', async () => {
+ const mockStats = {
+ has_errors: true,
+ error_messages: ['an error message'],
+ count_active_total: 1,
+ count_disabled_total: 10,
+ };
+ taskManagerStart.get.mockResolvedValue({
+ id: '1',
+ state: mockStats,
+ } as unknown as ConcreteTaskInstance);
+
+ const taskManagerPromise = new Promise((resolve) => {
+ resolve(taskManagerStart);
+ });
+ registerAlertingUsageCollector(usageCollectionMock as UsageCollectionSetup, taskManagerPromise);
+ // @ts-ignore
+ expect(await usageCollectionMock.makeUsageCollector.mock.calls[0][0].fetch()).toEqual(
+ mockStats
+ );
+ });
});
diff --git a/x-pack/plugins/alerting/server/usage/alerting_usage_collector.ts b/x-pack/plugins/alerting/server/usage/alerting_usage_collector.ts
index 2c7f4db1d9fa9..d03faa3aaf65f 100644
--- a/x-pack/plugins/alerting/server/usage/alerting_usage_collector.ts
+++ b/x-pack/plugins/alerting/server/usage/alerting_usage_collector.ts
@@ -126,11 +126,12 @@ export function createAlertingUsageCollector(
// get the accumulated state from the recurring task
const { runs, ...state } = get(doc, 'state') as AlertingUsage & { runs: number };
- return {
- ...state,
- };
+ return state;
} catch (err) {
+ const errMessage = err && err.message ? err.message : err.toString();
return {
+ has_errors: true,
+ error_messages: [errMessage],
count_total: 0,
count_active_total: 0,
count_disabled_total: 0,
@@ -202,6 +203,11 @@ export function createAlertingUsageCollector(
}
},
schema: {
+ has_errors: { type: 'boolean' },
+ error_messages: {
+ type: 'array',
+ items: { type: 'text' },
+ },
count_total: { type: 'long' },
count_active_total: { type: 'long' },
count_disabled_total: { type: 'long' },
diff --git a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_event_log.test.ts b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_event_log.test.ts
index 754cab335f8e9..f3e21f6a161fa 100644
--- a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_event_log.test.ts
+++ b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_event_log.test.ts
@@ -1398,6 +1398,7 @@ describe('event log telemetry', () => {
logs__alert__document__count: 0,
},
},
+ hasErrors: false,
});
});
@@ -1419,6 +1420,8 @@ describe('event log telemetry', () => {
expect(loggerMeta?.tags).toEqual(['alerting', 'telemetry-failed']);
expect(loggerMeta?.error?.stack_trace).toBeDefined();
expect(telemetry).toStrictEqual({
+ hasErrors: true,
+ errorMessage: 'oh no',
countTotalRuleExecutions: 0,
countRuleExecutionsByType: {},
countTotalFailedExecutions: 0,
@@ -1495,6 +1498,7 @@ describe('event log telemetry', () => {
// eslint-disable-next-line @typescript-eslint/naming-convention
logs__alert__document__count: 1,
},
+ hasErrors: false,
});
});
@@ -1518,6 +1522,8 @@ describe('event log telemetry', () => {
expect(telemetry).toStrictEqual({
countExecutionTimeouts: 0,
countExecutionTimeoutsByType: {},
+ errorMessage: 'oh no',
+ hasErrors: true,
});
});
});
diff --git a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_event_log.ts b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_event_log.ts
index a6c3e90cfc1c7..703d579e66c25 100644
--- a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_event_log.ts
+++ b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_event_log.ts
@@ -37,6 +37,8 @@ interface Opts {
}
interface GetExecutionsPerDayCountResults {
+ hasErrors: boolean;
+ errorMessage?: string;
countTotalRuleExecutions: number;
countRuleExecutionsByType: Record;
countTotalFailedExecutions: number;
@@ -55,6 +57,8 @@ interface GetExecutionsPerDayCountResults {
}
interface GetExecutionTimeoutsPerDayCountResults {
+ hasErrors: boolean;
+ errorMessage?: string;
countExecutionTimeouts: number;
countExecutionTimeoutsByType: Record;
}
@@ -167,12 +171,14 @@ export async function getExecutionsPerDayCount({
aggregations.by_rule_type_id.buckets as GetExecutionCountsAggregationBucket[];
return {
+ hasErrors: false,
...parseRuleTypeBucket(aggregationsByRuleTypeId),
...parseExecutionFailureByRuleType(aggregationsByRuleTypeId),
...parseExecutionCountAggregationResults(aggregations),
countTotalRuleExecutions: totalRuleExecutions ?? 0,
};
} catch (err) {
+ const errorMessage = err && err.message ? err.message : err.toString();
logger.warn(
`Error executing alerting telemetry task: getExecutionsPerDayCount - ${JSON.stringify(err)}`,
{
@@ -181,6 +187,8 @@ export async function getExecutionsPerDayCount({
}
);
return {
+ hasErrors: true,
+ errorMessage,
countTotalRuleExecutions: 0,
countRuleExecutionsByType: {},
countTotalFailedExecutions: 0,
@@ -235,10 +243,13 @@ export async function getExecutionTimeoutsPerDayCount({
typeof results.hits.total === 'number' ? results.hits.total : results.hits.total?.value;
return {
+ hasErrors: false,
countExecutionTimeouts: totalTimedoutExecutionsCount ?? 0,
countExecutionTimeoutsByType: parseSimpleRuleTypeBucket(aggregations.by_rule_type_id.buckets),
};
} catch (err) {
+ const errorMessage = err && err.message ? err.message : err.toString();
+
logger.warn(
`Error executing alerting telemetry task: getExecutionsTimeoutsPerDayCount - ${JSON.stringify(
err
@@ -249,6 +260,8 @@ export async function getExecutionTimeoutsPerDayCount({
}
);
return {
+ hasErrors: true,
+ errorMessage,
countExecutionTimeouts: 0,
countExecutionTimeoutsByType: {},
};
diff --git a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_kibana.test.ts b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_kibana.test.ts
index 4b17875bc8b60..79b5d473ebe05 100644
--- a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_kibana.test.ts
+++ b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_kibana.test.ts
@@ -88,6 +88,7 @@ describe('kibana index telemetry', () => {
logs__alert__document__count: 1,
},
count_total: 4,
+ hasErrors: false,
schedule_time: {
avg: '4.5s',
max: '10s',
@@ -129,6 +130,8 @@ describe('kibana index telemetry', () => {
expect(loggerMeta?.tags).toEqual(['alerting', 'telemetry-failed']);
expect(loggerMeta?.error?.stack_trace).toBeDefined();
expect(telemetry).toEqual({
+ errorMessage: 'oh no',
+ hasErrors: true,
connectors_per_alert: {
avg: 0,
max: 0,
@@ -219,6 +222,7 @@ describe('kibana index telemetry', () => {
},
countNamespaces: 1,
countTotal: 4,
+ hasErrors: false,
});
});
@@ -243,6 +247,8 @@ describe('kibana index telemetry', () => {
countByType: {},
countNamespaces: 0,
countTotal: 0,
+ errorMessage: 'oh no',
+ hasErrors: true,
});
});
});
diff --git a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_kibana.ts b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_kibana.ts
index f2ef27374263c..5443fb91e2e1f 100644
--- a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_kibana.ts
+++ b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_kibana.ts
@@ -31,12 +31,14 @@ type GetTotalCountsResults = Pick<
| 'throttle_time_number_s'
| 'schedule_time_number_s'
| 'connectors_per_alert'
->;
+> & { errorMessage?: string; hasErrors: boolean };
interface GetTotalCountInUseResults {
countTotal: number;
countByType: Record;
countNamespaces: number;
+ errorMessage?: string;
+ hasErrors: boolean;
}
export async function getTotalCountAggregations({
@@ -79,17 +81,17 @@ export async function getTotalCountAggregations({
int parsed = 0;
if (doc['alert.schedule.interval'].size() > 0) {
def interval = doc['alert.schedule.interval'].value;
-
+
if (interval.length() > 1) {
// get last char
String timeChar = interval.substring(interval.length() - 1);
// remove last char
interval = interval.substring(0, interval.length() - 1);
-
+
if (interval.chars().allMatch(Character::isDigit)) {
// using of regex is not allowed in painless language
parsed = Integer.parseInt(interval);
-
+
if (timeChar.equals("s")) {
parsed = parsed;
} else if (timeChar.equals("m")) {
@@ -115,17 +117,17 @@ export async function getTotalCountAggregations({
int parsed = 0;
if (doc['alert.throttle'].size() > 0) {
def throttle = doc['alert.throttle'].value;
-
+
if (throttle.length() > 1) {
// get last char
String timeChar = throttle.substring(throttle.length() - 1);
// remove last char
throttle = throttle.substring(0, throttle.length() - 1);
-
+
if (throttle.chars().allMatch(Character::isDigit)) {
// using of regex is not allowed in painless language
parsed = Integer.parseInt(throttle);
-
+
if (timeChar.equals("s")) {
parsed = parsed;
} else if (timeChar.equals("m")) {
@@ -186,6 +188,7 @@ export async function getTotalCountAggregations({
typeof results.hits.total === 'number' ? results.hits.total : results.hits.total?.value;
return {
+ hasErrors: false,
count_total: totalRulesCount ?? 0,
count_by_type: parseSimpleRuleTypeBucket(aggregations.by_rule_type_id.buckets),
throttle_time: {
@@ -215,6 +218,8 @@ export async function getTotalCountAggregations({
},
};
} catch (err) {
+ const errorMessage = err && err.message ? err.message : err.toString();
+
logger.warn(
`Error executing alerting telemetry task: getTotalCountAggregations - ${JSON.stringify(err)}`,
{
@@ -223,6 +228,8 @@ export async function getTotalCountAggregations({
}
);
return {
+ hasErrors: true,
+ errorMessage,
count_total: 0,
count_by_type: {},
throttle_time: {
@@ -296,11 +303,13 @@ export async function getTotalCountInUse({
typeof results.hits.total === 'number' ? results.hits.total : results.hits.total?.value;
return {
+ hasErrors: false,
countTotal: totalEnabledRulesCount ?? 0,
countByType: parseSimpleRuleTypeBucket(aggregations.by_rule_type_id.buckets),
countNamespaces: aggregations.namespaces_count.value ?? 0,
};
} catch (err) {
+ const errorMessage = err && err.message ? err.message : err.toString();
logger.warn(
`Error executing alerting telemetry task: getTotalCountInUse - ${JSON.stringify(err)}`,
{
@@ -309,6 +318,8 @@ export async function getTotalCountInUse({
}
);
return {
+ hasErrors: true,
+ errorMessage,
countTotal: 0,
countByType: {},
countNamespaces: 0,
diff --git a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_task_manager.test.ts b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_task_manager.test.ts
index 6d58da12ca278..3061571ab7ed9 100644
--- a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_task_manager.test.ts
+++ b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_task_manager.test.ts
@@ -225,6 +225,7 @@ describe('task manager telemetry', () => {
logs__alert__document__count: 4,
},
},
+ hasErrors: false,
});
});
@@ -247,6 +248,8 @@ describe('task manager telemetry', () => {
expect(loggerMeta?.tags).toEqual(['alerting', 'telemetry-failed']);
expect(loggerMeta?.error?.stack_trace).toBeDefined();
expect(telemetry).toStrictEqual({
+ errorMessage: 'oh no',
+ hasErrors: true,
countFailedAndUnrecognizedTasks: 0,
countFailedAndUnrecognizedTasksByStatus: {},
countFailedAndUnrecognizedTasksByStatusByType: {},
diff --git a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_task_manager.ts b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_task_manager.ts
index b13f300bcd4a0..41f41f6ab7ada 100644
--- a/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_task_manager.ts
+++ b/x-pack/plugins/alerting/server/usage/lib/get_telemetry_from_task_manager.ts
@@ -26,6 +26,8 @@ interface GetFailedAndUnrecognizedTasksAggregationBucket extends AggregationsStr
}
interface GetFailedAndUnrecognizedTasksResults {
+ hasErrors: boolean;
+ errorMessage?: string;
countFailedAndUnrecognizedTasks: number;
countFailedAndUnrecognizedTasksByStatus: Record;
countFailedAndUnrecognizedTasksByStatusByType: Record>;
@@ -115,10 +117,12 @@ export async function getFailedAndUnrecognizedTasksPerDay({
aggregations.by_status.buckets as GetFailedAndUnrecognizedTasksAggregationBucket[];
return {
+ hasErrors: false,
...parseBucket(aggregationsByStatus),
countFailedAndUnrecognizedTasks: totalFailedAndUnrecognizedTasks ?? 0,
};
} catch (err) {
+ const errorMessage = err && err.message ? err.message : err.toString();
logger.warn(
`Error executing alerting telemetry task: getFailedAndUnrecognizedTasksPerDay - ${JSON.stringify(
err
@@ -129,6 +133,8 @@ export async function getFailedAndUnrecognizedTasksPerDay({
}
);
return {
+ hasErrors: true,
+ errorMessage,
countFailedAndUnrecognizedTasks: 0,
countFailedAndUnrecognizedTasksByStatus: {},
countFailedAndUnrecognizedTasksByStatusByType: {},
diff --git a/x-pack/plugins/alerting/server/usage/task.ts b/x-pack/plugins/alerting/server/usage/task.ts
index 9d01ac21e845b..0bbfab30f0796 100644
--- a/x-pack/plugins/alerting/server/usage/task.ts
+++ b/x-pack/plugins/alerting/server/usage/task.ts
@@ -111,10 +111,33 @@ export function telemetryTaskRunner(
dailyExecutionTimeoutCounts,
dailyFailedAndUnrecognizedTasks,
]) => {
+ const hasErrors =
+ totalCountAggregations.hasErrors ||
+ totalInUse.hasErrors ||
+ dailyExecutionCounts.hasErrors ||
+ dailyExecutionTimeoutCounts.hasErrors ||
+ dailyFailedAndUnrecognizedTasks.hasErrors;
+
+ const errorMessages = [
+ totalCountAggregations.errorMessage,
+ totalInUse.errorMessage,
+ dailyExecutionCounts.errorMessage,
+ dailyExecutionTimeoutCounts.errorMessage,
+ dailyFailedAndUnrecognizedTasks.errorMessage,
+ ].filter((message) => message !== undefined);
+
return {
state: {
+ has_errors: hasErrors,
+ ...(errorMessages.length > 0 && { error_messages: errorMessages }),
runs: (state.runs || 0) + 1,
- ...totalCountAggregations,
+ count_total: totalCountAggregations.count_total,
+ count_by_type: totalCountAggregations.count_by_type,
+ throttle_time: totalCountAggregations.throttle_time,
+ schedule_time: totalCountAggregations.schedule_time,
+ throttle_time_number_s: totalCountAggregations.throttle_time_number_s,
+ schedule_time_number_s: totalCountAggregations.schedule_time_number_s,
+ connectors_per_alert: totalCountAggregations.connectors_per_alert,
count_active_by_type: totalInUse.countByType,
count_active_total: totalInUse.countTotal,
count_disabled_total: totalCountAggregations.count_total - totalInUse.countTotal,
diff --git a/x-pack/plugins/alerting/server/usage/types.ts b/x-pack/plugins/alerting/server/usage/types.ts
index b045fd5009c70..a0f45d1932309 100644
--- a/x-pack/plugins/alerting/server/usage/types.ts
+++ b/x-pack/plugins/alerting/server/usage/types.ts
@@ -6,6 +6,8 @@
*/
export interface AlertingUsage {
+ has_errors: boolean;
+ error_messages?: string[];
count_total: number;
count_active_total: number;
count_disabled_total: 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 ae6b48d5d4cec..e31e2c0dd8257 100644
--- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json
+++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json
@@ -2,6 +2,15 @@
"properties": {
"actions": {
"properties": {
+ "has_errors": {
+ "type": "boolean"
+ },
+ "error_messages": {
+ "type": "array",
+ "items": {
+ "type": "text"
+ }
+ },
"alert_history_connector_enabled": {
"type": "boolean",
"_meta": {
@@ -261,6 +270,15 @@
},
"alerts": {
"properties": {
+ "has_errors": {
+ "type": "boolean"
+ },
+ "error_messages": {
+ "type": "array",
+ "items": {
+ "type": "text"
+ }
+ },
"count_total": {
"type": "long"
},
From 436f0df9a4fddd3c20bb442ebe8c430bcd73158c Mon Sep 17 00:00:00 2001
From: Jonathan Budzenski
Date: Wed, 10 Aug 2022 12:04:44 -0400
Subject: [PATCH 17/49] [ci] Use more optimizer threads (#138320)
---
.buildkite/scripts/build_kibana_plugins.sh | 3 ++-
src/dev/build/tasks/build_kibana_platform_plugins.ts | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/.buildkite/scripts/build_kibana_plugins.sh b/.buildkite/scripts/build_kibana_plugins.sh
index fafd68d86a65d..4e566008b3351 100755
--- a/.buildkite/scripts/build_kibana_plugins.sh
+++ b/.buildkite/scripts/build_kibana_plugins.sh
@@ -3,4 +3,5 @@
set -euo pipefail
echo "--- Build Platform Plugins"
-node scripts/build_kibana_platform_plugins --examples --test-plugins
+THREADS=$(grep -c ^processor /proc/cpuinfo)
+node scripts/build_kibana_platform_plugins --examples --test-plugins --workers "$THREADS" --no-inspect-workers --no-progress
diff --git a/src/dev/build/tasks/build_kibana_platform_plugins.ts b/src/dev/build/tasks/build_kibana_platform_plugins.ts
index ffb73666e4468..9beb296b7c38c 100644
--- a/src/dev/build/tasks/build_kibana_platform_plugins.ts
+++ b/src/dev/build/tasks/build_kibana_platform_plugins.ts
@@ -31,6 +31,7 @@ export const BuildKibanaPlatformPlugins: Task = {
watch: false,
dist: true,
includeCoreBundle: true,
+ inspectWorkers: false,
limitsPath: Path.resolve(REPO_ROOT, 'packages/kbn-optimizer/limits.yml'),
});
From 2713d23477ed84d19e1274c9ef2bcee77b1b9015 Mon Sep 17 00:00:00 2001
From: spalger
Date: Wed, 10 Aug 2022 12:13:51 -0500
Subject: [PATCH 18/49] skip suite failing es snapshot promotion (#138528)
---
.../tests/user_profiles/get_current.ts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/x-pack/test/security_api_integration/tests/user_profiles/get_current.ts b/x-pack/test/security_api_integration/tests/user_profiles/get_current.ts
index d7f23545aecd0..786059642c9d2 100644
--- a/x-pack/test/security_api_integration/tests/user_profiles/get_current.ts
+++ b/x-pack/test/security_api_integration/tests/user_profiles/get_current.ts
@@ -12,7 +12,8 @@ export default function ({ getService }: FtrProviderContext) {
const supertestWithoutAuth = getService('supertestWithoutAuth');
const security = getService('security');
- describe('Getting user profile for the current user', () => {
+ // FAILING ES PROMOTION: https://github.com/elastic/kibana/issues/138528
+ describe.skip('Getting user profile for the current user', () => {
const testUserName = 'user_with_profile';
async function login() {
From 8fa7f63c6a49c5cb60daad11225202ff9018b0df Mon Sep 17 00:00:00 2001
From: Byron Hulcher
Date: Wed, 10 Aug 2022 13:15:02 -0400
Subject: [PATCH 19/49] Update link for indices documentation (#138535)
---
.../components/search_indices/search_indices.tsx | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx
index e6b74bb89773e..b6b0f433f6d17 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx
@@ -18,12 +18,14 @@ import {
EuiTitle,
EuiSwitch,
EuiSearchBar,
+ EuiLink,
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n-react';
import { AddContentEmptyPrompt } from '../../../shared/add_content_empty_prompt';
+import { docLinks } from '../../../shared/doc_links';
import { ElasticsearchResources } from '../../../shared/elasticsearch_resources';
import { GettingStartedSteps } from '../../../shared/getting_started_steps';
import { EuiLinkTo } from '../../../shared/react_router_helpers';
@@ -112,14 +114,18 @@ export const SearchIndices: React.FC = () => {
defaultMessage="Your Elasticsearch indices are now front and center in Enterprise Search. You can create new indices and build search experiences with them directly. To learn more about how to use Elasticsearch indices in Enterprise Search {docLink}"
values={{
docLink: (
-
+
{i18n.translate(
'xpack.enterpriseSearch.content.indices.callout.docLink',
{
defaultMessage: 'read the documentation',
}
)}
-
+
),
}}
/>
From 00c8cf9e56860b681f0b86a3299cd8d077cf9c7f Mon Sep 17 00:00:00 2001
From: Hannah Mudge
Date: Wed, 10 Aug 2022 11:36:49 -0600
Subject: [PATCH 20/49] [Dashboard] View panel-level filters and queries
(#136655)
* Use panel action to show filters
* Switch over to a modal
* Fix how I'm getting data views
* Deserialize and clean filters for getFilters
* Read only filter items
* Fix render of filter pills
* Fix title for read only filter pills + clean up code
* Add i18n support + fix types
* Provide Kibana uiSettings to modal
* Fix how panel titles are grabbed for functional tests
* Add jest tests for badge
[CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'
* Remove focus trap from modal
* Add edit button to modal that redirects to visualize app
* Add tooltip to filter pills
* Add jest tests for modal
* Clean up badge code and move to modal
* Make filter pills focusable
* Add tooltip to readOnly filter pills only
* Add `getFilters` to saved search embeddable
* Add query to filters modal
* Support by reference embeddables - specifically for visualize
* Fix jest tests for modal
* Add i18n support for new form in modal
* Clean up code
* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'
* Fix jest tests for badge
* Temporarily disable for maps and add TODO comment
* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'
* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'
* Fix styling of modal + i18n of aria label
* Fix bundle size
* Address first round of feedback
* Add comments to public APIs
* Export missing API
* Add comments to public dashboard API
* Fix imports, types, and add more comments
* Fix losing of context
* Add more public API comments
* Add comments to each embeddable/dashboard container
* Add more public API comments
* Fix losing of context for real this time
* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'
* Fix jest test
* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'
* Address feedback
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
---
src/plugins/dashboard/kibana.json | 3 +-
.../filters_notification_badge.test.tsx | 135 +++++++++++++++
.../actions/filters_notification_badge.tsx | 119 +++++++++++++
.../filters_notification_modal.test.tsx | 132 ++++++++++++++
.../actions/filters_notification_modal.tsx | 162 ++++++++++++++++++
.../public/application/actions/index.ts | 1 +
.../embeddable/dashboard_container.tsx | 20 +++
.../hooks/use_dashboard_app_state.ts | 2 +-
.../dashboard/public/dashboard_strings.ts | 23 +++
src/plugins/dashboard/public/plugin.tsx | 23 ++-
.../embeddable/saved_search_embeddable.tsx | 27 ++-
src/plugins/embeddable/public/index.ts | 2 +
.../public/lib/filterable_embeddable/index.ts | 10 ++
.../public/lib/filterable_embeddable/types.ts | 36 ++++
src/plugins/embeddable/public/lib/index.ts | 1 +
src/plugins/embeddable/public/mocks.tsx | 16 ++
.../public/filter_bar/filter_bar.tsx | 2 +-
.../filter_bar/filter_item/filter_item.tsx | 9 +-
.../filter_bar/filter_item/filter_items.tsx | 20 ++-
.../public/filter_bar/filter_view/index.tsx | 101 ++++++-----
.../public/filter_bar/index.tsx | 11 ++
src/plugins/unified_search/public/index.ts | 3 +-
.../embeddable/visualize_embeddable.tsx | 32 +++-
.../functional/page_objects/dashboard_page.ts | 2 +-
.../lens/public/embeddable/embeddable.tsx | 26 ++-
.../maps/public/embeddable/map_embeddable.tsx | 19 +-
.../translations/translations/fr-FR.json | 1 -
.../translations/translations/ja-JP.json | 1 -
.../translations/translations/zh-CN.json | 1 -
29 files changed, 879 insertions(+), 61 deletions(-)
create mode 100644 src/plugins/dashboard/public/application/actions/filters_notification_badge.test.tsx
create mode 100644 src/plugins/dashboard/public/application/actions/filters_notification_badge.tsx
create mode 100644 src/plugins/dashboard/public/application/actions/filters_notification_modal.test.tsx
create mode 100644 src/plugins/dashboard/public/application/actions/filters_notification_modal.tsx
create mode 100644 src/plugins/embeddable/public/lib/filterable_embeddable/index.ts
create mode 100644 src/plugins/embeddable/public/lib/filterable_embeddable/types.ts
diff --git a/src/plugins/dashboard/kibana.json b/src/plugins/dashboard/kibana.json
index eced5b967f89a..2df14c7afb35c 100644
--- a/src/plugins/dashboard/kibana.json
+++ b/src/plugins/dashboard/kibana.json
@@ -20,7 +20,8 @@
"uiActions",
"urlForwarding",
"presentationUtil",
- "visualizations"
+ "visualizations",
+ "unifiedSearch"
],
"optionalPlugins": [
"home",
diff --git a/src/plugins/dashboard/public/application/actions/filters_notification_badge.test.tsx b/src/plugins/dashboard/public/application/actions/filters_notification_badge.test.tsx
new file mode 100644
index 0000000000000..5b990fe3ae62e
--- /dev/null
+++ b/src/plugins/dashboard/public/application/actions/filters_notification_badge.test.tsx
@@ -0,0 +1,135 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 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 { getSampleDashboardInput } from '../test_helpers';
+import { DashboardContainer } from '../embeddable/dashboard_container';
+
+import { coreMock, uiSettingsServiceMock } from '@kbn/core/public/mocks';
+import { CoreStart } from '@kbn/core/public';
+import { FiltersNotificationBadge } from '.';
+import { embeddablePluginMock } from '@kbn/embeddable-plugin/public/mocks';
+import { type Query, type AggregateQuery, Filter } from '@kbn/es-query';
+
+import {
+ ErrorEmbeddable,
+ FilterableEmbeddable,
+ IContainer,
+ isErrorEmbeddable,
+} from '../../services/embeddable';
+import {
+ ContactCardEmbeddable,
+ ContactCardEmbeddableFactory,
+ ContactCardEmbeddableInput,
+ ContactCardEmbeddableOutput,
+ CONTACT_CARD_EMBEDDABLE,
+} from '../../services/embeddable_test_samples';
+import { getStubPluginServices } from '@kbn/presentation-util-plugin/public';
+import { screenshotModePluginMock } from '@kbn/screenshot-mode-plugin/public/mocks';
+
+const { setup, doStart } = embeddablePluginMock.createInstance();
+setup.registerEmbeddableFactory(
+ CONTACT_CARD_EMBEDDABLE,
+ new ContactCardEmbeddableFactory((() => null) as any, {} as any)
+);
+const start = doStart();
+
+let action: FiltersNotificationBadge;
+let container: DashboardContainer;
+let embeddable: ContactCardEmbeddable & FilterableEmbeddable;
+const mockGetFilters = jest.fn(async () => [] as Filter[]);
+const mockGetQuery = jest.fn(async () => undefined as Query | AggregateQuery | undefined);
+let coreStart: CoreStart;
+
+const getMockPhraseFilter = (key: string, value: string) => {
+ return {
+ meta: {
+ type: 'phrase',
+ key,
+ params: {
+ query: value,
+ },
+ },
+ query: {
+ match_phrase: {
+ [key]: value,
+ },
+ },
+ $state: {
+ store: 'appState',
+ },
+ };
+};
+
+beforeEach(async () => {
+ coreStart = coreMock.createStart();
+
+ const containerOptions = {
+ ExitFullScreenButton: () => null,
+ SavedObjectFinder: () => null,
+ application: {} as any,
+ embeddable: start,
+ inspector: {} as any,
+ notifications: {} as any,
+ overlays: coreStart.overlays,
+ savedObjectMetaData: {} as any,
+ uiActions: {} as any,
+ uiSettings: uiSettingsServiceMock.createStartContract(),
+ http: coreStart.http,
+ theme: coreStart.theme,
+ presentationUtil: getStubPluginServices(),
+ screenshotMode: screenshotModePluginMock.createSetupContract(),
+ };
+
+ container = new DashboardContainer(getSampleDashboardInput(), containerOptions);
+
+ const contactCardEmbeddable = await container.addNewEmbeddable<
+ ContactCardEmbeddableInput,
+ ContactCardEmbeddableOutput,
+ ContactCardEmbeddable
+ >(CONTACT_CARD_EMBEDDABLE, {
+ firstName: 'Kibanana',
+ });
+ if (isErrorEmbeddable(contactCardEmbeddable)) {
+ throw new Error('Failed to create embeddable');
+ }
+
+ action = new FiltersNotificationBadge(
+ coreStart.application,
+ embeddablePluginMock.createStartContract(),
+ coreStart.overlays,
+ coreStart.theme,
+ coreStart.uiSettings
+ );
+ embeddable = embeddablePluginMock.mockFilterableEmbeddable(contactCardEmbeddable, {
+ getFilters: () => mockGetFilters(),
+ getQuery: () => mockGetQuery(),
+ });
+});
+
+test('Badge is incompatible with Error Embeddables', async () => {
+ const errorEmbeddable = new ErrorEmbeddable(
+ 'Wow what an awful error',
+ { id: ' 404' },
+ embeddable.getRoot() as IContainer
+ );
+ expect(await action.isCompatible({ embeddable: errorEmbeddable })).toBe(false);
+});
+
+test('Badge is not shown when panel has no app-level filters or queries', async () => {
+ expect(await action.isCompatible({ embeddable })).toBe(false);
+});
+
+test('Badge is shown when panel has at least one app-level filter', async () => {
+ mockGetFilters.mockResolvedValue([getMockPhraseFilter('fieldName', 'someValue')] as Filter[]);
+ expect(await action.isCompatible({ embeddable })).toBe(true);
+});
+
+test('Badge is shown when panel has at least one app-level query', async () => {
+ mockGetQuery.mockResolvedValue({ sql: 'SELECT * FROM test_dataview' } as AggregateQuery);
+ expect(await action.isCompatible({ embeddable })).toBe(true);
+});
diff --git a/src/plugins/dashboard/public/application/actions/filters_notification_badge.tsx b/src/plugins/dashboard/public/application/actions/filters_notification_badge.tsx
new file mode 100644
index 0000000000000..e5a1d1af32eea
--- /dev/null
+++ b/src/plugins/dashboard/public/application/actions/filters_notification_badge.tsx
@@ -0,0 +1,119 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import React from 'react';
+
+import { CoreStart, OverlayStart } from '@kbn/core/public';
+import {
+ EditPanelAction,
+ EmbeddableStart,
+ isFilterableEmbeddable,
+} from '@kbn/embeddable-plugin/public';
+import { createKibanaReactContext } from '@kbn/kibana-react-plugin/public';
+
+import { type AggregateQuery } from '@kbn/es-query';
+import { Action, IncompatibleActionError } from '../../services/ui_actions';
+import { toMountPoint } from '../../services/kibana_react';
+import { IEmbeddable, isErrorEmbeddable } from '../../services/embeddable';
+import { dashboardFilterNotificationBadge } from '../../dashboard_strings';
+
+export const BADGE_FILTERS_NOTIFICATION = 'ACTION_FILTERS_NOTIFICATION';
+
+export interface FiltersNotificationActionContext {
+ embeddable: IEmbeddable;
+}
+
+export class FiltersNotificationBadge implements Action {
+ public readonly id = BADGE_FILTERS_NOTIFICATION;
+ public readonly type = BADGE_FILTERS_NOTIFICATION;
+ public readonly order = 2;
+
+ private displayName = dashboardFilterNotificationBadge.getDisplayName();
+ private icon = 'filter';
+
+ constructor(
+ private application: CoreStart['application'],
+ private embeddableService: EmbeddableStart,
+ private overlays: OverlayStart,
+ private theme: CoreStart['theme'],
+ private uiSettings: CoreStart['uiSettings']
+ ) {}
+
+ public getDisplayName({ embeddable }: FiltersNotificationActionContext) {
+ if (!embeddable.getRoot() || !embeddable.getRoot().isContainer) {
+ throw new IncompatibleActionError();
+ }
+ return this.displayName;
+ }
+
+ public getIconType({ embeddable }: FiltersNotificationActionContext) {
+ if (!embeddable.getRoot() || !embeddable.getRoot().isContainer) {
+ throw new IncompatibleActionError();
+ }
+ return this.icon;
+ }
+
+ public isCompatible = async ({ embeddable }: FiltersNotificationActionContext) => {
+ // add all possible early returns to avoid the async import unless absolutely necessary
+ if (
+ isErrorEmbeddable(embeddable) ||
+ !embeddable.getRoot().isContainer ||
+ !isFilterableEmbeddable(embeddable)
+ ) {
+ return false;
+ }
+ if ((await embeddable.getFilters()).length > 0) return true;
+
+ // all early returns failed, so go ahead and check the query now
+ const { isOfQueryType, isOfAggregateQueryType } = await import('@kbn/es-query');
+ const query = await embeddable.getQuery();
+ return (
+ (isOfQueryType(query) && query.query !== '') ||
+ isOfAggregateQueryType(query as AggregateQuery)
+ );
+ };
+
+ public execute = async (context: FiltersNotificationActionContext) => {
+ const { embeddable } = context;
+
+ const isCompatible = await this.isCompatible({ embeddable });
+ if (!isCompatible || !isFilterableEmbeddable(embeddable)) {
+ throw new IncompatibleActionError();
+ }
+
+ const { Provider: KibanaReactContextProvider } = createKibanaReactContext({
+ uiSettings: this.uiSettings,
+ });
+ const editPanelAction = new EditPanelAction(
+ this.embeddableService.getEmbeddableFactory,
+ this.application,
+ this.embeddableService.getStateTransfer()
+ );
+ const FiltersNotificationModal = await import('./filters_notification_modal').then(
+ (m) => m.FiltersNotificationModal
+ );
+
+ const session = this.overlays.openModal(
+ toMountPoint(
+
+ session.close()}
+ />
+ ,
+ { theme$: this.theme.theme$ }
+ ),
+ {
+ 'data-test-subj': 'filtersNotificationModal',
+ }
+ );
+ };
+}
diff --git a/src/plugins/dashboard/public/application/actions/filters_notification_modal.test.tsx b/src/plugins/dashboard/public/application/actions/filters_notification_modal.test.tsx
new file mode 100644
index 0000000000000..2729395b7eec5
--- /dev/null
+++ b/src/plugins/dashboard/public/application/actions/filters_notification_modal.test.tsx
@@ -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 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import React from 'react';
+import { findTestSubject, mountWithIntl } from '@kbn/test-jest-helpers';
+
+import { DashboardContainer } from '../embeddable/dashboard_container';
+import { embeddablePluginMock } from '@kbn/embeddable-plugin/public/mocks';
+import { getSampleDashboardInput } from '../test_helpers';
+import { CoreStart } from '@kbn/core/public';
+import { coreMock, uiSettingsServiceMock } from '@kbn/core/public/mocks';
+import { EuiModalFooter } from '@elastic/eui';
+import { getStubPluginServices } from '@kbn/presentation-util-plugin/public';
+import { screenshotModePluginMock } from '@kbn/screenshot-mode-plugin/public/mocks';
+import { FiltersNotificationModal, FiltersNotificationProps } from './filters_notification_modal';
+import { FilterableEmbeddable, isErrorEmbeddable, ViewMode } from '../../services/embeddable';
+import {
+ CONTACT_CARD_EMBEDDABLE,
+ ContactCardEmbeddableFactory,
+ ContactCardEmbeddableInput,
+ ContactCardEmbeddableOutput,
+ ContactCardEmbeddable,
+} from '../../services/embeddable_test_samples';
+import { act } from 'react-dom/test-utils';
+
+describe('LibraryNotificationPopover', () => {
+ const { setup, doStart } = embeddablePluginMock.createInstance();
+ setup.registerEmbeddableFactory(
+ CONTACT_CARD_EMBEDDABLE,
+ new ContactCardEmbeddableFactory((() => null) as any, {} as any)
+ );
+ const start = doStart();
+
+ let container: DashboardContainer;
+ let embeddable: ContactCardEmbeddable & FilterableEmbeddable;
+ let defaultProps: FiltersNotificationProps;
+ let coreStart: CoreStart;
+
+ beforeEach(async () => {
+ coreStart = coreMock.createStart();
+
+ const containerOptions = {
+ ExitFullScreenButton: () => null,
+ SavedObjectFinder: () => null,
+ application: {} as any,
+ embeddable: start,
+ inspector: {} as any,
+ notifications: {} as any,
+ overlays: coreStart.overlays,
+ savedObjectMetaData: {} as any,
+ uiActions: {} as any,
+ uiSettings: uiSettingsServiceMock.createStartContract(),
+ http: coreStart.http,
+ theme: coreStart.theme,
+ presentationUtil: getStubPluginServices(),
+ screenshotMode: screenshotModePluginMock.createSetupContract(),
+ };
+
+ container = new DashboardContainer(getSampleDashboardInput(), containerOptions);
+ const contactCardEmbeddable = await container.addNewEmbeddable<
+ ContactCardEmbeddableInput,
+ ContactCardEmbeddableOutput,
+ ContactCardEmbeddable
+ >(CONTACT_CARD_EMBEDDABLE, {
+ firstName: 'Kibanana',
+ });
+ if (isErrorEmbeddable(contactCardEmbeddable)) {
+ throw new Error('Failed to create embeddable');
+ }
+ embeddable = embeddablePluginMock.mockFilterableEmbeddable(contactCardEmbeddable, {
+ getFilters: jest.fn(),
+ getQuery: jest.fn(),
+ });
+
+ defaultProps = {
+ context: { embeddable: contactCardEmbeddable },
+ displayName: 'test display',
+ id: 'testId',
+ editPanelAction: {
+ execute: jest.fn(),
+ } as unknown as FiltersNotificationProps['editPanelAction'],
+ onClose: jest.fn(),
+ };
+ });
+
+ function mountComponent(props?: Partial) {
+ return mountWithIntl();
+ }
+
+ test('show modal footer in edit mode', async () => {
+ embeddable.updateInput({ viewMode: ViewMode.EDIT });
+ await act(async () => {
+ const component = mountComponent();
+ const footer = component.find(EuiModalFooter);
+ expect(footer.exists()).toBe(true);
+ });
+ });
+
+ test('hide modal footer in view mode', async () => {
+ embeddable.updateInput({ viewMode: ViewMode.VIEW });
+ await act(async () => {
+ const component = mountComponent();
+ const footer = component.find(EuiModalFooter);
+ expect(footer.exists()).toBe(false);
+ });
+ });
+
+ test('clicking edit button executes edit panel action', async () => {
+ embeddable.updateInput({ viewMode: ViewMode.EDIT });
+ await act(async () => {
+ const component = mountComponent();
+ const editButton = findTestSubject(component, 'filtersNotificationModal__editButton');
+ editButton.simulate('click');
+ expect(defaultProps.editPanelAction.execute).toHaveBeenCalled();
+ });
+ });
+
+ test('clicking close button calls onClose', async () => {
+ embeddable.updateInput({ viewMode: ViewMode.EDIT });
+ await act(async () => {
+ const component = mountComponent();
+ const editButton = findTestSubject(component, 'filtersNotificationModal__closeButton');
+ editButton.simulate('click');
+ expect(defaultProps.onClose).toHaveBeenCalled();
+ });
+ });
+});
diff --git a/src/plugins/dashboard/public/application/actions/filters_notification_modal.tsx b/src/plugins/dashboard/public/application/actions/filters_notification_modal.tsx
new file mode 100644
index 0000000000000..b188674a85b69
--- /dev/null
+++ b/src/plugins/dashboard/public/application/actions/filters_notification_modal.tsx
@@ -0,0 +1,162 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import React, { useState } from 'react';
+import useMount from 'react-use/lib/useMount';
+
+import {
+ EuiButton,
+ EuiButtonEmpty,
+ EuiCodeBlock,
+ EuiFlexGroup,
+ EuiFlexItem,
+ EuiForm,
+ EuiFormRow,
+ EuiLoadingContent,
+ EuiModalBody,
+ EuiModalFooter,
+ EuiModalHeader,
+ EuiModalHeaderTitle,
+} from '@elastic/eui';
+import { css } from '@emotion/react';
+import { DataView } from '@kbn/data-views-plugin/public';
+import {
+ EditPanelAction,
+ FilterableEmbeddable,
+ IEmbeddable,
+ ViewMode,
+} from '@kbn/embeddable-plugin/public';
+import {
+ type AggregateQuery,
+ type Filter,
+ getAggregateQueryMode,
+ isOfQueryType,
+} from '@kbn/es-query';
+import { FilterItems } from '@kbn/unified-search-plugin/public';
+
+import { FiltersNotificationActionContext } from './filters_notification_badge';
+import { DashboardContainer } from '../embeddable';
+import { dashboardFilterNotificationBadge } from '../../dashboard_strings';
+
+export interface FiltersNotificationProps {
+ context: FiltersNotificationActionContext;
+ displayName: string;
+ id: string;
+ editPanelAction: EditPanelAction;
+ onClose: () => void;
+}
+
+export function FiltersNotificationModal({
+ context,
+ displayName,
+ id,
+ editPanelAction,
+ onClose,
+}: FiltersNotificationProps) {
+ const { embeddable } = context;
+ const [isLoading, setIsLoading] = useState(true);
+ const [filters, setFilters] = useState([]);
+ const [queryString, setQueryString] = useState('');
+ const [queryLanguage, setQueryLanguage] = useState<'sql' | 'esql' | undefined>();
+
+ useMount(() => {
+ Promise.all([
+ (embeddable as IEmbeddable & FilterableEmbeddable).getFilters(),
+ (embeddable as IEmbeddable & FilterableEmbeddable).getQuery(),
+ ]).then(([embeddableFilters, embeddableQuery]) => {
+ setFilters(embeddableFilters);
+ if (embeddableQuery) {
+ if (isOfQueryType(embeddableQuery)) {
+ setQueryString(embeddableQuery.query as string);
+ } else {
+ const language = getAggregateQueryMode(embeddableQuery);
+ setQueryLanguage(language);
+ setQueryString(embeddableQuery[language as keyof AggregateQuery]);
+ }
+ }
+ setIsLoading(false);
+ });
+ });
+
+ const dataViewList: DataView[] = (embeddable.getRoot() as DashboardContainer)?.getAllDataViews();
+ const viewMode = embeddable.getInput().viewMode;
+
+ return (
+ <>
+
+
+
+ {isLoading ? (
+
+ ) : (
+
+ {queryString !== '' && (
+
+
+ {queryString}
+
+
+ )}
+ {filters && filters.length > 0 && (
+
+
+
+
+
+ )}
+
+ )}
+
+
+ {viewMode !== ViewMode.VIEW && (
+
+ )}
+ >
+ );
+}
diff --git a/src/plugins/dashboard/public/application/actions/index.ts b/src/plugins/dashboard/public/application/actions/index.ts
index 2c6263314cb25..5c95e3c42cccd 100644
--- a/src/plugins/dashboard/public/application/actions/index.ts
+++ b/src/plugins/dashboard/public/application/actions/index.ts
@@ -23,5 +23,6 @@ export {
LibraryNotificationAction,
ACTION_LIBRARY_NOTIFICATION,
} from './library_notification_action';
+export { FiltersNotificationBadge, BADGE_FILTERS_NOTIFICATION } from './filters_notification_badge';
export type { ExportContext } from './export_csv_action';
export { ExportCSVAction, ACTION_EXPORT_CSV } from './export_csv_action';
diff --git a/src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx b/src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx
index 9f59e8637ba1c..2bb7bbb51b376 100644
--- a/src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx
+++ b/src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx
@@ -16,6 +16,8 @@ import { reportPerformanceMetricEvent } from '@kbn/ebt-tools';
import { ControlGroupContainer } from '@kbn/controls-plugin/public';
import { Filter, TimeRange } from '@kbn/es-query';
+import { DataView } from '@kbn/data-views-plugin/public';
+
import { UiActionsStart } from '../../services/ui_actions';
import { RefreshInterval, Query } from '../../services/data';
import {
@@ -114,6 +116,24 @@ export class DashboardContainer extends Container {
+ return this.allDataViews;
+ };
+
+ /**
+ * Use this to set the dataviews that are used in the dashboard when they change/update
+ * @param newDataViews The new array of dataviews that will overwrite the old dataviews array
+ */
+ public setAllDataViews = (newDataViews: DataView[]) => {
+ this.allDataViews = newDataViews;
+ };
+
public getPanelCount = () => {
return Object.keys(this.getInput().panels).length;
};
diff --git a/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts b/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts
index 5497ae15a8714..30bb15c6ecd49 100644
--- a/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts
+++ b/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts
@@ -258,9 +258,9 @@ export const useDashboardAppState = ({
if (newDataViewIds?.[0]) {
dashboardContainer.controlGroup?.setRelevantDataViewId(newDataViewIds[0]);
}
-
// fetch all data views. These should be cached locally at this time so we will not need to query ES.
const allDataViews = await Promise.all(newDataViewIds.map((id) => dataViews.get(id)));
+ dashboardContainer.setAllDataViews(allDataViews);
setDashboardAppState((s) => ({ ...s, dataViews: allDataViews }));
},
});
diff --git a/src/plugins/dashboard/public/dashboard_strings.ts b/src/plugins/dashboard/public/dashboard_strings.ts
index d826f16b381e9..a158df1013558 100644
--- a/src/plugins/dashboard/public/dashboard_strings.ts
+++ b/src/plugins/dashboard/public/dashboard_strings.ts
@@ -191,6 +191,29 @@ export const dashboardReplacePanelAction = {
}),
};
+export const dashboardFilterNotificationBadge = {
+ getDisplayName: () =>
+ i18n.translate('dashboard.panel.filters', {
+ defaultMessage: 'Panel filters',
+ }),
+ getEditButtonTitle: () =>
+ i18n.translate('dashboard.panel.filters.modal.editButton', {
+ defaultMessage: 'Edit filters',
+ }),
+ getCloseButtonTitle: () =>
+ i18n.translate('dashboard.panel.filters.modal.closeButton', {
+ defaultMessage: 'Close',
+ }),
+ getQueryTitle: () =>
+ i18n.translate('dashboard.panel.filters.modal.queryTitle', {
+ defaultMessage: 'Query',
+ }),
+ getFiltersTitle: () =>
+ i18n.translate('dashboard.panel.filters.modal.filtersTitle', {
+ defaultMessage: 'Filters',
+ }),
+};
+
/*
Dashboard Editor
*/
diff --git a/src/plugins/dashboard/public/plugin.tsx b/src/plugins/dashboard/public/plugin.tsx
index ba06709d69f7b..c86ee5829eb44 100644
--- a/src/plugins/dashboard/public/plugin.tsx
+++ b/src/plugins/dashboard/public/plugin.tsx
@@ -26,9 +26,10 @@ import {
SavedObjectsClientContract,
} from '@kbn/core/public';
import { VisualizationsStart } from '@kbn/visualizations-plugin/public';
-
-import { replaceUrlHashQuery } from '@kbn/kibana-utils-plugin/public';
import { DataViewEditorStart } from '@kbn/data-view-editor-plugin/public';
+import { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public';
+import { replaceUrlHashQuery } from '@kbn/kibana-utils-plugin/public';
+
import { createKbnUrlTracker } from './services/kibana_utils';
import { UsageCollectionSetup } from './services/usage_collection';
import { UiActionsSetup, UiActionsStart } from './services/ui_actions';
@@ -51,6 +52,7 @@ import {
CONTEXT_MENU_TRIGGER,
EmbeddableSetup,
EmbeddableStart,
+ PANEL_BADGE_TRIGGER,
PANEL_NOTIFICATION_TRIGGER,
} from './services/embeddable';
import {
@@ -79,6 +81,7 @@ import { PlaceholderEmbeddableFactory } from './application/embeddable/placehold
import { ExportCSVAction } from './application/actions/export_csv_action';
import { dashboardFeatureCatalog } from './dashboard_strings';
import { SpacesPluginStart } from './services/spaces';
+import { FiltersNotificationBadge } from './application/actions/filters_notification_badge';
export interface DashboardFeatureFlagConfig {
allowByValueEmbeddables: boolean;
@@ -93,6 +96,7 @@ export interface DashboardSetupDependencies {
uiActions: UiActionsSetup;
usageCollection?: UsageCollectionSetup;
screenshotMode: ScreenshotModePluginSetup;
+ unifiedSearch: UnifiedSearchPublicPluginStart;
}
export interface DashboardStartDependencies {
@@ -111,6 +115,7 @@ export interface DashboardStartDependencies {
visualizations: VisualizationsStart;
screenshotMode: ScreenshotModePluginStart;
dataViewEditor: DataViewEditorStart;
+ unifiedSearch: UnifiedSearchPublicPluginStart;
}
export interface DashboardSetup {
@@ -336,13 +341,13 @@ export class DashboardPlugin
}
public start(core: CoreStart, plugins: DashboardStartDependencies): DashboardStart {
- const { notifications, overlays, application, theme } = core;
+ const { notifications, overlays, application, theme, uiSettings } = core;
const { uiActions, data, share, presentationUtil, embeddable } = plugins;
const dashboardCapabilities: Readonly = application.capabilities
.dashboard as DashboardCapabilities;
- const SavedObjectFinder = getSavedObjectFinder(core.savedObjects, core.uiSettings);
+ const SavedObjectFinder = getSavedObjectFinder(core.savedObjects, uiSettings);
const expandPanelAction = new ExpandPanelAction();
uiActions.registerAction(expandPanelAction);
@@ -361,6 +366,16 @@ export class DashboardPlugin
uiActions.registerAction(clonePanelAction);
uiActions.attachAction(CONTEXT_MENU_TRIGGER, clonePanelAction.id);
+ const panelLevelFiltersNotification = new FiltersNotificationBadge(
+ application,
+ embeddable,
+ overlays,
+ theme,
+ uiSettings
+ );
+ uiActions.registerAction(panelLevelFiltersNotification);
+ uiActions.attachAction(PANEL_BADGE_TRIGGER, panelLevelFiltersNotification.id);
+
if (share) {
const ExportCSVPlugin = new ExportCSVAction({ core, data });
uiActions.addTriggerAction(CONTEXT_MENU_TRIGGER, ExportCSVPlugin);
diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx
index c2e76e517f64d..1fb7acc18b7db 100644
--- a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx
+++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx
@@ -20,9 +20,14 @@ import { i18n } from '@kbn/i18n';
import { isEqual } from 'lodash';
import { I18nProvider } from '@kbn/i18n-react';
import type { KibanaExecutionContext } from '@kbn/core/public';
-import { Container, Embeddable } from '@kbn/embeddable-plugin/public';
+import { Container, Embeddable, FilterableEmbeddable } from '@kbn/embeddable-plugin/public';
import { Adapters, RequestAdapter } from '@kbn/inspector-plugin/common';
-import { APPLY_FILTER_TRIGGER, FilterManager, generateFilters } from '@kbn/data-plugin/public';
+import {
+ APPLY_FILTER_TRIGGER,
+ FilterManager,
+ generateFilters,
+ mapAndFlattenFilters,
+} from '@kbn/data-plugin/public';
import { ISearchSource } from '@kbn/data-plugin/public';
import { DataView, DataViewField } from '@kbn/data-views-plugin/public';
import { UiActionsStart } from '@kbn/ui-actions-plugin/public';
@@ -83,7 +88,7 @@ interface SearchEmbeddableConfig {
export class SavedSearchEmbeddable
extends Embeddable
- implements ISearchEmbeddable
+ implements ISearchEmbeddable, FilterableEmbeddable
{
private readonly savedSearch: SavedSearch;
private inspectorAdapters: Adapters;
@@ -548,6 +553,22 @@ export class SavedSearchEmbeddable
return this.savedSearch.description;
}
+ /**
+ * @returns Local/panel-level array of filters for Saved Search embeddable
+ */
+ public async getFilters() {
+ return mapAndFlattenFilters(
+ (this.savedSearch.searchSource.getFields().filter as Filter[]) ?? []
+ );
+ }
+
+ /**
+ * @returns Local/panel-level query for Saved Search embeddable
+ */
+ public async getQuery() {
+ return this.savedSearch.searchSource.getFields().query;
+ }
+
public destroy() {
super.destroy();
if (this.searchProps) {
diff --git a/src/plugins/embeddable/public/index.ts b/src/plugins/embeddable/public/index.ts
index 29409f63548af..4b4d63f4596a4 100644
--- a/src/plugins/embeddable/public/index.ts
+++ b/src/plugins/embeddable/public/index.ts
@@ -15,6 +15,7 @@ export type {
Adapters,
ReferenceOrValueEmbeddable,
SelfStyledEmbeddable,
+ FilterableEmbeddable,
ChartActionContext,
ContainerInput,
ContainerOutput,
@@ -79,6 +80,7 @@ export {
EmbeddableStateTransfer,
EmbeddableRenderer,
useEmbeddableFactory,
+ isFilterableEmbeddable,
} from './lib';
export { AttributeService, ATTRIBUTE_SERVICE_KEY } from './lib/attribute_service';
diff --git a/src/plugins/embeddable/public/lib/filterable_embeddable/index.ts b/src/plugins/embeddable/public/lib/filterable_embeddable/index.ts
new file mode 100644
index 0000000000000..ffa9470a34af4
--- /dev/null
+++ b/src/plugins/embeddable/public/lib/filterable_embeddable/index.ts
@@ -0,0 +1,10 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+export type { FilterableEmbeddable } from './types';
+export { isFilterableEmbeddable } from './types';
diff --git a/src/plugins/embeddable/public/lib/filterable_embeddable/types.ts b/src/plugins/embeddable/public/lib/filterable_embeddable/types.ts
new file mode 100644
index 0000000000000..8fe2b85e02ada
--- /dev/null
+++ b/src/plugins/embeddable/public/lib/filterable_embeddable/types.ts
@@ -0,0 +1,36 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import { type AggregateQuery, type Filter, type Query } from '@kbn/es-query';
+
+/**
+ * All embeddables that implement this interface should support being filtered
+ * and/or queried via the top navigation bar
+ * @public
+ */
+export interface FilterableEmbeddable {
+ /**
+ * Gets the embeddable's local filters
+ **/
+ getFilters: () => Promise;
+ /**
+ * Gets the embeddable's local query
+ **/
+ getQuery: () => Promise;
+}
+
+/**
+ * Ensure that embeddable supports filtering/querying
+ * @param incoming Embeddable that is being tested to check if it is a FilterableEmbeddable
+ * @returns true if the incoming embeddable is a FilterableEmbeddable, false if it is not
+ */
+export function isFilterableEmbeddable(incoming: unknown): incoming is FilterableEmbeddable {
+ return (
+ !!(incoming as FilterableEmbeddable).getFilters && !!(incoming as FilterableEmbeddable).getQuery
+ );
+}
diff --git a/src/plugins/embeddable/public/lib/index.ts b/src/plugins/embeddable/public/lib/index.ts
index 6f57003403aca..f8c30b12c5c74 100644
--- a/src/plugins/embeddable/public/lib/index.ts
+++ b/src/plugins/embeddable/public/lib/index.ts
@@ -16,3 +16,4 @@ export * from './panel';
export * from './state_transfer';
export * from './reference_or_value_embeddable';
export * from './self_styled_embeddable';
+export * from './filterable_embeddable';
diff --git a/src/plugins/embeddable/public/mocks.tsx b/src/plugins/embeddable/public/mocks.tsx
index 9f05b3eeaa001..25ccb141cd356 100644
--- a/src/plugins/embeddable/public/mocks.tsx
+++ b/src/plugins/embeddable/public/mocks.tsx
@@ -10,6 +10,7 @@ import React from 'react';
import { coreMock, themeServiceMock } from '@kbn/core/public/mocks';
import { CoreStart } from '@kbn/core/public';
import { Start as InspectorStart } from '@kbn/inspector-plugin/public';
+import { type AggregateQuery, type Filter, type Query } from '@kbn/es-query';
import { inspectorPluginMock } from '@kbn/inspector-plugin/public/mocks';
import { uiActionsPluginMock } from '@kbn/ui-actions-plugin/public/mocks';
@@ -27,6 +28,7 @@ import {
SavedObjectEmbeddableInput,
ReferenceOrValueEmbeddable,
SelfStyledEmbeddable,
+ FilterableEmbeddable,
} from '.';
import { SelfStyledOptions } from './lib/self_styled_embeddable/types';
@@ -112,6 +114,19 @@ export function mockSelfStyledEmbeddable(
return newEmbeddable as OriginalEmbeddableType & SelfStyledEmbeddable;
}
+export function mockFilterableEmbeddable(
+ embeddable: OriginalEmbeddableType,
+ options: {
+ getFilters: () => Promise;
+ getQuery: () => Promise;
+ }
+): OriginalEmbeddableType & FilterableEmbeddable {
+ const newEmbeddable: FilterableEmbeddable = embeddable as unknown as FilterableEmbeddable;
+ newEmbeddable.getFilters = () => options.getFilters();
+ newEmbeddable.getQuery = () => options.getQuery();
+ return newEmbeddable as OriginalEmbeddableType & FilterableEmbeddable;
+}
+
const createSetupContract = (): Setup => {
const setupContract: Setup = {
registerEmbeddableFactory: jest.fn(),
@@ -159,4 +174,5 @@ export const embeddablePluginMock = {
createInstance,
mockRefOrValEmbeddable,
mockSelfStyledEmbeddable,
+ mockFilterableEmbeddable,
};
diff --git a/src/plugins/unified_search/public/filter_bar/filter_bar.tsx b/src/plugins/unified_search/public/filter_bar/filter_bar.tsx
index 3eda5ded37078..3cf8c41b3c498 100644
--- a/src/plugins/unified_search/public/filter_bar/filter_bar.tsx
+++ b/src/plugins/unified_search/public/filter_bar/filter_bar.tsx
@@ -11,7 +11,7 @@ import { InjectedIntl, injectI18n } from '@kbn/i18n-react';
import type { Filter } from '@kbn/es-query';
import React, { useRef } from 'react';
import { DataView } from '@kbn/data-views-plugin/public';
-import FilterItems, { Props as FilterItemsProps } from './filter_item/filter_items';
+import FilterItems, { type FilterItemsProps } from './filter_item/filter_items';
import { filterBarStyles } from './filter_bar.styles';
diff --git a/src/plugins/unified_search/public/filter_bar/filter_item/filter_item.tsx b/src/plugins/unified_search/public/filter_bar/filter_item/filter_item.tsx
index f869aeeb07a32..abacffe4a46a9 100644
--- a/src/plugins/unified_search/public/filter_bar/filter_item/filter_item.tsx
+++ b/src/plugins/unified_search/public/filter_bar/filter_item/filter_item.tsx
@@ -20,6 +20,7 @@ import {
import classNames from 'classnames';
import React, { MouseEvent, useState, useEffect, HTMLAttributes } from 'react';
import { IUiSettingsClient } from '@kbn/core/public';
+
import { DataView } from '@kbn/data-views-plugin/public';
import {
getIndexPatternFromFilter,
@@ -42,6 +43,7 @@ export interface FilterItemProps {
uiSettings: IUiSettingsClient;
hiddenPanelOptions?: FilterPanelOption[];
timeRangeForSuggestionsOverride?: boolean;
+ readOnly?: boolean;
}
type FilterPopoverProps = HTMLAttributes & EuiPopoverProps;
@@ -67,7 +69,7 @@ export function FilterItem(props: FilterItemProps) {
const [isPopoverOpen, setIsPopoverOpen] = useState(false);
const [indexPatternExists, setIndexPatternExists] = useState(undefined);
const [renderedComponent, setRenderedComponent] = useState('menu');
- const { id, filter, indexPatterns, hiddenPanelOptions } = props;
+ const { id, filter, indexPatterns, hiddenPanelOptions, readOnly = false } = props;
useEffect(() => {
if (isPopoverOpen) {
@@ -355,6 +357,7 @@ export function FilterItem(props: FilterItemProps) {
const filterViewProps = {
filter,
+ readOnly,
valueLabel: valueLabelConfig.title,
fieldLabel: getFieldDisplayValueFromFilter(filter, indexPatterns),
filterLabelStatus: valueLabelConfig.status,
@@ -377,7 +380,9 @@ export function FilterItem(props: FilterItemProps) {
panelPaddingSize: 'none',
};
- return (
+ return readOnly ? (
+
+ ) : (
{renderedComponent === 'menu' ? (
diff --git a/src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx b/src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx
index 0119bf10cfa27..4c29c4284860d 100644
--- a/src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx
+++ b/src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx
@@ -17,19 +17,34 @@ import { DataView } from '@kbn/data-views-plugin/public';
import { useKibana } from '@kbn/kibana-react-plugin/public';
import { FilterItem, FilterItemProps } from './filter_item';
-export interface Props {
+/**
+ * Properties for the filter items component, which will render a single filter pill for every filter that is sent in
+ * as part of the `Filter[]` property.
+ */
+export interface FilterItemsProps {
+ /** Array of filters that will be rendered as filter pills */
filters: Filter[];
+ /** Optional property that controls whether or not clicking the filter pill opens a popover *and* whether
+ * or not the `x` button to remove the filter is rendered.*/
+ readOnly?: boolean;
+ /** If not read only, this is called whenever a filter is removed and/or updated */
onFiltersUpdated?: (filters: Filter[]) => void;
+ /** A list of all dataviews that are used for the filters */
indexPatterns: DataView[];
+ /** This is injected by the lazer loader */
intl: InjectedIntl;
+ /** Controls whether or not filter suggestions are influenced by the global time */
timeRangeForSuggestionsOverride?: boolean;
+ /** Array of panel options that controls the styling of each filter pill */
hiddenPanelOptions?: FilterItemProps['hiddenPanelOptions'];
}
-const FilterItemsUI = React.memo(function FilterItemsUI(props: Props) {
+const FilterItemsUI = React.memo(function FilterItemsUI(props: FilterItemsProps) {
const groupRef = useRef(null);
const kibana = useKibana();
const { appName, usageCollection, uiSettings } = kibana.services;
+ const { readOnly = false } = props;
+
if (!uiSettings) return null;
const reportUiCounter = usageCollection?.reportUiCounter.bind(usageCollection, appName);
@@ -59,6 +74,7 @@ const FilterItemsUI = React.memo(function FilterItemsUI(props: Props) {
uiSettings={uiSettings!}
hiddenPanelOptions={props.hiddenPanelOptions}
timeRangeForSuggestionsOverride={props.timeRangeForSuggestionsOverride}
+ readOnly={readOnly}
/>
));
diff --git a/src/plugins/unified_search/public/filter_bar/filter_view/index.tsx b/src/plugins/unified_search/public/filter_bar/filter_view/index.tsx
index 0e10766139820..ffffee70534bd 100644
--- a/src/plugins/unified_search/public/filter_bar/filter_view/index.tsx
+++ b/src/plugins/unified_search/public/filter_bar/filter_view/index.tsx
@@ -6,7 +6,7 @@
* Side Public License, v 1.
*/
-import { EuiBadge, EuiBadgeProps, useInnerText } from '@elastic/eui';
+import { EuiBadge, EuiBadgeProps, EuiToolTip, useInnerText } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import React, { FC } from 'react';
import { Filter, isFilterPinned } from '@kbn/es-query';
@@ -15,6 +15,7 @@ import type { FilterLabelStatus } from '../filter_item/filter_item';
interface Props {
filter: Filter;
+ readOnly: boolean;
valueLabel: string;
fieldLabel?: string;
filterLabelStatus: FilterLabelStatus;
@@ -25,6 +26,7 @@ interface Props {
export const FilterView: FC = ({
filter,
+ readOnly,
iconOnClick,
onClick,
valueLabel,
@@ -36,13 +38,17 @@ export const FilterView: FC = ({
}: Props) => {
const [ref, innerText] = useInnerText();
- let title =
- errorMessage ||
- i18n.translate('unifiedSearch.filter.filterBar.moreFilterActionsMessage', {
- defaultMessage: 'Filter: {innerText}. Select for more filter actions.',
- values: { innerText },
- });
+ const filterString = readOnly
+ ? i18n.translate('unifiedSearch.filter.filterBar.filterString', {
+ defaultMessage: 'Filter: {innerText}.',
+ values: { innerText },
+ })
+ : i18n.translate('unifiedSearch.filter.filterBar.filterActionsMessage', {
+ defaultMessage: 'Filter: {innerText}. Select for more filter actions.',
+ values: { innerText },
+ });
+ let title: string = errorMessage || filterString;
if (isFilterPinned(filter)) {
title = `${i18n.translate('unifiedSearch.filter.filterBar.pinnedFilterPrefix', {
defaultMessage: 'Pinned',
@@ -54,41 +60,58 @@ export const FilterView: FC = ({
})} ${title}`;
}
- const badgeProps: EuiBadgeProps = {
- title,
- color: 'hollow',
- iconType: 'cross',
- iconSide: 'right',
- closeButtonProps: {
- // Removing tab focus on close button because the same option can be obtained through the context menu
- // Also, we may want to add a `DEL` keyboard press functionality
- tabIndex: -1,
- },
- iconOnClick,
- iconOnClickAriaLabel: i18n.translate(
- 'unifiedSearch.filter.filterBar.filterItemBadgeIconAriaLabel',
- {
- defaultMessage: 'Delete {filter}',
- values: { filter: innerText },
- }
- ),
- onClick,
- onClickAriaLabel: i18n.translate('unifiedSearch.filter.filterBar.filterItemBadgeAriaLabel', {
- defaultMessage: 'Filter actions',
- }),
- };
+ const sharedProps = { color: 'hollow', tabIndex: 0 };
+ const badgeProps: EuiBadgeProps = readOnly
+ ? // prevent native tooltip for read-only filter pulls by setting title to undefined
+ { ...sharedProps, title: undefined }
+ : {
+ ...sharedProps,
+ title, // use native tooltip for non-read-only filter pills
+ iconType: 'cross',
+ iconSide: 'right',
+ closeButtonProps: {
+ // Removing tab focus on close button because the same option can be obtained through the context menu
+ // Also, we may want to add a `DEL` keyboard press functionality
+ tabIndex: -1,
+ },
+ iconOnClick,
+ iconOnClickAriaLabel: i18n.translate(
+ 'unifiedSearch.filter.filterBar.filterItemBadgeIconAriaLabel',
+ {
+ defaultMessage: 'Delete {filter}',
+ values: { filter: innerText },
+ }
+ ),
+ onClick,
+ onClickAriaLabel: i18n.translate(
+ 'unifiedSearch.filter.filterBar.filterItemBadgeAriaLabel',
+ {
+ defaultMessage: 'Filter actions',
+ }
+ ),
+ };
- return (
+ const FilterPill = () => (
+
+
+ );
+
+ return readOnly ? (
+
-
+
-
+
+ ) : (
+
+
+
);
};
diff --git a/src/plugins/unified_search/public/filter_bar/index.tsx b/src/plugins/unified_search/public/filter_bar/index.tsx
index 30f94c3972ee1..a70b6b93de5dd 100644
--- a/src/plugins/unified_search/public/filter_bar/index.tsx
+++ b/src/plugins/unified_search/public/filter_bar/index.tsx
@@ -8,6 +8,8 @@
import React from 'react';
+export type { FilterItemsProps } from './filter_item/filter_items';
+
const Fallback = () => ;
const LazyFilterBar = React.lazy(() => import('./filter_bar'));
@@ -18,6 +20,9 @@ export const FilterBar = (props: React.ComponentProps) =>
);
const LazyFilterItems = React.lazy(() => import('./filter_item/filter_items'));
+/**
+ * Renders a group of filter pills
+ */
export const FilterItems = (props: React.ComponentProps) => (
}>
@@ -25,6 +30,9 @@ export const FilterItems = (props: React.ComponentProps)
);
const LazyFilterLabel = React.lazy(() => import('./filter_editor/lib/filter_label'));
+/**
+ * Renders the label for a single filter pill
+ */
export const FilterLabel = (props: React.ComponentProps) => (
}>
@@ -32,6 +40,9 @@ export const FilterLabel = (props: React.ComponentProps)
);
const LazyFilterItem = React.lazy(() => import('./filter_item/filter_item'));
+/**
+ * Renders a single filter pill
+ */
export const FilterItem = (props: React.ComponentProps) => (
}>
diff --git a/src/plugins/unified_search/public/index.ts b/src/plugins/unified_search/public/index.ts
index 69b7ae95bf2fb..131b445017353 100755
--- a/src/plugins/unified_search/public/index.ts
+++ b/src/plugins/unified_search/public/index.ts
@@ -14,7 +14,8 @@ export { QueryStringInput } from './query_string_input';
export type { StatefulSearchBarProps, SearchBarProps } from './search_bar';
export type { UnifiedSearchPublicPluginStart, UnifiedSearchPluginSetup } from './types';
export { SearchBar } from './search_bar';
-export { FilterLabel, FilterItem } from './filter_bar';
+export type { FilterItemsProps } from './filter_bar';
+export { FilterLabel, FilterItem, FilterItems } from './filter_bar';
export { DataViewsList } from './dataview_picker/dataview_list';
export { DataViewPicker } from './dataview_picker';
diff --git a/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx b/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx
index 4bc5aec2396f2..f0aab3b880ae3 100644
--- a/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx
+++ b/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx
@@ -24,6 +24,7 @@ import {
Embeddable,
EmbeddableInput,
EmbeddableOutput,
+ FilterableEmbeddable,
IContainer,
ReferenceOrValueEmbeddable,
SavedObjectEmbeddableInput,
@@ -37,6 +38,7 @@ import {
} from '@kbn/expressions-plugin/public';
import type { RenderMode } from '@kbn/expressions-plugin/common';
import { DATA_VIEW_SAVED_OBJECT_TYPE } from '@kbn/data-views-plugin/public';
+import { mapAndFlattenFilters } from '@kbn/data-plugin/public';
import { isFallbackDataView } from '../visualize_app/utils';
import { VisualizationMissedSavedObjectError } from '../components/visualization_missed_saved_object_error';
import VisualizationError from '../components/visualization_error';
@@ -94,7 +96,9 @@ export type VisualizeByReferenceInput = SavedObjectEmbeddableInput & VisualizeIn
export class VisualizeEmbeddable
extends Embeddable
- implements ReferenceOrValueEmbeddable
+ implements
+ ReferenceOrValueEmbeddable,
+ FilterableEmbeddable
{
private handler?: ExpressionLoader;
private timefilter: TimefilterContract;
@@ -188,6 +192,32 @@ export class VisualizeEmbeddable
return this.vis.description;
}
+ /**
+ * Gets the Visualize embeddable's local filters
+ * @returns Local/panel-level array of filters for Visualize embeddable
+ */
+ public async getFilters() {
+ let input = this.getInput();
+ if (this.inputIsRefType(input)) {
+ input = await this.getInputAsValueType();
+ }
+ const filters = input.savedVis?.data.searchSource?.filter ?? [];
+ // must clone the filters so that it's not read only, because mapAndFlattenFilters modifies the array
+ return mapAndFlattenFilters(_.cloneDeep(filters));
+ }
+
+ /**
+ * Gets the Visualize embeddable's local query
+ * @returns Local/panel-level query for Visualize embeddable
+ */
+ public async getQuery() {
+ let input = this.getInput();
+ if (this.inputIsRefType(input)) {
+ input = await this.getInputAsValueType();
+ }
+ return input.savedVis?.data.searchSource?.query;
+ }
+
public getInspectorAdapters = () => {
if (!this.handler || (this.inspectorAdapters && !Object.keys(this.inspectorAdapters).length)) {
return undefined;
diff --git a/test/functional/page_objects/dashboard_page.ts b/test/functional/page_objects/dashboard_page.ts
index 6734690c4b3bd..d36ba21513b0a 100644
--- a/test/functional/page_objects/dashboard_page.ts
+++ b/test/functional/page_objects/dashboard_page.ts
@@ -562,7 +562,7 @@ export class DashboardPageObject extends FtrService {
public async getPanelTitles() {
this.log.debug('in getPanelTitles');
- const titleObjects = await this.testSubjects.findAll('dashboardPanelTitle');
+ const titleObjects = await this.find.allByCssSelector('span.embPanel__titleInner');
return await Promise.all(titleObjects.map(async (title) => await title.getVisibleText()));
}
diff --git a/x-pack/plugins/lens/public/embeddable/embeddable.tsx b/x-pack/plugins/lens/public/embeddable/embeddable.tsx
index 293c8cbf539d0..115cd4691ad67 100644
--- a/x-pack/plugins/lens/public/embeddable/embeddable.tsx
+++ b/x-pack/plugins/lens/public/embeddable/embeddable.tsx
@@ -17,6 +17,7 @@ import {
TimefilterContract,
FilterManager,
getEsQueryConfig,
+ mapAndFlattenFilters,
} from '@kbn/data-plugin/public';
import type { Start as InspectorStart } from '@kbn/inspector-plugin/public';
@@ -41,6 +42,7 @@ import {
SavedObjectEmbeddableInput,
ReferenceOrValueEmbeddable,
SelfStyledEmbeddable,
+ FilterableEmbeddable,
} from '@kbn/embeddable-plugin/public';
import { UiActionsStart } from '@kbn/ui-actions-plugin/public';
import type { DataViewsContract, DataView } from '@kbn/data-views-plugin/public';
@@ -213,7 +215,8 @@ export class Embeddable
extends AbstractEmbeddable
implements
ReferenceOrValueEmbeddable,
- SelfStyledEmbeddable
+ SelfStyledEmbeddable,
+ FilterableEmbeddable
{
type = DOC_TYPE;
@@ -869,6 +872,27 @@ export class Embeddable
return this.savedVis && this.savedVis.description;
}
+ /**
+ * Gets the Lens embeddable's local filters
+ * @returns Local/panel-level array of filters for Lens embeddable
+ */
+ public async getFilters() {
+ return mapAndFlattenFilters(
+ this.deps.injectFilterReferences(
+ this.savedVis?.state.filters ?? [],
+ this.savedVis?.references ?? []
+ )
+ );
+ }
+
+ /**
+ * Gets the Lens embeddable's local query
+ * @returns Local/panel-level query for Lens embeddable
+ */
+ public async getQuery() {
+ return this.savedVis?.state.query;
+ }
+
public getSavedVis(): Readonly {
return this.savedVis;
}
diff --git a/x-pack/plugins/maps/public/embeddable/map_embeddable.tsx b/x-pack/plugins/maps/public/embeddable/map_embeddable.tsx
index 0388dcd86d397..d271ee053d8c7 100644
--- a/x-pack/plugins/maps/public/embeddable/map_embeddable.tsx
+++ b/x-pack/plugins/maps/public/embeddable/map_embeddable.tsx
@@ -23,6 +23,7 @@ import {
genericEmbeddableInputIsEqual,
VALUE_CLICK_TRIGGER,
omitGenericEmbeddableInput,
+ FilterableEmbeddable,
} from '@kbn/embeddable-plugin/public';
import { ActionExecutionContext } from '@kbn/ui-actions-plugin/public';
import { APPLY_FILTER_TRIGGER } from '@kbn/data-plugin/public';
@@ -103,7 +104,7 @@ function getIsRestore(searchSessionId?: string) {
export class MapEmbeddable
extends Embeddable
- implements ReferenceOrValueEmbeddable
+ implements ReferenceOrValueEmbeddable, FilterableEmbeddable
{
type = MAP_SAVED_OBJECT_TYPE;
deferEmbeddableLoad = true;
@@ -248,6 +249,22 @@ export class MapEmbeddable
return this._isInitialized ? this._savedMap.getAttributes().description : '';
}
+ /**
+ * TODO: Implement this function once https://github.com/elastic/kibana/issues/91282 is resolved
+ * @returns []
+ */
+ public async getFilters() {
+ return [];
+ }
+
+ /**
+ * TODO: Implement this function once https://github.com/elastic/kibana/issues/91282 is resolved
+ * @returns undefined
+ */
+ public async getQuery() {
+ return undefined;
+ }
+
public supportedTriggers(): string[] {
return [APPLY_FILTER_TRIGGER, VALUE_CLICK_TRIGGER];
}
diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json
index bd439267fb8a8..327f691f486e8 100644
--- a/x-pack/plugins/translations/translations/fr-FR.json
+++ b/x-pack/plugins/translations/translations/fr-FR.json
@@ -5799,7 +5799,6 @@
"unifiedSearch.filter.filterBar.labelErrorText": "Erreur",
"unifiedSearch.filter.filterBar.labelWarningInfo": "Le champ {fieldName} n'existe pas dans la vue en cours.",
"unifiedSearch.filter.filterBar.labelWarningText": "Avertissement",
- "unifiedSearch.filter.filterBar.moreFilterActionsMessage": "Filtre : {innerText}. Sélectionner pour plus d’actions de filtrage.",
"unifiedSearch.filter.filterBar.negatedFilterPrefix": "NON ",
"unifiedSearch.filter.filterBar.pinFilterButtonLabel": "Épingler dans toutes les applications",
"unifiedSearch.filter.filterBar.pinnedFilterPrefix": "Épinglé",
diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json
index 1ed18a64287a6..c7ab1c1b006d6 100644
--- a/x-pack/plugins/translations/translations/ja-JP.json
+++ b/x-pack/plugins/translations/translations/ja-JP.json
@@ -5796,7 +5796,6 @@
"unifiedSearch.filter.filterBar.labelErrorText": "エラー",
"unifiedSearch.filter.filterBar.labelWarningInfo": "フィールド{fieldName}は現在のビューに存在しません",
"unifiedSearch.filter.filterBar.labelWarningText": "警告",
- "unifiedSearch.filter.filterBar.moreFilterActionsMessage": "フィルター:{innerText}。他のフィルターアクションを使用するには選択してください。",
"unifiedSearch.filter.filterBar.negatedFilterPrefix": "NOT ",
"unifiedSearch.filter.filterBar.pinFilterButtonLabel": "すべてのアプリにピン付け",
"unifiedSearch.filter.filterBar.pinnedFilterPrefix": "ピン付け済み",
diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json
index 69af29fea4b0a..bc7dfd5a92adc 100644
--- a/x-pack/plugins/translations/translations/zh-CN.json
+++ b/x-pack/plugins/translations/translations/zh-CN.json
@@ -5802,7 +5802,6 @@
"unifiedSearch.filter.filterBar.labelErrorText": "错误",
"unifiedSearch.filter.filterBar.labelWarningInfo": "当前视图中不存在字段 {fieldName}",
"unifiedSearch.filter.filterBar.labelWarningText": "警告",
- "unifiedSearch.filter.filterBar.moreFilterActionsMessage": "筛选:{innerText}。选择以获取更多筛选操作。",
"unifiedSearch.filter.filterBar.negatedFilterPrefix": "非 ",
"unifiedSearch.filter.filterBar.pinFilterButtonLabel": "在所有应用上固定",
"unifiedSearch.filter.filterBar.pinnedFilterPrefix": "已置顶",
From 52f3a830c0369b516509b79460b000db0caf1b16 Mon Sep 17 00:00:00 2001
From: Jiawei Wu <74562234+JiaweiWu@users.noreply.github.com>
Date: Wed, 10 Aug 2022 10:59:27 -0700
Subject: [PATCH 21/49] Fix flaky getActionErrorLog API integration test
(#138460)
---
.../spaces_only/tests/alerting/get_action_error_log.ts | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/get_action_error_log.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/get_action_error_log.ts
index 58c81f80f8092..19c2270d07880 100644
--- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/get_action_error_log.ts
+++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/get_action_error_log.ts
@@ -26,8 +26,7 @@ export default function createGetActionErrorLogTests({ getService }: FtrProvider
const dateStart = new Date(Date.now() - 600000).toISOString();
- // Failing: See https://github.com/elastic/kibana/issues/137004
- describe.skip('getActionErrorLog', () => {
+ describe('getActionErrorLog', () => {
const objectRemover = new ObjectRemover(supertest);
beforeEach(async () => {
@@ -126,7 +125,7 @@ export default function createGetActionErrorLogTests({ getService }: FtrProvider
.post(`${getUrlPrefix(Spaces.space1.id)}/api/actions/connector`)
.set('kbn-xsrf', 'foo')
.send({
- name: 'connector that throws',
+ name: 'throws_1',
connector_type_id: 'test.throw',
config: {},
secrets: {},
@@ -138,7 +137,7 @@ export default function createGetActionErrorLogTests({ getService }: FtrProvider
.post(`${getUrlPrefix(Spaces.space1.id)}/api/actions/connector`)
.set('kbn-xsrf', 'foo')
.send({
- name: 'connector that throws',
+ name: 'throws_2',
connector_type_id: 'test.throw',
config: {},
secrets: {},
@@ -152,6 +151,7 @@ export default function createGetActionErrorLogTests({ getService }: FtrProvider
.send(
getTestRuleData({
rule_type_id: 'test.cumulative-firing',
+ schedule: { interval: '5s' },
actions: [
{
id: createdConnector1.id,
@@ -183,7 +183,7 @@ export default function createGetActionErrorLogTests({ getService }: FtrProvider
const filteredResponse = await supertest.get(
`${getUrlPrefix(Spaces.space1.id)}/internal/alerting/rule/${
createdRule.id
- }/_action_error_log?filter=message:"${createdConnector1.id}"&date_start=${dateStart}`
+ }/_action_error_log?filter=message:"throws_1"&date_start=${dateStart}`
);
expect(filteredResponse.body.totalErrors).to.eql(1);
From c70c4beef9b7b8ee1b750ad3007447d237a833f6 Mon Sep 17 00:00:00 2001
From: Jack
Date: Wed, 10 Aug 2022 14:29:58 -0400
Subject: [PATCH 22/49] [8.4] [Kubernetes Security] Fix k8s vis page css QA
feedback (#138463)
* Fix k8s vis page css QA feedback
* Fix bugs on selected tree nav item and breadcrumb tooltip content for cluster
* Add overflow ellipsis to tree nav item tooltip anchor
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
---
.../container_name_widget/styles.ts | 2 +-
.../public/components/count_widget/styles.ts | 7 ++--
.../kubernetes_security_routes/styles.ts | 13 +-----
.../components/percent_widget/index.tsx | 2 +-
.../tree_view_container/breadcrumb/index.tsx | 41 +++++++++++--------
.../tree_view_container/breadcrumb/styles.ts | 1 +
.../dynamic_tree_view/index.tsx | 18 +++++---
.../dynamic_tree_view/styles.ts | 13 ++++++
8 files changed, 56 insertions(+), 41 deletions(-)
diff --git a/x-pack/plugins/kubernetes_security/public/components/container_name_widget/styles.ts b/x-pack/plugins/kubernetes_security/public/components/container_name_widget/styles.ts
index ec0f02bebdf1a..1ebe6347994ee 100644
--- a/x-pack/plugins/kubernetes_security/public/components/container_name_widget/styles.ts
+++ b/x-pack/plugins/kubernetes_security/public/components/container_name_widget/styles.ts
@@ -24,7 +24,7 @@ export const useStyles = () => {
border: euiTheme.border.thin,
borderRadius: euiTheme.border.radius.medium,
overflow: 'auto',
- height: '239px',
+ height: '228px',
position: 'relative',
marginBottom: size.l,
};
diff --git a/x-pack/plugins/kubernetes_security/public/components/count_widget/styles.ts b/x-pack/plugins/kubernetes_security/public/components/count_widget/styles.ts
index 921c78674c392..c5d3adf43d838 100644
--- a/x-pack/plugins/kubernetes_security/public/components/count_widget/styles.ts
+++ b/x-pack/plugins/kubernetes_security/public/components/count_widget/styles.ts
@@ -25,16 +25,15 @@ export const useStyles = () => {
};
const title: CSSObject = {
- marginBottom: size.m,
+ marginBottom: size.s,
fontSize: size.m,
fontWeight: font.weight.bold,
whiteSpace: 'nowrap',
};
const dataInfo: CSSObject = {
- marginBottom: size.xs,
- height: '18px',
- fontSize: size.l,
+ fontSize: `calc(${size.l} - ${size.xxs})`,
+ lineHeight: size.l,
fontWeight: font.weight.bold,
};
diff --git a/x-pack/plugins/kubernetes_security/public/components/kubernetes_security_routes/styles.ts b/x-pack/plugins/kubernetes_security/public/components/kubernetes_security_routes/styles.ts
index 9f7b9c184cdcd..7c2e2dcffa85f 100644
--- a/x-pack/plugins/kubernetes_security/public/components/kubernetes_security_routes/styles.ts
+++ b/x-pack/plugins/kubernetes_security/public/components/kubernetes_security_routes/styles.ts
@@ -13,7 +13,7 @@ export const useStyles = () => {
const { euiTheme } = useEuiTheme();
const cached = useMemo(() => {
- const { size, font, border } = euiTheme;
+ const { size, font } = euiTheme;
const titleSection: CSSObject = {
marginBottom: size.l,
@@ -85,16 +85,6 @@ export const useStyles = () => {
fontWeight: font.weight.bold,
};
- const widgetHolder: CSSObject = {
- position: 'relative',
- width: '332px',
- height: '235px',
- borderRadius: border.radius.medium,
- fontWeight: font.weight.bold,
- fontSize: size.m,
- lineHeight: size.base,
- };
-
const widgetsGroup: CSSObject = {
[`@media (max-width:${euiTheme.breakpoint.xl}px)`]: {
flexDirection: 'column',
@@ -117,7 +107,6 @@ export const useStyles = () => {
rightWidgetsGroup,
widgetsBottomSpacing,
percentageChartTitle,
- widgetHolder,
widgetsGroup,
betaBadge,
};
diff --git a/x-pack/plugins/kubernetes_security/public/components/percent_widget/index.tsx b/x-pack/plugins/kubernetes_security/public/components/percent_widget/index.tsx
index 181ff9629c4ee..c8846f45ff9cc 100644
--- a/x-pack/plugins/kubernetes_security/public/components/percent_widget/index.tsx
+++ b/x-pack/plugins/kubernetes_security/public/components/percent_widget/index.tsx
@@ -123,7 +123,7 @@ export const PercentWidget = ({
/>
)}
{title}
-
+
{Object.keys(dataValueMap).map((groupedByValue, idx) => {
const value = data?.[groupedByValue] || 0;
return (
diff --git a/x-pack/plugins/kubernetes_security/public/components/tree_view_container/breadcrumb/index.tsx b/x-pack/plugins/kubernetes_security/public/components/tree_view_container/breadcrumb/index.tsx
index 0d1f83cfc2c56..1089ee11e98c5 100644
--- a/x-pack/plugins/kubernetes_security/public/components/tree_view_container/breadcrumb/index.tsx
+++ b/x-pack/plugins/kubernetes_security/public/components/tree_view_container/breadcrumb/index.tsx
@@ -53,24 +53,29 @@ export const Breadcrumb = ({ treeNavSelection, onSelect }: BreadcrumbDeps) => {
icon: JSX.Element,
isBolded: boolean,
hasRightArrow: boolean = true
- ) => (
- <>
- {hasRightArrow && }
- {icon}
-
- onBreadCrumbClick(collectionType)}
- >
- {collectionType === KubernetesCollection.clusterId
- ? treeNavSelection[KubernetesCollection.clusterName] ||
- treeNavSelection[KubernetesCollection.clusterId]
- : treeNavSelection[collectionType]}
-
-
- >
- ),
+ ) => {
+ const content =
+ collectionType === KubernetesCollection.clusterId
+ ? treeNavSelection[KubernetesCollection.clusterName] ||
+ treeNavSelection[KubernetesCollection.clusterId]
+ : treeNavSelection[collectionType];
+
+ return (
+ <>
+ {hasRightArrow && }
+ {icon}
+
+ onBreadCrumbClick(collectionType)}
+ >
+ {content}
+
+
+ >
+ );
+ },
[
onBreadCrumbClick,
styles.breadcrumbButton,
diff --git a/x-pack/plugins/kubernetes_security/public/components/tree_view_container/breadcrumb/styles.ts b/x-pack/plugins/kubernetes_security/public/components/tree_view_container/breadcrumb/styles.ts
index e2a5f297b04f0..247d31f0c0f51 100644
--- a/x-pack/plugins/kubernetes_security/public/components/tree_view_container/breadcrumb/styles.ts
+++ b/x-pack/plugins/kubernetes_security/public/components/tree_view_container/breadcrumb/styles.ts
@@ -25,6 +25,7 @@ export const useStyles = () => {
const breadcrumbButton: CSSObject = {
height: 'fit-content',
maxWidth: '248px',
+ fontSize: size.m,
fontWeight: font.weight.regular,
'.euiButtonEmpty__content': {
paddingLeft: size.xs,
diff --git a/x-pack/plugins/kubernetes_security/public/components/tree_view_container/dynamic_tree_view/index.tsx b/x-pack/plugins/kubernetes_security/public/components/tree_view_container/dynamic_tree_view/index.tsx
index df6c7b03d5cc2..05a471a596a7c 100644
--- a/x-pack/plugins/kubernetes_security/public/components/tree_view_container/dynamic_tree_view/index.tsx
+++ b/x-pack/plugins/kubernetes_security/public/components/tree_view_container/dynamic_tree_view/index.tsx
@@ -66,7 +66,7 @@ export const DynamicTreeView = ({
}: DynamicTreeViewProps) => {
const styles = useStyles(depth);
- const { indexPattern, hasSelection, setNoResults } = useTreeViewContext();
+ const { indexPattern, setNoResults } = useTreeViewContext();
const { data, fetchNextPage, isFetchingNextPage, hasNextPage, isLoading } =
useFetchDynamicTreeView(query, tree[depth].key, indexPattern, expanded);
@@ -103,7 +103,7 @@ export const DynamicTreeView = ({
}, [fetchNextPage, expanded]);
useEffect(() => {
- if (!hasSelection && !depth && data && data.pages?.[0].buckets?.[0]?.key) {
+ if (!selected && !depth && data && data.pages?.[0].buckets?.[0]?.key) {
onSelect(
{},
tree[depth].type,
@@ -111,7 +111,7 @@ export const DynamicTreeView = ({
data.pages[0].buckets[0].key_as_string
);
}
- }, [data, depth, hasSelection, onSelect, tree]);
+ }, [data, depth, selected, onSelect, tree]);
const onClickNextPageHandler = () => {
fetchNextPage();
@@ -297,11 +297,18 @@ const DynamicTreeViewItem = ({
const isSelected = useMemo(() => {
return (
selected ===
- Object.entries({ ...selectionDepth, [tree[depth].type]: aggData.key })
+ Object.entries({
+ ...selectionDepth,
+ [tree[depth].type]: aggData.key,
+ ...(tree[depth].type === KubernetesCollection.clusterId &&
+ aggData.key_as_string && {
+ [KubernetesCollection.clusterName]: aggData.key_as_string,
+ }),
+ })
.map(([k, v]) => `${k}.${v}`)
.join()
);
- }, [aggData.key, depth, selected, selectionDepth, tree]);
+ }, [aggData.key, aggData.key_as_string, depth, selected, selectionDepth, tree]);
return (
(buttonRef.current[aggData.key] = el)}
+ css={isLastNode ? styles.leafNodeButton : undefined}
>
{!isLastNode && (
{
const loadMoreTextLeft: CSSObject = {
marginLeft: size.s,
};
+ const leafNodeButton: CSSObject = {
+ marginLeft: size.l,
+ width: `calc(100% - ${size.l})`,
+ paddingLeft: 0,
+ };
const labelIcon: CSSObject = {
marginRight: size.s,
marginLeft: size.s,
@@ -54,6 +59,13 @@ export const useStyles = (depth: number) => {
'.euiTreeView__node--expanded': {
maxHeight: '100%',
},
+ '.euiTreeView__nodeInner .euiToolTipAnchor': {
+ maxWidth: '100%',
+ overflow: 'hidden',
+ textOverflow: 'ellipsis',
+ whiteSpace: 'nowrap',
+ wordWrap: 'normal',
+ },
});
return {
@@ -61,6 +73,7 @@ export const useStyles = (depth: number) => {
loadMoreButtonWrapper,
loadMoreText,
loadMoreTextLeft,
+ leafNodeButton,
labelIcon,
treeViewWrapper,
};
From 07d1ec8d7dc40ba511767d1a2a89fd50a4b1aa04 Mon Sep 17 00:00:00 2001
From: Jatin Kathuria
Date: Wed, 10 Aug 2022 20:49:22 +0200
Subject: [PATCH 23/49] [SecuritySolution][Bug] Fix to add empty values to
timeline (#138510)
Fixes: #118846
Issue: `Add to Timeline` action was not working for empty values.
https://user-images.githubusercontent.com/61860752/142180967-972a0438-154e-47c7-b058-be3abc4ac353.mp4
Solution:
Empty values can be added in timeline with condition of `NOT EXISTS` and hence on `Add to Timeline` click, data provider is modified to add `NOT EXISTS` condition to the timeline. Please see demo below:
https://user-images.githubusercontent.com/7485038/183914875-0b3c7e5f-7e12-40f2-a0c2-8b773434480b.mov
---
.../investigate_in_timeline.spec.ts | 34 +++++++++++-
.../cypress/screens/timeline.ts | 15 ++++++
.../security_solution/cypress/tasks/alerts.ts | 10 +++-
.../cypress/tasks/timeline.ts | 5 ++
.../lib/cell_actions/add_to_timeline.tsx | 53 +++++++++++++------
5 files changed, 97 insertions(+), 20 deletions(-)
diff --git a/x-pack/plugins/security_solution/cypress/integration/detection_alerts/investigate_in_timeline.spec.ts b/x-pack/plugins/security_solution/cypress/integration/detection_alerts/investigate_in_timeline.spec.ts
index 5f52041e75d17..5d8099c84d5a6 100644
--- a/x-pack/plugins/security_solution/cypress/integration/detection_alerts/investigate_in_timeline.spec.ts
+++ b/x-pack/plugins/security_solution/cypress/integration/detection_alerts/investigate_in_timeline.spec.ts
@@ -6,13 +6,23 @@
*/
import { getNewRule } from '../../objects/rule';
-import { PROVIDER_BADGE } from '../../screens/timeline';
+import {
+ ALERT_TABLE_FILE_NAME_HEADER,
+ ALERT_TABLE_FILE_NAME_VALUES,
+ ALERT_TABLE_SEVERITY_VALUES,
+ PROVIDER_BADGE,
+} from '../../screens/timeline';
-import { investigateFirstAlertInTimeline } from '../../tasks/alerts';
+import {
+ addAlertPropertyToTimeline,
+ investigateFirstAlertInTimeline,
+ scrollAlertTableColumnIntoView,
+} from '../../tasks/alerts';
import { createCustomRuleEnabled } from '../../tasks/api_calls/rules';
import { cleanKibana } from '../../tasks/common';
import { waitForAlertsToPopulate } from '../../tasks/create_new_rule';
import { login, visit } from '../../tasks/login';
+import { openActiveTimeline } from '../../tasks/timeline';
import { ALERTS_URL } from '../../urls/navigation';
@@ -37,4 +47,24 @@ describe('Alerts timeline', () => {
cy.get(PROVIDER_BADGE).filter(':visible').should('have.text', eventId);
});
});
+
+ it('Add a non-empty property to default timeline', () => {
+ cy.get(ALERT_TABLE_SEVERITY_VALUES)
+ .first()
+ .invoke('text')
+ .then((severityVal) => {
+ addAlertPropertyToTimeline(ALERT_TABLE_SEVERITY_VALUES, 0);
+ openActiveTimeline();
+ cy.get(PROVIDER_BADGE)
+ .first()
+ .should('have.text', `kibana.alert.severity: "${severityVal}"`);
+ });
+ });
+
+ it('Add an empty property to default timeline', () => {
+ scrollAlertTableColumnIntoView(ALERT_TABLE_FILE_NAME_HEADER);
+ addAlertPropertyToTimeline(ALERT_TABLE_FILE_NAME_VALUES, 0);
+ openActiveTimeline();
+ cy.get(PROVIDER_BADGE).first().should('have.text', 'NOT file.name exists');
+ });
});
diff --git a/x-pack/plugins/security_solution/cypress/screens/timeline.ts b/x-pack/plugins/security_solution/cypress/screens/timeline.ts
index 231c24b3127f3..1c6e41da02c1d 100644
--- a/x-pack/plugins/security_solution/cypress/screens/timeline.ts
+++ b/x-pack/plugins/security_solution/cypress/screens/timeline.ts
@@ -267,3 +267,18 @@ export const USER_KPI = '[data-test-subj="siem-timeline-user-kpi"]';
export const EDIT_TIMELINE_BTN = '[data-test-subj="save-timeline-button-icon"]';
export const EDIT_TIMELINE_TOOLTIP = '[data-test-subj="save-timeline-btn-tooltip"]';
+
+export const ALERT_TABLE_SEVERITY_VALUES =
+ '[data-test-subj="formatted-field-kibana.alert.severity"]';
+
+export const ALERT_TABLE_FILE_NAME_HEADER = '[data-gridcell-column-id="file.name"]';
+
+export const ALERT_TABLE_FILE_NAME_VALUES =
+ '[data-gridcell-column-id="file.name"][data-test-subj="dataGridRowCell"]'; // empty column for the test data
+
+export const ALERT_TABLE_CELL_ACTIONS_ADD_TO_TIMELINE = '[data-test-subj="add-to-timeline"]';
+
+export const ACTIVE_TIMELINE_BOTTOM_BAR =
+ '[data-test-subj="flyoutBottomBar"] .active-timeline-button';
+
+export const DATA_GRID_BODY = '[data-test-subj=body-data-grid] .euiDataGrid__virtualized';
diff --git a/x-pack/plugins/security_solution/cypress/tasks/alerts.ts b/x-pack/plugins/security_solution/cypress/tasks/alerts.ts
index 94a4529549a6d..16f8568bf7a82 100644
--- a/x-pack/plugins/security_solution/cypress/tasks/alerts.ts
+++ b/x-pack/plugins/security_solution/cypress/tasks/alerts.ts
@@ -26,7 +26,10 @@ import {
TIMELINE_CONTEXT_MENU_BTN,
} from '../screens/alerts';
import { REFRESH_BUTTON } from '../screens/security_header';
-import { TIMELINE_COLUMN_SPINNER } from '../screens/timeline';
+import {
+ ALERT_TABLE_CELL_ACTIONS_ADD_TO_TIMELINE,
+ TIMELINE_COLUMN_SPINNER,
+} from '../screens/timeline';
import {
UPDATE_ENRICHMENT_RANGE_BUTTON,
ENRICHMENT_QUERY_END_INPUT,
@@ -152,6 +155,11 @@ export const investigateFirstAlertInTimeline = () => {
cy.get(SEND_ALERT_TO_TIMELINE_BTN).first().click({ force: true });
};
+export const addAlertPropertyToTimeline = (propertySelector: string, rowIndex: number) => {
+ cy.get(propertySelector).eq(rowIndex).trigger('mouseover');
+ cy.get(ALERT_TABLE_CELL_ACTIONS_ADD_TO_TIMELINE).first().click({ force: true });
+};
+
export const waitForAlerts = () => {
cy.get(REFRESH_BUTTON).should('not.have.attr', 'aria-label', 'Needs updating');
};
diff --git a/x-pack/plugins/security_solution/cypress/tasks/timeline.ts b/x-pack/plugins/security_solution/cypress/tasks/timeline.ts
index 5403c4f95bf54..01d10c627af85 100644
--- a/x-pack/plugins/security_solution/cypress/tasks/timeline.ts
+++ b/x-pack/plugins/security_solution/cypress/tasks/timeline.ts
@@ -69,6 +69,7 @@ import {
TIMELINE_TAB_CONTENT_EQL,
TIMESTAMP_HOVER_ACTION_OVERFLOW_BTN,
TIMELINE_DATA_PROVIDER_FIELD_INPUT,
+ ACTIVE_TIMELINE_BOTTOM_BAR,
} from '../screens/timeline';
import { REFRESH_BUTTON, TIMELINE } from '../screens/timelines';
@@ -296,6 +297,10 @@ export const openTimelineById = (timelineId: string): Cypress.Chainable {
+ cy.get(ACTIVE_TIMELINE_BOTTOM_BAR).click({ force: true });
+};
+
export const pinFirstEvent = (): Cypress.Chainable> => {
return cy.get(PIN_EVENT).first().click({ force: true });
};
diff --git a/x-pack/plugins/security_solution/public/common/lib/cell_actions/add_to_timeline.tsx b/x-pack/plugins/security_solution/public/common/lib/cell_actions/add_to_timeline.tsx
index 4e944072fefef..54956f6304576 100644
--- a/x-pack/plugins/security_solution/public/common/lib/cell_actions/add_to_timeline.tsx
+++ b/x-pack/plugins/security_solution/public/common/lib/cell_actions/add_to_timeline.tsx
@@ -12,7 +12,10 @@ import type { TimelineNonEcsData } from '@kbn/timelines-plugin/common/search_str
import type { DataProvider } from '@kbn/timelines-plugin/common/types';
import { getPageRowIndex } from '@kbn/timelines-plugin/public';
import { useGetMappedNonEcsValue } from '../../../timelines/components/timeline/body/data_driven_columns';
-import { IS_OPERATOR } from '../../../timelines/components/timeline/data_providers/data_provider';
+import {
+ EXISTS_OPERATOR,
+ IS_OPERATOR,
+} from '../../../timelines/components/timeline/data_providers/data_provider';
import { escapeDataProviderId } from '../../components/drag_and_drop/helpers';
import { EmptyComponent, useKibanaServices } from './helpers';
@@ -41,23 +44,39 @@ export const getAddToTimelineCellAction = ({
[timelines]
);
- const dataProvider: DataProvider[] = useMemo(
- () =>
- value?.map((x) => ({
- and: [],
- enabled: true,
- id: `${escapeDataProviderId(columnId)}-row-${rowIndex}-col-${columnId}-val-${x}`,
- name: x,
- excluded: false,
- kqlQuery: '',
- queryMatch: {
- field: columnId,
- value: x,
- operator: IS_OPERATOR,
+ const dataProvider: DataProvider[] = useMemo(() => {
+ const queryIdPrefix = `${escapeDataProviderId(columnId)}-row-${rowIndex}-col-${columnId}`;
+ if (!value) {
+ return [
+ {
+ and: [],
+ enabled: true,
+ kqlQuery: '',
+ id: `${queryIdPrefix}`,
+ name: '',
+ excluded: true,
+ queryMatch: {
+ field: columnId,
+ value: '',
+ operator: EXISTS_OPERATOR,
+ },
},
- })) ?? [],
- [columnId, rowIndex, value]
- );
+ ];
+ }
+ return value.map((x) => ({
+ and: [],
+ enabled: true,
+ excluded: false,
+ kqlQuery: '',
+ id: `${queryIdPrefix}-val-${x}`,
+ name: x,
+ queryMatch: {
+ field: columnId,
+ value: x,
+ operator: IS_OPERATOR,
+ },
+ }));
+ }, [columnId, rowIndex, value]);
const addToTimelineProps = useMemo(() => {
return {
Component,
From 204bdb6cc4bea79d03a25e6526910a84f0fbe4c5 Mon Sep 17 00:00:00 2001
From: Mark Hopkin
Date: Wed, 10 Aug 2022 19:55:48 +0100
Subject: [PATCH 24/49] [Fleet][Test] Add cypress test for force installing
unverified package assets (#138447)
---
.../integration/install_assets.spec.ts | 65 +++++++++++++++++++
.../detail/settings/install_button.tsx | 7 +-
2 files changed, 71 insertions(+), 1 deletion(-)
create mode 100644 x-pack/plugins/fleet/cypress/integration/install_assets.spec.ts
diff --git a/x-pack/plugins/fleet/cypress/integration/install_assets.spec.ts b/x-pack/plugins/fleet/cypress/integration/install_assets.spec.ts
new file mode 100644
index 0000000000000..1c6268d2cf66a
--- /dev/null
+++ b/x-pack/plugins/fleet/cypress/integration/install_assets.spec.ts
@@ -0,0 +1,65 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { Interception } from 'cypress/types/net-stubbing';
+
+describe('Install unverified package assets', () => {
+ beforeEach(() => {
+ cy.intercept('POST', '/api/fleet/epm/packages/fleet_server/*', (req) => {
+ if (!req.body.force) {
+ return req.reply({
+ statusCode: 400,
+ body: {
+ message: 'Package is not verified.',
+ attributes: {
+ type: 'verification_failed',
+ },
+ },
+ });
+ }
+
+ req.reply({
+ items: [
+ { id: 'fleet_server-1234', type: 'dashboard' },
+ { id: 'fleet_server-5678', type: 'dashboard' },
+ ],
+ _meta: { install_source: 'registry' },
+ });
+ }).as('installAssets');
+
+ // save mocking out the whole package response, but make it so that fleet server is always uninstalled
+ cy.intercept('GET', '/api/fleet/epm/packages/fleet_server', (req) => {
+ req.continue((res) => {
+ if (res.body?.item?.savedObject) {
+ delete res.body.item.savedObject;
+ }
+ if (res.body?.item?.status) {
+ res.body.item.status = 'not_installed';
+ }
+ });
+ });
+ });
+
+ it('should show force install modal if package is unverified', () => {
+ cy.visit('app/integrations/detail/fleet_server/settings');
+ cy.getBySel('installAssetsButton').click();
+ // this action will install x assets modal
+ const confirmInstall = cy.getBySel('confirmModalConfirmButton');
+ confirmInstall.click();
+
+ // unverified integration force install modal
+ const installAnyway = cy.getBySel('confirmModalConfirmButton').contains('Install anyway');
+ installAnyway.click();
+
+ // cypress 'hack' to get all requests made to an intercepted request
+ cy.get('@installAssets.all').then((interceptions) => {
+ const castInterceptions = interceptions as unknown as Interception[];
+ // expect latest request to have used force
+ expect(castInterceptions.at(-1)?.request?.body?.force).to.equal(true);
+ });
+ });
+});
diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/install_button.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/install_button.tsx
index d4560812853fd..28ad351b865f7 100644
--- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/install_button.tsx
+++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/install_button.tsx
@@ -52,7 +52,12 @@ export function InstallButton(props: InstallationButtonProps) {
return canInstallPackages ? (
-
+
{isInstalling ? (
Date: Wed, 10 Aug 2022 12:06:18 -0700
Subject: [PATCH 25/49] Convert Watch Status and Action Status model classes to
stateless functions and TS (#138026)
---
.../translations/translations/fr-FR.json | 2 -
.../translations/translations/ja-JP.json | 2 -
.../translations/translations/zh-CN.json | 2 -
...{get_moment.test.js => get_moment.test.ts} | 11 +-
.../{get_moment.js => get_moment.ts} | 2 +-
.../lib/get_moment/index.ts} | 2 +-
x-pack/plugins/watcher/common/types/index.ts | 15 +
.../watcher/common/types/status_types.ts | 84 ++++
.../models/action_status/action_status.js | 2 +-
.../threshold_watch_action_accordion.tsx | 2 +-
.../action_status_model.js | 143 -------
.../action_status_model.state.test.ts | 319 ++++++++++++++++
.../action_status_model.test.js | 359 ------------------
.../action_status_model.test.ts | 142 +++++++
.../action_status_model.ts | 78 ++++
.../action_status_model_utils.ts | 82 ++++
.../models/action_status_model/index.ts | 8 +
.../watcher/server/models/watch/base_watch.js | 6 +-
.../server/models/watch/base_watch.test.js | 3 +-
.../server/models/watch/json_watch.test.js | 2 +-
.../models/watch/monitoring_watch.test.js | 2 +-
.../threshold_watch/threshold_watch.test.js | 2 +-
.../watcher/server/models/watch/watch.test.js | 6 +-
.../watch_history_item/watch_history_item.js | 6 +-
.../index.js => watch_status_model/index.ts} | 2 +-
.../watch_status_model/watch_status_model.js | 203 ----------
.../watch_status_model.test.js | 313 ---------------
.../watch_status_model.test.ts | 145 +++++++
.../watch_status_model/watch_status_model.ts | 86 +++++
.../watch_status_model_utils.test.ts | 183 +++++++++
.../watch_status_model_utils.ts | 109 ++++++
.../action/register_acknowledge_route.ts | 11 +-
.../api/watch/register_activate_route.ts | 11 +-
.../api/watch/register_deactivate_route.ts | 10 +-
34 files changed, 1292 insertions(+), 1063 deletions(-)
rename x-pack/plugins/watcher/common/lib/get_moment/{get_moment.test.js => get_moment.test.ts} (72%)
rename x-pack/plugins/watcher/common/lib/get_moment/{get_moment.js => get_moment.ts} (87%)
rename x-pack/plugins/watcher/{server/models/watch_status_model/index.js => common/lib/get_moment/index.ts} (81%)
create mode 100644 x-pack/plugins/watcher/common/types/index.ts
create mode 100644 x-pack/plugins/watcher/common/types/status_types.ts
delete mode 100644 x-pack/plugins/watcher/server/models/action_status_model/action_status_model.js
create mode 100644 x-pack/plugins/watcher/server/models/action_status_model/action_status_model.state.test.ts
delete mode 100644 x-pack/plugins/watcher/server/models/action_status_model/action_status_model.test.js
create mode 100644 x-pack/plugins/watcher/server/models/action_status_model/action_status_model.test.ts
create mode 100644 x-pack/plugins/watcher/server/models/action_status_model/action_status_model.ts
create mode 100644 x-pack/plugins/watcher/server/models/action_status_model/action_status_model_utils.ts
create mode 100644 x-pack/plugins/watcher/server/models/action_status_model/index.ts
rename x-pack/plugins/watcher/server/models/{action_status_model/index.js => watch_status_model/index.ts} (72%)
delete mode 100644 x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.js
delete mode 100644 x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.test.js
create mode 100644 x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.test.ts
create mode 100644 x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.ts
create mode 100644 x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model_utils.test.ts
create mode 100644 x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model_utils.ts
diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json
index 327f691f486e8..82ada1663827e 100644
--- a/x-pack/plugins/translations/translations/fr-FR.json
+++ b/x-pack/plugins/translations/translations/fr-FR.json
@@ -31355,8 +31355,6 @@
"xpack.watcher.models.watchHistoryItem.idPropertyMissingBadRequestMessage": "L'argument JSON doit contenir une propriété {id}",
"xpack.watcher.models.watchHistoryItem.watchHistoryItemJsonPropertyMissingBadRequestMessage": "L'argument JSON doit contenir une propriété {watchHistoryItemJson}",
"xpack.watcher.models.watchHistoryItem.watchIdPropertyMissingBadRequestMessage": "L'argument JSON doit contenir une propriété {watchId}",
- "xpack.watcher.models.watchStatus.idPropertyMissingBadRequestMessage": "L'argument JSON doit contenir une propriété {id}",
- "xpack.watcher.models.watchStatus.watchStatusJsonPropertyMissingBadRequestMessage": "L'argument JSON doit contenir une propriété {watchStatusJson}",
"xpack.watcher.models.webhookAction.selectMessageText": "Envoyer une requête à un service Web.",
"xpack.watcher.models.webhookAction.simulateButtonLabel": "Envoyer la requête",
"xpack.watcher.models.webhookAction.simulateFailMessage": "Impossible d'envoyer la requête vers {fullPath}.",
diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json
index c7ab1c1b006d6..f0b52ae8beea7 100644
--- a/x-pack/plugins/translations/translations/ja-JP.json
+++ b/x-pack/plugins/translations/translations/ja-JP.json
@@ -31431,8 +31431,6 @@
"xpack.watcher.models.watchHistoryItem.idPropertyMissingBadRequestMessage": "json 引数には {id} プロパティが含まれている必要があります",
"xpack.watcher.models.watchHistoryItem.watchHistoryItemJsonPropertyMissingBadRequestMessage": "json 引数には {watchHistoryItemJson} プロパティが含まれている必要があります",
"xpack.watcher.models.watchHistoryItem.watchIdPropertyMissingBadRequestMessage": "json 引数には {watchId} プロパティが含まれている必要があります",
- "xpack.watcher.models.watchStatus.idPropertyMissingBadRequestMessage": "json 引数には {id} プロパティが含まれている必要があります",
- "xpack.watcher.models.watchStatus.watchStatusJsonPropertyMissingBadRequestMessage": "json 引数には {watchStatusJson} プロパティが含まれている必要があります",
"xpack.watcher.models.webhookAction.selectMessageText": "Web サービスにリクエストを送信してください。",
"xpack.watcher.models.webhookAction.simulateButtonLabel": "リクエストの送信",
"xpack.watcher.models.webhookAction.simulateFailMessage": "{fullPath} へのリクエストの送信に失敗しました。",
diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json
index bc7dfd5a92adc..f90be8e7f1deb 100644
--- a/x-pack/plugins/translations/translations/zh-CN.json
+++ b/x-pack/plugins/translations/translations/zh-CN.json
@@ -31460,8 +31460,6 @@
"xpack.watcher.models.watchHistoryItem.idPropertyMissingBadRequestMessage": "JSON 参数必须包含 {id} 属性",
"xpack.watcher.models.watchHistoryItem.watchHistoryItemJsonPropertyMissingBadRequestMessage": "JSON 参数必须包含 {watchHistoryItemJson} 属性",
"xpack.watcher.models.watchHistoryItem.watchIdPropertyMissingBadRequestMessage": "JSON 参数必须包含 {watchId} 属性",
- "xpack.watcher.models.watchStatus.idPropertyMissingBadRequestMessage": "JSON 参数必须包含 {id} 属性",
- "xpack.watcher.models.watchStatus.watchStatusJsonPropertyMissingBadRequestMessage": "JSON 参数必须包含 {watchStatusJson} 属性",
"xpack.watcher.models.webhookAction.selectMessageText": "将请求发送到 Web 服务。",
"xpack.watcher.models.webhookAction.simulateButtonLabel": "发送请求",
"xpack.watcher.models.webhookAction.simulateFailMessage": "无法将请求发送至 {fullPath}",
diff --git a/x-pack/plugins/watcher/common/lib/get_moment/get_moment.test.js b/x-pack/plugins/watcher/common/lib/get_moment/get_moment.test.ts
similarity index 72%
rename from x-pack/plugins/watcher/common/lib/get_moment/get_moment.test.js
rename to x-pack/plugins/watcher/common/lib/get_moment/get_moment.test.ts
index 332e36dead5c9..1128587cb045d 100644
--- a/x-pack/plugins/watcher/common/lib/get_moment/get_moment.test.js
+++ b/x-pack/plugins/watcher/common/lib/get_moment/get_moment.test.ts
@@ -12,18 +12,11 @@ describe('get_moment', () => {
it(`returns a moment object when passed a date`, () => {
const moment = getMoment('2017-03-30T14:53:08.121Z');
- expect(moment.constructor.name).toBe('Moment');
+ expect(moment?.constructor.name).toBe('Moment');
});
it(`returns null when passed falsy`, () => {
- const results = [
- getMoment(false),
- getMoment(0),
- getMoment(''),
- getMoment(null),
- getMoment(undefined),
- getMoment(NaN),
- ];
+ const results = [getMoment(''), getMoment(null), getMoment(undefined)];
results.forEach((result) => {
expect(result).toBe(null);
diff --git a/x-pack/plugins/watcher/common/lib/get_moment/get_moment.js b/x-pack/plugins/watcher/common/lib/get_moment/get_moment.ts
similarity index 87%
rename from x-pack/plugins/watcher/common/lib/get_moment/get_moment.js
rename to x-pack/plugins/watcher/common/lib/get_moment/get_moment.ts
index 66472187cd78c..e3f17d5fbfa9f 100644
--- a/x-pack/plugins/watcher/common/lib/get_moment/get_moment.js
+++ b/x-pack/plugins/watcher/common/lib/get_moment/get_moment.ts
@@ -7,7 +7,7 @@
import moment from 'moment';
-export function getMoment(date) {
+export function getMoment(date?: string | null) {
if (!date) {
return null;
}
diff --git a/x-pack/plugins/watcher/server/models/watch_status_model/index.js b/x-pack/plugins/watcher/common/lib/get_moment/index.ts
similarity index 81%
rename from x-pack/plugins/watcher/server/models/watch_status_model/index.js
rename to x-pack/plugins/watcher/common/lib/get_moment/index.ts
index 8c5b9e305794b..5c352d754d6ed 100644
--- a/x-pack/plugins/watcher/server/models/watch_status_model/index.js
+++ b/x-pack/plugins/watcher/common/lib/get_moment/index.ts
@@ -5,4 +5,4 @@
* 2.0.
*/
-export { WatchStatusModel } from './watch_status_model';
+export { getMoment } from './get_moment';
diff --git a/x-pack/plugins/watcher/common/types/index.ts b/x-pack/plugins/watcher/common/types/index.ts
new file mode 100644
index 0000000000000..e3aa1f883698b
--- /dev/null
+++ b/x-pack/plugins/watcher/common/types/index.ts
@@ -0,0 +1,15 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+export type {
+ ActionStatusModelEs,
+ ServerActionStatusModel,
+ ClientActionStatusModel,
+ WatchStatusModelEs,
+ ServerWatchStatusModel,
+ ClientWatchStatusModel,
+} from './status_types';
diff --git a/x-pack/plugins/watcher/common/types/status_types.ts b/x-pack/plugins/watcher/common/types/status_types.ts
new file mode 100644
index 0000000000000..14e8260e703db
--- /dev/null
+++ b/x-pack/plugins/watcher/common/types/status_types.ts
@@ -0,0 +1,84 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor 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 { Moment } from 'moment';
+import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey';
+
+import { ACTION_STATES, WATCH_STATES, WATCH_STATE_COMMENTS } from '../constants';
+
+export interface ActionStatusModelEs {
+ id: string;
+ actionStatusJson: estypes.WatcherActionStatus;
+ errors?: any; // TODO: Type this more strictly.
+ lastCheckedRawFormat?: string; // Date e.g. '2017-03-01T20:55:49.679Z'
+}
+
+export interface ServerActionStatusModel {
+ id: string;
+ actionStatusJson: estypes.WatcherActionStatus;
+ errors: any; // TODO: Type this more strictly.
+ lastCheckedRawFormat?: string; // Date e.g. '2017-03-01T20:55:49.679Z'
+ lastExecutionRawFormat?: string; // Date e.g. '2017-03-01T20:55:49.679Z'
+ isLastExecutionSuccessful?: boolean;
+ lastExecutionReason?: string;
+ lastAcknowledged: Moment | null;
+ lastExecution: Moment | null;
+ lastThrottled: Moment | null;
+ lastSuccessfulExecution: Moment | null;
+}
+
+export interface ClientActionStatusModel {
+ id: string;
+ lastAcknowledged: Moment | null;
+ lastThrottled: Moment | null;
+ lastExecution: Moment | null;
+ isLastExecutionSuccessful?: boolean;
+ lastExecutionReason?: string;
+ lastSuccessfulExecution: Moment | null;
+ state: keyof typeof ACTION_STATES;
+ isAckable: boolean;
+}
+
+interface SerializedWatchStatus extends estypes.WatcherActivationStatus {
+ // Inherited from estypes.WatcherActivationStatus:
+ // - actions: WatcherActions // Record
+ // - state: WatcherActivationState // { active, timestamp }
+ // - version: VersionNumber
+ last_checked?: string; // Timestamp TODO: Update ES JS client types with this.
+ last_met_condition?: string; // Timestamp TODO: Update ES JS client types with this.
+}
+
+export interface WatchStatusModelEs {
+ id: string;
+ watchStatusJson: SerializedWatchStatus;
+ state?: estypes.WatcherExecutionStatus; // e.g. 'execution_not_needed' or 'failed'
+ watchErrors?: {
+ actions?: Record; // TODO: Type this more strictly.
+ };
+}
+
+export interface ServerWatchStatusModel {
+ id: string;
+ watchState?: estypes.WatcherExecutionStatus; // e.g. 'execution_not_needed' or 'failed'
+ watchStatusJson: SerializedWatchStatus;
+ watchErrors?: WatchStatusModelEs['watchErrors'];
+ isActive: boolean;
+ lastChecked: Moment | null;
+ lastMetCondition: Moment | null;
+ actionStatuses?: ServerActionStatusModel[];
+}
+
+export interface ClientWatchStatusModel {
+ id: string;
+ isActive: boolean;
+ lastChecked: Moment | null;
+ lastMetCondition: Moment | null;
+ state: keyof typeof WATCH_STATES;
+ comment: keyof typeof WATCH_STATE_COMMENTS;
+ lastFired?: Moment | null;
+ actionStatuses: ClientActionStatusModel[];
+}
diff --git a/x-pack/plugins/watcher/public/application/models/action_status/action_status.js b/x-pack/plugins/watcher/public/application/models/action_status/action_status.js
index 734e0cf7bdf17..f60b92dc1ab1b 100644
--- a/x-pack/plugins/watcher/public/application/models/action_status/action_status.js
+++ b/x-pack/plugins/watcher/public/application/models/action_status/action_status.js
@@ -16,7 +16,7 @@ export class ActionStatus {
this.lastAcknowledged = getMoment(get(props, 'lastAcknowledged'));
this.lastThrottled = getMoment(get(props, 'lastThrottled'));
this.lastExecution = getMoment(get(props, 'lastExecution'));
- this.lastExecutionSuccessful = get(props, 'lastExecutionSuccessful');
+ this.isLastExecutionSuccessful = get(props, 'isLastExecutionSuccessful');
this.lastExecutionReason = get(props, 'lastExecutionReason');
this.lastSuccessfulExecution = getMoment(get(props, 'lastSuccessfulExecution'));
diff --git a/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/threshold_watch_action_accordion.tsx b/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/threshold_watch_action_accordion.tsx
index 69fa65ab48645..f162941461ce8 100644
--- a/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/threshold_watch_action_accordion.tsx
+++ b/x-pack/plugins/watcher/public/application/sections/watch_edit_page/components/threshold_watch_edit/threshold_watch_action_accordion.tsx
@@ -244,7 +244,7 @@ export const WatchActionsAccordion: React.FunctionComponent = ({
(actionItem: ActionType) => actionItem.id === action.id
);
- if (actionStatus && actionStatus.lastExecutionSuccessful === false) {
+ if (actionStatus && actionStatus.isLastExecutionSuccessful === false) {
const message = actionStatus.lastExecutionReason || action.simulateFailMessage;
return toasts.addDanger(message);
}
diff --git a/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.js b/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.js
deleted file mode 100644
index e4ef87ab07dd6..0000000000000
--- a/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.js
+++ /dev/null
@@ -1,143 +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 { get } from 'lodash';
-import { badRequest } from '@hapi/boom';
-import { i18n } from '@kbn/i18n';
-
-import { getMoment } from '../../../common/lib/get_moment';
-import { ACTION_STATES } from '../../../common/constants';
-
-export class ActionStatusModel {
- constructor(props) {
- this.id = props.id;
- this.actionStatusJson = props.actionStatusJson;
- this.errors = props.errors;
- this.lastCheckedRawFormat = props.lastCheckedRawFormat;
-
- this.lastExecutionRawFormat = get(this.actionStatusJson, 'last_execution.timestamp');
- this.lastAcknowledged = getMoment(get(this.actionStatusJson, 'ack.timestamp'));
- this.lastExecution = getMoment(get(this.actionStatusJson, 'last_execution.timestamp'));
- this.lastExecutionSuccessful = get(this.actionStatusJson, 'last_execution.successful');
- this.lastExecutionReason = get(this.actionStatusJson, 'last_execution.reason');
- this.lastThrottled = getMoment(get(this.actionStatusJson, 'last_throttle.timestamp'));
- this.lastSuccessfulExecution = getMoment(
- get(this.actionStatusJson, 'last_successful_execution.timestamp')
- );
- }
-
- get state() {
- const actionStatusJson = this.actionStatusJson;
- const ackState = actionStatusJson.ack.state;
-
- if (
- this.lastExecutionSuccessful === false &&
- this.lastCheckedRawFormat === this.lastExecutionRawFormat
- ) {
- return ACTION_STATES.ERROR;
- }
-
- if (this.errors) {
- return ACTION_STATES.CONFIG_ERROR;
- }
-
- if (ackState === 'awaits_successful_execution') {
- return ACTION_STATES.OK;
- }
-
- if (ackState === 'acked' && this.lastAcknowledged >= this.lastExecution) {
- return ACTION_STATES.ACKNOWLEDGED;
- }
-
- // A user could potentially land in this state if running on multiple nodes and timing is off
- if (ackState === 'acked' && this.lastAcknowledged < this.lastExecution) {
- return ACTION_STATES.ERROR;
- }
-
- if (ackState === 'ackable' && this.lastThrottled >= this.lastExecution) {
- return ACTION_STATES.THROTTLED;
- }
-
- if (ackState === 'ackable' && this.lastSuccessfulExecution >= this.lastExecution) {
- return ACTION_STATES.FIRING;
- }
-
- if (ackState === 'ackable' && this.lastSuccessfulExecution < this.lastExecution) {
- return ACTION_STATES.ERROR;
- }
-
- // At this point, we cannot determine the action status so mark it as "unknown".
- // We should never get to this point in the code. If we do, it means we are
- // missing an action status and the logic to determine it.
- return ACTION_STATES.UNKNOWN;
- }
-
- get isAckable() {
- if (this.state === ACTION_STATES.THROTTLED || this.state === ACTION_STATES.FIRING) {
- return true;
- }
-
- return false;
- }
-
- // generate object to send to kibana
- get downstreamJson() {
- const json = {
- id: this.id,
- state: this.state,
- isAckable: this.isAckable,
- lastAcknowledged: this.lastAcknowledged,
- lastThrottled: this.lastThrottled,
- lastExecution: this.lastExecution,
- lastExecutionSuccessful: this.lastExecutionSuccessful,
- lastExecutionReason: this.lastExecutionReason,
- lastSuccessfulExecution: this.lastSuccessfulExecution,
- };
-
- return json;
- }
-
- // generate object from elasticsearch response
- static fromUpstreamJson(json) {
- const missingPropertyError = (missingProperty) =>
- i18n.translate(
- 'xpack.watcher.models.actionStatus.actionStatusJsonPropertyMissingBadRequestMessage',
- {
- defaultMessage: 'JSON argument must contain an "{missingProperty}" property',
- values: { missingProperty },
- }
- );
-
- if (!json.id) {
- throw badRequest(missingPropertyError('id'));
- }
-
- if (!json.actionStatusJson) {
- throw badRequest(missingPropertyError('actionStatusJson'));
- }
-
- return new ActionStatusModel(json);
- }
-
- /*
- json.actionStatusJson should have the following structure:
- {
- "ack": {
- "timestamp": "2017-03-01T20:56:58.442Z",
- "state": "acked"
- },
- "last_execution": {
- "timestamp": "2017-03-01T20:55:49.679Z",
- "successful": true
- },
- "last_successful_execution": {
- "timestamp": "2017-03-01T20:55:49.679Z",
- "successful": true
- }
- }
- */
-}
diff --git a/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.state.test.ts b/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.state.test.ts
new file mode 100644
index 0000000000000..d5ee596461b0e
--- /dev/null
+++ b/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.state.test.ts
@@ -0,0 +1,319 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor 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 { mergeWith, isObject } from 'lodash';
+
+import { ACTION_STATES } from '../../../common/constants';
+import { ActionStatusModelEs } from '../../../common/types';
+import { buildServerActionStatusModel, buildClientActionStatusModel } from './action_status_model';
+
+// Treat all nested properties of type as optional.
+type DeepPartial = T extends object
+ ? {
+ [P in keyof T]?: DeepPartial;
+ }
+ : T;
+
+const createModelWithActions = (
+ customActionStatusJson?: DeepPartial,
+ hasErrors: boolean = false
+) => {
+ // Set srcValue to {} to define an empty property.
+ const mergeFn = (destValue: any, srcValue: any) => {
+ if (isObject(srcValue) && Object.keys(srcValue).length === 0) {
+ return {};
+ }
+ // Default merge behavior.
+ return undefined;
+ };
+
+ const actionStatusJson = mergeWith(
+ {
+ ack: {
+ timestamp: '2017-03-01T20:56:58.442Z',
+ state: 'acked',
+ },
+ last_successful_execution: {
+ timestamp: '2017-03-01T20:55:49.679Z',
+ successful: true,
+ },
+ last_execution: {
+ timestamp: '2017-03-01T20:55:49.679Z',
+ successful: true,
+ reason: 'reasons',
+ },
+ last_throttle: {
+ timestamp: '2017-03-01T20:55:49.679Z',
+ reason: 'reasons',
+ },
+ },
+ customActionStatusJson,
+ mergeFn
+ );
+
+ const serverActionStatusModel = buildServerActionStatusModel({
+ id: 'my-action',
+ lastCheckedRawFormat: '2017-03-01T20:55:49.679Z',
+ actionStatusJson,
+ errors: hasErrors ? { foo: 'bar' } : undefined,
+ });
+
+ return buildClientActionStatusModel(serverActionStatusModel);
+};
+
+// NOTE: It's easier to test states through ActionStatusModel instead of
+// testing individual util functions because they require mocked timestamps
+// to be Moment instances, whereas ActionStatusModel only requires strings.
+describe('ActionStatusModel states', () => {
+ describe('ACTION_STATES.CONFIG_ERROR', () => {
+ it('is set when there are errors', () => {
+ const clientActionStatusModel = createModelWithActions(undefined, true);
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.CONFIG_ERROR);
+ });
+ });
+
+ describe(`ACTION_STATES.ERROR`, () => {
+ it('is set when isLastExecutionSuccessful is equal to false and it is the most recent execution', () => {
+ const clientActionStatusModel = createModelWithActions({
+ last_execution: {
+ successful: false,
+ },
+ });
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.ERROR);
+ });
+
+ it('is set when action is acked and lastAcknowledged is less than lastExecution', () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'acked',
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_execution: {
+ timestamp: '2017-03-02T00:00:00.000Z',
+ successful: true,
+ reason: 'reasons',
+ },
+ });
+
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.ERROR);
+ });
+
+ it('is set when action is ackable and lastSuccessfulExecution is less than lastExecution', () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'ackable',
+ },
+ last_successful_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_execution: {
+ timestamp: '2017-03-02T00:00:00.000Z',
+ },
+ last_throttle: {},
+ });
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.ERROR);
+ });
+
+ it(`isn't ackable`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'ackable',
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_successful_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_execution: {
+ timestamp: '2017-03-02T00:00:00.000Z',
+ },
+ last_throttle: {},
+ });
+
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.ERROR);
+ expect(clientActionStatusModel.isAckable).toBe(false);
+ });
+ });
+
+ describe(`ACTION_STATES.OK`, () => {
+ it('is set when state is awaits_successful_execution', () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'awaits_successful_execution',
+ },
+ });
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.OK);
+ });
+
+ it(`isn't ackable`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: { state: 'awaits_successful_execution' },
+ });
+
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.OK);
+ expect(clientActionStatusModel.isAckable).toBe(false);
+ });
+ });
+
+ describe(`ACTION_STATES.ACKNOWLEDGED`, () => {
+ it(`is set when lastAcknowledged is equal to lastExecution`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'acked',
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ });
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.ACKNOWLEDGED);
+ });
+
+ it(`is set when lastAcknowledged is greater than lastExecution`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'acked',
+ timestamp: '2017-03-02T00:00:00.000Z',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ });
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.ACKNOWLEDGED);
+ });
+
+ it(`isn't ackable`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'acked',
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ });
+
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.ACKNOWLEDGED);
+ expect(clientActionStatusModel.isAckable).toBe(false);
+ });
+ });
+
+ describe(`ACTION_STATES.THROTTLED`, () => {
+ it(`is set when lastThrottled is equal to lastExecution`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'ackable',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_throttle: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ });
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.THROTTLED);
+ });
+
+ it(`is set when lastThrottled is greater than lastExecution`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'ackable',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_throttle: {
+ timestamp: '2017-03-02T00:00:00.000Z',
+ },
+ });
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.THROTTLED);
+ });
+
+ it(`is ackable`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'ackable',
+ },
+ last_throttle: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ });
+
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.THROTTLED);
+ expect(clientActionStatusModel.isAckable).toBe(true);
+ });
+ });
+
+ describe(`ACTION_STATES.FIRING`, () => {
+ it(`is set when lastSuccessfulExecution is equal to lastExecution`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'ackable',
+ },
+ last_successful_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_throttle: {},
+ });
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.FIRING);
+ });
+
+ it(`is set when lastSuccessfulExecution is greater than lastExecution`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'ackable',
+ },
+ last_successful_execution: {
+ timestamp: '2017-03-02T00:00:00.000Z',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_throttle: {},
+ });
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.FIRING);
+ });
+
+ it(`is ackable`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ state: 'ackable',
+ },
+ last_successful_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T00:00:00.000Z',
+ },
+ last_throttle: {},
+ });
+
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.FIRING);
+ expect(clientActionStatusModel.isAckable).toBe(true);
+ });
+ });
+
+ describe(`ACTION_STATES.UNKNOWN`, () => {
+ it(`is set if it can't determine the state`, () => {
+ const clientActionStatusModel = createModelWithActions({
+ ack: {
+ // @ts-ignore
+ state: 'foo',
+ },
+ last_successful_execution: {
+ successful: true,
+ },
+ });
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.UNKNOWN);
+ });
+ });
+});
diff --git a/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.test.js b/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.test.js
deleted file mode 100644
index 08cd9e62093a8..0000000000000
--- a/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.test.js
+++ /dev/null
@@ -1,359 +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 moment from 'moment';
-
-import { ACTION_STATES } from '../../../common/constants';
-import { ActionStatusModel } from './action_status_model';
-
-describe('ActionStatusModel', () => {
- describe('fromUpstreamJson factory method', () => {
- let upstreamJson;
- beforeEach(() => {
- upstreamJson = {
- id: 'my-action',
- actionStatusJson: {
- ack: {
- timestamp: '2017-03-01T20:56:58.442Z',
- state: 'acked',
- },
- last_execution: {
- timestamp: '2017-03-01T20:55:49.679Z',
- successful: true,
- reason: 'reasons',
- },
- last_throttle: {
- timestamp: '2017-03-01T20:55:49.679Z',
- },
- last_successful_execution: {
- timestamp: '2017-03-01T20:55:49.679Z',
- successful: true,
- },
- },
- };
- });
-
- it(`throws an error if no 'id' property in json`, () => {
- delete upstreamJson.id;
- expect(() => {
- ActionStatusModel.fromUpstreamJson(upstreamJson);
- }).toThrow('JSON argument must contain an "id" property');
- });
-
- it(`throws an error if no 'actionStatusJson' property in json`, () => {
- delete upstreamJson.actionStatusJson;
- expect(() => {
- ActionStatusModel.fromUpstreamJson(upstreamJson);
- }).toThrow('JSON argument must contain an "actionStatusJson" property');
- });
-
- it('returns correct ActionStatus instance', () => {
- const actionStatus = ActionStatusModel.fromUpstreamJson({
- ...upstreamJson,
- errors: { foo: 'bar' },
- });
-
- expect(actionStatus.id).toBe(upstreamJson.id);
- expect(actionStatus.lastAcknowledged).toEqual(
- moment(upstreamJson.actionStatusJson.ack.timestamp)
- );
- expect(actionStatus.lastExecution).toEqual(
- moment(upstreamJson.actionStatusJson.last_execution.timestamp)
- );
- expect(actionStatus.lastExecutionSuccessful).toEqual(
- upstreamJson.actionStatusJson.last_execution.successful
- );
- expect(actionStatus.lastExecutionReason).toBe(
- upstreamJson.actionStatusJson.last_execution.reason
- );
- expect(actionStatus.lastThrottled).toEqual(
- moment(upstreamJson.actionStatusJson.last_throttle.timestamp)
- );
- expect(actionStatus.lastSuccessfulExecution).toEqual(
- moment(upstreamJson.actionStatusJson.last_successful_execution.timestamp)
- );
- expect(actionStatus.errors).toEqual({ foo: 'bar' });
- });
- });
-
- describe('state getter method', () => {
- let upstreamJson;
- beforeEach(() => {
- upstreamJson = {
- id: 'my-action',
- lastCheckedRawFormat: '2017-03-01T20:55:49.679Z',
- actionStatusJson: {
- ack: {
- timestamp: '2017-03-01T20:56:58.442Z',
- state: 'acked',
- },
- last_execution: {
- timestamp: '2017-03-01T20:55:49.679Z',
- successful: true,
- reason: 'reasons',
- },
- last_throttle: {
- timestamp: '2017-03-01T20:55:49.679Z',
- },
- last_successful_execution: {
- timestamp: '2017-03-01T20:55:49.679Z',
- successful: true,
- },
- },
- };
- });
-
- describe(`correctly calculates ACTION_STATES.ERROR`, () => {
- it('lastExecutionSuccessful is equal to false and it is the most recent execution', () => {
- upstreamJson.actionStatusJson.last_execution.successful = false;
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
- expect(actionStatus.state).toBe(ACTION_STATES.ERROR);
- });
-
- it('action is acked and lastAcknowledged is less than lastExecution', () => {
- const actionStatus = ActionStatusModel.fromUpstreamJson({
- ...upstreamJson,
- actionStatusJson: {
- ack: {
- state: 'acked',
- timestamp: '2017-03-01T00:00:00.000Z',
- },
- last_execution: {
- timestamp: '2017-03-02T00:00:00.000Z',
- },
- },
- });
- expect(actionStatus.state).toBe(ACTION_STATES.ERROR);
- });
-
- it('action is ackable and lastSuccessfulExecution is less than lastExecution', () => {
- delete upstreamJson.actionStatusJson.last_throttle;
- upstreamJson.actionStatusJson.ack.state = 'ackable';
- upstreamJson.actionStatusJson.last_successful_execution.timestamp =
- '2017-03-01T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-02T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.ERROR);
- });
- });
-
- it('correctly calculates ACTION_STATES.CONFIG_ERROR', () => {
- const actionStatus = ActionStatusModel.fromUpstreamJson({
- ...upstreamJson,
- errors: { foo: 'bar' },
- });
- expect(actionStatus.state).toBe(ACTION_STATES.CONFIG_ERROR);
- });
-
- it(`correctly calculates ACTION_STATES.OK`, () => {
- upstreamJson.actionStatusJson.ack.state = 'awaits_successful_execution';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.OK);
- });
-
- describe(`correctly calculates ACTION_STATES.ACKNOWLEDGED`, () => {
- it(`when lastAcknowledged is equal to lastExecution`, () => {
- upstreamJson.actionStatusJson.ack.state = 'acked';
- upstreamJson.actionStatusJson.ack.timestamp = '2017-03-01T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-01T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.ACKNOWLEDGED);
- });
-
- it(`when lastAcknowledged is greater than lastExecution`, () => {
- upstreamJson.actionStatusJson.ack.state = 'acked';
- upstreamJson.actionStatusJson.ack.timestamp = '2017-03-02T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-01T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.ACKNOWLEDGED);
- });
- });
-
- describe(`correctly calculates ACTION_STATES.THROTTLED`, () => {
- it(`when lastThrottled is equal to lastExecution`, () => {
- upstreamJson.actionStatusJson.ack.state = 'ackable';
- upstreamJson.actionStatusJson.last_throttle.timestamp = '2017-03-01T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-01T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.THROTTLED);
- });
-
- it(`when lastThrottled is greater than lastExecution`, () => {
- upstreamJson.actionStatusJson.ack.state = 'ackable';
- upstreamJson.actionStatusJson.last_throttle.timestamp = '2017-03-02T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-01T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.THROTTLED);
- });
- });
-
- describe(`correctly calculates ACTION_STATES.FIRING`, () => {
- it(`when lastSuccessfulExecution is equal to lastExecution`, () => {
- delete upstreamJson.actionStatusJson.last_throttle;
- upstreamJson.actionStatusJson.ack.state = 'ackable';
- upstreamJson.actionStatusJson.last_successful_execution.timestamp =
- '2017-03-01T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-01T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.FIRING);
- });
-
- it(`when lastSuccessfulExecution is greater than lastExecution`, () => {
- delete upstreamJson.actionStatusJson.last_throttle;
- upstreamJson.actionStatusJson.ack.state = 'ackable';
- upstreamJson.actionStatusJson.last_successful_execution.timestamp =
- '2017-03-02T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-01T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.FIRING);
- });
- });
-
- it(`correctly calculates ACTION_STATES.UNKNOWN if it can not determine state`, () => {
- upstreamJson = {
- id: 'my-action',
- actionStatusJson: {
- ack: { state: 'foo' },
- last_successful_execution: { successful: true },
- },
- };
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.UNKNOWN);
- });
- });
-
- describe('isAckable getter method', () => {
- let upstreamJson;
- beforeEach(() => {
- upstreamJson = {
- id: 'my-action',
- actionStatusJson: {
- ack: {
- timestamp: '2017-03-01T20:56:58.442Z',
- state: 'acked',
- },
- last_execution: {
- timestamp: '2017-03-01T20:55:49.679Z',
- successful: true,
- reason: 'reasons',
- },
- last_throttle: {
- timestamp: '2017-03-01T20:55:49.679Z',
- },
- last_successful_execution: {
- timestamp: '2017-03-01T20:55:49.679Z',
- successful: true,
- },
- },
- };
- });
-
- it(`correctly calculated isAckable when in ACTION_STATES.OK`, () => {
- upstreamJson.actionStatusJson.ack.state = 'awaits_successful_execution';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.OK);
- expect(actionStatus.isAckable).toBe(false);
- });
-
- it(`correctly calculated isAckable when in ACTION_STATES.ACKNOWLEDGED`, () => {
- upstreamJson.actionStatusJson.ack.state = 'acked';
- upstreamJson.actionStatusJson.ack.timestamp = '2017-03-01T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-01T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.ACKNOWLEDGED);
- expect(actionStatus.isAckable).toBe(false);
- });
-
- it(`correctly calculated isAckable when in ACTION_STATES.THROTTLED`, () => {
- upstreamJson.actionStatusJson.ack.state = 'ackable';
- upstreamJson.actionStatusJson.last_throttle.timestamp = '2017-03-01T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-01T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.THROTTLED);
- expect(actionStatus.isAckable).toBe(true);
- });
-
- it(`correctly calculated isAckable when in ACTION_STATES.FIRING`, () => {
- delete upstreamJson.actionStatusJson.last_throttle;
- upstreamJson.actionStatusJson.ack.state = 'ackable';
- upstreamJson.actionStatusJson.last_successful_execution.timestamp =
- '2017-03-01T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-01T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.FIRING);
- expect(actionStatus.isAckable).toBe(true);
- });
-
- it(`correctly calculated isAckable when in ACTION_STATES.ERROR`, () => {
- delete upstreamJson.actionStatusJson.last_throttle;
- upstreamJson.actionStatusJson.ack.state = 'ackable';
- upstreamJson.actionStatusJson.last_successful_execution.timestamp =
- '2017-03-01T00:00:00.000Z';
- upstreamJson.actionStatusJson.last_execution.timestamp = '2017-03-02T00:00:00.000Z';
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(actionStatus.state).toBe(ACTION_STATES.ERROR);
- expect(actionStatus.isAckable).toBe(false);
- });
- });
-
- describe('downstreamJson getter method', () => {
- let upstreamJson;
- beforeEach(() => {
- upstreamJson = {
- id: 'my-action',
- actionStatusJson: {
- ack: {
- timestamp: '2017-03-01T20:56:58.442Z',
- state: 'acked',
- },
- last_execution: {
- timestamp: '2017-03-01T20:55:49.679Z',
- successful: true,
- reason: 'reasons',
- },
- last_throttle: {
- timestamp: '2017-03-01T20:55:49.679Z',
- },
- last_successful_execution: {
- timestamp: '2017-03-01T20:55:49.679Z',
- successful: true,
- },
- },
- };
- });
-
- it('returns correct JSON for client', () => {
- const actionStatus = ActionStatusModel.fromUpstreamJson(upstreamJson);
-
- const json = actionStatus.downstreamJson;
-
- expect(json.id).toBe(actionStatus.id);
- expect(json.state).toBe(actionStatus.state);
- expect(json.isAckable).toBe(actionStatus.isAckable);
- expect(json.lastAcknowledged).toBe(actionStatus.lastAcknowledged);
- expect(json.lastThrottled).toBe(actionStatus.lastThrottled);
- expect(json.lastExecution).toBe(actionStatus.lastExecution);
- expect(json.lastExecutionSuccessful).toBe(actionStatus.lastExecutionSuccessful);
- expect(json.lastExecutionReason).toBe(actionStatus.lastExecutionReason);
- expect(json.lastSuccessfulExecution).toBe(actionStatus.lastSuccessfulExecution);
- });
- });
-});
diff --git a/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.test.ts b/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.test.ts
new file mode 100644
index 0000000000000..1d61385c46dd5
--- /dev/null
+++ b/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.test.ts
@@ -0,0 +1,142 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import moment from 'moment';
+
+import { ACTION_STATES } from '../../../common/constants';
+import { ActionStatusModelEs } from '../../../common/types';
+import { buildServerActionStatusModel, buildClientActionStatusModel } from './action_status_model';
+
+describe('ActionStatusModel', () => {
+ describe('buildServerActionStatusModel', () => {
+ let upstreamJson: ActionStatusModelEs;
+ beforeEach(() => {
+ upstreamJson = {
+ id: 'my-action',
+ lastCheckedRawFormat: '2017-03-01T20:55:49.679Z',
+ actionStatusJson: {
+ ack: {
+ timestamp: '2017-03-01T20:56:58.442Z',
+ state: 'acked',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T20:55:49.679Z',
+ successful: true,
+ reason: 'reasons',
+ },
+ last_throttle: {
+ timestamp: '2017-03-01T20:55:49.679Z',
+ reason: 'reasons',
+ },
+ last_successful_execution: {
+ timestamp: '2017-03-01T20:55:49.679Z',
+ successful: true,
+ },
+ },
+ };
+ });
+
+ // TODO: Remove once all consumers and upstream dependencies are converted to TS.
+ it(`throws an error if no 'id' property in json`, () => {
+ expect(() => {
+ // @ts-ignore
+ buildServerActionStatusModel({});
+ }).toThrow('JSON argument must contain an "id" property');
+ });
+
+ // TODO: Remove once all consumers and upstream dependencies are converted to TS.
+ it(`throws an error if no 'actionStatusJson' property in json`, () => {
+ expect(() => {
+ // @ts-ignore
+ buildServerActionStatusModel({ id: 'test' });
+ }).toThrow('JSON argument must contain an "actionStatusJson" property');
+ });
+
+ it('returns correct ActionStatus instance', () => {
+ const serverActionStatusModel = buildServerActionStatusModel({
+ ...upstreamJson,
+ errors: { foo: 'bar' },
+ });
+
+ expect(serverActionStatusModel.id).toBe(upstreamJson.id);
+ expect(serverActionStatusModel.lastAcknowledged).toEqual(
+ moment(upstreamJson.actionStatusJson.ack.timestamp)
+ );
+ expect(serverActionStatusModel.lastExecution).toEqual(
+ moment(upstreamJson.actionStatusJson.last_execution?.timestamp)
+ );
+ expect(serverActionStatusModel.isLastExecutionSuccessful).toEqual(
+ upstreamJson.actionStatusJson.last_execution?.successful
+ );
+ expect(serverActionStatusModel.lastExecutionReason).toBe(
+ upstreamJson.actionStatusJson.last_execution?.reason
+ );
+ expect(serverActionStatusModel.lastThrottled).toEqual(
+ moment(upstreamJson.actionStatusJson.last_throttle?.timestamp)
+ );
+ expect(serverActionStatusModel.lastSuccessfulExecution).toEqual(
+ moment(upstreamJson.actionStatusJson.last_successful_execution?.timestamp)
+ );
+ expect(serverActionStatusModel.errors).toEqual({ foo: 'bar' });
+ });
+ });
+
+ describe('buildClientActionStatusModel', () => {
+ let upstreamJson: ActionStatusModelEs;
+ beforeEach(() => {
+ upstreamJson = {
+ id: 'my-action',
+ lastCheckedRawFormat: '2017-03-01T20:55:49.679Z',
+ actionStatusJson: {
+ ack: {
+ timestamp: '2017-03-01T20:56:58.442Z',
+ state: 'acked',
+ },
+ last_execution: {
+ timestamp: '2017-03-01T20:55:49.679Z',
+ successful: true,
+ reason: 'reasons',
+ },
+ last_throttle: {
+ timestamp: '2017-03-01T20:55:49.679Z',
+ reason: 'reasons',
+ },
+ last_successful_execution: {
+ timestamp: '2017-03-01T20:55:49.679Z',
+ successful: true,
+ },
+ },
+ };
+ });
+
+ it('returns correct JSON for client', () => {
+ const serverActionStatusModel = buildServerActionStatusModel(upstreamJson);
+ const clientActionStatusModel = buildClientActionStatusModel(serverActionStatusModel);
+
+ // These properties should be transcribed 1:1.
+ expect(clientActionStatusModel.id).toBe(serverActionStatusModel.id);
+ expect(clientActionStatusModel.lastAcknowledged).toBe(
+ serverActionStatusModel.lastAcknowledged
+ );
+ expect(clientActionStatusModel.lastThrottled).toBe(serverActionStatusModel.lastThrottled);
+ expect(clientActionStatusModel.lastExecution).toBe(serverActionStatusModel.lastExecution);
+ expect(clientActionStatusModel.isLastExecutionSuccessful).toBe(
+ serverActionStatusModel.isLastExecutionSuccessful
+ );
+ expect(clientActionStatusModel.lastExecutionReason).toBe(
+ serverActionStatusModel.lastExecutionReason
+ );
+ expect(clientActionStatusModel.lastSuccessfulExecution).toBe(
+ serverActionStatusModel.lastSuccessfulExecution
+ );
+
+ // These properties are derived when clientActionStatusModel is created.
+ expect(clientActionStatusModel.state).toBe(ACTION_STATES.ACKNOWLEDGED);
+ expect(clientActionStatusModel.isAckable).toBe(false);
+ });
+ });
+});
diff --git a/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.ts b/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.ts
new file mode 100644
index 0000000000000..da337e4b17748
--- /dev/null
+++ b/x-pack/plugins/watcher/server/models/action_status_model/action_status_model.ts
@@ -0,0 +1,78 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { badRequest } from '@hapi/boom';
+import { i18n } from '@kbn/i18n';
+
+import { ActionStatusModelEs, ServerActionStatusModel } from '../../../common/types';
+import { getMoment } from '../../../common/lib/get_moment';
+import { deriveState, deriveIsAckable } from './action_status_model_utils';
+
+export const buildServerActionStatusModel = (
+ actionStatusModelEs: ActionStatusModelEs
+): ServerActionStatusModel => {
+ const { id, actionStatusJson, errors, lastCheckedRawFormat } = actionStatusModelEs;
+
+ const missingPropertyError = (missingProperty: string) =>
+ i18n.translate(
+ 'xpack.watcher.models.actionStatus.actionStatusJsonPropertyMissingBadRequestMessage',
+ {
+ defaultMessage: 'JSON argument must contain an "{missingProperty}" property',
+ values: { missingProperty },
+ }
+ );
+
+ // TODO: Remove once all consumers and upstream dependencies are converted to TS.
+ if (!id) {
+ throw badRequest(missingPropertyError('id'));
+ }
+
+ // TODO: Remove once all consumers and upstream dependencies are converted to TS.
+ if (!actionStatusJson) {
+ throw badRequest(missingPropertyError('actionStatusJson'));
+ }
+
+ return {
+ id,
+ actionStatusJson,
+ errors,
+ lastCheckedRawFormat,
+ lastExecutionRawFormat: actionStatusJson.last_execution?.timestamp,
+ lastAcknowledged: getMoment(actionStatusJson.ack.timestamp),
+ lastExecution: getMoment(actionStatusJson.last_execution?.timestamp),
+ isLastExecutionSuccessful: actionStatusJson.last_execution?.successful,
+ lastExecutionReason: actionStatusJson.last_execution?.reason,
+ lastThrottled: getMoment(actionStatusJson.last_throttle?.timestamp),
+ lastSuccessfulExecution: getMoment(actionStatusJson.last_successful_execution?.timestamp),
+ };
+};
+
+export const buildClientActionStatusModel = (serverActionStatusModel: ServerActionStatusModel) => {
+ const {
+ id,
+ lastAcknowledged,
+ lastThrottled,
+ lastExecution,
+ isLastExecutionSuccessful,
+ lastExecutionReason,
+ lastSuccessfulExecution,
+ } = serverActionStatusModel;
+ const state = deriveState(serverActionStatusModel);
+ const isAckable = deriveIsAckable(state);
+
+ return {
+ id,
+ lastAcknowledged,
+ lastThrottled,
+ lastExecution,
+ isLastExecutionSuccessful,
+ lastExecutionReason,
+ lastSuccessfulExecution,
+ state,
+ isAckable,
+ };
+};
diff --git a/x-pack/plugins/watcher/server/models/action_status_model/action_status_model_utils.ts b/x-pack/plugins/watcher/server/models/action_status_model/action_status_model_utils.ts
new file mode 100644
index 0000000000000..5c6089132d680
--- /dev/null
+++ b/x-pack/plugins/watcher/server/models/action_status_model/action_status_model_utils.ts
@@ -0,0 +1,82 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { ACTION_STATES } from '../../../common/constants';
+import { ServerActionStatusModel } from '../../../common/types';
+
+export const deriveState = (serverActionStatusModel: ServerActionStatusModel) => {
+ const {
+ actionStatusJson,
+ isLastExecutionSuccessful,
+ lastCheckedRawFormat,
+ lastExecutionRawFormat,
+ errors,
+ lastAcknowledged,
+ lastExecution,
+ lastThrottled,
+ lastSuccessfulExecution,
+ } = serverActionStatusModel;
+ const ackState = actionStatusJson.ack.state;
+
+ if (isLastExecutionSuccessful === false && lastCheckedRawFormat === lastExecutionRawFormat) {
+ return ACTION_STATES.ERROR;
+ }
+
+ if (errors) {
+ return ACTION_STATES.CONFIG_ERROR;
+ }
+
+ if (ackState === 'awaits_successful_execution') {
+ return ACTION_STATES.OK;
+ }
+
+ if (lastExecution) {
+ // Might be null
+ if (lastAcknowledged) {
+ // Might be null
+ if (ackState === 'acked' && lastAcknowledged >= lastExecution) {
+ return ACTION_STATES.ACKNOWLEDGED;
+ }
+
+ // A user could potentially land in this state if running on multiple nodes and timing is off
+ if (ackState === 'acked' && lastAcknowledged < lastExecution) {
+ return ACTION_STATES.ERROR;
+ }
+ }
+
+ if (lastThrottled) {
+ // Might be null
+ if (ackState === 'ackable' && lastThrottled >= lastExecution) {
+ return ACTION_STATES.THROTTLED;
+ }
+ }
+
+ if (lastSuccessfulExecution) {
+ // Might be null
+ if (ackState === 'ackable' && lastSuccessfulExecution >= lastExecution) {
+ return ACTION_STATES.FIRING;
+ }
+
+ if (ackState === 'ackable' && lastSuccessfulExecution < lastExecution) {
+ return ACTION_STATES.ERROR;
+ }
+ }
+ }
+
+ // At this point, we cannot determine the action status so mark it as "unknown".
+ // We should never get to this point in the code. If we do, it means we are
+ // missing an action status and the logic to determine it.
+ return ACTION_STATES.UNKNOWN;
+};
+
+export const deriveIsAckable = (state: keyof typeof ACTION_STATES) => {
+ if (state === ACTION_STATES.THROTTLED || state === ACTION_STATES.FIRING) {
+ return true;
+ }
+
+ return false;
+};
diff --git a/x-pack/plugins/watcher/server/models/action_status_model/index.ts b/x-pack/plugins/watcher/server/models/action_status_model/index.ts
new file mode 100644
index 0000000000000..5fe626031b901
--- /dev/null
+++ b/x-pack/plugins/watcher/server/models/action_status_model/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 { buildServerActionStatusModel, buildClientActionStatusModel } from './action_status_model';
diff --git a/x-pack/plugins/watcher/server/models/watch/base_watch.js b/x-pack/plugins/watcher/server/models/watch/base_watch.js
index 053b03e7f3931..3a2d09486cf8c 100644
--- a/x-pack/plugins/watcher/server/models/watch/base_watch.js
+++ b/x-pack/plugins/watcher/server/models/watch/base_watch.js
@@ -10,7 +10,7 @@ import { badRequest } from '@hapi/boom';
import { i18n } from '@kbn/i18n';
import { Action } from '../../../common/models/action';
-import { WatchStatusModel } from '../watch_status_model';
+import { buildServerWatchStatusModel, buildClientWatchStatusModel } from '../watch_status_model';
import { WatchErrors } from '../watch_errors';
export class BaseWatch {
@@ -60,7 +60,7 @@ export class BaseWatch {
name: this.name,
type: this.type,
isSystemWatch: this.isSystemWatch,
- watchStatus: this.watchStatus ? this.watchStatus.downstreamJson : undefined,
+ watchStatus: this.watchStatus ? buildClientWatchStatusModel(this.watchStatus) : undefined,
watchErrors: this.watchErrors ? this.watchErrors.downstreamJson : undefined,
actions: map(this.actions, (action) => action.downstreamJson),
};
@@ -138,7 +138,7 @@ export class BaseWatch {
const watchErrors = WatchErrors.fromUpstreamJson(this.getWatchErrors(actions));
- const watchStatus = WatchStatusModel.fromUpstreamJson({
+ const watchStatus = buildServerWatchStatusModel({
id,
watchStatusJson,
watchErrors,
diff --git a/x-pack/plugins/watcher/server/models/watch/base_watch.test.js b/x-pack/plugins/watcher/server/models/watch/base_watch.test.js
index 17ad6c5afb986..18837e6fc860c 100644
--- a/x-pack/plugins/watcher/server/models/watch/base_watch.test.js
+++ b/x-pack/plugins/watcher/server/models/watch/base_watch.test.js
@@ -5,6 +5,7 @@
* 2.0.
*/
+import { buildClientWatchStatusModel } from '../watch_status_model';
import { BaseWatch } from './base_watch';
describe('BaseWatch', () => {
@@ -160,7 +161,7 @@ describe('BaseWatch', () => {
name: props.name,
type: props.type,
isSystemWatch: false,
- watchStatus: props.watchStatus.downstreamJson,
+ watchStatus: buildClientWatchStatusModel(props.watchStatus),
watchErrors: props.watchErrors.downstreamJson,
actions: props.actions.map((a) => a.downstreamJson),
};
diff --git a/x-pack/plugins/watcher/server/models/watch/json_watch.test.js b/x-pack/plugins/watcher/server/models/watch/json_watch.test.js
index 4ddc4faf7a511..397bfddb095ab 100644
--- a/x-pack/plugins/watcher/server/models/watch/json_watch.test.js
+++ b/x-pack/plugins/watcher/server/models/watch/json_watch.test.js
@@ -80,7 +80,7 @@ describe('JsonWatch', () => {
beforeEach(() => {
upstreamJson = {
id: 'id',
- watchStatusJson: {},
+ watchStatusJson: { state: { active: true } },
watchJson: {
trigger: 'trigger',
input: 'input',
diff --git a/x-pack/plugins/watcher/server/models/watch/monitoring_watch.test.js b/x-pack/plugins/watcher/server/models/watch/monitoring_watch.test.js
index 0e31588279184..e642dab5a4d0c 100644
--- a/x-pack/plugins/watcher/server/models/watch/monitoring_watch.test.js
+++ b/x-pack/plugins/watcher/server/models/watch/monitoring_watch.test.js
@@ -89,7 +89,7 @@ describe('MonitoringWatch', () => {
const actual = MonitoringWatch.fromUpstreamJson({
id: 'id',
watchJson: {},
- watchStatusJson: {},
+ watchStatusJson: { state: { active: true } },
});
const expected = {
diff --git a/x-pack/plugins/watcher/server/models/watch/threshold_watch/threshold_watch.test.js b/x-pack/plugins/watcher/server/models/watch/threshold_watch/threshold_watch.test.js
index f56d6624a8546..f581135b4decc 100644
--- a/x-pack/plugins/watcher/server/models/watch/threshold_watch/threshold_watch.test.js
+++ b/x-pack/plugins/watcher/server/models/watch/threshold_watch/threshold_watch.test.js
@@ -137,7 +137,7 @@ describe('ThresholdWatch', () => {
beforeEach(() => {
upstreamJson = {
id: 'id',
- watchStatusJson: {},
+ watchStatusJson: { state: { active: true } },
watchJson: {
foo: { bar: 'baz' },
metadata: {
diff --git a/x-pack/plugins/watcher/server/models/watch/watch.test.js b/x-pack/plugins/watcher/server/models/watch/watch.test.js
index 09cfeda338f37..999a3d3006e34 100644
--- a/x-pack/plugins/watcher/server/models/watch/watch.test.js
+++ b/x-pack/plugins/watcher/server/models/watch/watch.test.js
@@ -57,7 +57,7 @@ describe('Watch', () => {
it('JsonWatch to be used when type is WATCH_TYPES.JSON', () => {
const config = {
id: 'id',
- watchStatusJson: {},
+ watchStatusJson: { state: { active: true } },
watchJson: { metadata: { xpack: { type: WATCH_TYPES.JSON } } },
};
expect(Watch.fromUpstreamJson(config)).toEqual(JsonWatch.fromUpstreamJson(config));
@@ -66,7 +66,7 @@ describe('Watch', () => {
it('ThresholdWatch to be used when type is WATCH_TYPES.THRESHOLD', () => {
const config = {
id: 'id',
- watchStatusJson: {},
+ watchStatusJson: { state: { active: true } },
watchJson: { metadata: { watcherui: {}, xpack: { type: WATCH_TYPES.THRESHOLD } } },
};
expect(Watch.fromUpstreamJson(config)).toEqual(ThresholdWatch.fromUpstreamJson(config));
@@ -75,7 +75,7 @@ describe('Watch', () => {
it('MonitoringWatch to be used when type is WATCH_TYPES.MONITORING', () => {
const config = {
id: 'id',
- watchStatusJson: {},
+ watchStatusJson: { state: { active: true } },
watchJson: { metadata: { xpack: { type: WATCH_TYPES.MONITORING } } },
};
expect(Watch.fromUpstreamJson(config)).toEqual(MonitoringWatch.fromUpstreamJson(config));
diff --git a/x-pack/plugins/watcher/server/models/watch_history_item/watch_history_item.js b/x-pack/plugins/watcher/server/models/watch_history_item/watch_history_item.js
index a343dcfe72907..d1ddc12df2682 100644
--- a/x-pack/plugins/watcher/server/models/watch_history_item/watch_history_item.js
+++ b/x-pack/plugins/watcher/server/models/watch_history_item/watch_history_item.js
@@ -10,7 +10,7 @@ import { get, cloneDeep } from 'lodash';
import { i18n } from '@kbn/i18n';
import { getMoment } from '../../../common/lib/get_moment';
-import { WatchStatusModel } from '../watch_status_model';
+import { buildServerWatchStatusModel, buildClientWatchStatusModel } from '../watch_status_model';
export class WatchHistoryItem {
constructor(props) {
@@ -24,7 +24,7 @@ export class WatchHistoryItem {
const watchStatusJson = get(this.watchHistoryItemJson, 'status');
const state = get(this.watchHistoryItemJson, 'state');
- this.watchStatus = WatchStatusModel.fromUpstreamJson({
+ this.watchStatus = buildServerWatchStatusModel({
id: this.watchId,
watchStatusJson,
state,
@@ -37,7 +37,7 @@ export class WatchHistoryItem {
watchId: this.watchId,
details: this.includeDetails ? this.details : null,
startTime: this.startTime.toISOString(),
- watchStatus: this.watchStatus.downstreamJson,
+ watchStatus: buildClientWatchStatusModel(this.watchStatus),
};
}
diff --git a/x-pack/plugins/watcher/server/models/action_status_model/index.js b/x-pack/plugins/watcher/server/models/watch_status_model/index.ts
similarity index 72%
rename from x-pack/plugins/watcher/server/models/action_status_model/index.js
rename to x-pack/plugins/watcher/server/models/watch_status_model/index.ts
index 18ceabb0c1dc8..e38fa42aeaeb8 100644
--- a/x-pack/plugins/watcher/server/models/action_status_model/index.js
+++ b/x-pack/plugins/watcher/server/models/watch_status_model/index.ts
@@ -5,4 +5,4 @@
* 2.0.
*/
-export { ActionStatusModel } from './action_status_model';
+export { buildServerWatchStatusModel, buildClientWatchStatusModel } from './watch_status_model';
diff --git a/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.js b/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.js
deleted file mode 100644
index c0b38c429a1f6..0000000000000
--- a/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.js
+++ /dev/null
@@ -1,203 +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 { get, map, forEach, maxBy } from 'lodash';
-import { badRequest } from '@hapi/boom';
-import { i18n } from '@kbn/i18n';
-
-import { ACTION_STATES, WATCH_STATES, WATCH_STATE_COMMENTS } from '../../../common/constants';
-import { getMoment } from '../../../common/lib/get_moment';
-import { ActionStatusModel } from '../action_status_model';
-
-function getActionStatusTotals(watchStatus) {
- const result = {};
-
- forEach(ACTION_STATES, (state) => {
- result[state] = 0;
- });
- forEach(watchStatus.actionStatuses, (actionStatus) => {
- result[actionStatus.state] = result[actionStatus.state] + 1;
- });
-
- return result;
-}
-
-const WATCH_STATE_FAILED = 'failed';
-
-export class WatchStatusModel {
- constructor(props) {
- this.id = props.id;
- this.watchState = props.state;
- this.watchStatusJson = props.watchStatusJson;
- this.watchErrors = props.watchErrors || {};
-
- this.isActive = Boolean(get(this.watchStatusJson, 'state.active'));
- this.lastChecked = getMoment(get(this.watchStatusJson, 'last_checked'));
- this.lastMetCondition = getMoment(get(this.watchStatusJson, 'last_met_condition'));
-
- const actionStatusesJson = get(this.watchStatusJson, 'actions', {});
- this.actionStatuses = map(actionStatusesJson, (actionStatusJson, id) => {
- const json = {
- id,
- actionStatusJson,
- errors: this.watchErrors.actions && this.watchErrors.actions[id],
- lastCheckedRawFormat: get(this.watchStatusJson, 'last_checked'),
- };
- return ActionStatusModel.fromUpstreamJson(json);
- });
- }
-
- get state() {
- if (!this.isActive) {
- return WATCH_STATES.DISABLED;
- }
-
- if (this.watchState === WATCH_STATE_FAILED) {
- return WATCH_STATES.ERROR;
- }
-
- const totals = getActionStatusTotals(this);
-
- if (totals[ACTION_STATES.ERROR] > 0) {
- return WATCH_STATES.ERROR;
- }
-
- if (totals[ACTION_STATES.CONFIG_ERROR] > 0) {
- return WATCH_STATES.CONFIG_ERROR;
- }
-
- const firingTotal =
- totals[ACTION_STATES.FIRING] +
- totals[ACTION_STATES.ACKNOWLEDGED] +
- totals[ACTION_STATES.THROTTLED];
-
- if (firingTotal > 0) {
- return WATCH_STATES.FIRING;
- }
-
- return WATCH_STATES.OK;
- }
-
- get comment() {
- const totals = getActionStatusTotals(this);
- const totalActions = this.actionStatuses.length;
- let result = WATCH_STATE_COMMENTS.OK;
-
- if (totals[ACTION_STATES.THROTTLED] > 0 && totals[ACTION_STATES.THROTTLED] < totalActions) {
- result = WATCH_STATE_COMMENTS.PARTIALLY_THROTTLED;
- }
-
- if (totals[ACTION_STATES.THROTTLED] > 0 && totals[ACTION_STATES.THROTTLED] === totalActions) {
- result = WATCH_STATE_COMMENTS.THROTTLED;
- }
-
- if (
- totals[ACTION_STATES.ACKNOWLEDGED] > 0 &&
- totals[ACTION_STATES.ACKNOWLEDGED] < totalActions
- ) {
- result = WATCH_STATE_COMMENTS.PARTIALLY_ACKNOWLEDGED;
- }
-
- if (
- totals[ACTION_STATES.ACKNOWLEDGED] > 0 &&
- totals[ACTION_STATES.ACKNOWLEDGED] === totalActions
- ) {
- result = WATCH_STATE_COMMENTS.ACKNOWLEDGED;
- }
-
- if (totals[ACTION_STATES.ERROR] > 0) {
- result = WATCH_STATE_COMMENTS.FAILING;
- }
-
- if (!this.isActive) {
- result = WATCH_STATE_COMMENTS.OK;
- }
-
- return result;
- }
-
- get lastFired() {
- const actionStatus = maxBy(this.actionStatuses, 'lastExecution');
- if (actionStatus) {
- return actionStatus.lastExecution;
- }
- }
-
- // generate object to send to kibana
- get downstreamJson() {
- const json = {
- id: this.id,
- state: this.state,
- comment: this.comment,
- isActive: this.isActive,
- lastChecked: this.lastChecked,
- lastMetCondition: this.lastMetCondition,
- lastFired: this.lastFired,
- actionStatuses: map(this.actionStatuses, (actionStatus) => actionStatus.downstreamJson),
- };
-
- return json;
- }
-
- // generate object from elasticsearch response
- static fromUpstreamJson(json) {
- if (!json.id) {
- throw badRequest(
- i18n.translate('xpack.watcher.models.watchStatus.idPropertyMissingBadRequestMessage', {
- defaultMessage: 'JSON argument must contain an {id} property',
- values: {
- id: 'id',
- },
- })
- );
- }
- if (!json.watchStatusJson) {
- throw badRequest(
- i18n.translate(
- 'xpack.watcher.models.watchStatus.watchStatusJsonPropertyMissingBadRequestMessage',
- {
- defaultMessage: 'JSON argument must contain a {watchStatusJson} property',
- values: {
- watchStatusJson: 'watchStatusJson',
- },
- }
- )
- );
- }
-
- return new WatchStatusModel(json);
- }
-
- /*
- json.watchStatusJson should have the following structure:
- {
- "state": {
- "active": true,
- "timestamp": "2017-03-01T19:05:49.400Z"
- },
- "actions": {
- "log-me-something": {
- "ack": {
- "timestamp": "2017-03-01T20:56:58.442Z",
- "state": "acked"
- },
- "last_execution": {
- "timestamp": "2017-03-01T20:55:49.679Z",
- "successful": true
- },
- "last_successful_execution": {
- "timestamp": "2017-03-01T20:55:49.679Z",
- "successful": true
- }
- }
- },
- "version": 15,
- "last_checked": "2017-03-02T14:25:31.139Z",
- "last_met_condition": "2017-03-02T14:25:31.139Z"
- }
- */
-}
diff --git a/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.test.js b/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.test.js
deleted file mode 100644
index 5dbb3a58d2740..0000000000000
--- a/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.test.js
+++ /dev/null
@@ -1,313 +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 moment from 'moment';
-
-import { ACTION_STATES, WATCH_STATES, WATCH_STATE_COMMENTS } from '../../../common/constants';
-import { WatchStatusModel } from './watch_status_model';
-
-describe('WatchStatusModel', () => {
- describe('fromUpstreamJson factory method', () => {
- let upstreamJson;
- beforeEach(() => {
- upstreamJson = {
- id: 'my-watch',
- watchStatusJson: {
- state: {
- active: true,
- },
- last_checked: '2017-03-02T14:25:31.139Z',
- last_met_condition: '2017-07-05T14:25:31.139Z',
- actions: {
- foo: {},
- bar: {},
- },
- },
- };
- });
-
- it(`throws an error if no 'id' property in json`, () => {
- delete upstreamJson.id;
- expect(() => {
- WatchStatusModel.fromUpstreamJson(upstreamJson);
- }).toThrow(/must contain an id property/i);
- });
-
- it(`throws an error if no 'watchStatusJson' property in json`, () => {
- delete upstreamJson.watchStatusJson;
- expect(() => {
- WatchStatusModel.fromUpstreamJson(upstreamJson);
- }).toThrow(/must contain a watchStatusJson property/i);
- });
-
- it('returns correct WatchStatus instance', () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
-
- expect(watchStatus.id).toBe(upstreamJson.id);
- expect(watchStatus.watchStatusJson).toEqual(upstreamJson.watchStatusJson);
- expect(watchStatus.isActive).toEqual(true);
- expect(watchStatus.lastChecked).toEqual(moment(upstreamJson.watchStatusJson.last_checked));
- expect(watchStatus.lastMetCondition).toEqual(
- moment(upstreamJson.watchStatusJson.last_met_condition)
- );
- expect(watchStatus.actionStatuses.length).toBe(2);
-
- expect(watchStatus.actionStatuses[0].constructor.name).toBe('ActionStatusModel');
- expect(watchStatus.actionStatuses[1].constructor.name).toBe('ActionStatusModel');
- });
- });
-
- describe('lastFired getter method', () => {
- let upstreamJson;
- beforeEach(() => {
- upstreamJson = {
- id: 'my-watch',
- watchStatusJson: {
- actions: {
- foo: {
- last_execution: {
- timestamp: '2017-07-05T00:00:00.000Z',
- },
- },
- bar: {
- last_execution: {
- timestamp: '2025-07-05T00:00:00.000Z',
- },
- },
- baz: {},
- },
- },
- };
- });
-
- it(`returns the latest lastExecution from it's actions`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
- expect(watchStatus.lastFired).toEqual(
- moment(upstreamJson.watchStatusJson.actions.bar.last_execution.timestamp)
- );
- });
- });
-
- describe('comment getter method', () => {
- let upstreamJson;
- beforeEach(() => {
- upstreamJson = {
- id: 'my-watch',
- watchStatusJson: {
- state: {
- active: true,
- },
- },
- };
- });
-
- it(`correctly calculates WATCH_STATE_COMMENTS.OK there are no actions`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
- watchStatus.isActive = true;
- expect(watchStatus.comment).toBe(WATCH_STATE_COMMENTS.OK);
- });
-
- it(`correctly calculates WATCH_STATE_COMMENTS.PARTIALLY_THROTTLED`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.THROTTLED },
- { state: ACTION_STATES.FIRING },
- { state: ACTION_STATES.OK },
- ];
-
- expect(watchStatus.comment).toBe(WATCH_STATE_COMMENTS.PARTIALLY_THROTTLED);
- });
-
- it(`correctly calculates WATCH_STATE_COMMENTS.THROTTLED`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.THROTTLED },
- { state: ACTION_STATES.THROTTLED },
- { state: ACTION_STATES.THROTTLED },
- ];
-
- expect(watchStatus.comment).toBe(WATCH_STATE_COMMENTS.THROTTLED);
- });
-
- it(`correctly calculates WATCH_STATE_COMMENTS.PARTIALLY_ACKNOWLEDGED`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.ACKNOWLEDGED },
- { state: ACTION_STATES.OK },
- { state: ACTION_STATES.THROTTLED },
- { state: ACTION_STATES.FIRING },
- ];
-
- expect(watchStatus.comment).toBe(WATCH_STATE_COMMENTS.PARTIALLY_ACKNOWLEDGED);
- });
-
- it(`correctly calculates WATCH_STATE_COMMENTS.ACKNOWLEDGED`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.ACKNOWLEDGED },
- { state: ACTION_STATES.ACKNOWLEDGED },
- { state: ACTION_STATES.ACKNOWLEDGED },
- ];
-
- expect(watchStatus.comment).toBe(WATCH_STATE_COMMENTS.ACKNOWLEDGED);
- });
-
- it(`correctly calculates WATCH_STATE_COMMENTS.FAILING`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.OK },
- { state: ACTION_STATES.ACKNOWLEDGED },
- { state: ACTION_STATES.THROTTLED },
- { state: ACTION_STATES.FIRING },
- { state: ACTION_STATES.ERROR },
- ];
-
- expect(watchStatus.comment).toBe(WATCH_STATE_COMMENTS.FAILING);
- });
-
- it(`correctly calculates WATCH_STATE_COMMENTS.OK when watch is inactive`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
- watchStatus.isActive = false;
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.OK },
- { state: ACTION_STATES.ACKNOWLEDGED },
- { state: ACTION_STATES.THROTTLED },
- { state: ACTION_STATES.FIRING },
- { state: ACTION_STATES.ERROR },
- ];
-
- expect(watchStatus.comment).toBe(WATCH_STATE_COMMENTS.OK);
- });
- });
-
- describe('state getter method', () => {
- let upstreamJson;
- beforeEach(() => {
- upstreamJson = {
- id: 'my-watch',
- watchStatusJson: {
- state: {
- active: true,
- },
- },
- };
- });
-
- it(`correctly calculates WATCH_STATES.OK there are no actions`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
- watchStatus.isActive = true;
- expect(watchStatus.state).toBe(WATCH_STATES.OK);
- });
-
- it(`correctly calculates WATCH_STATES.FIRING`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
-
- watchStatus.actionStatuses = [{ state: ACTION_STATES.OK }, { state: ACTION_STATES.FIRING }];
- expect(watchStatus.state).toBe(WATCH_STATES.FIRING);
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.OK },
- { state: ACTION_STATES.FIRING },
- { state: ACTION_STATES.THROTTLED },
- ];
- expect(watchStatus.state).toBe(WATCH_STATES.FIRING);
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.OK },
- { state: ACTION_STATES.FIRING },
- { state: ACTION_STATES.THROTTLED },
- { state: ACTION_STATES.ACKNOWLEDGED },
- ];
- expect(watchStatus.state).toBe(WATCH_STATES.FIRING);
- });
-
- it(`correctly calculates WATCH_STATES.ERROR`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.OK },
- { state: ACTION_STATES.FIRING },
- { state: ACTION_STATES.THROTTLED },
- { state: ACTION_STATES.ACKNOWLEDGED },
- { state: ACTION_STATES.ERROR },
- ];
-
- expect(watchStatus.state).toBe(WATCH_STATES.ERROR);
- });
-
- it('correctly calculates WATCH_STATE.CONFIG_ERROR', () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.OK },
- { state: ACTION_STATES.CONFIG_ERROR },
- ];
-
- expect(watchStatus.state).toBe(WATCH_STATES.CONFIG_ERROR);
- });
-
- it(`correctly calculates WATCH_STATES.DISABLED when watch is inactive`, () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
- watchStatus.isActive = false;
-
- watchStatus.actionStatuses = [
- { state: ACTION_STATES.OK },
- { state: ACTION_STATES.FIRING },
- { state: ACTION_STATES.THROTTLED },
- { state: ACTION_STATES.ACKNOWLEDGED },
- { state: ACTION_STATES.ERROR },
- ];
-
- expect(watchStatus.state).toBe(WATCH_STATES.DISABLED);
- });
- });
-
- describe('downstreamJson getter method', () => {
- let upstreamJson;
- beforeEach(() => {
- upstreamJson = {
- id: 'my-watch',
- watchStatusJson: {
- state: {
- active: true,
- },
- last_checked: '2017-03-02T14:25:31.139Z',
- last_met_condition: '2017-07-05T14:25:31.139Z',
- actions: {
- foo: {},
- bar: {},
- },
- },
- };
- });
-
- it('returns correct downstream JSON object', () => {
- const watchStatus = WatchStatusModel.fromUpstreamJson(upstreamJson);
- watchStatus.actionStatuses = [
- { id: 'foo', state: ACTION_STATES.OK },
- { id: 'bar', state: ACTION_STATES.OK },
- ];
-
- const actual = watchStatus.downstreamJson;
-
- expect(actual.id).toBe(watchStatus.id);
- expect(actual.state).toBe(watchStatus.state);
- expect(actual.comment).toBe(watchStatus.comment);
- expect(actual.isActive).toBe(watchStatus.isActive);
- expect(actual.lastChecked).toBe(watchStatus.lastChecked);
- expect(actual.lastMetCondition).toBe(watchStatus.lastMetCondition);
- expect(actual.lastFired).toBe(watchStatus.lastFired);
- expect(actual.actionStatuses.length).toBe(2);
- });
- });
-});
diff --git a/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.test.ts b/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.test.ts
new file mode 100644
index 0000000000000..2c7ba197cfdfb
--- /dev/null
+++ b/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.test.ts
@@ -0,0 +1,145 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import moment from 'moment';
+
+import { WatchStatusModelEs } from '../../../common/types';
+import { WATCH_STATES, WATCH_STATE_COMMENTS } from '../../../common/constants';
+import { buildServerWatchStatusModel, buildClientWatchStatusModel } from './watch_status_model';
+
+const upstreamJson: WatchStatusModelEs = {
+ id: 'my-watch',
+ watchStatusJson: {
+ version: 1,
+ state: {
+ active: true,
+ timestamp: '2017-03-02T14:25:31.139Z',
+ },
+ last_checked: '2017-03-02T14:25:31.139Z',
+ last_met_condition: '2017-07-05T14:25:31.139Z',
+ actions: {
+ foo: {
+ ack: {
+ timestamp: '2015-05-26T18:21:08.630Z',
+ state: 'awaits_successful_execution',
+ },
+ last_execution: {
+ timestamp: '2017-07-05T00:00:00.000Z',
+ successful: true,
+ },
+ },
+ bar: {
+ ack: {
+ timestamp: '2015-05-26T18:21:08.630Z',
+ state: 'awaits_successful_execution',
+ },
+ last_execution: {
+ timestamp: '2017-07-05T00:00:00.000Z',
+ successful: true,
+ },
+ },
+ },
+ },
+};
+
+describe('WatchStatusModel', () => {
+ describe('buildServerWatchStatusModel', () => {
+ // TODO: Remove once all consumers and upstream dependencies are converted to TS.
+ it(`throws an error if no 'id' property in json`, () => {
+ expect(() => {
+ // @ts-ignore
+ buildServerWatchStatusModel({});
+ }).toThrow(/must contain an id property/i);
+ });
+
+ // TODO: Remove once all consumers and upstream dependencies are converted to TS.
+ it(`throws an error if no 'watchStatusJson' property in json`, () => {
+ expect(() => {
+ // @ts-ignore
+ buildServerWatchStatusModel({ id: 'test ' });
+ }).toThrow(/must contain a watchStatusJson property/i);
+ });
+
+ it('returns correct object for use by Kibana server', () => {
+ const serverWatchStatusModel = buildServerWatchStatusModel(upstreamJson);
+
+ expect(serverWatchStatusModel.id).toBe(upstreamJson.id);
+ expect(serverWatchStatusModel.watchStatusJson).toEqual(upstreamJson.watchStatusJson);
+ expect(serverWatchStatusModel.isActive).toEqual(true);
+ expect(serverWatchStatusModel.lastChecked).toEqual(
+ moment(upstreamJson.watchStatusJson.last_checked)
+ );
+ expect(serverWatchStatusModel.lastMetCondition).toEqual(
+ moment(upstreamJson.watchStatusJson.last_met_condition)
+ );
+
+ expect(serverWatchStatusModel.actionStatuses!.length).toBe(2);
+
+ expect(serverWatchStatusModel.actionStatuses![0]).toMatchObject({
+ id: 'foo',
+ actionStatusJson: {
+ ack: {
+ state: 'awaits_successful_execution',
+ timestamp: '2015-05-26T18:21:08.630Z',
+ },
+ last_execution: {
+ successful: true,
+ timestamp: '2017-07-05T00:00:00.000Z',
+ },
+ },
+ errors: undefined,
+ isLastExecutionSuccessful: true,
+ lastExecutionReason: undefined,
+ lastThrottled: null,
+ lastSuccessfulExecution: null,
+ lastExecutionRawFormat: '2017-07-05T00:00:00.000Z',
+ lastCheckedRawFormat: '2017-03-02T14:25:31.139Z',
+ lastAcknowledged: moment('2015-05-26T18:21:08.630Z'),
+ lastExecution: moment('2017-07-05T00:00:00.000Z'),
+ });
+
+ expect(serverWatchStatusModel.actionStatuses![1]).toMatchObject({
+ id: 'bar',
+ actionStatusJson: {
+ ack: {
+ state: 'awaits_successful_execution',
+ timestamp: '2015-05-26T18:21:08.630Z',
+ },
+ last_execution: {
+ successful: true,
+ timestamp: '2017-07-05T00:00:00.000Z',
+ },
+ },
+ errors: undefined,
+ isLastExecutionSuccessful: true,
+ lastExecutionReason: undefined,
+ lastThrottled: null,
+ lastSuccessfulExecution: null,
+ lastExecutionRawFormat: '2017-07-05T00:00:00.000Z',
+ lastCheckedRawFormat: '2017-03-02T14:25:31.139Z',
+ lastAcknowledged: moment('2015-05-26T18:21:08.630Z'),
+ lastExecution: moment('2017-07-05T00:00:00.000Z'),
+ });
+ });
+ });
+
+ describe('buildClientWatchStatusModel', () => {
+ it('returns correct object for use by Kibana client', () => {
+ const serverWatchStatusModel = buildServerWatchStatusModel(upstreamJson);
+ const clientWatchStatusModel = buildClientWatchStatusModel(serverWatchStatusModel);
+ expect(serverWatchStatusModel.id).toBe(clientWatchStatusModel.id);
+ expect(serverWatchStatusModel.isActive).toBe(clientWatchStatusModel.isActive);
+ expect(serverWatchStatusModel.lastChecked).toBe(clientWatchStatusModel.lastChecked);
+ expect(serverWatchStatusModel.lastMetCondition).toBe(clientWatchStatusModel.lastMetCondition);
+ expect(clientWatchStatusModel.state).toBe(WATCH_STATES.OK);
+ expect(clientWatchStatusModel.comment).toBe(WATCH_STATE_COMMENTS.OK);
+ expect(
+ clientWatchStatusModel.actionStatuses && clientWatchStatusModel.actionStatuses.length
+ ).toBe(2);
+ });
+ });
+});
diff --git a/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.ts b/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.ts
new file mode 100644
index 0000000000000..0ef86a3a5eec9
--- /dev/null
+++ b/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model.ts
@@ -0,0 +1,86 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { badRequest } from '@hapi/boom';
+import { i18n } from '@kbn/i18n';
+
+import {
+ WatchStatusModelEs,
+ ServerWatchStatusModel,
+ ClientWatchStatusModel,
+} from '../../../common/types';
+import { getMoment } from '../../../common/lib/get_moment';
+import { buildServerActionStatusModel, buildClientActionStatusModel } from '../action_status_model';
+import { deriveState, deriveComment, deriveLastFired } from './watch_status_model_utils';
+
+export const buildServerWatchStatusModel = (
+ watchStatusModelEs: WatchStatusModelEs
+): ServerWatchStatusModel => {
+ const { id, watchStatusJson, state, watchErrors } = watchStatusModelEs;
+
+ // TODO: Remove once all consumers and upstream dependencies are converted to TS.
+ if (!id) {
+ throw badRequest(
+ i18n.translate('xpack.watcher.models.watchStatus.idPropertyMissingBadRequestMessage', {
+ defaultMessage: 'JSON argument must contain an id property',
+ })
+ );
+ }
+
+ // TODO: Remove once all consumers and upstream dependencies are converted to TS.
+ if (!watchStatusJson) {
+ throw badRequest(
+ i18n.translate(
+ 'xpack.watcher.models.watchStatus.watchStatusJsonPropertyMissingBadRequestMessage',
+ {
+ defaultMessage: 'JSON argument must contain a watchStatusJson property',
+ }
+ )
+ );
+ }
+
+ const actionStatuses = Object.keys(watchStatusJson.actions ?? {}).map((actionStatusId) => {
+ const actionStatusJson = watchStatusJson.actions![actionStatusId];
+ return buildServerActionStatusModel({
+ id: actionStatusId,
+ actionStatusJson,
+ errors: watchErrors?.actions && watchErrors.actions[actionStatusId],
+ lastCheckedRawFormat: watchStatusJson.last_checked,
+ });
+ });
+
+ return {
+ id,
+ watchState: state,
+ watchStatusJson,
+ watchErrors: watchErrors ?? {},
+ isActive: Boolean(watchStatusJson.state.active),
+ lastChecked: getMoment(watchStatusJson.last_checked),
+ lastMetCondition: getMoment(watchStatusJson.last_met_condition),
+ actionStatuses,
+ };
+};
+
+export const buildClientWatchStatusModel = (
+ serverWatchStatusModel: ServerWatchStatusModel
+): ClientWatchStatusModel => {
+ const { id, isActive, watchState, lastChecked, lastMetCondition, actionStatuses } =
+ serverWatchStatusModel;
+ const clientActionStatuses =
+ actionStatuses?.map((actionStatus) => buildClientActionStatusModel(actionStatus)) ?? [];
+
+ return {
+ id,
+ isActive,
+ lastChecked,
+ lastMetCondition,
+ state: deriveState(isActive, watchState, clientActionStatuses),
+ comment: deriveComment(isActive, clientActionStatuses),
+ lastFired: deriveLastFired(clientActionStatuses),
+ actionStatuses: clientActionStatuses,
+ };
+};
diff --git a/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model_utils.test.ts b/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model_utils.test.ts
new file mode 100644
index 0000000000000..e66a592951d90
--- /dev/null
+++ b/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model_utils.test.ts
@@ -0,0 +1,183 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import moment from 'moment';
+
+import { ACTION_STATES, WATCH_STATES, WATCH_STATE_COMMENTS } from '../../../common/constants';
+import { ClientActionStatusModel } from '../../../common/types';
+import { deriveState, deriveComment, deriveLastFired } from './watch_status_model_utils';
+
+const mockActionStatus = (opts: Partial): ClientActionStatusModel => ({
+ state: ACTION_STATES.OK,
+ id: 'no-id',
+ isAckable: false,
+ lastAcknowledged: null,
+ lastThrottled: null,
+ lastExecution: null,
+ isLastExecutionSuccessful: true,
+ lastExecutionReason: '',
+ lastSuccessfulExecution: null,
+ ...opts,
+});
+
+describe('WatchStatusModel utils', () => {
+ describe('deriveLastFired', () => {
+ it(`is the latest lastExecution from the client action statuses`, () => {
+ const actionStatuses = [
+ mockActionStatus({ lastExecution: moment('2017-07-05T00:00:00.000Z') }),
+ mockActionStatus({ lastExecution: moment('2015-05-26T18:21:08.630Z') }),
+ ];
+ expect(deriveLastFired(actionStatuses)).toEqual(moment('2017-07-05T00:00:00.000Z'));
+ });
+ });
+
+ describe('deriveComment', () => {
+ it(`is OK when there are no actions`, () => {
+ const isActive = true;
+ expect(deriveComment(isActive, [])).toBe(WATCH_STATE_COMMENTS.OK);
+ });
+
+ it(`is PARTIALLY_THROTTLED when some action states are throttled and others aren't`, () => {
+ const isActive = true;
+ const actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ mockActionStatus({ state: ACTION_STATES.FIRING }),
+ mockActionStatus({ state: ACTION_STATES.OK }),
+ ];
+ expect(deriveComment(isActive, actionStatuses)).toBe(
+ WATCH_STATE_COMMENTS.PARTIALLY_THROTTLED
+ );
+ });
+
+ it(`is THROTTLED when all action states are throttled`, () => {
+ const isActive = true;
+ const actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ ];
+ expect(deriveComment(isActive, actionStatuses)).toBe(WATCH_STATE_COMMENTS.THROTTLED);
+ });
+
+ it(`is PARTIALLY_ACKNOWLEDGED when some action states are acknowledged and others arne't`, () => {
+ const isActive = true;
+ const actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.ACKNOWLEDGED }),
+ mockActionStatus({ state: ACTION_STATES.OK }),
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ mockActionStatus({ state: ACTION_STATES.FIRING }),
+ ];
+ expect(deriveComment(isActive, actionStatuses)).toBe(
+ WATCH_STATE_COMMENTS.PARTIALLY_ACKNOWLEDGED
+ );
+ });
+
+ it(`is ACKNOWLEDGED when all action states are acknowledged`, () => {
+ const isActive = true;
+ const actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.ACKNOWLEDGED }),
+ mockActionStatus({ state: ACTION_STATES.ACKNOWLEDGED }),
+ mockActionStatus({ state: ACTION_STATES.ACKNOWLEDGED }),
+ ];
+ expect(deriveComment(isActive, actionStatuses)).toBe(WATCH_STATE_COMMENTS.ACKNOWLEDGED);
+ });
+
+ it(`is FAILING when one action state is failing`, () => {
+ const isActive = true;
+ const actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.OK }),
+ mockActionStatus({ state: ACTION_STATES.ACKNOWLEDGED }),
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ mockActionStatus({ state: ACTION_STATES.FIRING }),
+ mockActionStatus({ state: ACTION_STATES.ERROR }),
+ ];
+ expect(deriveComment(isActive, actionStatuses)).toBe(WATCH_STATE_COMMENTS.FAILING);
+ });
+
+ it(`is OK when watch is inactive`, () => {
+ const isActive = false;
+ const actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.OK }),
+ mockActionStatus({ state: ACTION_STATES.ACKNOWLEDGED }),
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ mockActionStatus({ state: ACTION_STATES.FIRING }),
+ mockActionStatus({ state: ACTION_STATES.ERROR }),
+ ];
+ expect(deriveComment(isActive, actionStatuses)).toBe(WATCH_STATE_COMMENTS.OK);
+ });
+ });
+
+ describe('deriveState', () => {
+ it(`is OK there are no actions`, () => {
+ const isActive = true;
+ const watchState = 'awaits_execution';
+ expect(deriveState(isActive, watchState, [])).toBe(WATCH_STATES.OK);
+ });
+
+ it(`is FIRING when at least one action state is firing`, () => {
+ const isActive = true;
+ const watchState = 'awaits_execution';
+ let actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.OK }),
+ mockActionStatus({ state: ACTION_STATES.FIRING }),
+ ];
+ expect(deriveState(isActive, watchState, actionStatuses)).toBe(WATCH_STATES.FIRING);
+
+ actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.OK }),
+ mockActionStatus({ state: ACTION_STATES.FIRING }),
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ ];
+ expect(deriveState(isActive, watchState, actionStatuses)).toBe(WATCH_STATES.FIRING);
+
+ actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.OK }),
+ mockActionStatus({ state: ACTION_STATES.FIRING }),
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ mockActionStatus({ state: ACTION_STATES.ACKNOWLEDGED }),
+ ];
+ expect(deriveState(isActive, watchState, actionStatuses)).toBe(WATCH_STATES.FIRING);
+ });
+
+ it(`is ERROR when at least one action state is error`, () => {
+ const isActive = true;
+ const watchState = 'awaits_execution';
+ const actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.OK }),
+ mockActionStatus({ state: ACTION_STATES.FIRING }),
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ mockActionStatus({ state: ACTION_STATES.ACKNOWLEDGED }),
+ mockActionStatus({ state: ACTION_STATES.ERROR }),
+ mockActionStatus({ state: ACTION_STATES.CONFIG_ERROR }),
+ ];
+ expect(deriveState(isActive, watchState, actionStatuses)).toBe(WATCH_STATES.ERROR);
+ });
+
+ it('is CONFIG_ERROR when at least one action state is config error', () => {
+ const isActive = true;
+ const watchState = 'awaits_execution';
+ const actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.OK }),
+ mockActionStatus({ state: ACTION_STATES.CONFIG_ERROR }),
+ ];
+ expect(deriveState(isActive, watchState, actionStatuses)).toBe(WATCH_STATES.CONFIG_ERROR);
+ });
+
+ it(`is DISABLED when watch is inactive`, () => {
+ const isActive = false;
+ const watchState = 'awaits_execution';
+ const actionStatuses = [
+ mockActionStatus({ state: ACTION_STATES.OK }),
+ mockActionStatus({ state: ACTION_STATES.FIRING }),
+ mockActionStatus({ state: ACTION_STATES.THROTTLED }),
+ mockActionStatus({ state: ACTION_STATES.ACKNOWLEDGED }),
+ mockActionStatus({ state: ACTION_STATES.ERROR }),
+ ];
+ expect(deriveState(isActive, watchState, actionStatuses)).toBe(WATCH_STATES.DISABLED);
+ });
+ });
+});
diff --git a/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model_utils.ts b/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model_utils.ts
new file mode 100644
index 0000000000000..7beff6e91e8fd
--- /dev/null
+++ b/x-pack/plugins/watcher/server/models/watch_status_model/watch_status_model_utils.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 { forEach, maxBy } from 'lodash';
+import { ACTION_STATES, WATCH_STATES, WATCH_STATE_COMMENTS } from '../../../common/constants';
+import { ServerWatchStatusModel, ClientWatchStatusModel } from '../../../common/types';
+
+// Export for unit tests.
+export const deriveActionStatusTotals = (
+ actionStatuses?: ClientWatchStatusModel['actionStatuses']
+) => {
+ const result: { [key: string]: number } = {};
+
+ forEach(ACTION_STATES, (state: keyof typeof ACTION_STATES) => {
+ result[state] = 0;
+ });
+
+ if (actionStatuses) {
+ actionStatuses.forEach((actionStatus) => {
+ result[actionStatus.state] = result[actionStatus.state] + 1;
+ });
+ }
+
+ return result;
+};
+
+export const deriveLastFired = (actionStatuses: ClientWatchStatusModel['actionStatuses']) => {
+ const actionStatus = maxBy(actionStatuses, 'lastExecution');
+ if (actionStatus) {
+ return actionStatus.lastExecution;
+ }
+};
+
+export const deriveState = (
+ isActive: ServerWatchStatusModel['isActive'],
+ watchState: ServerWatchStatusModel['watchState'],
+ actionStatuses: ClientWatchStatusModel['actionStatuses']
+) => {
+ if (!isActive) {
+ return WATCH_STATES.DISABLED;
+ }
+
+ if (watchState === 'failed') {
+ return WATCH_STATES.ERROR;
+ }
+
+ const totals = deriveActionStatusTotals(actionStatuses);
+
+ if (totals[ACTION_STATES.ERROR] > 0) {
+ return WATCH_STATES.ERROR;
+ }
+
+ if (totals[ACTION_STATES.CONFIG_ERROR] > 0) {
+ return WATCH_STATES.CONFIG_ERROR;
+ }
+
+ const firingTotal =
+ totals[ACTION_STATES.FIRING] +
+ totals[ACTION_STATES.ACKNOWLEDGED] +
+ totals[ACTION_STATES.THROTTLED];
+
+ if (firingTotal > 0) {
+ return WATCH_STATES.FIRING;
+ }
+
+ return WATCH_STATES.OK;
+};
+
+export const deriveComment = (
+ isActive: ServerWatchStatusModel['isActive'],
+ actionStatuses: ClientWatchStatusModel['actionStatuses']
+) => {
+ const totals = deriveActionStatusTotals(actionStatuses);
+ const totalActions = actionStatuses ? actionStatuses.length : 0;
+ let result = WATCH_STATE_COMMENTS.OK;
+
+ if (totals[ACTION_STATES.THROTTLED] > 0 && totals[ACTION_STATES.THROTTLED] < totalActions) {
+ result = WATCH_STATE_COMMENTS.PARTIALLY_THROTTLED;
+ }
+
+ if (totals[ACTION_STATES.THROTTLED] > 0 && totals[ACTION_STATES.THROTTLED] === totalActions) {
+ result = WATCH_STATE_COMMENTS.THROTTLED;
+ }
+
+ if (totals[ACTION_STATES.ACKNOWLEDGED] > 0 && totals[ACTION_STATES.ACKNOWLEDGED] < totalActions) {
+ result = WATCH_STATE_COMMENTS.PARTIALLY_ACKNOWLEDGED;
+ }
+
+ if (
+ totals[ACTION_STATES.ACKNOWLEDGED] > 0 &&
+ totals[ACTION_STATES.ACKNOWLEDGED] === totalActions
+ ) {
+ result = WATCH_STATE_COMMENTS.ACKNOWLEDGED;
+ }
+
+ if (totals[ACTION_STATES.ERROR] > 0) {
+ result = WATCH_STATE_COMMENTS.FAILING;
+ }
+
+ if (!isActive) {
+ result = WATCH_STATE_COMMENTS.OK;
+ }
+
+ return result;
+};
diff --git a/x-pack/plugins/watcher/server/routes/api/watch/action/register_acknowledge_route.ts b/x-pack/plugins/watcher/server/routes/api/watch/action/register_acknowledge_route.ts
index 2facea38a4317..60c466d53fa88 100644
--- a/x-pack/plugins/watcher/server/routes/api/watch/action/register_acknowledge_route.ts
+++ b/x-pack/plugins/watcher/server/routes/api/watch/action/register_acknowledge_route.ts
@@ -8,8 +8,11 @@
import { schema } from '@kbn/config-schema';
import { get } from 'lodash';
import { IScopedClusterClient } from '@kbn/core/server';
-// @ts-ignore
-import { WatchStatusModel } from '../../../../models/watch_status_model';
+
+import {
+ buildServerWatchStatusModel,
+ buildClientWatchStatusModel,
+} from '../../../../models/watch_status_model';
import { RouteDependencies } from '../../../../types';
const paramsSchema = schema.object({
@@ -48,9 +51,9 @@ export function registerAcknowledgeRoute({
watchStatusJson,
};
- const watchStatus = WatchStatusModel.fromUpstreamJson(json);
+ const watchStatus = buildServerWatchStatusModel(json);
return response.ok({
- body: { watchStatus: watchStatus.downstreamJson },
+ body: { watchStatus: buildClientWatchStatusModel(watchStatus) },
});
} catch (e) {
if (e?.statusCode === 404 && e.meta?.body?.error) {
diff --git a/x-pack/plugins/watcher/server/routes/api/watch/register_activate_route.ts b/x-pack/plugins/watcher/server/routes/api/watch/register_activate_route.ts
index bde5e1f88a68b..54a135d2ff895 100644
--- a/x-pack/plugins/watcher/server/routes/api/watch/register_activate_route.ts
+++ b/x-pack/plugins/watcher/server/routes/api/watch/register_activate_route.ts
@@ -8,9 +8,12 @@
import { schema } from '@kbn/config-schema';
import { IScopedClusterClient } from '@kbn/core/server';
import { get } from 'lodash';
+
import { RouteDependencies } from '../../../types';
-// @ts-ignore
-import { WatchStatusModel } from '../../../models/watch_status_model';
+import {
+ buildServerWatchStatusModel,
+ buildClientWatchStatusModel,
+} from '../../../models/watch_status_model';
function activateWatch(dataClient: IScopedClusterClient, watchId: string) {
return dataClient.asCurrentUser.watcher.activateWatch({
@@ -46,10 +49,10 @@ export function registerActivateRoute({
watchStatusJson,
};
- const watchStatus = WatchStatusModel.fromUpstreamJson(json);
+ const watchStatus = buildServerWatchStatusModel(json);
return response.ok({
body: {
- watchStatus: watchStatus.downstreamJson,
+ watchStatus: buildClientWatchStatusModel(watchStatus),
},
});
} catch (e) {
diff --git a/x-pack/plugins/watcher/server/routes/api/watch/register_deactivate_route.ts b/x-pack/plugins/watcher/server/routes/api/watch/register_deactivate_route.ts
index 21bb73e2b6067..e5565bc4ee7af 100644
--- a/x-pack/plugins/watcher/server/routes/api/watch/register_deactivate_route.ts
+++ b/x-pack/plugins/watcher/server/routes/api/watch/register_deactivate_route.ts
@@ -9,8 +9,10 @@ import { schema } from '@kbn/config-schema';
import { IScopedClusterClient } from '@kbn/core/server';
import { get } from 'lodash';
import { RouteDependencies } from '../../../types';
-// @ts-ignore
-import { WatchStatusModel } from '../../../models/watch_status_model';
+import {
+ buildServerWatchStatusModel,
+ buildClientWatchStatusModel,
+} from '../../../models/watch_status_model';
const paramsSchema = schema.object({
watchId: schema.string(),
@@ -46,10 +48,10 @@ export function registerDeactivateRoute({
watchStatusJson,
};
- const watchStatus = WatchStatusModel.fromUpstreamJson(json);
+ const watchStatus = buildServerWatchStatusModel(json);
return response.ok({
body: {
- watchStatus: watchStatus.downstreamJson,
+ watchStatus: buildClientWatchStatusModel(watchStatus),
},
});
} catch (e) {
From 5158f389056360da1613239e7dcb86480c5a6e78 Mon Sep 17 00:00:00 2001
From: Kevin Logan <56395104+kevinlog@users.noreply.github.com>
Date: Wed, 10 Aug 2022 15:19:10 -0400
Subject: [PATCH 26/49] [Security Solution] Fix Event Filter OS selection when
creating filter from Event List (#138517)
---
.../search_strategy/timeline/eql/helpers.test.ts | 12 ++++++++++++
.../timeline/factory/helpers/constants.ts | 1 +
2 files changed, 13 insertions(+)
diff --git a/x-pack/plugins/timelines/server/search_strategy/timeline/eql/helpers.test.ts b/x-pack/plugins/timelines/server/search_strategy/timeline/eql/helpers.test.ts
index 76aba9b9c62cc..fadc295a51a59 100644
--- a/x-pack/plugins/timelines/server/search_strategy/timeline/eql/helpers.test.ts
+++ b/x-pack/plugins/timelines/server/search_strategy/timeline/eql/helpers.test.ts
@@ -282,6 +282,9 @@ describe('Search Strategy EQL helper', () => {
"family": Array [
"windows",
],
+ "name": Array [
+ "Windows",
+ ],
},
},
"message": Array [
@@ -412,6 +415,9 @@ describe('Search Strategy EQL helper', () => {
"family": Array [
"windows",
],
+ "name": Array [
+ "Windows",
+ ],
},
},
"message": Array [
@@ -549,6 +555,9 @@ describe('Search Strategy EQL helper', () => {
"family": Array [
"windows",
],
+ "name": Array [
+ "Windows",
+ ],
},
},
"message": Array [
@@ -675,6 +684,9 @@ describe('Search Strategy EQL helper', () => {
"family": Array [
"windows",
],
+ "name": Array [
+ "Windows",
+ ],
},
},
"message": Array [
diff --git a/x-pack/plugins/timelines/server/search_strategy/timeline/factory/helpers/constants.ts b/x-pack/plugins/timelines/server/search_strategy/timeline/factory/helpers/constants.ts
index fe07732e4731d..b795e921f07cd 100644
--- a/x-pack/plugins/timelines/server/search_strategy/timeline/factory/helpers/constants.ts
+++ b/x-pack/plugins/timelines/server/search_strategy/timeline/factory/helpers/constants.ts
@@ -130,6 +130,7 @@ export const TIMELINE_EVENTS_FIELDS = [
'file.Ext.code_signature.trusted',
'file.hash.sha256',
'host.os.family',
+ 'host.os.name',
'host.id',
'host.ip',
'registry.key',
From 1019295b0920dfde9a70f3697ab0f2cc8f89f3e2 Mon Sep 17 00:00:00 2001
From: Brian Seeders
Date: Wed, 10 Aug 2022 16:11:59 -0400
Subject: [PATCH 27/49] [CI] Improve reliability of macos bazel cache jobs
(#138554)
---
.buildkite/pipelines/bazel_cache.yml | 8 ++++++++
.buildkite/scripts/bootstrap.sh | 7 ++++++-
.buildkite/scripts/steps/bazel_cache/bootstrap_mac.sh | 3 +++
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/.buildkite/pipelines/bazel_cache.yml b/.buildkite/pipelines/bazel_cache.yml
index 9aa961bcddbd2..030443d1e005b 100644
--- a/.buildkite/pipelines/bazel_cache.yml
+++ b/.buildkite/pipelines/bazel_cache.yml
@@ -26,10 +26,18 @@ steps:
concurrency_group: bazel_macos
concurrency: 1
concurrency_method: eager
+ retry:
+ automatic:
+ - exit_status: '*'
+ limit: 1
- command: .buildkite/scripts/steps/bazel_cache/bootstrap_mac.sh
label: Bootstrap (MacOS ARM)
priority: $${PRIORITY}
agents:
queue: macos-arm
timeout_in_minutes: 60
+ retry:
+ automatic:
+ - exit_status: '*'
+ limit: 1
YAML
diff --git a/.buildkite/scripts/bootstrap.sh b/.buildkite/scripts/bootstrap.sh
index b4ec748b863e2..4646da7600ecf 100755
--- a/.buildkite/scripts/bootstrap.sh
+++ b/.buildkite/scripts/bootstrap.sh
@@ -7,6 +7,11 @@ source .buildkite/scripts/common/setup_bazel.sh
echo "--- yarn install and bootstrap"
+BOOTSTRAP_PARAMS=()
+if [[ "${BOOTSTRAP_ALWAYS_FORCE_INSTALL:-}" ]]; then
+ BOOTSTRAP_PARAMS+=(--force-install)
+fi
+
# Use the node_modules that is baked into the agent image, if it exists, as a cache
# But only for agents not mounting the workspace on a local ssd or in memory
# It actually ends up being slower to move all of the tiny files between the disks vs extracting archives from the yarn cache
@@ -15,7 +20,7 @@ if [[ -d ~/.kibana/node_modules && "$(pwd)" != *"/local-ssd/"* && "$(pwd)" != "/
mv ~/.kibana/node_modules ./
fi
-if ! yarn kbn bootstrap; then
+if ! yarn kbn bootstrap "${BOOTSTRAP_PARAMS[@]}"; then
echo "bootstrap failed, trying again in 15 seconds"
sleep 15
diff --git a/.buildkite/scripts/steps/bazel_cache/bootstrap_mac.sh b/.buildkite/scripts/steps/bazel_cache/bootstrap_mac.sh
index ab642ec431486..91886c855402d 100755
--- a/.buildkite/scripts/steps/bazel_cache/bootstrap_mac.sh
+++ b/.buildkite/scripts/steps/bazel_cache/bootstrap_mac.sh
@@ -7,6 +7,9 @@ source .buildkite/scripts/common/util.sh
export BAZEL_CACHE_MODE=populate-local-gcs
export DISABLE_BOOTSTRAP_VALIDATION=true
+# Because we're manually deleting node_modules and bazel directories in-between runs, we need to --force-install
+export BOOTSTRAP_ALWAYS_FORCE_INSTALL=true
+
# Clear out bazel cache between runs to make sure that any artifacts that don't exist in the cache are uploaded
rm -rf ~/.bazel-cache
From 026fd81c790d803855640f2bbe7b77176099da8f Mon Sep 17 00:00:00 2001
From: Matthew Kime
Date: Wed, 10 Aug 2022 16:11:10 -0500
Subject: [PATCH 28/49] [data views] fix name uniqueness check (#138277)
* fix data view create uniqueness check
* jsut use query
* cleanup
* restore guard and fix limits
* reduce number of results returned
* remove escape import
* remove escape import
Co-authored-by: Tim Sullivan
---
src/plugins/data_views/common/utils.ts | 4 ++--
.../data_views/server/saved_objects/data_views.ts | 9 ++++++++-
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/plugins/data_views/common/utils.ts b/src/plugins/data_views/common/utils.ts
index c12e6c71c92ba..9b86dfefc2631 100644
--- a/src/plugins/data_views/common/utils.ts
+++ b/src/plugins/data_views/common/utils.ts
@@ -20,11 +20,11 @@ import { DATA_VIEW_SAVED_OBJECT_TYPE } from './constants';
*/
export async function findByName(client: SavedObjectsClientCommon, name: string) {
if (name) {
- const savedObjects = await client.find({
+ const savedObjects = await client.find<{ name: DataViewSavedObjectAttrs['name'] }>({
type: DATA_VIEW_SAVED_OBJECT_TYPE,
perPage: 10,
search: `"${name}"`,
- searchFields: ['name'],
+ searchFields: ['name.keyword'],
fields: ['name'],
});
diff --git a/src/plugins/data_views/server/saved_objects/data_views.ts b/src/plugins/data_views/server/saved_objects/data_views.ts
index 3036efd5559d3..4b8318b3d065f 100644
--- a/src/plugins/data_views/server/saved_objects/data_views.ts
+++ b/src/plugins/data_views/server/saved_objects/data_views.ts
@@ -38,7 +38,14 @@ export const dataViewSavedObjectType: SavedObjectsType = {
properties: {
title: { type: 'text' },
type: { type: 'keyword' },
- name: { type: 'text' },
+ name: {
+ type: 'text',
+ fields: {
+ keyword: {
+ type: 'keyword',
+ },
+ },
+ },
},
},
migrations: indexPatternSavedObjectTypeMigrations,
From e49c8645e85160cfe1c054587e4d927d06614334 Mon Sep 17 00:00:00 2001
From: Spencer
Date: Wed, 10 Aug 2022 16:34:10 -0500
Subject: [PATCH 29/49] [securitySolutions] resolve most
@kbn/imports/no_boundary_crossing violations (#137694)
---
.../common/endpoint/service/authz/index.ts | 2 -
.../common/demo_data/endgame_ecs/creation.ts | 57 +
.../common/demo_data/endgame_ecs/dns.ts | 59 +
.../demo_data/endgame_ecs/file_events.ts | 73 +
.../common/demo_data/endgame_ecs/ipv4.ts | 54 +
.../demo_data/endgame_ecs/termination.ts | 50 +
.../demo_data/endgame_ecs/user_logon.ts | 56 +
.../demo_data/endpoint/library_load_event.ts | 63 +
...cess_execution_malware_prevention_alert.ts | 80 +
.../endpoint/registry_modification_event.ts | 64 +
.../public/common/demo_data/netflow.ts | 79 +
.../public/common/demo_data/timeline.ts | 1117 ++++++++++++++
.../common/mock/mock_endgame_ecs_data.ts | 311 +---
.../public/common/mock/mock_timeline_data.ts | 1296 +----------------
.../public/common/mock/netflow.ts | 73 +-
.../management/pages/endpoint_hosts/index.tsx | 3 -
.../row_renderers_browser/examples/alerts.tsx | 5 +-
.../row_renderers_browser/examples/auditd.tsx | 5 +-
.../examples/auditd_file.tsx | 5 +-
.../examples/library.tsx | 5 +-
.../examples/netflow.tsx | 5 +-
.../examples/registry.tsx | 5 +-
.../examples/suricata.tsx | 5 +-
.../row_renderers_browser/examples/system.tsx | 5 +-
.../examples/system_dns.tsx | 5 +-
.../examples/system_endgame_process.tsx | 5 +-
.../examples/system_file.tsx | 5 +-
.../examples/system_fim.tsx | 5 +-
.../examples/system_security_event.tsx | 5 +-
.../examples/system_socket.tsx | 5 +-
.../examples/threat_match.tsx | 5 +-
.../row_renderers_browser/examples/zeek.tsx | 5 +-
.../server/endpoint/mocks.ts | 2 +-
.../endpoint/routes/metadata/metadata.test.ts | 2 +-
.../endpoint/services/feature_usage/index.ts | 2 -
.../fleet_integration.test.ts | 2 +-
.../routes/__mocks__/request_context.ts | 2 +-
37 files changed, 1804 insertions(+), 1723 deletions(-)
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/creation.ts
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/dns.ts
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/file_events.ts
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/ipv4.ts
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/termination.ts
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/user_logon.ts
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/endpoint/library_load_event.ts
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/endpoint/process_execution_malware_prevention_alert.ts
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/endpoint/registry_modification_event.ts
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/netflow.ts
create mode 100644 x-pack/plugins/security_solution/public/common/demo_data/timeline.ts
diff --git a/x-pack/plugins/security_solution/common/endpoint/service/authz/index.ts b/x-pack/plugins/security_solution/common/endpoint/service/authz/index.ts
index 83c1627a91825..03d14a0945184 100644
--- a/x-pack/plugins/security_solution/common/endpoint/service/authz/index.ts
+++ b/x-pack/plugins/security_solution/common/endpoint/service/authz/index.ts
@@ -6,5 +6,3 @@
*/
export { getEndpointAuthzInitialState, calculateEndpointAuthz } from './authz';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-export { getEndpointAuthzInitialStateMock } from './mocks';
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/creation.ts b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/creation.ts
new file mode 100644
index 0000000000000..781718652246d
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/creation.ts
@@ -0,0 +1,57 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { Ecs } from '../../../../common/ecs';
+
+export const demoEndgameCreationEvent: Ecs = {
+ _id: 'BcjPcG0BOpWiDweSou3g',
+ user: {
+ id: ['S-1-5-21-3573271228-3407584681-1597858646-1002'],
+ domain: ['Anvi-Acer'],
+ name: ['Arun'],
+ },
+ host: {
+ os: {
+ platform: ['windows'],
+ name: ['Windows'],
+ version: ['6.1'],
+ },
+ ip: ['10.178.85.222'],
+ name: ['HD-obe-8bf77f54'],
+ },
+ event: {
+ module: ['endgame'],
+ dataset: ['esensor'],
+ action: ['creation_event'],
+ category: ['process'],
+ type: ['process_start'],
+ kind: ['event'],
+ },
+ timestamp: '1569555712000',
+ process: {
+ hash: {
+ md5: ['62d06d7235b37895b68de56687895743'],
+ sha1: ['12563599116157778a22600d2a163d8112aed845'],
+ sha256: ['d4c97ed46046893141652e2ec0056a698f6445109949d7fcabbce331146889ee'],
+ },
+ pid: [441684],
+ ppid: [8],
+ name: ['Microsoft.Photos.exe'],
+ executable: [
+ 'C:\\Program Files\\WindowsApps\\Microsoft.Windows.Photos_2018.18091.17210.0_x64__8wekyb3d8bbwe\\Microsoft.Photos.exe',
+ ],
+ args: [
+ 'C:\\Program Files\\WindowsApps\\Microsoft.Windows.Photos_2018.18091.17210.0_x64__8wekyb3d8bbwe\\Microsoft.Photos.exe',
+ '-ServerName:App.AppXzst44mncqdg84v7sv6p7yznqwssy6f7f.mca',
+ ],
+ },
+ endgame: {
+ process_name: ['Microsoft.Photos.exe'],
+ pid: [441684],
+ parent_process_name: ['svchost.exe'],
+ },
+};
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/dns.ts b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/dns.ts
new file mode 100644
index 0000000000000..bd5061dd3bd6a
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/dns.ts
@@ -0,0 +1,59 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { Ecs } from '../../../../common/ecs';
+
+export const demoEndgameDnsRequest: Ecs = {
+ _id: 'S8jPcG0BOpWiDweSou3g',
+ user: {
+ id: ['S-1-5-18'],
+ domain: ['NT AUTHORITY'],
+ name: ['SYSTEM'],
+ },
+ host: {
+ os: {
+ platform: ['windows'],
+ name: ['Windows'],
+ version: ['6.1'],
+ },
+ ip: ['10.178.85.222'],
+ name: ['HD-obe-8bf77f54'],
+ },
+ event: {
+ module: ['endgame'],
+ dataset: ['esensor'],
+ action: ['request_event'],
+ category: ['network'],
+ kind: ['event'],
+ },
+ message: [
+ 'DNS query is completed for the name %1, type %2, query options %3 with status %4 Results %5 ',
+ ],
+ timestamp: '1569555712000',
+ dns: {
+ question: {
+ name: ['update.googleapis.com'],
+ type: ['A'],
+ },
+ resolved_ip: ['10.100.197.67'],
+ },
+ network: {
+ protocol: ['dns'],
+ },
+ process: {
+ pid: [443192],
+ name: ['GoogleUpdate.exe'],
+ executable: ['C:\\Program Files (x86)\\Google\\Update\\GoogleUpdate.exe'],
+ },
+ winlog: {
+ event_id: [3008],
+ },
+ endgame: {
+ process_name: ['GoogleUpdate.exe'],
+ pid: [443192],
+ },
+};
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/file_events.ts b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/file_events.ts
new file mode 100644
index 0000000000000..696d51b2e11fa
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/file_events.ts
@@ -0,0 +1,73 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor 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 { Ecs } from '../../../../common/ecs';
+
+export const demoEndgameFileCreateEvent: Ecs = {
+ _id: '98jPcG0BOpWiDweSouzg',
+ user: {
+ id: ['S-1-5-21-3573271228-3407584681-1597858646-1002'],
+ domain: ['Anvi-Acer'],
+ name: ['Arun'],
+ },
+ host: {
+ os: {
+ platform: ['windows'],
+ name: ['Windows'],
+ version: ['6.1'],
+ },
+ ip: ['10.178.85.222'],
+ name: ['HD-obe-8bf77f54'],
+ },
+ event: {
+ module: ['endgame'],
+ dataset: ['esensor'],
+ action: ['file_create_event'],
+ category: ['file'],
+ kind: ['event'],
+ },
+ timestamp: '1569555712000',
+ endgame: {
+ process_name: ['chrome.exe'],
+ pid: [11620],
+ file_path: [
+ 'C:\\Users\\Arun\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\63d78c21-e593-4484-b7a9-db33cd522ddc.tmp',
+ ],
+ },
+};
+
+export const demoEndgameFileDeleteEvent: Ecs = {
+ _id: 'OMjPcG0BOpWiDweSeuW9',
+ user: {
+ id: ['S-1-5-18'],
+ domain: ['NT AUTHORITY'],
+ name: ['SYSTEM'],
+ },
+ host: {
+ os: {
+ platform: ['windows'],
+ name: ['Windows'],
+ version: ['10.0'],
+ },
+ ip: ['10.134.159.150'],
+ name: ['HD-v1s-d2118419'],
+ },
+ event: {
+ module: ['endgame'],
+ dataset: ['esensor'],
+ action: ['file_delete_event'],
+ category: ['file'],
+ kind: ['event'],
+ },
+ timestamp: '1569555704000',
+ endgame: {
+ pid: [1084],
+ file_name: ['tmp000002f6'],
+ file_path: ['C:\\Windows\\TEMP\\tmp00000404\\tmp000002f6'],
+ process_name: ['AmSvc.exe'],
+ },
+};
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/ipv4.ts b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/ipv4.ts
new file mode 100644
index 0000000000000..c7d9655acb956
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/ipv4.ts
@@ -0,0 +1,54 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { Ecs } from '../../../../common/ecs';
+
+export const demoEndgameIpv4ConnectionAcceptEvent: Ecs = {
+ _id: 'LsjPcG0BOpWiDweSCNfu',
+ user: {
+ id: ['S-1-5-18'],
+ domain: ['NT AUTHORITY'],
+ name: ['SYSTEM'],
+ },
+ host: {
+ os: {
+ platform: ['windows'],
+ name: ['Windows'],
+ version: ['10.0'],
+ },
+ ip: ['10.43.255.177'],
+ name: ['HD-gqf-0af7b4fe'],
+ },
+ event: {
+ module: ['endgame'],
+ dataset: ['esensor'],
+ action: ['ipv4_connection_accept_event'],
+ category: ['network'],
+ kind: ['event'],
+ },
+ timestamp: '1569555676000',
+ network: {
+ community_id: ['1:network-community_id'],
+ transport: ['tcp'],
+ },
+ process: {
+ pid: [1084],
+ name: ['AmSvc.exe'],
+ executable: ['C:\\Program Files\\Cybereason ActiveProbe\\AmSvc.exe'],
+ },
+ source: {
+ ip: ['127.0.0.1'],
+ port: [49306],
+ },
+ destination: {
+ port: [49305],
+ ip: ['127.0.0.1'],
+ },
+ endgame: {
+ pid: [1084],
+ },
+};
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/termination.ts b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/termination.ts
new file mode 100644
index 0000000000000..adab55d27c697
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/termination.ts
@@ -0,0 +1,50 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { Ecs } from '../../../../common/ecs';
+
+export const demoEndgameTerminationEvent: Ecs = {
+ _id: '2MjPcG0BOpWiDweSoutC',
+ user: {
+ id: ['S-1-5-21-3573271228-3407584681-1597858646-1002'],
+ domain: ['Anvi-Acer'],
+ name: ['Arun'],
+ },
+ host: {
+ os: {
+ platform: ['windows'],
+ name: ['Windows'],
+ version: ['6.1'],
+ },
+ ip: ['10.178.85.222'],
+ name: ['HD-obe-8bf77f54'],
+ },
+ event: {
+ module: ['endgame'],
+ dataset: ['esensor'],
+ action: ['termination_event'],
+ category: ['process'],
+ kind: ['event'],
+ },
+ timestamp: '1569555712000',
+ process: {
+ hash: {
+ md5: ['bd4401441a21bf1abce6404f4231db4d'],
+ sha1: ['797255e72d5ed5c058d4785950eba7abaa057653'],
+ sha256: ['87976f3430cc99bc939e0694247c0759961a49832b87218f4313d6fc0bc3a776'],
+ },
+ pid: [442384],
+ ppid: [8],
+ name: ['RuntimeBroker.exe'],
+ executable: ['C:\\Windows\\System32\\RuntimeBroker.exe'],
+ },
+ endgame: {
+ pid: [442384],
+ process_name: ['RuntimeBroker.exe'],
+ exit_code: [0],
+ },
+};
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/user_logon.ts b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/user_logon.ts
new file mode 100644
index 0000000000000..ebc3cdcf1afe6
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/endgame_ecs/user_logon.ts
@@ -0,0 +1,56 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { Ecs } from '../../../../common/ecs';
+
+export const demoEndgameUserLogon: Ecs = {
+ _id: 'QsjPcG0BOpWiDweSeuRE',
+ user: {
+ id: ['S-1-5-18'],
+ domain: ['NT AUTHORITY'],
+ name: ['SYSTEM'],
+ },
+ host: {
+ os: {
+ platform: ['windows'],
+ name: ['Windows'],
+ version: ['10.0'],
+ },
+ ip: ['10.134.159.150'],
+ name: ['HD-v1s-d2118419'],
+ },
+ event: {
+ module: ['endgame'],
+ dataset: ['esensor'],
+ action: ['user_logon'],
+ category: ['authentication'],
+ type: ['authentication_success'],
+ kind: ['event'],
+ },
+ message: [
+ 'An account was successfully logged on.\r\n\r\nSubject:\r\n\tSecurity ID:\t\tS-1-5-18\r\n\tAccount Name:\t\tWIN-Q3DOP1UKA81$\r\n\tAccount Domain:\t\tWORKGROUP\r\n\tLogon ID:\t\t0x3e7\r\n\r\nLogon Type:\t\t\t5\r\n\r\nNew Logon:\r\n\tSecurity ID:\t\tS-1-5-18\r\n\tAccount Name:\t\tSYSTEM\r\n\tAccount Domain:\t\tNT AUTHORITY\r\n\tLogon ID:\t\t0x3e7\r\n\tLogon GUID:\t\t{00000000-0000-0000-0000-000000000000}\r\n\r\nProcess Information:\r\n\tProcess ID:\t\t0x1b0\r\n\tProcess Name:\t\tC:\\Windows\\System32\\services.exe\r\n\r\nNetwork Information:\r\n\tWorkstation Name:\t\r\n\tSource Network Address:\t-\r\n\tSource Port:\t\t-\r\n\r\nDetailed Authentication Information:\r\n\tLogon Process:\t\tAdvapi \r\n\tAuthentication Package:\tNegotiate\r\n\tTransited Services:\t-\r\n\tPackage Name (NTLM only):\t-\r\n\tKey Length:\t\t0\r\n\r\nThis event is generated when a logon session is created. It is generated on the computer that was accessed.\r\n\r\nThe subject fields indicate the account on the local system which requested the logon. This is most commonly a service such as the Server service, or a local process such as Winlogon.exe or Services.exe.\r\n\r\nThe logon type field indicates the kind of logon that occurred. The most common types are 2 (interactive) and 3 (network).\r\n\r\nThe New Logon fields indicate the account for whom the new logon was created, i.e. the account that was logged on.\r\n\r\nThe network fields indicate where a remote logon request originated. Workstation name is not always available and may be left blank in some cases.\r\n\r\nThe authentication information fields provide detailed information about this specific logon request.\r\n\t- Logon GUID is a unique identifier that can be used to correlate this event with a KDC event.\r\n\t- Transited services indicate which intermediate services have participated in this logon request.\r\n\t- Package name indicates which sub-protocol was used among the NTLM protocols.\r\n\t- Key length indicates the length of the generated session key. This will be 0 if no session key was requested.',
+ ],
+ timestamp: '1569555704000',
+ process: {
+ pid: [432],
+ name: ['C:\\Windows\\System32\\services.exe'],
+ executable: ['C:\\Windows\\System32\\services.exe'],
+ },
+ winlog: {
+ event_id: [4624],
+ },
+ endgame: {
+ target_logon_id: ['0x3e7'],
+ pid: [432],
+ process_name: ['C:\\Windows\\System32\\services.exe'],
+ logon_type: [5],
+ subject_user_name: ['WIN-Q3DOP1UKA81$'],
+ subject_logon_id: ['0x3e7'],
+ target_user_name: ['SYSTEM'],
+ target_domain_name: ['NT AUTHORITY'],
+ },
+};
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/endpoint/library_load_event.ts b/x-pack/plugins/security_solution/public/common/demo_data/endpoint/library_load_event.ts
new file mode 100644
index 0000000000000..039115624ab91
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/endpoint/library_load_event.ts
@@ -0,0 +1,63 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { Ecs } from '../../../../common/ecs';
+
+export const demoEndpointLibraryLoadEvent: Ecs = {
+ file: {
+ path: ['C:\\Windows\\System32\\bcrypt.dll'],
+ hash: {
+ md5: ['00439016776de367bad087d739a03797'],
+ sha1: ['2c4ba5c1482987d50a182bad915f52cd6611ee63'],
+ sha256: ['e70f5d8f87aab14e3160227d38387889befbe37fa4f8f5adc59eff52804b35fd'],
+ },
+ name: ['bcrypt.dll'],
+ },
+ host: {
+ os: {
+ full: ['Windows Server 2019 Datacenter 1809 (10.0.17763.1697)'],
+ name: ['Windows'],
+ version: ['1809 (10.0.17763.1697)'],
+ family: ['windows'],
+ kernel: ['1809 (10.0.17763.1697)'],
+ platform: ['windows'],
+ },
+ mac: ['aa:bb:cc:dd:ee:ff'],
+ name: ['win2019-endpoint-1'],
+ architecture: ['x86_64'],
+ ip: ['10.1.2.3'],
+ id: ['d8ad572e-d224-4044-a57d-f5a84c0dfe5d'],
+ },
+ event: {
+ category: ['library'],
+ kind: ['event'],
+ created: ['2021-02-05T21:27:23.921Z'],
+ module: ['endpoint'],
+ action: ['load'],
+ type: ['start'],
+ id: ['LzzWB9jjGmCwGMvk++++Da5H'],
+ dataset: ['endpoint.events.library'],
+ },
+ process: {
+ name: ['sshd.exe'],
+ pid: [9644],
+ entity_id: [
+ 'MWQxNWNmOWUtM2RjNy01Yjk3LWY1ODYtNzQzZjdjMjUxOGIyLTk2NDQtMTMyNTcwMzQwNDEuNzgyMTczODAw',
+ ],
+ executable: ['C:\\Program Files\\OpenSSH-Win64\\sshd.exe'],
+ },
+ agent: {
+ type: ['endpoint'],
+ },
+ user: {
+ name: ['SYSTEM'],
+ domain: ['NT AUTHORITY'],
+ },
+ message: ['Endpoint DLL load event'],
+ timestamp: '2021-02-05T21:27:23.921Z',
+ _id: 'IAUYdHcBGrBB52F2zo8Q',
+};
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/endpoint/process_execution_malware_prevention_alert.ts b/x-pack/plugins/security_solution/public/common/demo_data/endpoint/process_execution_malware_prevention_alert.ts
new file mode 100644
index 0000000000000..1a3657e867261
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/endpoint/process_execution_malware_prevention_alert.ts
@@ -0,0 +1,80 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { Ecs } from '../../../../common/ecs';
+
+export const demoEndpointProcessExecutionMalwarePreventionAlert: Ecs = {
+ process: {
+ hash: {
+ md5: ['177afc1eb0be88eb9983fb74111260c4'],
+ sha256: ['3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb'],
+ sha1: ['f573b85e9beb32121f1949217947b2adc6749e3d'],
+ },
+ entity_id: [
+ 'MWQxNWNmOWUtM2RjNy01Yjk3LWY1ODYtNzQzZjdjMjUxOGIyLTY5MjAtMTMyNDg5OTk2OTAuNDgzMzA3NzAw',
+ ],
+ executable: [
+ 'C:\\Users\\sean\\Downloads\\3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb.exe',
+ ],
+ name: [
+ 'C:\\Users\\sean\\Downloads\\3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb.exe',
+ ],
+ pid: [6920],
+ args: [
+ 'C:\\Users\\sean\\Downloads\\3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb.exe',
+ ],
+ },
+ host: {
+ os: {
+ full: ['Windows Server 2019 Datacenter 1809 (10.0.17763.1518)'],
+ name: ['Windows'],
+ version: ['1809 (10.0.17763.1518)'],
+ platform: ['windows'],
+ family: ['windows'],
+ kernel: ['1809 (10.0.17763.1518)'],
+ },
+ mac: ['aa:bb:cc:dd:ee:ff'],
+ architecture: ['x86_64'],
+ ip: ['10.1.2.3'],
+ id: ['d8ad572e-d224-4044-a57d-f5a84c0dfe5d'],
+ name: ['win2019-endpoint-1'],
+ },
+ file: {
+ mtime: ['2020-11-04T21:40:51.494Z'],
+ path: [
+ 'C:\\Users\\sean\\Downloads\\3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb.exe',
+ ],
+ owner: ['sean'],
+ hash: {
+ md5: ['177afc1eb0be88eb9983fb74111260c4'],
+ sha256: ['3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb'],
+ sha1: ['f573b85e9beb32121f1949217947b2adc6749e3d'],
+ },
+ name: ['3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb.exe'],
+ extension: ['exe'],
+ size: [1604112],
+ },
+ event: {
+ category: ['malware', 'intrusion_detection', 'process'],
+ outcome: ['success'],
+ severity: [73],
+ code: ['malicious_file'],
+ action: ['execution'],
+ id: ['LsuMZVr+sdhvehVM++++Gp2Y'],
+ kind: ['alert'],
+ created: ['2020-11-04T21:41:30.533Z'],
+ module: ['endpoint'],
+ type: ['info', 'start', 'denied'],
+ dataset: ['endpoint.alerts'],
+ },
+ agent: {
+ type: ['endpoint'],
+ },
+ timestamp: '2020-11-04T21:41:30.533Z',
+ message: ['Malware Prevention Alert'],
+ _id: '0dA2lXUBn9bLIbfPkY7d',
+};
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/endpoint/registry_modification_event.ts b/x-pack/plugins/security_solution/public/common/demo_data/endpoint/registry_modification_event.ts
new file mode 100644
index 0000000000000..2f34360b46443
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/endpoint/registry_modification_event.ts
@@ -0,0 +1,64 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { Ecs } from '../../../../common/ecs';
+
+export const demoEndpointRegistryModificationEvent: Ecs = {
+ host: {
+ os: {
+ full: ['Windows Server 2019 Datacenter 1809 (10.0.17763.1697)'],
+ name: ['Windows'],
+ version: ['1809 (10.0.17763.1697)'],
+ family: ['windows'],
+ kernel: ['1809 (10.0.17763.1697)'],
+ platform: ['windows'],
+ },
+ mac: ['aa:bb:cc:dd:ee:ff'],
+ name: ['win2019-endpoint-1'],
+ architecture: ['x86_64'],
+ ip: ['10.1.2.3'],
+ id: ['d8ad572e-d224-4044-a57d-f5a84c0dfe5d'],
+ },
+ event: {
+ category: ['registry'],
+ kind: ['event'],
+ created: ['2021-02-04T13:44:31.559Z'],
+ module: ['endpoint'],
+ action: ['modification'],
+ type: ['change'],
+ id: ['LzzWB9jjGmCwGMvk++++CbOn'],
+ dataset: ['endpoint.events.registry'],
+ },
+ process: {
+ name: ['GoogleUpdate.exe'],
+ pid: [7408],
+ entity_id: [
+ 'MWQxNWNmOWUtM2RjNy01Yjk3LWY1ODYtNzQzZjdjMjUxOGIyLTc0MDgtMTMyNTY5MTk4NDguODY4NTI0ODAw',
+ ],
+ executable: ['C:\\Program Files (x86)\\Google\\Update\\GoogleUpdate.exe'],
+ },
+ registry: {
+ hive: ['HKLM'],
+ key: [
+ 'SOFTWARE\\WOW6432Node\\Google\\Update\\ClientState\\{430FD4D0-B729-4F61-AA34-91526481799D}\\CurrentState',
+ ],
+ path: [
+ 'HKLM\\SOFTWARE\\WOW6432Node\\Google\\Update\\ClientState\\{430FD4D0-B729-4F61-AA34-91526481799D}\\CurrentState\\StateValue',
+ ],
+ value: ['StateValue'],
+ },
+ agent: {
+ type: ['endpoint'],
+ },
+ user: {
+ name: ['SYSTEM'],
+ domain: ['NT AUTHORITY'],
+ },
+ message: ['Endpoint registry event'],
+ timestamp: '2021-02-04T13:44:31.559Z',
+ _id: '4cxLbXcBGrBB52F2uOfF',
+};
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/netflow.ts b/x-pack/plugins/security_solution/public/common/demo_data/netflow.ts
new file mode 100644
index 0000000000000..51f281a4b056b
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/netflow.ts
@@ -0,0 +1,79 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { ONE_MILLISECOND_AS_NANOSECONDS } from '../../timelines/components/formatted_duration/helpers';
+import type { Ecs } from '../../../common/ecs';
+
+/** Returns mock data for testing the Netflow component */
+export const getDemoNetflowData = (): Ecs => ({
+ destination: {
+ bytes: [40],
+ geo: {
+ city_name: ['New York'],
+ continent_name: ['North America'],
+ country_iso_code: ['US'],
+ country_name: ['United States'],
+ region_name: ['New York'],
+ },
+ ip: ['10.1.2.3'],
+ packets: [1],
+ port: [80],
+ },
+ event: {
+ action: ['network_flow'],
+ category: ['network_traffic'],
+ duration: [ONE_MILLISECOND_AS_NANOSECONDS],
+ end: ['2018-11-12T19:03:25.936Z'],
+ start: ['2018-11-12T19:03:25.836Z'],
+ },
+ _id: 'abcd',
+ network: {
+ bytes: [100],
+ community_id: ['we.live.in.a'],
+ direction: ['outgoing'],
+ packets: [3],
+ protocol: ['http'],
+ transport: ['tcp'],
+ },
+ process: {
+ name: ['rat'],
+ },
+ source: {
+ bytes: [60],
+ geo: {
+ city_name: ['Atlanta'],
+ continent_name: ['North America'],
+ country_iso_code: ['US'],
+ country_name: ['United States'],
+ region_name: ['Georgia'],
+ },
+ ip: ['192.168.1.2'],
+ packets: [2],
+ port: [9987],
+ },
+ timestamp: '2018-11-12T19:03:25.936Z',
+ tls: {
+ client_certificate: {
+ fingerprint: {
+ sha1: ['tls.client_certificate.fingerprint.sha1-value'],
+ },
+ },
+ fingerprints: {
+ ja3: {
+ hash: ['tls.fingerprints.ja3.hash-value'],
+ },
+ },
+ server_certificate: {
+ fingerprint: {
+ sha1: ['tls.server_certificate.fingerprint.sha1-value'],
+ },
+ },
+ },
+ user: {
+ name: ['first.last'],
+ },
+});
diff --git a/x-pack/plugins/security_solution/public/common/demo_data/timeline.ts b/x-pack/plugins/security_solution/public/common/demo_data/timeline.ts
new file mode 100644
index 0000000000000..90a4c2221d16c
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/demo_data/timeline.ts
@@ -0,0 +1,1117 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor 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 { TimelineItem } from '../../../common/search_strategy/timeline';
+
+export const demoTimelineData: TimelineItem[] = [
+ {
+ _id: '1',
+ data: [
+ { field: '@timestamp', value: ['2018-11-05T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['3'] },
+ { field: 'event.category', value: ['Access'] },
+ { field: 'event.action', value: ['Action'] },
+ { field: 'host.name', value: ['apache'] },
+ { field: 'source.ip', value: ['192.168.0.1'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['john.dee'] },
+ ],
+ ecs: {
+ _id: '1',
+ timestamp: '2018-11-05T19:03:25.937Z',
+ host: { name: ['apache'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['1'],
+ action: ['Action'],
+ category: ['Access'],
+ module: ['nginx'],
+ severity: [3],
+ },
+ source: { ip: ['192.168.0.1'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['1'], name: ['john.dee'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '3',
+ data: [
+ { field: '@timestamp', value: ['2018-11-07T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['1'] },
+ { field: 'event.category', value: ['Access'] },
+ { field: 'host.name', value: ['nginx'] },
+ { field: 'source.ip', value: ['192.168.0.3'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['evan.davis'] },
+ ],
+ ecs: {
+ _id: '3',
+ timestamp: '2018-11-07T19:03:25.937Z',
+ host: { name: ['nginx'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['3'],
+ category: ['Access'],
+ type: ['HTTP Request'],
+ module: ['nginx'],
+ severity: [1],
+ },
+ source: { ip: ['192.168.0.3'], port: [443] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['3'], name: ['evan.davis'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '4',
+ data: [
+ { field: '@timestamp', value: ['2018-11-08T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['1'] },
+ { field: 'event.category', value: ['Attempted Administrator Privilege Gain'] },
+ { field: 'host.name', value: ['suricata'] },
+ { field: 'source.ip', value: ['192.168.0.3'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['jenny.jones'] },
+ ],
+ ecs: {
+ _id: '4',
+ timestamp: '2018-11-08T19:03:25.937Z',
+ host: { name: ['suricata'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['4'],
+ category: ['Attempted Administrator Privilege Gain'],
+ type: ['Alert'],
+ module: ['suricata'],
+ severity: [1],
+ },
+ source: { ip: ['192.168.0.3'], port: [53] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ suricata: {
+ eve: {
+ flow_id: [4],
+ proto: [''],
+ alert: {
+ signature: [
+ 'ET EXPLOIT NETGEAR WNR2000v5 hidden_lang_avi Stack Overflow (CVE-2016-10174)',
+ ],
+ signature_id: [4],
+ },
+ },
+ },
+ user: { id: ['4'], name: ['jenny.jones'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '5',
+ data: [
+ { field: '@timestamp', value: ['2018-11-09T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['3'] },
+ { field: 'event.category', value: ['Access'] },
+ { field: 'host.name', value: ['joe.computer'] },
+ { field: 'source.ip', value: ['192.168.0.3'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['becky.davis'] },
+ ],
+ ecs: {
+ _id: '5',
+ timestamp: '2018-11-09T19:03:25.937Z',
+ host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['5'],
+ category: ['Access'],
+ type: ['HTTP Request'],
+ module: ['nginx'],
+ severity: [3],
+ },
+ source: { ip: ['192.168.0.3'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['5'], name: ['becky.davis'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '6',
+ data: [
+ { field: '@timestamp', value: ['2018-11-10T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['3'] },
+ { field: 'event.category', value: ['Access'] },
+ { field: 'host.name', value: ['braden.davis'] },
+ { field: 'source.ip', value: ['192.168.0.6'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ ],
+ ecs: {
+ _id: '6',
+ timestamp: '2018-11-10T19:03:25.937Z',
+ host: { name: ['braden.davis'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['6'],
+ category: ['Access'],
+ type: ['HTTP Request'],
+ module: ['nginx'],
+ severity: [3],
+ },
+ source: { ip: ['192.168.0.6'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '8',
+ data: [
+ { field: '@timestamp', value: ['2018-11-12T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['2'] },
+ { field: 'event.category', value: ['Web Application Attack'] },
+ { field: 'host.name', value: ['joe.computer'] },
+ { field: 'source.ip', value: ['192.168.0.8'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['jone.doe'] },
+ ],
+ ecs: {
+ _id: '8',
+ timestamp: '2018-11-12T19:03:25.937Z',
+ host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['8'],
+ category: ['Web Application Attack'],
+ type: ['Alert'],
+ module: ['suricata'],
+ severity: [2],
+ },
+ suricata: {
+ eve: {
+ flow_id: [8],
+ proto: [''],
+ alert: {
+ signature: ['ET WEB_SERVER Possible CVE-2014-6271 Attempt in HTTP Cookie'],
+ signature_id: [8],
+ },
+ },
+ },
+ source: { ip: ['192.168.0.8'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['8'], name: ['jone.doe'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '7',
+ data: [
+ { field: '@timestamp', value: ['2018-11-11T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['3'] },
+ { field: 'event.category', value: ['Access'] },
+ { field: 'host.name', value: ['joe.computer'] },
+ { field: 'source.ip', value: ['192.168.0.7'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['jone.doe'] },
+ ],
+ ecs: {
+ _id: '7',
+ timestamp: '2018-11-11T19:03:25.937Z',
+ host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['7'],
+ category: ['Access'],
+ type: ['HTTP Request'],
+ module: ['apache'],
+ severity: [3],
+ },
+ source: { ip: ['192.168.0.7'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['7'], name: ['jone.doe'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '9',
+ data: [
+ { field: '@timestamp', value: ['2018-11-13T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['3'] },
+ { field: 'event.category', value: ['Access'] },
+ { field: 'host.name', value: ['joe.computer'] },
+ { field: 'source.ip', value: ['192.168.0.9'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['jone.doe'] },
+ ],
+ ecs: {
+ _id: '9',
+ timestamp: '2018-11-13T19:03:25.937Z',
+ host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['9'],
+ category: ['Access'],
+ type: ['HTTP Request'],
+ module: ['nginx'],
+ severity: [3],
+ },
+ source: { ip: ['192.168.0.9'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['9'], name: ['jone.doe'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '10',
+ data: [
+ { field: '@timestamp', value: ['2018-11-14T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['3'] },
+ { field: 'event.category', value: ['Access'] },
+ { field: 'host.name', value: ['joe.computer'] },
+ { field: 'source.ip', value: ['192.168.0.10'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['jone.doe'] },
+ ],
+ ecs: {
+ _id: '10',
+ timestamp: '2018-11-14T19:03:25.937Z',
+ host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['10'],
+ category: ['Access'],
+ type: ['HTTP Request'],
+ module: ['nginx'],
+ severity: [3],
+ },
+ source: { ip: ['192.168.0.10'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['10'], name: ['jone.doe'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '11',
+ data: [
+ { field: '@timestamp', value: ['2018-11-15T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['3'] },
+ { field: 'event.category', value: ['Access'] },
+ { field: 'host.name', value: ['joe.computer'] },
+ { field: 'source.ip', value: ['192.168.0.11'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['jone.doe'] },
+ ],
+ ecs: {
+ _id: '11',
+ timestamp: '2018-11-15T19:03:25.937Z',
+ host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['11'],
+ category: ['Access'],
+ type: ['HTTP Request'],
+ module: ['nginx'],
+ severity: [3],
+ },
+ source: { ip: ['192.168.0.11'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['11'], name: ['jone.doe'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '12',
+ data: [
+ { field: '@timestamp', value: ['2018-11-16T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['3'] },
+ { field: 'event.category', value: ['Access'] },
+ { field: 'host.name', value: ['joe.computer'] },
+ { field: 'source.ip', value: ['192.168.0.12'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['jone.doe'] },
+ ],
+ ecs: {
+ _id: '12',
+ timestamp: '2018-11-16T19:03:25.937Z',
+ host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['12'],
+ category: ['Access'],
+ type: ['HTTP Request'],
+ module: ['nginx'],
+ severity: [3],
+ },
+ source: { ip: ['192.168.0.12'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['12'], name: ['jone.doe'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '2',
+ data: [
+ { field: '@timestamp', value: ['2018-11-06T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['3'] },
+ { field: 'event.category', value: ['Authentication'] },
+ { field: 'host.name', value: ['joe.computer'] },
+ { field: 'source.ip', value: ['192.168.0.2'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['joe.bob'] },
+ ],
+ ecs: {
+ _id: '2',
+ timestamp: '2018-11-06T19:03:25.937Z',
+ host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['2'],
+ category: ['Authentication'],
+ type: ['Authentication Success'],
+ module: ['authlog'],
+ severity: [3],
+ },
+ source: { ip: ['192.168.0.2'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['1'], name: ['joe.bob'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '13',
+ data: [
+ { field: '@timestamp', value: ['2018-13-12T19:03:25.937Z'] },
+ { field: 'event.severity', value: ['1'] },
+ { field: 'event.category', value: ['Web Application Attack'] },
+ { field: 'host.name', value: ['joe.computer'] },
+ { field: 'source.ip', value: ['192.168.0.8'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ ],
+ ecs: {
+ _id: '13',
+ timestamp: '2018-13-12T19:03:25.937Z',
+ host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['13'],
+ category: ['Web Application Attack'],
+ type: ['Alert'],
+ module: ['suricata'],
+ severity: [1],
+ },
+ suricata: {
+ eve: {
+ flow_id: [13],
+ proto: [''],
+ alert: {
+ signature: ['ET WEB_SERVER Possible Attempt in HTTP Cookie'],
+ signature_id: [13],
+ },
+ },
+ },
+ source: { ip: ['192.168.0.8'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '14',
+ data: [
+ { field: '@timestamp', value: ['2019-03-07T05:06:51.000Z'] },
+ { field: 'host.name', value: ['zeek-franfurt'] },
+ { field: 'source.ip', value: ['192.168.26.101'] },
+ { field: 'destination.ip', value: ['192.168.238.205'] },
+ ],
+ ecs: {
+ _id: '14',
+ timestamp: '2019-03-07T05:06:51.000Z',
+ event: {
+ module: ['zeek'],
+ dataset: ['zeek.connection'],
+ },
+ host: {
+ id: ['37c81253e0fc4c46839c19b981be5177'],
+ name: ['zeek-franfurt'],
+ ip: ['207.154.238.205', '10.19.0.5', 'fe80::d82b:9aff:fe0d:1e12'],
+ },
+ source: { ip: ['185.176.26.101'], port: [44059] },
+ destination: { ip: ['207.154.238.205'], port: [11568] },
+ geo: { region_name: ['New York'], country_iso_code: ['US'] },
+ network: { transport: ['tcp'] },
+ zeek: {
+ session_id: ['C8DRTq362Fios6hw16'],
+ connection: {
+ local_resp: [false],
+ local_orig: [false],
+ missed_bytes: [0],
+ state: ['REJ'],
+ history: ['Sr'],
+ },
+ },
+ },
+ },
+ {
+ _id: '15',
+ data: [
+ { field: '@timestamp', value: ['2019-03-07T00:51:28.000Z'] },
+ { field: 'host.name', value: ['suricata-zeek-singapore'] },
+ { field: 'source.ip', value: ['192.168.35.240'] },
+ { field: 'destination.ip', value: ['192.168.67.3'] },
+ ],
+ ecs: {
+ _id: '15',
+ timestamp: '2019-03-07T00:51:28.000Z',
+ event: {
+ module: ['zeek'],
+ dataset: ['zeek.dns'],
+ },
+ host: {
+ id: ['af3fddf15f1d47979ce817ba0df10c6e'],
+ name: ['suricata-zeek-singapore'],
+ ip: ['206.189.35.240', '10.15.0.5', 'fe80::98c7:eff:fe29:4455'],
+ },
+ source: { ip: ['206.189.35.240'], port: [57475] },
+ destination: { ip: ['67.207.67.3'], port: [53] },
+ geo: { region_name: ['New York'], country_iso_code: ['US'] },
+ network: { transport: ['udp'] },
+ zeek: {
+ session_id: ['CyIrMA1L1JtLqdIuol'],
+ dns: {
+ AA: [false],
+ RD: [false],
+ trans_id: [65252],
+ RA: [false],
+ TC: [false],
+ },
+ },
+ },
+ },
+ {
+ _id: '16',
+ data: [
+ { field: '@timestamp', value: ['2019-03-05T07:00:20.000Z'] },
+ { field: 'host.name', value: ['suricata-zeek-singapore'] },
+ { field: 'source.ip', value: ['192.168.35.240'] },
+ { field: 'destination.ip', value: ['192.168.164.26'] },
+ ],
+ ecs: {
+ _id: '16',
+ timestamp: '2019-03-05T07:00:20.000Z',
+ event: {
+ module: ['zeek'],
+ dataset: ['zeek.http'],
+ },
+ host: {
+ id: ['af3fddf15f1d47979ce817ba0df10c6e'],
+ name: ['suricata-zeek-singapore'],
+ ip: ['206.189.35.240', '10.15.0.5', 'fe80::98c7:eff:fe29:4455'],
+ },
+ source: { ip: ['206.189.35.240'], port: [36220] },
+ destination: { ip: ['192.241.164.26'], port: [80] },
+ geo: { region_name: ['New York'], country_iso_code: ['US'] },
+ http: {
+ version: ['1.1'],
+ request: { body: { bytes: [0] } },
+ response: { status_code: [302], body: { bytes: [154] } },
+ },
+ zeek: {
+ session_id: ['CZLkpC22NquQJOpkwe'],
+
+ http: {
+ resp_mime_types: ['text/html'],
+ trans_depth: ['3'],
+ status_msg: ['Moved Temporarily'],
+ resp_fuids: ['FzeujEPP7GTHmYPsc'],
+ tags: [],
+ },
+ },
+ },
+ },
+ {
+ _id: '17',
+ data: [
+ { field: '@timestamp', value: ['2019-02-28T22:36:28.000Z'] },
+ { field: 'host.name', value: ['zeek-franfurt'] },
+ { field: 'source.ip', value: ['192.168.77.171'] },
+ ],
+ ecs: {
+ _id: '17',
+ timestamp: '2019-02-28T22:36:28.000Z',
+ event: {
+ module: ['zeek'],
+ dataset: ['zeek.notice'],
+ },
+ host: {
+ id: ['37c81253e0fc4c46839c19b981be5177'],
+ name: ['zeek-franfurt'],
+ ip: ['207.154.238.205', '10.19.0.5', 'fe80::d82b:9aff:fe0d:1e12'],
+ },
+ source: { ip: ['8.42.77.171'] },
+ zeek: {
+ notice: {
+ suppress_for: [3600],
+ msg: ['8.42.77.171 scanned at least 15 unique ports of host 207.154.238.205 in 0m0s'],
+ note: ['Scan::Port_Scan'],
+ sub: ['remote'],
+ dst: ['207.154.238.205'],
+ dropped: [false],
+ peer_descr: ['bro'],
+ },
+ },
+ },
+ },
+ {
+ _id: '18',
+ data: [
+ { field: '@timestamp', value: ['2019-02-22T21:12:13.000Z'] },
+ { field: 'host.name', value: ['zeek-sensor-amsterdam'] },
+ { field: 'source.ip', value: ['192.168.66.184'] },
+ { field: 'destination.ip', value: ['192.168.95.15'] },
+ ],
+ ecs: {
+ _id: '18',
+ timestamp: '2019-02-22T21:12:13.000Z',
+ event: {
+ module: ['zeek'],
+ dataset: ['zeek.ssl'],
+ },
+ host: { id: ['2ce8b1e7d69e4a1d9c6bcddc473da9d9'], name: ['zeek-sensor-amsterdam'] },
+ source: { ip: ['188.166.66.184'], port: [34514] },
+ destination: { ip: ['91.189.95.15'], port: [443] },
+ geo: { region_name: ['England'], country_iso_code: ['GB'] },
+ zeek: {
+ session_id: ['CmTxzt2OVXZLkGDaRe'],
+ ssl: {
+ cipher: ['TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'],
+ established: [false],
+ resumed: [false],
+ version: ['TLSv12'],
+ },
+ },
+ },
+ },
+ {
+ _id: '19',
+ data: [
+ { field: '@timestamp', value: ['2019-03-03T04:26:38.000Z'] },
+ { field: 'host.name', value: ['suricata-zeek-singapore'] },
+ ],
+ ecs: {
+ _id: '19',
+ timestamp: '2019-03-03T04:26:38.000Z',
+ event: {
+ module: ['zeek'],
+ dataset: ['zeek.files'],
+ },
+ host: {
+ id: ['af3fddf15f1d47979ce817ba0df10c6e'],
+ name: ['suricata-zeek-singapore'],
+ ip: ['206.189.35.240', '10.15.0.5', 'fe80::98c7:eff:fe29:4455'],
+ },
+ zeek: {
+ session_id: ['Cu0n232QMyvNtzb75j'],
+ files: {
+ session_ids: ['Cu0n232QMyvNtzb75j'],
+ timedout: [false],
+ local_orig: [false],
+ tx_host: ['5.101.111.50'],
+ source: ['HTTP'],
+ is_orig: [false],
+ overflow_bytes: [0],
+ sha1: ['fa5195a5dfacc9d1c68d43600f0e0262cad14dde'],
+ duration: [0],
+ depth: [0],
+ analyzers: ['MD5', 'SHA1'],
+ mime_type: ['text/plain'],
+ rx_host: ['206.189.35.240'],
+ total_bytes: [88722],
+ fuid: ['FePz1uVEVCZ3I0FQi'],
+ seen_bytes: [1198],
+ missing_bytes: [0],
+ md5: ['f7653f1951693021daa9e6be61226e32'],
+ },
+ },
+ },
+ },
+ {
+ _id: '20',
+ data: [
+ { field: '@timestamp', value: ['2019-03-13T05:42:11.815Z'] },
+ { field: 'event.category', value: ['audit-rule'] },
+ { field: 'host.name', value: ['zeek-sanfran'] },
+ { field: 'process.args', value: ['gpgconf', '--list-dirs', 'agent-socket'] },
+ ],
+ ecs: {
+ _id: '20',
+ timestamp: '2019-03-13T05:42:11.815Z',
+ event: {
+ action: ['executed'],
+ module: ['auditd'],
+ category: ['audit-rule'],
+ },
+ host: {
+ id: ['f896741c3b3b44bdb8e351a4ab6d2d7c'],
+ name: ['zeek-sanfran'],
+ ip: ['134.209.63.134', '10.46.0.5', 'fe80::a0d9:16ff:fecf:e70b'],
+ },
+ user: { name: ['alice'] },
+ process: {
+ pid: [5402],
+ name: ['gpgconf'],
+ ppid: [5401],
+ args: ['gpgconf', '--list-dirs', 'agent-socket'],
+ executable: ['/usr/bin/gpgconf'],
+ title: ['gpgconf --list-dirs agent-socket'],
+ working_directory: ['/'],
+ },
+ },
+ },
+ {
+ _id: '21',
+ data: [
+ { field: '@timestamp', value: ['2019-03-14T22:30:25.527Z'] },
+ { field: 'event.category', value: ['user-login'] },
+ { field: 'host.name', value: ['zeek-london'] },
+ { field: 'source.ip', value: ['192.168.77.171'] },
+ { field: 'user.name', value: ['root'] },
+ ],
+ ecs: {
+ _id: '21',
+ timestamp: '2019-03-14T22:30:25.527Z',
+ event: {
+ action: ['logged-in'],
+ module: ['auditd'],
+ category: ['user-login'],
+ },
+ auditd: {
+ result: ['success'],
+ session: ['14'],
+ data: { terminal: ['/dev/pts/0'], op: ['login'] },
+ summary: {
+ actor: { primary: ['alice'], secondary: ['alice'] },
+ object: { primary: ['/dev/pts/0'], secondary: ['8.42.77.171'], type: ['user-session'] },
+ how: ['/usr/sbin/sshd'],
+ },
+ },
+ host: {
+ id: ['7c21f5ed03b04d0299569d221fe18bbc'],
+ name: ['zeek-london'],
+ ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
+ },
+ source: { ip: ['8.42.77.171'] },
+ user: { name: ['root'] },
+ process: {
+ pid: [17471],
+ executable: ['/usr/sbin/sshd'],
+ },
+ },
+ },
+ {
+ _id: '22',
+ data: [
+ { field: '@timestamp', value: ['2019-03-13T03:35:21.614Z'] },
+ { field: 'event.category', value: ['user-login'] },
+ { field: 'host.name', value: ['suricata-bangalore'] },
+ { field: 'user.name', value: ['root'] },
+ ],
+ ecs: {
+ _id: '22',
+ timestamp: '2019-03-13T03:35:21.614Z',
+ event: {
+ action: ['disposed-credentials'],
+ module: ['auditd'],
+ category: ['user-login'],
+ },
+ auditd: {
+ result: ['success'],
+ session: ['340'],
+ data: { acct: ['alice'], terminal: ['ssh'], op: ['PAM:setcred'] },
+ summary: {
+ actor: { primary: ['alice'], secondary: ['alice'] },
+ object: { primary: ['ssh'], secondary: ['8.42.77.171'], type: ['user-session'] },
+ how: ['/usr/sbin/sshd'],
+ },
+ },
+ host: {
+ id: ['0a63559c1acf4c419d979c4b4d8b83ff'],
+ name: ['suricata-bangalore'],
+ ip: ['139.59.11.147', '10.47.0.5', 'fe80::ec0b:1bff:fe29:80bd'],
+ },
+ user: { name: ['root'] },
+ process: {
+ pid: [21202],
+ executable: ['/usr/sbin/sshd'],
+ },
+ },
+ },
+ {
+ _id: '23',
+ data: [
+ { field: '@timestamp', value: ['2019-03-13T03:35:21.614Z'] },
+ { field: 'event.category', value: ['user-login'] },
+ { field: 'host.name', value: ['suricata-bangalore'] },
+ { field: 'user.name', value: ['root'] },
+ ],
+ ecs: {
+ _id: '23',
+ timestamp: '2019-03-13T03:35:21.614Z',
+ event: {
+ action: ['ended-session'],
+ module: ['auditd'],
+ category: ['user-login'],
+ },
+ auditd: {
+ result: ['success'],
+ session: ['340'],
+ data: { acct: ['alice'], terminal: ['ssh'], op: ['PAM:session_close'] },
+ summary: {
+ actor: { primary: ['alice'], secondary: ['alice'] },
+ object: { primary: ['ssh'], secondary: ['8.42.77.171'], type: ['user-session'] },
+ how: ['/usr/sbin/sshd'],
+ },
+ },
+ host: {
+ id: ['0a63559c1acf4c419d979c4b4d8b83ff'],
+ name: ['suricata-bangalore'],
+ ip: ['139.59.11.147', '10.47.0.5', 'fe80::ec0b:1bff:fe29:80bd'],
+ },
+ user: { name: ['root'] },
+ process: {
+ pid: [21202],
+ executable: ['/usr/sbin/sshd'],
+ },
+ },
+ },
+ {
+ _id: '24',
+ data: [
+ { field: '@timestamp', value: ['2019-03-18T23:17:01.645Z'] },
+ { field: 'event.category', value: ['user-login'] },
+ { field: 'host.name', value: ['zeek-london'] },
+ { field: 'user.name', value: ['root'] },
+ ],
+ ecs: {
+ _id: '24',
+ timestamp: '2019-03-18T23:17:01.645Z',
+ event: {
+ action: ['acquired-credentials'],
+ module: ['auditd'],
+ category: ['user-login'],
+ },
+ auditd: {
+ result: ['success'],
+ session: ['unset'],
+ data: { acct: ['root'], terminal: ['cron'], op: ['PAM:setcred'] },
+ summary: {
+ actor: { primary: ['unset'], secondary: ['root'] },
+ object: { primary: ['cron'], type: ['user-session'] },
+ how: ['/usr/sbin/cron'],
+ },
+ },
+ host: {
+ id: ['7c21f5ed03b04d0299569d221fe18bbc'],
+ name: ['zeek-london'],
+ ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
+ },
+ user: { name: ['root'] },
+ process: {
+ pid: [9592],
+ executable: ['/usr/sbin/cron'],
+ },
+ },
+ },
+ {
+ _id: '25',
+ data: [
+ { field: '@timestamp', value: ['2019-03-19T01:17:01.336Z'] },
+ { field: 'event.category', value: ['user-login'] },
+ { field: 'host.name', value: ['siem-kibana'] },
+ { field: 'user.name', value: ['root'] },
+ ],
+ ecs: {
+ _id: '25',
+ timestamp: '2019-03-19T01:17:01.336Z',
+ event: {
+ action: ['started-session'],
+ module: ['auditd'],
+ category: ['user-login'],
+ },
+ auditd: {
+ result: ['success'],
+ session: ['2908'],
+ data: { acct: ['root'], terminal: ['cron'], op: ['PAM:session_open'] },
+ summary: {
+ actor: { primary: ['root'], secondary: ['root'] },
+ object: { primary: ['cron'], type: ['user-session'] },
+ how: ['/usr/sbin/cron'],
+ },
+ },
+ host: { id: ['aa7ca589f1b8220002f2fc61c64cfbf1'], name: ['siem-kibana'] },
+ user: { name: ['root'] },
+ process: {
+ pid: [725],
+ executable: ['/usr/sbin/cron'],
+ },
+ },
+ },
+ {
+ _id: '26',
+ data: [
+ { field: '@timestamp', value: ['2019-03-13T03:34:08.890Z'] },
+ { field: 'event.category', value: ['user-login'] },
+ { field: 'host.name', value: ['suricata-bangalore'] },
+ { field: 'user.name', value: ['alice'] },
+ ],
+ ecs: {
+ _id: '26',
+ timestamp: '2019-03-13T03:34:08.890Z',
+ event: {
+ action: ['was-authorized'],
+ module: ['auditd'],
+ category: ['user-login'],
+ },
+ auditd: {
+ result: ['success'],
+ session: ['338'],
+ data: { terminal: ['/dev/pts/0'] },
+ summary: {
+ actor: { primary: ['root'], secondary: ['alice'] },
+ object: { primary: ['/dev/pts/0'], type: ['user-session'] },
+ how: ['/sbin/pam_tally2'],
+ },
+ },
+ host: {
+ id: ['0a63559c1acf4c419d979c4b4d8b83ff'],
+ name: ['suricata-bangalore'],
+ ip: ['139.59.11.147', '10.47.0.5', 'fe80::ec0b:1bff:fe29:80bd'],
+ },
+ user: { name: ['alice'] },
+ process: {
+ pid: [21170],
+ executable: ['/sbin/pam_tally2'],
+ },
+ },
+ },
+ {
+ _id: '27',
+ data: [
+ { field: '@timestamp', value: ['2019-03-22T19:13:11.026Z'] },
+ { field: 'event.action', value: ['connected-to'] },
+ { field: 'event.category', value: ['audit-rule'] },
+ { field: 'host.name', value: ['zeek-london'] },
+ { field: 'destination.ip', value: ['192.168.216.34'] },
+ { field: 'user.name', value: ['alice'] },
+ ],
+ ecs: {
+ _id: '27',
+ timestamp: '2019-03-22T19:13:11.026Z',
+ event: {
+ action: ['connected-to'],
+ module: ['auditd'],
+ category: ['audit-rule'],
+ },
+ auditd: {
+ result: ['success'],
+ session: ['246'],
+ summary: {
+ actor: { primary: ['alice'], secondary: ['alice'] },
+ object: { primary: ['192.168.216.34'], secondary: ['80'], type: ['socket'] },
+ how: ['/usr/bin/wget'],
+ },
+ },
+ host: {
+ id: ['7c21f5ed03b04d0299569d221fe18bbc'],
+ name: ['zeek-london'],
+ ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
+ },
+ destination: { ip: ['192.168.216.34'], port: [80] },
+ user: { name: ['alice'] },
+ process: {
+ pid: [1490],
+ name: ['wget'],
+ ppid: [1476],
+ executable: ['/usr/bin/wget'],
+ title: ['wget www.example.com'],
+ },
+ },
+ },
+ {
+ _id: '28',
+ data: [
+ { field: '@timestamp', value: ['2019-03-26T22:12:18.609Z'] },
+ { field: 'event.action', value: ['opened-file'] },
+ { field: 'event.category', value: ['audit-rule'] },
+ { field: 'host.name', value: ['zeek-london'] },
+ { field: 'user.name', value: ['root'] },
+ ],
+ ecs: {
+ _id: '28',
+ timestamp: '2019-03-26T22:12:18.609Z',
+ event: {
+ action: ['opened-file'],
+ module: ['auditd'],
+ category: ['audit-rule'],
+ },
+ auditd: {
+ result: ['success'],
+ session: ['242'],
+ summary: {
+ actor: { primary: ['unset'], secondary: ['root'] },
+ object: { primary: ['/proc/15990/attr/current'], type: ['file'] },
+ how: ['/lib/systemd/systemd-journald'],
+ },
+ },
+ file: {
+ path: ['/proc/15990/attr/current'],
+ device: ['00:00'],
+ inode: ['27672309'],
+ uid: ['0'],
+ owner: ['root'],
+ gid: ['0'],
+ group: ['root'],
+ mode: ['0666'],
+ },
+ host: {
+ id: ['7c21f5ed03b04d0299569d221fe18bbc'],
+ name: ['zeek-london'],
+ ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
+ },
+
+ user: { name: ['root'] },
+ process: {
+ pid: [27244],
+ name: ['systemd-journal'],
+ ppid: [1],
+ executable: ['/lib/systemd/systemd-journald'],
+ title: ['/lib/systemd/systemd-journald'],
+ working_directory: ['/'],
+ },
+ },
+ },
+ {
+ _id: '29',
+ data: [
+ { field: '@timestamp', value: ['2019-04-08T21:18:57.000Z'] },
+ { field: 'event.action', value: ['user_login'] },
+ { field: 'event.category', value: null },
+ { field: 'host.name', value: ['zeek-london'] },
+ { field: 'user.name', value: ['Braden'] },
+ ],
+ ecs: {
+ _id: '29',
+ event: {
+ action: ['user_login'],
+ dataset: ['login'],
+ kind: ['event'],
+ module: ['system'],
+ outcome: ['failure'],
+ },
+ host: {
+ id: ['7c21f5ed03b04d0299569d221fe18bbc'],
+ name: ['zeek-london'],
+ ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
+ },
+ source: {
+ ip: ['128.199.212.120'],
+ },
+ user: {
+ name: ['Braden'],
+ },
+ process: {
+ pid: [6278],
+ },
+ },
+ },
+ {
+ _id: '30',
+ data: [
+ { field: '@timestamp', value: ['2019-04-08T22:27:14.814Z'] },
+ { field: 'event.action', value: ['process_started'] },
+ { field: 'event.category', value: null },
+ { field: 'host.name', value: ['zeek-london'] },
+ { field: 'user.name', value: ['Evan'] },
+ ],
+ ecs: {
+ _id: '30',
+ event: {
+ action: ['process_started'],
+ dataset: ['login'],
+ kind: ['event'],
+ module: ['system'],
+ outcome: ['failure'],
+ },
+ host: {
+ id: ['7c21f5ed03b04d0299569d221fe18bbc'],
+ name: ['zeek-london'],
+ ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
+ },
+ source: {
+ ip: ['128.199.212.120'],
+ },
+ user: {
+ name: ['Evan'],
+ },
+ process: {
+ pid: [6278],
+ },
+ },
+ },
+ {
+ _id: '31',
+ data: [
+ { field: '@timestamp', value: ['2018-11-05T19:03:25.937Z'] },
+ { field: 'message', value: ['I am a log file message'] },
+ { field: 'event.severity', value: ['3'] },
+ { field: 'event.category', value: ['Access'] },
+ { field: 'event.action', value: ['Action'] },
+ { field: 'host.name', value: ['apache'] },
+ { field: 'source.ip', value: ['192.168.0.1'] },
+ { field: 'destination.ip', value: ['192.168.0.3'] },
+ { field: 'destination.bytes', value: ['123456'] },
+ { field: 'user.name', value: ['john.dee'] },
+ ],
+ ecs: {
+ _id: '1',
+ timestamp: '2018-11-05T19:03:25.937Z',
+ host: { name: ['apache'], ip: ['192.168.0.1'] },
+ event: {
+ id: ['1'],
+ action: ['Action'],
+ category: ['Access'],
+ module: ['nginx'],
+ severity: [3],
+ },
+ message: ['I am a log file message'],
+ source: { ip: ['192.168.0.1'], port: [80] },
+ destination: { ip: ['192.168.0.3'], port: [6343] },
+ user: { id: ['1'], name: ['john.dee'] },
+ geo: { region_name: ['xx'], country_iso_code: ['xx'] },
+ },
+ },
+ {
+ _id: '32',
+ data: [],
+ ecs: {
+ _id: 'BuBP4W0BOpWiDweSoYSg',
+ timestamp: '2019-10-18T23:59:15.091Z',
+ threat: {
+ enrichments: [
+ {
+ indicator: {
+ provider: ['indicator_provider'],
+ reference: ['https://example.com'],
+ },
+ matched: {
+ atomic: ['192.168.1.1'],
+ field: ['source.ip'],
+ type: ['ip'],
+ },
+ feed: {
+ name: ['feed_name'],
+ },
+ },
+ ],
+ },
+ },
+ },
+];
diff --git a/x-pack/plugins/security_solution/public/common/mock/mock_endgame_ecs_data.ts b/x-pack/plugins/security_solution/public/common/mock/mock_endgame_ecs_data.ts
index 28be68fb6af63..b7a9e0cd4593a 100644
--- a/x-pack/plugins/security_solution/public/common/mock/mock_endgame_ecs_data.ts
+++ b/x-pack/plugins/security_solution/public/common/mock/mock_endgame_ecs_data.ts
@@ -7,56 +7,17 @@
import type { Ecs } from '../../../common/ecs';
-export const mockEndgameDnsRequest: Ecs = {
- _id: 'S8jPcG0BOpWiDweSou3g',
- user: {
- id: ['S-1-5-18'],
- domain: ['NT AUTHORITY'],
- name: ['SYSTEM'],
- },
- host: {
- os: {
- platform: ['windows'],
- name: ['Windows'],
- version: ['6.1'],
- },
- ip: ['10.178.85.222'],
- name: ['HD-obe-8bf77f54'],
- },
- event: {
- module: ['endgame'],
- dataset: ['esensor'],
- action: ['request_event'],
- category: ['network'],
- kind: ['event'],
- },
- message: [
- 'DNS query is completed for the name %1, type %2, query options %3 with status %4 Results %5 ',
- ],
- timestamp: '1569555712000',
- dns: {
- question: {
- name: ['update.googleapis.com'],
- type: ['A'],
- },
- resolved_ip: ['10.100.197.67'],
- },
- network: {
- protocol: ['dns'],
- },
- process: {
- pid: [443192],
- name: ['GoogleUpdate.exe'],
- executable: ['C:\\Program Files (x86)\\Google\\Update\\GoogleUpdate.exe'],
- },
- winlog: {
- event_id: [3008],
- },
- endgame: {
- process_name: ['GoogleUpdate.exe'],
- pid: [443192],
- },
-};
+// these "mocks" are used by browser bundles so they were moved out of the mocks and are
+// re-exported here for convenience and internal bwc
+export { demoEndgameCreationEvent as mockEndgameCreationEvent } from '../demo_data/endgame_ecs/creation';
+export { demoEndgameDnsRequest as mockEndgameDnsRequest } from '../demo_data/endgame_ecs/dns';
+export {
+ demoEndgameFileCreateEvent as mockEndgameFileCreateEvent,
+ demoEndgameFileDeleteEvent as mockEndgameFileDeleteEvent,
+} from '../demo_data/endgame_ecs/file_events';
+export { demoEndgameIpv4ConnectionAcceptEvent as mockEndgameIpv4ConnectionAcceptEvent } from '../demo_data/endgame_ecs/ipv4';
+export { demoEndgameTerminationEvent as mockEndgameTerminationEvent } from '../demo_data/endgame_ecs/termination';
+export { demoEndgameUserLogon as mockEndgameUserLogon } from '../demo_data/endgame_ecs/user_logon';
export const mockEndpointNetworkLookupRequestedEvent: Ecs = {
host: {
@@ -173,39 +134,6 @@ export const mockEndpointNetworkLookupResultEvent: Ecs = {
_id: 'skNzOncBPmkOXwyN9VbT',
};
-export const mockEndgameFileCreateEvent: Ecs = {
- _id: '98jPcG0BOpWiDweSouzg',
- user: {
- id: ['S-1-5-21-3573271228-3407584681-1597858646-1002'],
- domain: ['Anvi-Acer'],
- name: ['Arun'],
- },
- host: {
- os: {
- platform: ['windows'],
- name: ['Windows'],
- version: ['6.1'],
- },
- ip: ['10.178.85.222'],
- name: ['HD-obe-8bf77f54'],
- },
- event: {
- module: ['endgame'],
- dataset: ['esensor'],
- action: ['file_create_event'],
- category: ['file'],
- kind: ['event'],
- },
- timestamp: '1569555712000',
- endgame: {
- process_name: ['chrome.exe'],
- pid: [11620],
- file_path: [
- 'C:\\Users\\Arun\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\63d78c21-e593-4484-b7a9-db33cd522ddc.tmp',
- ],
- },
-};
-
export const mockEndpointFileCreationEvent: Ecs = {
file: {
path: ['C:\\Windows\\TEMP\\E38FD162-B6E6-4799-B52D-F590BACBAE94\\WimProvider.dll'],
@@ -259,38 +187,6 @@ export const mockEndpointFileCreationEvent: Ecs = {
_id: 'eSdbOncBLJMagDUQ3YFs',
};
-export const mockEndgameFileDeleteEvent: Ecs = {
- _id: 'OMjPcG0BOpWiDweSeuW9',
- user: {
- id: ['S-1-5-18'],
- domain: ['NT AUTHORITY'],
- name: ['SYSTEM'],
- },
- host: {
- os: {
- platform: ['windows'],
- name: ['Windows'],
- version: ['10.0'],
- },
- ip: ['10.134.159.150'],
- name: ['HD-v1s-d2118419'],
- },
- event: {
- module: ['endgame'],
- dataset: ['esensor'],
- action: ['file_delete_event'],
- category: ['file'],
- kind: ['event'],
- },
- timestamp: '1569555704000',
- endgame: {
- pid: [1084],
- file_name: ['tmp000002f6'],
- file_path: ['C:\\Windows\\TEMP\\tmp00000404\\tmp000002f6'],
- process_name: ['AmSvc.exe'],
- },
-};
-
export const mockEndpointFileDeletionEvent: Ecs = {
file: {
path: ['C:\\Windows\\SoftwareDistribution\\Download\\Install\\AM_Delta_Patch_1.329.2793.0.exe'],
@@ -1222,52 +1118,6 @@ export const mockEndpointProcessForkEvent: Ecs = {
_id: 'KXomX3cBGrBB52F2S9XY',
};
-export const mockEndgameIpv4ConnectionAcceptEvent: Ecs = {
- _id: 'LsjPcG0BOpWiDweSCNfu',
- user: {
- id: ['S-1-5-18'],
- domain: ['NT AUTHORITY'],
- name: ['SYSTEM'],
- },
- host: {
- os: {
- platform: ['windows'],
- name: ['Windows'],
- version: ['10.0'],
- },
- ip: ['10.43.255.177'],
- name: ['HD-gqf-0af7b4fe'],
- },
- event: {
- module: ['endgame'],
- dataset: ['esensor'],
- action: ['ipv4_connection_accept_event'],
- category: ['network'],
- kind: ['event'],
- },
- timestamp: '1569555676000',
- network: {
- community_id: ['1:network-community_id'],
- transport: ['tcp'],
- },
- process: {
- pid: [1084],
- name: ['AmSvc.exe'],
- executable: ['C:\\Program Files\\Cybereason ActiveProbe\\AmSvc.exe'],
- },
- source: {
- ip: ['127.0.0.1'],
- port: [49306],
- },
- destination: {
- port: [49305],
- ip: ['127.0.0.1'],
- },
- endgame: {
- pid: [1084],
- },
-};
-
export const mockEndgameIpv6ConnectionAcceptEvent: Ecs = {
_id: '-8SucG0BOpWiDweS0wrq',
user: {
@@ -1545,54 +1395,6 @@ export const mockEndpointDisconnectReceivedEvent: Ecs = {
_id: 'uUN0OncBPmkOXwyNOGPV',
};
-export const mockEndgameUserLogon: Ecs = {
- _id: 'QsjPcG0BOpWiDweSeuRE',
- user: {
- id: ['S-1-5-18'],
- domain: ['NT AUTHORITY'],
- name: ['SYSTEM'],
- },
- host: {
- os: {
- platform: ['windows'],
- name: ['Windows'],
- version: ['10.0'],
- },
- ip: ['10.134.159.150'],
- name: ['HD-v1s-d2118419'],
- },
- event: {
- module: ['endgame'],
- dataset: ['esensor'],
- action: ['user_logon'],
- category: ['authentication'],
- type: ['authentication_success'],
- kind: ['event'],
- },
- message: [
- 'An account was successfully logged on.\r\n\r\nSubject:\r\n\tSecurity ID:\t\tS-1-5-18\r\n\tAccount Name:\t\tWIN-Q3DOP1UKA81$\r\n\tAccount Domain:\t\tWORKGROUP\r\n\tLogon ID:\t\t0x3e7\r\n\r\nLogon Type:\t\t\t5\r\n\r\nNew Logon:\r\n\tSecurity ID:\t\tS-1-5-18\r\n\tAccount Name:\t\tSYSTEM\r\n\tAccount Domain:\t\tNT AUTHORITY\r\n\tLogon ID:\t\t0x3e7\r\n\tLogon GUID:\t\t{00000000-0000-0000-0000-000000000000}\r\n\r\nProcess Information:\r\n\tProcess ID:\t\t0x1b0\r\n\tProcess Name:\t\tC:\\Windows\\System32\\services.exe\r\n\r\nNetwork Information:\r\n\tWorkstation Name:\t\r\n\tSource Network Address:\t-\r\n\tSource Port:\t\t-\r\n\r\nDetailed Authentication Information:\r\n\tLogon Process:\t\tAdvapi \r\n\tAuthentication Package:\tNegotiate\r\n\tTransited Services:\t-\r\n\tPackage Name (NTLM only):\t-\r\n\tKey Length:\t\t0\r\n\r\nThis event is generated when a logon session is created. It is generated on the computer that was accessed.\r\n\r\nThe subject fields indicate the account on the local system which requested the logon. This is most commonly a service such as the Server service, or a local process such as Winlogon.exe or Services.exe.\r\n\r\nThe logon type field indicates the kind of logon that occurred. The most common types are 2 (interactive) and 3 (network).\r\n\r\nThe New Logon fields indicate the account for whom the new logon was created, i.e. the account that was logged on.\r\n\r\nThe network fields indicate where a remote logon request originated. Workstation name is not always available and may be left blank in some cases.\r\n\r\nThe authentication information fields provide detailed information about this specific logon request.\r\n\t- Logon GUID is a unique identifier that can be used to correlate this event with a KDC event.\r\n\t- Transited services indicate which intermediate services have participated in this logon request.\r\n\t- Package name indicates which sub-protocol was used among the NTLM protocols.\r\n\t- Key length indicates the length of the generated session key. This will be 0 if no session key was requested.',
- ],
- timestamp: '1569555704000',
- process: {
- pid: [432],
- name: ['C:\\Windows\\System32\\services.exe'],
- executable: ['C:\\Windows\\System32\\services.exe'],
- },
- winlog: {
- event_id: [4624],
- },
- endgame: {
- target_logon_id: ['0x3e7'],
- pid: [432],
- process_name: ['C:\\Windows\\System32\\services.exe'],
- logon_type: [5],
- subject_user_name: ['WIN-Q3DOP1UKA81$'],
- subject_logon_id: ['0x3e7'],
- target_user_name: ['SYSTEM'],
- target_domain_name: ['NT AUTHORITY'],
- },
-};
-
export const mockEndpointSecurityLogOnSuccessEvent: Ecs = {
host: {
os: {
@@ -1853,55 +1655,6 @@ export const mockEndpointSecurityLogOffEvent: Ecs = {
_id: 'ZesLQXcBPmkOXwyNdT1a',
};
-export const mockEndgameCreationEvent: Ecs = {
- _id: 'BcjPcG0BOpWiDweSou3g',
- user: {
- id: ['S-1-5-21-3573271228-3407584681-1597858646-1002'],
- domain: ['Anvi-Acer'],
- name: ['Arun'],
- },
- host: {
- os: {
- platform: ['windows'],
- name: ['Windows'],
- version: ['6.1'],
- },
- ip: ['10.178.85.222'],
- name: ['HD-obe-8bf77f54'],
- },
- event: {
- module: ['endgame'],
- dataset: ['esensor'],
- action: ['creation_event'],
- category: ['process'],
- type: ['process_start'],
- kind: ['event'],
- },
- timestamp: '1569555712000',
- process: {
- hash: {
- md5: ['62d06d7235b37895b68de56687895743'],
- sha1: ['12563599116157778a22600d2a163d8112aed845'],
- sha256: ['d4c97ed46046893141652e2ec0056a698f6445109949d7fcabbce331146889ee'],
- },
- pid: [441684],
- ppid: [8],
- name: ['Microsoft.Photos.exe'],
- executable: [
- 'C:\\Program Files\\WindowsApps\\Microsoft.Windows.Photos_2018.18091.17210.0_x64__8wekyb3d8bbwe\\Microsoft.Photos.exe',
- ],
- args: [
- 'C:\\Program Files\\WindowsApps\\Microsoft.Windows.Photos_2018.18091.17210.0_x64__8wekyb3d8bbwe\\Microsoft.Photos.exe',
- '-ServerName:App.AppXzst44mncqdg84v7sv6p7yznqwssy6f7f.mca',
- ],
- },
- endgame: {
- process_name: ['Microsoft.Photos.exe'],
- pid: [441684],
- parent_process_name: ['svchost.exe'],
- },
-};
-
export const mockEndpointProcessStartEvent: Ecs = {
process: {
hash: {
@@ -1954,48 +1707,6 @@ export const mockEndpointProcessStartEvent: Ecs = {
_id: 't5KSO3cB8l64wN2iQ8V9',
};
-export const mockEndgameTerminationEvent: Ecs = {
- _id: '2MjPcG0BOpWiDweSoutC',
- user: {
- id: ['S-1-5-21-3573271228-3407584681-1597858646-1002'],
- domain: ['Anvi-Acer'],
- name: ['Arun'],
- },
- host: {
- os: {
- platform: ['windows'],
- name: ['Windows'],
- version: ['6.1'],
- },
- ip: ['10.178.85.222'],
- name: ['HD-obe-8bf77f54'],
- },
- event: {
- module: ['endgame'],
- dataset: ['esensor'],
- action: ['termination_event'],
- category: ['process'],
- kind: ['event'],
- },
- timestamp: '1569555712000',
- process: {
- hash: {
- md5: ['bd4401441a21bf1abce6404f4231db4d'],
- sha1: ['797255e72d5ed5c058d4785950eba7abaa057653'],
- sha256: ['87976f3430cc99bc939e0694247c0759961a49832b87218f4313d6fc0bc3a776'],
- },
- pid: [442384],
- ppid: [8],
- name: ['RuntimeBroker.exe'],
- executable: ['C:\\Windows\\System32\\RuntimeBroker.exe'],
- },
- endgame: {
- pid: [442384],
- process_name: ['RuntimeBroker.exe'],
- exit_code: [0],
- },
-};
-
export const mockEndpointProcessEndEvent: Ecs = {
process: {
hash: {
diff --git a/x-pack/plugins/security_solution/public/common/mock/mock_timeline_data.ts b/x-pack/plugins/security_solution/public/common/mock/mock_timeline_data.ts
index bcc024ad057fd..3ba5aab6a6dd8 100644
--- a/x-pack/plugins/security_solution/public/common/mock/mock_timeline_data.ts
+++ b/x-pack/plugins/security_solution/public/common/mock/mock_timeline_data.ts
@@ -6,1116 +6,11 @@
*/
import type { Ecs } from '../../../common/ecs';
-import type { TimelineItem } from '../../../common/search_strategy/timeline';
-export const mockTimelineData: TimelineItem[] = [
- {
- _id: '1',
- data: [
- { field: '@timestamp', value: ['2018-11-05T19:03:25.937Z'] },
- { field: 'event.severity', value: ['3'] },
- { field: 'event.category', value: ['Access'] },
- { field: 'event.action', value: ['Action'] },
- { field: 'host.name', value: ['apache'] },
- { field: 'source.ip', value: ['192.168.0.1'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['john.dee'] },
- ],
- ecs: {
- _id: '1',
- timestamp: '2018-11-05T19:03:25.937Z',
- host: { name: ['apache'], ip: ['192.168.0.1'] },
- event: {
- id: ['1'],
- action: ['Action'],
- category: ['Access'],
- module: ['nginx'],
- severity: [3],
- },
- source: { ip: ['192.168.0.1'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['1'], name: ['john.dee'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '3',
- data: [
- { field: '@timestamp', value: ['2018-11-07T19:03:25.937Z'] },
- { field: 'event.severity', value: ['1'] },
- { field: 'event.category', value: ['Access'] },
- { field: 'host.name', value: ['nginx'] },
- { field: 'source.ip', value: ['192.168.0.3'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['evan.davis'] },
- ],
- ecs: {
- _id: '3',
- timestamp: '2018-11-07T19:03:25.937Z',
- host: { name: ['nginx'], ip: ['192.168.0.1'] },
- event: {
- id: ['3'],
- category: ['Access'],
- type: ['HTTP Request'],
- module: ['nginx'],
- severity: [1],
- },
- source: { ip: ['192.168.0.3'], port: [443] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['3'], name: ['evan.davis'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '4',
- data: [
- { field: '@timestamp', value: ['2018-11-08T19:03:25.937Z'] },
- { field: 'event.severity', value: ['1'] },
- { field: 'event.category', value: ['Attempted Administrator Privilege Gain'] },
- { field: 'host.name', value: ['suricata'] },
- { field: 'source.ip', value: ['192.168.0.3'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['jenny.jones'] },
- ],
- ecs: {
- _id: '4',
- timestamp: '2018-11-08T19:03:25.937Z',
- host: { name: ['suricata'], ip: ['192.168.0.1'] },
- event: {
- id: ['4'],
- category: ['Attempted Administrator Privilege Gain'],
- type: ['Alert'],
- module: ['suricata'],
- severity: [1],
- },
- source: { ip: ['192.168.0.3'], port: [53] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- suricata: {
- eve: {
- flow_id: [4],
- proto: [''],
- alert: {
- signature: [
- 'ET EXPLOIT NETGEAR WNR2000v5 hidden_lang_avi Stack Overflow (CVE-2016-10174)',
- ],
- signature_id: [4],
- },
- },
- },
- user: { id: ['4'], name: ['jenny.jones'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '5',
- data: [
- { field: '@timestamp', value: ['2018-11-09T19:03:25.937Z'] },
- { field: 'event.severity', value: ['3'] },
- { field: 'event.category', value: ['Access'] },
- { field: 'host.name', value: ['joe.computer'] },
- { field: 'source.ip', value: ['192.168.0.3'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['becky.davis'] },
- ],
- ecs: {
- _id: '5',
- timestamp: '2018-11-09T19:03:25.937Z',
- host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
- event: {
- id: ['5'],
- category: ['Access'],
- type: ['HTTP Request'],
- module: ['nginx'],
- severity: [3],
- },
- source: { ip: ['192.168.0.3'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['5'], name: ['becky.davis'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '6',
- data: [
- { field: '@timestamp', value: ['2018-11-10T19:03:25.937Z'] },
- { field: 'event.severity', value: ['3'] },
- { field: 'event.category', value: ['Access'] },
- { field: 'host.name', value: ['braden.davis'] },
- { field: 'source.ip', value: ['192.168.0.6'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- ],
- ecs: {
- _id: '6',
- timestamp: '2018-11-10T19:03:25.937Z',
- host: { name: ['braden.davis'], ip: ['192.168.0.1'] },
- event: {
- id: ['6'],
- category: ['Access'],
- type: ['HTTP Request'],
- module: ['nginx'],
- severity: [3],
- },
- source: { ip: ['192.168.0.6'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '8',
- data: [
- { field: '@timestamp', value: ['2018-11-12T19:03:25.937Z'] },
- { field: 'event.severity', value: ['2'] },
- { field: 'event.category', value: ['Web Application Attack'] },
- { field: 'host.name', value: ['joe.computer'] },
- { field: 'source.ip', value: ['192.168.0.8'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['jone.doe'] },
- ],
- ecs: {
- _id: '8',
- timestamp: '2018-11-12T19:03:25.937Z',
- host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
- event: {
- id: ['8'],
- category: ['Web Application Attack'],
- type: ['Alert'],
- module: ['suricata'],
- severity: [2],
- },
- suricata: {
- eve: {
- flow_id: [8],
- proto: [''],
- alert: {
- signature: ['ET WEB_SERVER Possible CVE-2014-6271 Attempt in HTTP Cookie'],
- signature_id: [8],
- },
- },
- },
- source: { ip: ['192.168.0.8'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['8'], name: ['jone.doe'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '7',
- data: [
- { field: '@timestamp', value: ['2018-11-11T19:03:25.937Z'] },
- { field: 'event.severity', value: ['3'] },
- { field: 'event.category', value: ['Access'] },
- { field: 'host.name', value: ['joe.computer'] },
- { field: 'source.ip', value: ['192.168.0.7'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['jone.doe'] },
- ],
- ecs: {
- _id: '7',
- timestamp: '2018-11-11T19:03:25.937Z',
- host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
- event: {
- id: ['7'],
- category: ['Access'],
- type: ['HTTP Request'],
- module: ['apache'],
- severity: [3],
- },
- source: { ip: ['192.168.0.7'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['7'], name: ['jone.doe'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '9',
- data: [
- { field: '@timestamp', value: ['2018-11-13T19:03:25.937Z'] },
- { field: 'event.severity', value: ['3'] },
- { field: 'event.category', value: ['Access'] },
- { field: 'host.name', value: ['joe.computer'] },
- { field: 'source.ip', value: ['192.168.0.9'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['jone.doe'] },
- ],
- ecs: {
- _id: '9',
- timestamp: '2018-11-13T19:03:25.937Z',
- host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
- event: {
- id: ['9'],
- category: ['Access'],
- type: ['HTTP Request'],
- module: ['nginx'],
- severity: [3],
- },
- source: { ip: ['192.168.0.9'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['9'], name: ['jone.doe'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '10',
- data: [
- { field: '@timestamp', value: ['2018-11-14T19:03:25.937Z'] },
- { field: 'event.severity', value: ['3'] },
- { field: 'event.category', value: ['Access'] },
- { field: 'host.name', value: ['joe.computer'] },
- { field: 'source.ip', value: ['192.168.0.10'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['jone.doe'] },
- ],
- ecs: {
- _id: '10',
- timestamp: '2018-11-14T19:03:25.937Z',
- host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
- event: {
- id: ['10'],
- category: ['Access'],
- type: ['HTTP Request'],
- module: ['nginx'],
- severity: [3],
- },
- source: { ip: ['192.168.0.10'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['10'], name: ['jone.doe'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '11',
- data: [
- { field: '@timestamp', value: ['2018-11-15T19:03:25.937Z'] },
- { field: 'event.severity', value: ['3'] },
- { field: 'event.category', value: ['Access'] },
- { field: 'host.name', value: ['joe.computer'] },
- { field: 'source.ip', value: ['192.168.0.11'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['jone.doe'] },
- ],
- ecs: {
- _id: '11',
- timestamp: '2018-11-15T19:03:25.937Z',
- host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
- event: {
- id: ['11'],
- category: ['Access'],
- type: ['HTTP Request'],
- module: ['nginx'],
- severity: [3],
- },
- source: { ip: ['192.168.0.11'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['11'], name: ['jone.doe'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '12',
- data: [
- { field: '@timestamp', value: ['2018-11-16T19:03:25.937Z'] },
- { field: 'event.severity', value: ['3'] },
- { field: 'event.category', value: ['Access'] },
- { field: 'host.name', value: ['joe.computer'] },
- { field: 'source.ip', value: ['192.168.0.12'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['jone.doe'] },
- ],
- ecs: {
- _id: '12',
- timestamp: '2018-11-16T19:03:25.937Z',
- host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
- event: {
- id: ['12'],
- category: ['Access'],
- type: ['HTTP Request'],
- module: ['nginx'],
- severity: [3],
- },
- source: { ip: ['192.168.0.12'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['12'], name: ['jone.doe'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '2',
- data: [
- { field: '@timestamp', value: ['2018-11-06T19:03:25.937Z'] },
- { field: 'event.severity', value: ['3'] },
- { field: 'event.category', value: ['Authentication'] },
- { field: 'host.name', value: ['joe.computer'] },
- { field: 'source.ip', value: ['192.168.0.2'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['joe.bob'] },
- ],
- ecs: {
- _id: '2',
- timestamp: '2018-11-06T19:03:25.937Z',
- host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
- event: {
- id: ['2'],
- category: ['Authentication'],
- type: ['Authentication Success'],
- module: ['authlog'],
- severity: [3],
- },
- source: { ip: ['192.168.0.2'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['1'], name: ['joe.bob'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '13',
- data: [
- { field: '@timestamp', value: ['2018-13-12T19:03:25.937Z'] },
- { field: 'event.severity', value: ['1'] },
- { field: 'event.category', value: ['Web Application Attack'] },
- { field: 'host.name', value: ['joe.computer'] },
- { field: 'source.ip', value: ['192.168.0.8'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- ],
- ecs: {
- _id: '13',
- timestamp: '2018-13-12T19:03:25.937Z',
- host: { name: ['joe.computer'], ip: ['192.168.0.1'] },
- event: {
- id: ['13'],
- category: ['Web Application Attack'],
- type: ['Alert'],
- module: ['suricata'],
- severity: [1],
- },
- suricata: {
- eve: {
- flow_id: [13],
- proto: [''],
- alert: {
- signature: ['ET WEB_SERVER Possible Attempt in HTTP Cookie'],
- signature_id: [13],
- },
- },
- },
- source: { ip: ['192.168.0.8'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '14',
- data: [
- { field: '@timestamp', value: ['2019-03-07T05:06:51.000Z'] },
- { field: 'host.name', value: ['zeek-franfurt'] },
- { field: 'source.ip', value: ['192.168.26.101'] },
- { field: 'destination.ip', value: ['192.168.238.205'] },
- ],
- ecs: {
- _id: '14',
- timestamp: '2019-03-07T05:06:51.000Z',
- event: {
- module: ['zeek'],
- dataset: ['zeek.connection'],
- },
- host: {
- id: ['37c81253e0fc4c46839c19b981be5177'],
- name: ['zeek-franfurt'],
- ip: ['207.154.238.205', '10.19.0.5', 'fe80::d82b:9aff:fe0d:1e12'],
- },
- source: { ip: ['185.176.26.101'], port: [44059] },
- destination: { ip: ['207.154.238.205'], port: [11568] },
- geo: { region_name: ['New York'], country_iso_code: ['US'] },
- network: { transport: ['tcp'] },
- zeek: {
- session_id: ['C8DRTq362Fios6hw16'],
- connection: {
- local_resp: [false],
- local_orig: [false],
- missed_bytes: [0],
- state: ['REJ'],
- history: ['Sr'],
- },
- },
- },
- },
- {
- _id: '15',
- data: [
- { field: '@timestamp', value: ['2019-03-07T00:51:28.000Z'] },
- { field: 'host.name', value: ['suricata-zeek-singapore'] },
- { field: 'source.ip', value: ['192.168.35.240'] },
- { field: 'destination.ip', value: ['192.168.67.3'] },
- ],
- ecs: {
- _id: '15',
- timestamp: '2019-03-07T00:51:28.000Z',
- event: {
- module: ['zeek'],
- dataset: ['zeek.dns'],
- },
- host: {
- id: ['af3fddf15f1d47979ce817ba0df10c6e'],
- name: ['suricata-zeek-singapore'],
- ip: ['206.189.35.240', '10.15.0.5', 'fe80::98c7:eff:fe29:4455'],
- },
- source: { ip: ['206.189.35.240'], port: [57475] },
- destination: { ip: ['67.207.67.3'], port: [53] },
- geo: { region_name: ['New York'], country_iso_code: ['US'] },
- network: { transport: ['udp'] },
- zeek: {
- session_id: ['CyIrMA1L1JtLqdIuol'],
- dns: {
- AA: [false],
- RD: [false],
- trans_id: [65252],
- RA: [false],
- TC: [false],
- },
- },
- },
- },
- {
- _id: '16',
- data: [
- { field: '@timestamp', value: ['2019-03-05T07:00:20.000Z'] },
- { field: 'host.name', value: ['suricata-zeek-singapore'] },
- { field: 'source.ip', value: ['192.168.35.240'] },
- { field: 'destination.ip', value: ['192.168.164.26'] },
- ],
- ecs: {
- _id: '16',
- timestamp: '2019-03-05T07:00:20.000Z',
- event: {
- module: ['zeek'],
- dataset: ['zeek.http'],
- },
- host: {
- id: ['af3fddf15f1d47979ce817ba0df10c6e'],
- name: ['suricata-zeek-singapore'],
- ip: ['206.189.35.240', '10.15.0.5', 'fe80::98c7:eff:fe29:4455'],
- },
- source: { ip: ['206.189.35.240'], port: [36220] },
- destination: { ip: ['192.241.164.26'], port: [80] },
- geo: { region_name: ['New York'], country_iso_code: ['US'] },
- http: {
- version: ['1.1'],
- request: { body: { bytes: [0] } },
- response: { status_code: [302], body: { bytes: [154] } },
- },
- zeek: {
- session_id: ['CZLkpC22NquQJOpkwe'],
-
- http: {
- resp_mime_types: ['text/html'],
- trans_depth: ['3'],
- status_msg: ['Moved Temporarily'],
- resp_fuids: ['FzeujEPP7GTHmYPsc'],
- tags: [],
- },
- },
- },
- },
- {
- _id: '17',
- data: [
- { field: '@timestamp', value: ['2019-02-28T22:36:28.000Z'] },
- { field: 'host.name', value: ['zeek-franfurt'] },
- { field: 'source.ip', value: ['192.168.77.171'] },
- ],
- ecs: {
- _id: '17',
- timestamp: '2019-02-28T22:36:28.000Z',
- event: {
- module: ['zeek'],
- dataset: ['zeek.notice'],
- },
- host: {
- id: ['37c81253e0fc4c46839c19b981be5177'],
- name: ['zeek-franfurt'],
- ip: ['207.154.238.205', '10.19.0.5', 'fe80::d82b:9aff:fe0d:1e12'],
- },
- source: { ip: ['8.42.77.171'] },
- zeek: {
- notice: {
- suppress_for: [3600],
- msg: ['8.42.77.171 scanned at least 15 unique ports of host 207.154.238.205 in 0m0s'],
- note: ['Scan::Port_Scan'],
- sub: ['remote'],
- dst: ['207.154.238.205'],
- dropped: [false],
- peer_descr: ['bro'],
- },
- },
- },
- },
- {
- _id: '18',
- data: [
- { field: '@timestamp', value: ['2019-02-22T21:12:13.000Z'] },
- { field: 'host.name', value: ['zeek-sensor-amsterdam'] },
- { field: 'source.ip', value: ['192.168.66.184'] },
- { field: 'destination.ip', value: ['192.168.95.15'] },
- ],
- ecs: {
- _id: '18',
- timestamp: '2019-02-22T21:12:13.000Z',
- event: {
- module: ['zeek'],
- dataset: ['zeek.ssl'],
- },
- host: { id: ['2ce8b1e7d69e4a1d9c6bcddc473da9d9'], name: ['zeek-sensor-amsterdam'] },
- source: { ip: ['188.166.66.184'], port: [34514] },
- destination: { ip: ['91.189.95.15'], port: [443] },
- geo: { region_name: ['England'], country_iso_code: ['GB'] },
- zeek: {
- session_id: ['CmTxzt2OVXZLkGDaRe'],
- ssl: {
- cipher: ['TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'],
- established: [false],
- resumed: [false],
- version: ['TLSv12'],
- },
- },
- },
- },
- {
- _id: '19',
- data: [
- { field: '@timestamp', value: ['2019-03-03T04:26:38.000Z'] },
- { field: 'host.name', value: ['suricata-zeek-singapore'] },
- ],
- ecs: {
- _id: '19',
- timestamp: '2019-03-03T04:26:38.000Z',
- event: {
- module: ['zeek'],
- dataset: ['zeek.files'],
- },
- host: {
- id: ['af3fddf15f1d47979ce817ba0df10c6e'],
- name: ['suricata-zeek-singapore'],
- ip: ['206.189.35.240', '10.15.0.5', 'fe80::98c7:eff:fe29:4455'],
- },
- zeek: {
- session_id: ['Cu0n232QMyvNtzb75j'],
- files: {
- session_ids: ['Cu0n232QMyvNtzb75j'],
- timedout: [false],
- local_orig: [false],
- tx_host: ['5.101.111.50'],
- source: ['HTTP'],
- is_orig: [false],
- overflow_bytes: [0],
- sha1: ['fa5195a5dfacc9d1c68d43600f0e0262cad14dde'],
- duration: [0],
- depth: [0],
- analyzers: ['MD5', 'SHA1'],
- mime_type: ['text/plain'],
- rx_host: ['206.189.35.240'],
- total_bytes: [88722],
- fuid: ['FePz1uVEVCZ3I0FQi'],
- seen_bytes: [1198],
- missing_bytes: [0],
- md5: ['f7653f1951693021daa9e6be61226e32'],
- },
- },
- },
- },
- {
- _id: '20',
- data: [
- { field: '@timestamp', value: ['2019-03-13T05:42:11.815Z'] },
- { field: 'event.category', value: ['audit-rule'] },
- { field: 'host.name', value: ['zeek-sanfran'] },
- { field: 'process.args', value: ['gpgconf', '--list-dirs', 'agent-socket'] },
- ],
- ecs: {
- _id: '20',
- timestamp: '2019-03-13T05:42:11.815Z',
- event: {
- action: ['executed'],
- module: ['auditd'],
- category: ['audit-rule'],
- },
- host: {
- id: ['f896741c3b3b44bdb8e351a4ab6d2d7c'],
- name: ['zeek-sanfran'],
- ip: ['134.209.63.134', '10.46.0.5', 'fe80::a0d9:16ff:fecf:e70b'],
- },
- user: { name: ['alice'] },
- process: {
- pid: [5402],
- name: ['gpgconf'],
- ppid: [5401],
- args: ['gpgconf', '--list-dirs', 'agent-socket'],
- executable: ['/usr/bin/gpgconf'],
- title: ['gpgconf --list-dirs agent-socket'],
- working_directory: ['/'],
- },
- },
- },
- {
- _id: '21',
- data: [
- { field: '@timestamp', value: ['2019-03-14T22:30:25.527Z'] },
- { field: 'event.category', value: ['user-login'] },
- { field: 'host.name', value: ['zeek-london'] },
- { field: 'source.ip', value: ['192.168.77.171'] },
- { field: 'user.name', value: ['root'] },
- ],
- ecs: {
- _id: '21',
- timestamp: '2019-03-14T22:30:25.527Z',
- event: {
- action: ['logged-in'],
- module: ['auditd'],
- category: ['user-login'],
- },
- auditd: {
- result: ['success'],
- session: ['14'],
- data: { terminal: ['/dev/pts/0'], op: ['login'] },
- summary: {
- actor: { primary: ['alice'], secondary: ['alice'] },
- object: { primary: ['/dev/pts/0'], secondary: ['8.42.77.171'], type: ['user-session'] },
- how: ['/usr/sbin/sshd'],
- },
- },
- host: {
- id: ['7c21f5ed03b04d0299569d221fe18bbc'],
- name: ['zeek-london'],
- ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
- },
- source: { ip: ['8.42.77.171'] },
- user: { name: ['root'] },
- process: {
- pid: [17471],
- executable: ['/usr/sbin/sshd'],
- },
- },
- },
- {
- _id: '22',
- data: [
- { field: '@timestamp', value: ['2019-03-13T03:35:21.614Z'] },
- { field: 'event.category', value: ['user-login'] },
- { field: 'host.name', value: ['suricata-bangalore'] },
- { field: 'user.name', value: ['root'] },
- ],
- ecs: {
- _id: '22',
- timestamp: '2019-03-13T03:35:21.614Z',
- event: {
- action: ['disposed-credentials'],
- module: ['auditd'],
- category: ['user-login'],
- },
- auditd: {
- result: ['success'],
- session: ['340'],
- data: { acct: ['alice'], terminal: ['ssh'], op: ['PAM:setcred'] },
- summary: {
- actor: { primary: ['alice'], secondary: ['alice'] },
- object: { primary: ['ssh'], secondary: ['8.42.77.171'], type: ['user-session'] },
- how: ['/usr/sbin/sshd'],
- },
- },
- host: {
- id: ['0a63559c1acf4c419d979c4b4d8b83ff'],
- name: ['suricata-bangalore'],
- ip: ['139.59.11.147', '10.47.0.5', 'fe80::ec0b:1bff:fe29:80bd'],
- },
- user: { name: ['root'] },
- process: {
- pid: [21202],
- executable: ['/usr/sbin/sshd'],
- },
- },
- },
- {
- _id: '23',
- data: [
- { field: '@timestamp', value: ['2019-03-13T03:35:21.614Z'] },
- { field: 'event.category', value: ['user-login'] },
- { field: 'host.name', value: ['suricata-bangalore'] },
- { field: 'user.name', value: ['root'] },
- ],
- ecs: {
- _id: '23',
- timestamp: '2019-03-13T03:35:21.614Z',
- event: {
- action: ['ended-session'],
- module: ['auditd'],
- category: ['user-login'],
- },
- auditd: {
- result: ['success'],
- session: ['340'],
- data: { acct: ['alice'], terminal: ['ssh'], op: ['PAM:session_close'] },
- summary: {
- actor: { primary: ['alice'], secondary: ['alice'] },
- object: { primary: ['ssh'], secondary: ['8.42.77.171'], type: ['user-session'] },
- how: ['/usr/sbin/sshd'],
- },
- },
- host: {
- id: ['0a63559c1acf4c419d979c4b4d8b83ff'],
- name: ['suricata-bangalore'],
- ip: ['139.59.11.147', '10.47.0.5', 'fe80::ec0b:1bff:fe29:80bd'],
- },
- user: { name: ['root'] },
- process: {
- pid: [21202],
- executable: ['/usr/sbin/sshd'],
- },
- },
- },
- {
- _id: '24',
- data: [
- { field: '@timestamp', value: ['2019-03-18T23:17:01.645Z'] },
- { field: 'event.category', value: ['user-login'] },
- { field: 'host.name', value: ['zeek-london'] },
- { field: 'user.name', value: ['root'] },
- ],
- ecs: {
- _id: '24',
- timestamp: '2019-03-18T23:17:01.645Z',
- event: {
- action: ['acquired-credentials'],
- module: ['auditd'],
- category: ['user-login'],
- },
- auditd: {
- result: ['success'],
- session: ['unset'],
- data: { acct: ['root'], terminal: ['cron'], op: ['PAM:setcred'] },
- summary: {
- actor: { primary: ['unset'], secondary: ['root'] },
- object: { primary: ['cron'], type: ['user-session'] },
- how: ['/usr/sbin/cron'],
- },
- },
- host: {
- id: ['7c21f5ed03b04d0299569d221fe18bbc'],
- name: ['zeek-london'],
- ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
- },
- user: { name: ['root'] },
- process: {
- pid: [9592],
- executable: ['/usr/sbin/cron'],
- },
- },
- },
- {
- _id: '25',
- data: [
- { field: '@timestamp', value: ['2019-03-19T01:17:01.336Z'] },
- { field: 'event.category', value: ['user-login'] },
- { field: 'host.name', value: ['siem-kibana'] },
- { field: 'user.name', value: ['root'] },
- ],
- ecs: {
- _id: '25',
- timestamp: '2019-03-19T01:17:01.336Z',
- event: {
- action: ['started-session'],
- module: ['auditd'],
- category: ['user-login'],
- },
- auditd: {
- result: ['success'],
- session: ['2908'],
- data: { acct: ['root'], terminal: ['cron'], op: ['PAM:session_open'] },
- summary: {
- actor: { primary: ['root'], secondary: ['root'] },
- object: { primary: ['cron'], type: ['user-session'] },
- how: ['/usr/sbin/cron'],
- },
- },
- host: { id: ['aa7ca589f1b8220002f2fc61c64cfbf1'], name: ['siem-kibana'] },
- user: { name: ['root'] },
- process: {
- pid: [725],
- executable: ['/usr/sbin/cron'],
- },
- },
- },
- {
- _id: '26',
- data: [
- { field: '@timestamp', value: ['2019-03-13T03:34:08.890Z'] },
- { field: 'event.category', value: ['user-login'] },
- { field: 'host.name', value: ['suricata-bangalore'] },
- { field: 'user.name', value: ['alice'] },
- ],
- ecs: {
- _id: '26',
- timestamp: '2019-03-13T03:34:08.890Z',
- event: {
- action: ['was-authorized'],
- module: ['auditd'],
- category: ['user-login'],
- },
- auditd: {
- result: ['success'],
- session: ['338'],
- data: { terminal: ['/dev/pts/0'] },
- summary: {
- actor: { primary: ['root'], secondary: ['alice'] },
- object: { primary: ['/dev/pts/0'], type: ['user-session'] },
- how: ['/sbin/pam_tally2'],
- },
- },
- host: {
- id: ['0a63559c1acf4c419d979c4b4d8b83ff'],
- name: ['suricata-bangalore'],
- ip: ['139.59.11.147', '10.47.0.5', 'fe80::ec0b:1bff:fe29:80bd'],
- },
- user: { name: ['alice'] },
- process: {
- pid: [21170],
- executable: ['/sbin/pam_tally2'],
- },
- },
- },
- {
- _id: '27',
- data: [
- { field: '@timestamp', value: ['2019-03-22T19:13:11.026Z'] },
- { field: 'event.action', value: ['connected-to'] },
- { field: 'event.category', value: ['audit-rule'] },
- { field: 'host.name', value: ['zeek-london'] },
- { field: 'destination.ip', value: ['192.168.216.34'] },
- { field: 'user.name', value: ['alice'] },
- ],
- ecs: {
- _id: '27',
- timestamp: '2019-03-22T19:13:11.026Z',
- event: {
- action: ['connected-to'],
- module: ['auditd'],
- category: ['audit-rule'],
- },
- auditd: {
- result: ['success'],
- session: ['246'],
- summary: {
- actor: { primary: ['alice'], secondary: ['alice'] },
- object: { primary: ['192.168.216.34'], secondary: ['80'], type: ['socket'] },
- how: ['/usr/bin/wget'],
- },
- },
- host: {
- id: ['7c21f5ed03b04d0299569d221fe18bbc'],
- name: ['zeek-london'],
- ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
- },
- destination: { ip: ['192.168.216.34'], port: [80] },
- user: { name: ['alice'] },
- process: {
- pid: [1490],
- name: ['wget'],
- ppid: [1476],
- executable: ['/usr/bin/wget'],
- title: ['wget www.example.com'],
- },
- },
- },
- {
- _id: '28',
- data: [
- { field: '@timestamp', value: ['2019-03-26T22:12:18.609Z'] },
- { field: 'event.action', value: ['opened-file'] },
- { field: 'event.category', value: ['audit-rule'] },
- { field: 'host.name', value: ['zeek-london'] },
- { field: 'user.name', value: ['root'] },
- ],
- ecs: {
- _id: '28',
- timestamp: '2019-03-26T22:12:18.609Z',
- event: {
- action: ['opened-file'],
- module: ['auditd'],
- category: ['audit-rule'],
- },
- auditd: {
- result: ['success'],
- session: ['242'],
- summary: {
- actor: { primary: ['unset'], secondary: ['root'] },
- object: { primary: ['/proc/15990/attr/current'], type: ['file'] },
- how: ['/lib/systemd/systemd-journald'],
- },
- },
- file: {
- path: ['/proc/15990/attr/current'],
- device: ['00:00'],
- inode: ['27672309'],
- uid: ['0'],
- owner: ['root'],
- gid: ['0'],
- group: ['root'],
- mode: ['0666'],
- },
- host: {
- id: ['7c21f5ed03b04d0299569d221fe18bbc'],
- name: ['zeek-london'],
- ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
- },
-
- user: { name: ['root'] },
- process: {
- pid: [27244],
- name: ['systemd-journal'],
- ppid: [1],
- executable: ['/lib/systemd/systemd-journald'],
- title: ['/lib/systemd/systemd-journald'],
- working_directory: ['/'],
- },
- },
- },
- {
- _id: '29',
- data: [
- { field: '@timestamp', value: ['2019-04-08T21:18:57.000Z'] },
- { field: 'event.action', value: ['user_login'] },
- { field: 'event.category', value: null },
- { field: 'host.name', value: ['zeek-london'] },
- { field: 'user.name', value: ['Braden'] },
- ],
- ecs: {
- _id: '29',
- event: {
- action: ['user_login'],
- dataset: ['login'],
- kind: ['event'],
- module: ['system'],
- outcome: ['failure'],
- },
- host: {
- id: ['7c21f5ed03b04d0299569d221fe18bbc'],
- name: ['zeek-london'],
- ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
- },
- source: {
- ip: ['128.199.212.120'],
- },
- user: {
- name: ['Braden'],
- },
- process: {
- pid: [6278],
- },
- },
- },
- {
- _id: '30',
- data: [
- { field: '@timestamp', value: ['2019-04-08T22:27:14.814Z'] },
- { field: 'event.action', value: ['process_started'] },
- { field: 'event.category', value: null },
- { field: 'host.name', value: ['zeek-london'] },
- { field: 'user.name', value: ['Evan'] },
- ],
- ecs: {
- _id: '30',
- event: {
- action: ['process_started'],
- dataset: ['login'],
- kind: ['event'],
- module: ['system'],
- outcome: ['failure'],
- },
- host: {
- id: ['7c21f5ed03b04d0299569d221fe18bbc'],
- name: ['zeek-london'],
- ip: ['46.101.3.136', '10.16.0.5', 'fe80::4066:42ff:fe19:b3b9'],
- },
- source: {
- ip: ['128.199.212.120'],
- },
- user: {
- name: ['Evan'],
- },
- process: {
- pid: [6278],
- },
- },
- },
- {
- _id: '31',
- data: [
- { field: '@timestamp', value: ['2018-11-05T19:03:25.937Z'] },
- { field: 'message', value: ['I am a log file message'] },
- { field: 'event.severity', value: ['3'] },
- { field: 'event.category', value: ['Access'] },
- { field: 'event.action', value: ['Action'] },
- { field: 'host.name', value: ['apache'] },
- { field: 'source.ip', value: ['192.168.0.1'] },
- { field: 'destination.ip', value: ['192.168.0.3'] },
- { field: 'destination.bytes', value: ['123456'] },
- { field: 'user.name', value: ['john.dee'] },
- ],
- ecs: {
- _id: '1',
- timestamp: '2018-11-05T19:03:25.937Z',
- host: { name: ['apache'], ip: ['192.168.0.1'] },
- event: {
- id: ['1'],
- action: ['Action'],
- category: ['Access'],
- module: ['nginx'],
- severity: [3],
- },
- message: ['I am a log file message'],
- source: { ip: ['192.168.0.1'], port: [80] },
- destination: { ip: ['192.168.0.3'], port: [6343] },
- user: { id: ['1'], name: ['john.dee'] },
- geo: { region_name: ['xx'], country_iso_code: ['xx'] },
- },
- },
- {
- _id: '32',
- data: [],
- ecs: {
- _id: 'BuBP4W0BOpWiDweSoYSg',
- timestamp: '2019-10-18T23:59:15.091Z',
- threat: {
- enrichments: [
- {
- indicator: {
- provider: ['indicator_provider'],
- reference: ['https://example.com'],
- },
- matched: {
- atomic: ['192.168.1.1'],
- field: ['source.ip'],
- type: ['ip'],
- },
- feed: {
- name: ['feed_name'],
- },
- },
- ],
- },
- },
- },
-];
+export { demoTimelineData as mockTimelineData } from '../demo_data/timeline';
+export { demoEndpointRegistryModificationEvent as mockEndpointRegistryModificationEvent } from '../demo_data/endpoint/registry_modification_event';
+export { demoEndpointLibraryLoadEvent as mockEndpointLibraryLoadEvent } from '../demo_data/endpoint/library_load_event';
+export { demoEndpointProcessExecutionMalwarePreventionAlert as mockEndpointProcessExecutionMalwarePreventionAlert } from '../demo_data/endpoint/process_execution_malware_prevention_alert';
export const mockFimFileCreatedEvent: Ecs = {
_id: 'WuBP4W0BOpWiDweSoYSg',
@@ -1329,186 +224,3 @@ export const mockDnsEvent: Ecs = {
ip: ['10.9.9.9'],
},
};
-
-export const mockEndpointProcessExecutionMalwarePreventionAlert: Ecs = {
- process: {
- hash: {
- md5: ['177afc1eb0be88eb9983fb74111260c4'],
- sha256: ['3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb'],
- sha1: ['f573b85e9beb32121f1949217947b2adc6749e3d'],
- },
- entity_id: [
- 'MWQxNWNmOWUtM2RjNy01Yjk3LWY1ODYtNzQzZjdjMjUxOGIyLTY5MjAtMTMyNDg5OTk2OTAuNDgzMzA3NzAw',
- ],
- executable: [
- 'C:\\Users\\sean\\Downloads\\3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb.exe',
- ],
- name: [
- 'C:\\Users\\sean\\Downloads\\3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb.exe',
- ],
- pid: [6920],
- args: [
- 'C:\\Users\\sean\\Downloads\\3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb.exe',
- ],
- },
- host: {
- os: {
- full: ['Windows Server 2019 Datacenter 1809 (10.0.17763.1518)'],
- name: ['Windows'],
- version: ['1809 (10.0.17763.1518)'],
- platform: ['windows'],
- family: ['windows'],
- kernel: ['1809 (10.0.17763.1518)'],
- },
- mac: ['aa:bb:cc:dd:ee:ff'],
- architecture: ['x86_64'],
- ip: ['10.1.2.3'],
- id: ['d8ad572e-d224-4044-a57d-f5a84c0dfe5d'],
- name: ['win2019-endpoint-1'],
- },
- file: {
- mtime: ['2020-11-04T21:40:51.494Z'],
- path: [
- 'C:\\Users\\sean\\Downloads\\3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb.exe',
- ],
- owner: ['sean'],
- hash: {
- md5: ['177afc1eb0be88eb9983fb74111260c4'],
- sha256: ['3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb'],
- sha1: ['f573b85e9beb32121f1949217947b2adc6749e3d'],
- },
- name: ['3be13acde2f4dcded4fd8d518a513bfc9882407a6e384ffb17d12710db7d76fb.exe'],
- extension: ['exe'],
- size: [1604112],
- },
- event: {
- category: ['malware', 'intrusion_detection', 'process'],
- outcome: ['success'],
- severity: [73],
- code: ['malicious_file'],
- action: ['execution'],
- id: ['LsuMZVr+sdhvehVM++++Gp2Y'],
- kind: ['alert'],
- created: ['2020-11-04T21:41:30.533Z'],
- module: ['endpoint'],
- type: ['info', 'start', 'denied'],
- dataset: ['endpoint.alerts'],
- },
- agent: {
- type: ['endpoint'],
- },
- timestamp: '2020-11-04T21:41:30.533Z',
- message: ['Malware Prevention Alert'],
- _id: '0dA2lXUBn9bLIbfPkY7d',
-};
-
-export const mockEndpointLibraryLoadEvent: Ecs = {
- file: {
- path: ['C:\\Windows\\System32\\bcrypt.dll'],
- hash: {
- md5: ['00439016776de367bad087d739a03797'],
- sha1: ['2c4ba5c1482987d50a182bad915f52cd6611ee63'],
- sha256: ['e70f5d8f87aab14e3160227d38387889befbe37fa4f8f5adc59eff52804b35fd'],
- },
- name: ['bcrypt.dll'],
- },
- host: {
- os: {
- full: ['Windows Server 2019 Datacenter 1809 (10.0.17763.1697)'],
- name: ['Windows'],
- version: ['1809 (10.0.17763.1697)'],
- family: ['windows'],
- kernel: ['1809 (10.0.17763.1697)'],
- platform: ['windows'],
- },
- mac: ['aa:bb:cc:dd:ee:ff'],
- name: ['win2019-endpoint-1'],
- architecture: ['x86_64'],
- ip: ['10.1.2.3'],
- id: ['d8ad572e-d224-4044-a57d-f5a84c0dfe5d'],
- },
- event: {
- category: ['library'],
- kind: ['event'],
- created: ['2021-02-05T21:27:23.921Z'],
- module: ['endpoint'],
- action: ['load'],
- type: ['start'],
- id: ['LzzWB9jjGmCwGMvk++++Da5H'],
- dataset: ['endpoint.events.library'],
- },
- process: {
- name: ['sshd.exe'],
- pid: [9644],
- entity_id: [
- 'MWQxNWNmOWUtM2RjNy01Yjk3LWY1ODYtNzQzZjdjMjUxOGIyLTk2NDQtMTMyNTcwMzQwNDEuNzgyMTczODAw',
- ],
- executable: ['C:\\Program Files\\OpenSSH-Win64\\sshd.exe'],
- },
- agent: {
- type: ['endpoint'],
- },
- user: {
- name: ['SYSTEM'],
- domain: ['NT AUTHORITY'],
- },
- message: ['Endpoint DLL load event'],
- timestamp: '2021-02-05T21:27:23.921Z',
- _id: 'IAUYdHcBGrBB52F2zo8Q',
-};
-
-export const mockEndpointRegistryModificationEvent: Ecs = {
- host: {
- os: {
- full: ['Windows Server 2019 Datacenter 1809 (10.0.17763.1697)'],
- name: ['Windows'],
- version: ['1809 (10.0.17763.1697)'],
- family: ['windows'],
- kernel: ['1809 (10.0.17763.1697)'],
- platform: ['windows'],
- },
- mac: ['aa:bb:cc:dd:ee:ff'],
- name: ['win2019-endpoint-1'],
- architecture: ['x86_64'],
- ip: ['10.1.2.3'],
- id: ['d8ad572e-d224-4044-a57d-f5a84c0dfe5d'],
- },
- event: {
- category: ['registry'],
- kind: ['event'],
- created: ['2021-02-04T13:44:31.559Z'],
- module: ['endpoint'],
- action: ['modification'],
- type: ['change'],
- id: ['LzzWB9jjGmCwGMvk++++CbOn'],
- dataset: ['endpoint.events.registry'],
- },
- process: {
- name: ['GoogleUpdate.exe'],
- pid: [7408],
- entity_id: [
- 'MWQxNWNmOWUtM2RjNy01Yjk3LWY1ODYtNzQzZjdjMjUxOGIyLTc0MDgtMTMyNTY5MTk4NDguODY4NTI0ODAw',
- ],
- executable: ['C:\\Program Files (x86)\\Google\\Update\\GoogleUpdate.exe'],
- },
- registry: {
- hive: ['HKLM'],
- key: [
- 'SOFTWARE\\WOW6432Node\\Google\\Update\\ClientState\\{430FD4D0-B729-4F61-AA34-91526481799D}\\CurrentState',
- ],
- path: [
- 'HKLM\\SOFTWARE\\WOW6432Node\\Google\\Update\\ClientState\\{430FD4D0-B729-4F61-AA34-91526481799D}\\CurrentState\\StateValue',
- ],
- value: ['StateValue'],
- },
- agent: {
- type: ['endpoint'],
- },
- user: {
- name: ['SYSTEM'],
- domain: ['NT AUTHORITY'],
- },
- message: ['Endpoint registry event'],
- timestamp: '2021-02-04T13:44:31.559Z',
- _id: '4cxLbXcBGrBB52F2uOfF',
-};
diff --git a/x-pack/plugins/security_solution/public/common/mock/netflow.ts b/x-pack/plugins/security_solution/public/common/mock/netflow.ts
index bc7d1c8a0dbd3..055760a2182c7 100644
--- a/x-pack/plugins/security_solution/public/common/mock/netflow.ts
+++ b/x-pack/plugins/security_solution/public/common/mock/netflow.ts
@@ -5,75 +5,4 @@
* 2.0.
*/
-import { ONE_MILLISECOND_AS_NANOSECONDS } from '../../timelines/components/formatted_duration/helpers';
-import type { Ecs } from '../../../common/ecs';
-
-/** Returns mock data for testing the Netflow component */
-export const getMockNetflowData = (): Ecs => ({
- destination: {
- bytes: [40],
- geo: {
- city_name: ['New York'],
- continent_name: ['North America'],
- country_iso_code: ['US'],
- country_name: ['United States'],
- region_name: ['New York'],
- },
- ip: ['10.1.2.3'],
- packets: [1],
- port: [80],
- },
- event: {
- action: ['network_flow'],
- category: ['network_traffic'],
- duration: [ONE_MILLISECOND_AS_NANOSECONDS],
- end: ['2018-11-12T19:03:25.936Z'],
- start: ['2018-11-12T19:03:25.836Z'],
- },
- _id: 'abcd',
- network: {
- bytes: [100],
- community_id: ['we.live.in.a'],
- direction: ['outgoing'],
- packets: [3],
- protocol: ['http'],
- transport: ['tcp'],
- },
- process: {
- name: ['rat'],
- },
- source: {
- bytes: [60],
- geo: {
- city_name: ['Atlanta'],
- continent_name: ['North America'],
- country_iso_code: ['US'],
- country_name: ['United States'],
- region_name: ['Georgia'],
- },
- ip: ['192.168.1.2'],
- packets: [2],
- port: [9987],
- },
- timestamp: '2018-11-12T19:03:25.936Z',
- tls: {
- client_certificate: {
- fingerprint: {
- sha1: ['tls.client_certificate.fingerprint.sha1-value'],
- },
- },
- fingerprints: {
- ja3: {
- hash: ['tls.fingerprints.ja3.hash-value'],
- },
- },
- server_certificate: {
- fingerprint: {
- sha1: ['tls.server_certificate.fingerprint.sha1-value'],
- },
- },
- },
- user: {
- name: ['first.last'],
- },
-});
+export { getDemoNetflowData as getMockNetflowData } from '../demo_data/netflow';
diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/index.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/index.tsx
index c98f5616b1750..8da9e0e05d075 100644
--- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/index.tsx
+++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/index.tsx
@@ -25,6 +25,3 @@ export const EndpointsContainer = memo(() => {
});
EndpointsContainer.displayName = 'EndpointsContainer';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-export { endpointListFleetApisHttpMock } from './mocks';
-export type { EndpointListFleetApisHttpMockInterface } from './mocks';
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/alerts.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/alerts.tsx
index 7183aa8e85d7e..8acf2e42e845b 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/alerts.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/alerts.tsx
@@ -7,8 +7,7 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockEndpointProcessExecutionMalwarePreventionAlert } from '../../../../common/mock/mock_timeline_data';
+import { demoEndpointProcessExecutionMalwarePreventionAlert } from '../../../../common/demo_data/endpoint/process_execution_malware_prevention_alert';
import { createEndpointAlertsRowRenderer } from '../../timeline/body/renderers/system/generic_row_renderer';
import { WAS_PREVENTED_FROM_EXECUTING_A_MALICIOUS_PROCESS } from '../../timeline/body/renderers/system/translations';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
@@ -25,7 +24,7 @@ const AlertsExampleComponent: React.FC = () => {
return (
<>
{alertsRowRenderer.renderRow({
- data: mockEndpointProcessExecutionMalwarePreventionAlert,
+ data: demoEndpointProcessExecutionMalwarePreventionAlert,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/auditd.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/auditd.tsx
index d85f0537fe720..40272e89bf789 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/auditd.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/auditd.tsx
@@ -7,8 +7,7 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockTimelineData } from '../../../../common/mock/mock_timeline_data';
+import { demoTimelineData } from '../../../../common/demo_data/timeline';
import { createGenericAuditRowRenderer } from '../../timeline/body/renderers/auditd/generic_row_renderer';
import { CONNECTED_USING } from '../../timeline/body/renderers/auditd/translations';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
@@ -22,7 +21,7 @@ const AuditdExampleComponent: React.FC = () => {
return (
<>
{auditdRowRenderer.renderRow({
- data: mockTimelineData[26].ecs,
+ data: demoTimelineData[26].ecs,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/auditd_file.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/auditd_file.tsx
index b55e667a6e43f..b5a5cc70e0dc0 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/auditd_file.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/auditd_file.tsx
@@ -7,8 +7,7 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockTimelineData } from '../../../../common/mock/mock_timeline_data';
+import { demoTimelineData } from '../../../../common/demo_data/timeline';
import { createGenericFileRowRenderer } from '../../timeline/body/renderers/auditd/generic_row_renderer';
import { OPENED_FILE, USING } from '../../timeline/body/renderers/auditd/translations';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
@@ -22,7 +21,7 @@ const AuditdFileExampleComponent: React.FC = () => {
return (
<>
{auditdFileRowRenderer.renderRow({
- data: mockTimelineData[27].ecs,
+ data: demoTimelineData[27].ecs,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/library.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/library.tsx
index c45555f9c31ac..db1727661d15d 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/library.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/library.tsx
@@ -7,8 +7,7 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockEndpointLibraryLoadEvent } from '../../../../common/mock/mock_timeline_data';
+import { demoEndpointLibraryLoadEvent } from '../../../../common/demo_data/endpoint/library_load_event';
import { createEndpointLibraryRowRenderer } from '../../timeline/body/renderers/system/generic_row_renderer';
import { LOADED_LIBRARY } from '../../timeline/body/renderers/system/translations';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
@@ -22,7 +21,7 @@ const LibraryExampleComponent: React.FC = () => {
return (
<>
{libraryRowRenderer.renderRow({
- data: mockEndpointLibraryLoadEvent,
+ data: demoEndpointLibraryLoadEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/netflow.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/netflow.tsx
index 06321441a34d7..553bf4874dac0 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/netflow.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/netflow.tsx
@@ -7,15 +7,14 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { getMockNetflowData } from '../../../../common/mock/netflow';
+import { getDemoNetflowData } from '../../../../common/demo_data/netflow';
import { netflowRowRenderer } from '../../timeline/body/renderers/netflow/netflow_row_renderer';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const NetflowExampleComponent: React.FC = () => (
<>
{netflowRowRenderer.renderRow({
- data: getMockNetflowData(),
+ data: getDemoNetflowData(),
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/registry.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/registry.tsx
index f4d39a6870e80..093abf2d1aa63 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/registry.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/registry.tsx
@@ -7,8 +7,7 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockEndpointRegistryModificationEvent } from '../../../../common/mock/mock_timeline_data';
+import { demoEndpointRegistryModificationEvent } from '../../../../common/demo_data/endpoint/registry_modification_event';
import { createEndpointRegistryRowRenderer } from '../../timeline/body/renderers/system/generic_row_renderer';
import { MODIFIED_REGISTRY_KEY } from '../../timeline/body/renderers/system/translations';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
@@ -22,7 +21,7 @@ const RegistryExampleComponent: React.FC = () => {
return (
<>
{registryRowRenderer.renderRow({
- data: mockEndpointRegistryModificationEvent,
+ data: demoEndpointRegistryModificationEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/suricata.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/suricata.tsx
index 613f6c632ad0c..b385de92859e8 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/suricata.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/suricata.tsx
@@ -7,15 +7,14 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockTimelineData } from '../../../../common/mock/mock_timeline_data';
+import { demoTimelineData } from '../../../../common/demo_data/timeline';
import { suricataRowRenderer } from '../../timeline/body/renderers/suricata/suricata_row_renderer';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const SuricataExampleComponent: React.FC = () => (
<>
{suricataRowRenderer.renderRow({
- data: mockTimelineData[2].ecs,
+ data: demoTimelineData[2].ecs,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system.tsx
index 2018f46865219..bdf3e33af8426 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system.tsx
@@ -9,8 +9,7 @@ import React from 'react';
import { TERMINATED_PROCESS } from '../../timeline/body/renderers/system/translations';
import { createGenericSystemRowRenderer } from '../../timeline/body/renderers/system/generic_row_renderer';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockEndgameTerminationEvent } from '../../../../common/mock/mock_endgame_ecs_data';
+import { demoEndgameTerminationEvent } from '../../../../common/demo_data/endgame_ecs/termination';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const SystemExampleComponent: React.FC = () => {
@@ -22,7 +21,7 @@ const SystemExampleComponent: React.FC = () => {
return (
<>
{systemRowRenderer.renderRow({
- data: mockEndgameTerminationEvent,
+ data: demoEndgameTerminationEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_dns.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_dns.tsx
index aba609a8e5385..7f64a2faa66a7 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_dns.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_dns.tsx
@@ -8,8 +8,7 @@
import React from 'react';
import { createDnsRowRenderer } from '../../timeline/body/renderers/system/generic_row_renderer';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockEndgameDnsRequest } from '../../../../common/mock/mock_endgame_ecs_data';
+import { demoEndgameDnsRequest } from '../../../../common/demo_data/endgame_ecs/dns';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const SystemDnsExampleComponent: React.FC = () => {
@@ -18,7 +17,7 @@ const SystemDnsExampleComponent: React.FC = () => {
return (
<>
{systemDnsRowRenderer.renderRow({
- data: mockEndgameDnsRequest,
+ data: demoEndgameDnsRequest,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_endgame_process.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_endgame_process.tsx
index c7c369c01ed1f..d8c3ee2964a61 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_endgame_process.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_endgame_process.tsx
@@ -8,8 +8,7 @@
import React from 'react';
import { createEndgameProcessRowRenderer } from '../../timeline/body/renderers/system/generic_row_renderer';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockEndgameCreationEvent } from '../../../../common/mock/mock_endgame_ecs_data';
+import { demoEndgameCreationEvent } from '../../../../common/demo_data/endgame_ecs/creation';
import { PROCESS_STARTED } from '../../timeline/body/renderers/system/translations';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
@@ -22,7 +21,7 @@ const SystemEndgameProcessExampleComponent: React.FC = () => {
return (
<>
{systemEndgameProcessRowRenderer.renderRow({
- data: mockEndgameCreationEvent,
+ data: demoEndgameCreationEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_file.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_file.tsx
index 72903035b2e12..0e24e7228ff3f 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_file.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_file.tsx
@@ -7,8 +7,7 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockEndgameFileDeleteEvent } from '../../../../common/mock/mock_endgame_ecs_data';
+import { demoEndgameFileDeleteEvent } from '../../../../common/demo_data/endgame_ecs/file_events';
import { createGenericFileRowRenderer } from '../../timeline/body/renderers/system/generic_row_renderer';
import { DELETED_FILE } from '../../timeline/body/renderers/system/translations';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
@@ -22,7 +21,7 @@ const SystemFileExampleComponent: React.FC = () => {
return (
<>
{systemFileRowRenderer.renderRow({
- data: mockEndgameFileDeleteEvent,
+ data: demoEndgameFileDeleteEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_fim.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_fim.tsx
index 74a02902fb78a..9890b3b2f0c18 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_fim.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_fim.tsx
@@ -7,8 +7,7 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockEndgameFileCreateEvent } from '../../../../common/mock/mock_endgame_ecs_data';
+import { demoEndgameFileCreateEvent } from '../../../../common/demo_data/endgame_ecs/file_events';
import { createFimRowRenderer } from '../../timeline/body/renderers/system/generic_row_renderer';
import { CREATED_FILE } from '../../timeline/body/renderers/system/translations';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
@@ -22,7 +21,7 @@ const SystemFimExampleComponent: React.FC = () => {
return (
<>
{systemFimRowRenderer.renderRow({
- data: mockEndgameFileCreateEvent,
+ data: demoEndgameFileCreateEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_security_event.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_security_event.tsx
index aecf23ff08346..d5380d34f3a0b 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_security_event.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_security_event.tsx
@@ -8,8 +8,7 @@
import React from 'react';
import { createSecurityEventRowRenderer } from '../../timeline/body/renderers/system/generic_row_renderer';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockEndgameUserLogon } from '../../../../common/mock/mock_endgame_ecs_data';
+import { demoEndgameUserLogon } from '../../../../common/demo_data/endgame_ecs/user_logon';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const SystemSecurityEventExampleComponent: React.FC = () => {
@@ -20,7 +19,7 @@ const SystemSecurityEventExampleComponent: React.FC = () => {
return (
<>
{systemSecurityEventRowRenderer.renderRow({
- data: mockEndgameUserLogon,
+ data: demoEndgameUserLogon,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_socket.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_socket.tsx
index 015a571ae6f5b..5e57336e827ee 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_socket.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/system_socket.tsx
@@ -9,8 +9,7 @@ import React from 'react';
import { ACCEPTED_A_CONNECTION_VIA } from '../../timeline/body/renderers/system/translations';
import { createSocketRowRenderer } from '../../timeline/body/renderers/system/generic_row_renderer';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockEndgameIpv4ConnectionAcceptEvent } from '../../../../common/mock/mock_endgame_ecs_data';
+import { demoEndgameIpv4ConnectionAcceptEvent } from '../../../../common/demo_data/endgame_ecs/ipv4';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const SystemSocketExampleComponent: React.FC = () => {
@@ -21,7 +20,7 @@ const SystemSocketExampleComponent: React.FC = () => {
return (
<>
{systemSocketRowRenderer.renderRow({
- data: mockEndgameIpv4ConnectionAcceptEvent,
+ data: demoEndgameIpv4ConnectionAcceptEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/threat_match.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/threat_match.tsx
index ba3ca74147f29..3c96fd22fc6ed 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/threat_match.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/threat_match.tsx
@@ -7,15 +7,14 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockTimelineData } from '../../../../common/mock/mock_timeline_data';
+import { demoTimelineData } from '../../../../common/demo_data/timeline';
import { threatMatchRowRenderer } from '../../timeline/body/renderers/cti/threat_match_row_renderer';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const ThreatMatchExampleComponent: React.FC = () => (
<>
{threatMatchRowRenderer.renderRow({
- data: mockTimelineData[31].ecs,
+ data: demoTimelineData[31].ecs,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/zeek.tsx b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/zeek.tsx
index ab8cab5e3d697..714faad3b815d 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/zeek.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/row_renderers_browser/examples/zeek.tsx
@@ -7,15 +7,14 @@
import React from 'react';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-import { mockTimelineData } from '../../../../common/mock/mock_timeline_data';
+import { demoTimelineData } from '../../../../common/demo_data/timeline';
import { zeekRowRenderer } from '../../timeline/body/renderers/zeek/zeek_row_renderer';
import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const ZeekExampleComponent: React.FC = () => (
<>
{zeekRowRenderer.renderRow({
- data: mockTimelineData[13].ecs,
+ data: demoTimelineData[13].ecs,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,
})}
diff --git a/x-pack/plugins/security_solution/server/endpoint/mocks.ts b/x-pack/plugins/security_solution/server/endpoint/mocks.ts
index 01759c01df53b..8b9623b51b24c 100644
--- a/x-pack/plugins/security_solution/server/endpoint/mocks.ts
+++ b/x-pack/plugins/security_solution/server/endpoint/mocks.ts
@@ -45,7 +45,7 @@ import { createEndpointMetadataServiceTestContextMock } from './services/metadat
import type { EndpointAuthz } from '../../common/endpoint/types/authz';
import { EndpointFleetServicesFactory } from './services/fleet';
import { createLicenseServiceMock } from '../../common/license/mocks';
-import { createFeatureUsageServiceMock } from './services/feature_usage';
+import { createFeatureUsageServiceMock } from './services/feature_usage/mocks';
/**
* Creates a mocked EndpointAppContext.
diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts b/x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts
index 5746e1e93f9bb..6eb04c9833e27 100644
--- a/x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts
+++ b/x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts
@@ -62,7 +62,7 @@ import { EndpointHostNotFoundError } from '../../services/metadata';
import { FleetAgentGenerator } from '../../../../common/endpoint/data_generators/fleet_agent_generator';
import { createMockAgentClient, createMockPackageService } from '@kbn/fleet-plugin/server/mocks';
import type { TransformGetTransformStatsResponse } from '@elastic/elasticsearch/lib/api/typesWithBodyKey';
-import { getEndpointAuthzInitialStateMock } from '../../../../common/endpoint/service/authz';
+import { getEndpointAuthzInitialStateMock } from '../../../../common/endpoint/service/authz/mocks';
class IndexNotFoundException extends Error {
meta: { body: { error: { type: string } } };
diff --git a/x-pack/plugins/security_solution/server/endpoint/services/feature_usage/index.ts b/x-pack/plugins/security_solution/server/endpoint/services/feature_usage/index.ts
index d65ea404f298d..5c880f67847ed 100644
--- a/x-pack/plugins/security_solution/server/endpoint/services/feature_usage/index.ts
+++ b/x-pack/plugins/security_solution/server/endpoint/services/feature_usage/index.ts
@@ -7,7 +7,5 @@
import { FeatureUsageService } from './service';
export type { FeatureKeys } from './service';
-// eslint-disable-next-line @kbn/imports/no_boundary_crossing
-export { createFeatureUsageServiceMock, createMockPolicyData } from './mocks';
export const featureUsageService = new FeatureUsageService();
diff --git a/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts b/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts
index c93b8035aea8f..0c6611acb77e0 100644
--- a/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts
+++ b/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts
@@ -43,7 +43,7 @@ import { Manifest } from '../endpoint/lib/artifacts';
import type { NewPackagePolicy } from '@kbn/fleet-plugin/common/types/models';
import type { ManifestSchema } from '../../common/endpoint/schema/manifest';
import type { DeletePackagePoliciesResponse } from '@kbn/fleet-plugin/common';
-import { createMockPolicyData } from '../endpoint/services/feature_usage';
+import { createMockPolicyData } from '../endpoint/services/feature_usage/mocks';
import { ALL_ENDPOINT_ARTIFACT_LIST_IDS } from '../../common/endpoint/service/artifacts/constants';
describe('ingest_integration tests ', () => {
diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_context.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_context.ts
index 0ac0a67a761ef..282759546197f 100644
--- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_context.ts
+++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_context.ts
@@ -32,7 +32,7 @@ import type {
SecuritySolutionRequestHandlerContext,
} from '../../../../types';
-import { getEndpointAuthzInitialStateMock } from '../../../../../common/endpoint/service/authz';
+import { getEndpointAuthzInitialStateMock } from '../../../../../common/endpoint/service/authz/mocks';
import type { EndpointAuthz } from '../../../../../common/endpoint/types/authz';
export const createMockClients = () => {
From 6c438b331c703c507af524a13aab634cdbfbbb13 Mon Sep 17 00:00:00 2001
From: Spencer
Date: Wed, 10 Aug 2022 17:17:50 -0500
Subject: [PATCH 30/49] [api-docs] follow the correct schema for frontmatter
(#138348)
* [api-docs] follow the correct schema for frontmatter
* rename non-generated summary: usage
* fix yaml comment syntax
---
STYLEGUIDE.mdx | 2 +-
dev_docs/contributing/best_practices.mdx | 2 +-
dev_docs/contributing/code_walkthrough.mdx | 2 +-
dev_docs/contributing/dev_principles.mdx | 2 +-
dev_docs/contributing/documentation.mdx | 2 +-
dev_docs/contributing/how_we_use_github.mdx | 2 +-
dev_docs/contributing/standards.mdx | 2 +-
dev_docs/getting_started/dev_welcome.mdx | 2 +-
dev_docs/getting_started/hello_world_plugin.mdx | 2 +-
.../setting_up_a_development_env.mdx | 2 +-
dev_docs/getting_started/troubleshooting.mdx | 2 +-
dev_docs/key_concepts/anatomy_of_a_plugin.mdx | 2 +-
dev_docs/key_concepts/audit_logging.mdx | 2 +-
dev_docs/key_concepts/building_blocks.mdx | 2 +-
dev_docs/key_concepts/data_views.mdx | 2 +-
dev_docs/key_concepts/embeddables.mdx | 2 +-
.../key_concepts/kibana_platform_plugin_intro.mdx | 2 +-
dev_docs/key_concepts/navigation.mdx | 2 +-
dev_docs/key_concepts/performance.mdx | 2 +-
dev_docs/key_concepts/persistable_state.mdx | 2 +-
dev_docs/key_concepts/saved_objects.mdx | 2 +-
dev_docs/tutorials/advanced_settings.mdx | 2 +-
.../tutorials/building_a_kibana_distributable.mdx | 2 +-
dev_docs/tutorials/ci.mdx | 2 +-
dev_docs/tutorials/data/search.mdx | 2 +-
dev_docs/tutorials/data_views.mdx | 2 +-
dev_docs/tutorials/debugging.mdx | 2 +-
dev_docs/tutorials/development_windows.mdx | 2 +-
dev_docs/tutorials/endpoints.mdx | 2 +-
dev_docs/tutorials/expressions.mdx | 2 +-
dev_docs/tutorials/kibana_page_template.mdx | 2 +-
dev_docs/tutorials/saved_objects.mdx | 2 +-
dev_docs/tutorials/screenshotting.mdx | 2 +-
dev_docs/tutorials/submit_a_pull_request.mdx | 2 +-
dev_docs/tutorials/testing_plugins.mdx | 2 +-
packages/home/sample_data_card/README.mdx | 2 +-
packages/home/sample_data_tab/README.mdx | 2 +-
.../src/api_docs/auto_generated_warning.ts | 12 ++++++++++++
.../api_docs/mdx/write_deprecations_doc_by_api.ts | 7 ++++---
.../mdx/write_deprecations_doc_by_plugin.ts | 9 +++++----
.../api_docs/mdx/write_deprecations_due_by_team.ts | 9 +++++----
.../src/api_docs/mdx/write_plugin_directory_doc.ts | 13 +++++++------
.../src/api_docs/mdx/write_plugin_mdx_docs.ts | 5 +++--
.../src/api_docs/tests/snapshots/plugin_a.mdx | 9 ++++++---
.../src/api_docs/tests/snapshots/plugin_a_foo.mdx | 9 ++++++---
.../src/api_docs/tests/snapshots/plugin_b.mdx | 9 ++++++---
packages/kbn-shared-ux-components/README.mdx | 2 +-
.../src/page_template/page_template.mdx | 2 +-
packages/kbn-shared-ux-services/README.mdx | 2 +-
packages/kbn-shared-ux-storybook/README.mdx | 2 +-
packages/kbn-shared-ux-utility/README.mdx | 2 +-
packages/shared-ux/avatar/solution/README.mdx | 2 +-
.../button/exit_full_screen/impl/README.mdx | 2 +-
packages/shared-ux/button_toolbar/README.mdx | 2 +-
.../button_toolbar/src/popover/popover.mdx | 2 +-
packages/shared-ux/card/no_data/impl/README.mdx | 2 +-
.../shared-ux/link/redirect_app/impl/README.mdx | 2 +-
.../page/analytics_no_data/impl/README.mdx | 2 +-
.../shared-ux/page/kibana_no_data/impl/README.mdx | 2 +-
packages/shared-ux/page/solution_nav/README.mdx | 2 +-
.../shared-ux/prompt/no_data_views/impl/README.mdx | 2 +-
src/core/server/deprecations/README.mdx | 2 +-
src/core/server/logging/README.mdx | 2 +-
src/plugins/controls/README.mdx | 2 +-
src/plugins/data/README.mdx | 2 +-
src/plugins/data_views/README.mdx | 2 +-
.../static/forms/docs/core/default_value.mdx | 2 +-
.../static/forms/docs/core/field_hook.mdx | 2 +-
.../static/forms/docs/core/form_component.mdx | 2 +-
.../static/forms/docs/core/form_hook.mdx | 2 +-
.../static/forms/docs/core/fundamentals.mdx | 2 +-
.../static/forms/docs/core/use_array.mdx | 2 +-
.../static/forms/docs/core/use_behavior_subject.mdx | 2 +-
.../static/forms/docs/core/use_field.mdx | 2 +-
.../static/forms/docs/core/use_form_data.mdx | 2 +-
.../static/forms/docs/core/use_form_hook.mdx | 2 +-
.../static/forms/docs/core/use_form_is_modified.mdx | 2 +-
.../static/forms/docs/core/use_multi_fields.mdx | 2 +-
.../static/forms/docs/examples/dynamic_fields.mdx | 2 +-
.../forms/docs/examples/fields_composition.mdx | 2 +-
.../forms/docs/examples/listening_to_changes.mdx | 2 +-
.../docs/examples/serializers_deserializers.mdx | 2 +-
.../static/forms/docs/examples/style_fields.mdx | 2 +-
.../static/forms/docs/examples/validation.mdx | 2 +-
.../static/forms/docs/helpers/components.mdx | 2 +-
.../static/forms/docs/helpers/validators.mdx | 2 +-
.../es_ui_shared/static/forms/docs/welcome.mdx | 2 +-
src/plugins/presentation_util/README.mdx | 2 +-
src/plugins/share/README.mdx | 2 +-
src/plugins/shared_ux/docs/about.mdx | 2 +-
src/plugins/usage_collection/README.mdx | 2 +-
x-pack/plugins/canvas/PLUGINS.mdx | 2 +-
x-pack/plugins/canvas/shareable_runtime/README.mdx | 2 +-
93 files changed, 138 insertions(+), 112 deletions(-)
create mode 100644 packages/kbn-docs-utils/src/api_docs/auto_generated_warning.ts
diff --git a/STYLEGUIDE.mdx b/STYLEGUIDE.mdx
index b06cfa44a4973..8e043cba92249 100644
--- a/STYLEGUIDE.mdx
+++ b/STYLEGUIDE.mdx
@@ -2,7 +2,7 @@
id: kibStyleGuide
slug: /kibana-dev-docs/contributing/styleguide
title: Style Guide
-summary: JavaScript/TypeScript styleguide.
+description: JavaScript/TypeScript styleguide.
date: 2021-05-06
tags: ['kibana', 'onboarding', 'dev', 'styleguide', 'typescript', 'javascript']
---
diff --git a/dev_docs/contributing/best_practices.mdx b/dev_docs/contributing/best_practices.mdx
index 3e7fca5539d77..16c66417b89c1 100644
--- a/dev_docs/contributing/best_practices.mdx
+++ b/dev_docs/contributing/best_practices.mdx
@@ -2,7 +2,7 @@
id: kibBestPractices
slug: /kibana-dev-docs/contributing/best-practices
title: Best practices
-summary: Best practices to follow when building a Kibana plugin.
+description: Best practices to follow when building a Kibana plugin.
date: 2021-03-17
tags: ['kibana', 'onboarding', 'dev', 'architecture']
---
diff --git a/dev_docs/contributing/code_walkthrough.mdx b/dev_docs/contributing/code_walkthrough.mdx
index 74995c246503c..bae394887c20e 100644
--- a/dev_docs/contributing/code_walkthrough.mdx
+++ b/dev_docs/contributing/code_walkthrough.mdx
@@ -2,7 +2,7 @@
id: kibRepoStructure
slug: /kibana-dev-docs/contributing/repo-structure
title: Repository structure
-summary: High level walk-through of our repository structure.
+description: High level walk-through of our repository structure.
date: 2021-10-07
tags: ['contributor', 'dev', 'github', 'getting started', 'onboarding', 'kibana']
---
diff --git a/dev_docs/contributing/dev_principles.mdx b/dev_docs/contributing/dev_principles.mdx
index 0b8f68d232367..cbea79e658684 100644
--- a/dev_docs/contributing/dev_principles.mdx
+++ b/dev_docs/contributing/dev_principles.mdx
@@ -2,7 +2,7 @@
id: kibDevPrinciples
slug: /kibana-dev-docs/contributing/dev-principles
title: Developer principles
-summary: Follow our development principles to help keep our code base stable, maintainable and scalable.
+description: Follow our development principles to help keep our code base stable, maintainable and scalable.
date: 2021-03-04
tags: ['kibana', 'onboarding', 'dev', 'architecture']
---
diff --git a/dev_docs/contributing/documentation.mdx b/dev_docs/contributing/documentation.mdx
index caf2f439548bc..50cc0c8761400 100644
--- a/dev_docs/contributing/documentation.mdx
+++ b/dev_docs/contributing/documentation.mdx
@@ -2,7 +2,7 @@
id: kibDocumentation
slug: /kibana-dev-docs/contributing/documentation
title: Documentation
-summary: Writing documentation during development
+description: Writing documentation during development
date: 2022-03-01
tags: ['kibana', 'onboarding', 'dev']
---
diff --git a/dev_docs/contributing/how_we_use_github.mdx b/dev_docs/contributing/how_we_use_github.mdx
index 339eebc89197b..d427ba7d44f2e 100644
--- a/dev_docs/contributing/how_we_use_github.mdx
+++ b/dev_docs/contributing/how_we_use_github.mdx
@@ -2,7 +2,7 @@
id: kibGitHub
slug: /kibana-dev-docs/contributing/github
title: How we use Github
-summary: Forking, branching, committing and using labels in the Kibana GitHub repo
+description: Forking, branching, committing and using labels in the Kibana GitHub repo
date: 2021-09-16
tags: ['contributor', 'dev', 'github', 'getting started', 'onboarding', 'kibana']
---
diff --git a/dev_docs/contributing/standards.mdx b/dev_docs/contributing/standards.mdx
index cef9199aee924..1bb54ada1509c 100644
--- a/dev_docs/contributing/standards.mdx
+++ b/dev_docs/contributing/standards.mdx
@@ -2,7 +2,7 @@
id: kibStandards
slug: /kibana-dev-docs/standards
title: Standards and guidelines
-summary: Standards and guidelines we expect every Kibana developer to abide by
+description: Standards and guidelines we expect every Kibana developer to abide by
date: 2021-09-28
tags: ['contributor', 'dev', 'github', 'getting started', 'onboarding', 'kibana']
---
diff --git a/dev_docs/getting_started/dev_welcome.mdx b/dev_docs/getting_started/dev_welcome.mdx
index 4080e0850b946..4f5115af6b731 100644
--- a/dev_docs/getting_started/dev_welcome.mdx
+++ b/dev_docs/getting_started/dev_welcome.mdx
@@ -2,7 +2,7 @@
id: kibDevDocsWelcome
slug: /kibana-dev-docs/getting-started/welcome
title: Welcome
-summary: Build custom solutions and applications on top of Kibana.
+description: Build custom solutions and applications on top of Kibana.
date: 2021-01-02
tags: ['kibana', 'dev', 'contributor']
---
diff --git a/dev_docs/getting_started/hello_world_plugin.mdx b/dev_docs/getting_started/hello_world_plugin.mdx
index 8fa4ea4316129..08fd7e4a721c2 100644
--- a/dev_docs/getting_started/hello_world_plugin.mdx
+++ b/dev_docs/getting_started/hello_world_plugin.mdx
@@ -2,7 +2,7 @@
id: kibHelloWorldApp
slug: /kibana-dev-docs/getting-started/hello-world-app
title: Hello World
-summary: Build a very basic plugin that registers an application that says "Hello World!".
+description: Build a very basic plugin that registers an application that says "Hello World!".
date: 2021-08-03
tags: ['kibana', 'dev', 'contributor', 'tutorials']
---
diff --git a/dev_docs/getting_started/setting_up_a_development_env.mdx b/dev_docs/getting_started/setting_up_a_development_env.mdx
index bbbb356d9ea08..8599adf0e53b3 100644
--- a/dev_docs/getting_started/setting_up_a_development_env.mdx
+++ b/dev_docs/getting_started/setting_up_a_development_env.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialSetupDevEnv
slug: /kibana-dev-docs/getting-started/setup-dev-env
title: Set up a Development Environment
-summary: Learn how to setup a development environment for contributing to the Kibana repository
+description: Learn how to setup a development environment for contributing to the Kibana repository
date: 2022-07-07
tags: ['kibana', 'onboarding', 'dev', 'architecture', 'setup']
---
diff --git a/dev_docs/getting_started/troubleshooting.mdx b/dev_docs/getting_started/troubleshooting.mdx
index b224a3200eefb..cb0e1bad1bef5 100644
--- a/dev_docs/getting_started/troubleshooting.mdx
+++ b/dev_docs/getting_started/troubleshooting.mdx
@@ -2,7 +2,7 @@
id: kibTroubleshooting
slug: /kibana-dev-docs/getting-started/troubleshooting
title: Troubleshooting
-summary: A collection of tips for working around strange issues.
+description: A collection of tips for working around strange issues.
date: 2021-09-08
tags: ['kibana', 'onboarding', 'dev', 'troubleshooting']
---
diff --git a/dev_docs/key_concepts/anatomy_of_a_plugin.mdx b/dev_docs/key_concepts/anatomy_of_a_plugin.mdx
index f99c41ff18d07..a126477ea4c2f 100644
--- a/dev_docs/key_concepts/anatomy_of_a_plugin.mdx
+++ b/dev_docs/key_concepts/anatomy_of_a_plugin.mdx
@@ -2,7 +2,7 @@
id: kibDevAnatomyOfAPlugin
slug: /kibana-dev-docs/key-concepts/anatomy-of-a-plugin
title: Anatomy of a plugin
-summary: Anatomy of a Kibana plugin.
+description: Anatomy of a Kibana plugin.
date: 2021-08-03
tags: ['kibana', 'onboarding', 'dev']
---
diff --git a/dev_docs/key_concepts/audit_logging.mdx b/dev_docs/key_concepts/audit_logging.mdx
index 6ec4de320d582..5546e52bf5dd8 100644
--- a/dev_docs/key_concepts/audit_logging.mdx
+++ b/dev_docs/key_concepts/audit_logging.mdx
@@ -2,7 +2,7 @@
id: kibAuditLogging
slug: /kibana-dev-docs/key-concepts/audit-logging
title: Audit Logging
-summary: Audit Logging
+description: Audit Logging
date: 2022-06-15
tags: ['kibana', 'onboarding', 'dev', 'logging', 'audit']
---
diff --git a/dev_docs/key_concepts/building_blocks.mdx b/dev_docs/key_concepts/building_blocks.mdx
index aeb2d2be7d6c9..5a7b79b93debf 100644
--- a/dev_docs/key_concepts/building_blocks.mdx
+++ b/dev_docs/key_concepts/building_blocks.mdx
@@ -2,7 +2,7 @@
id: kibBuildingBlocks
slug: /kibana-dev-docs/key-concepts/building-blocks
title: Building blocks
-summary: Consider these building blocks when developing your plugin.
+description: Consider these building blocks when developing your plugin.
date: 2021-02-24
tags: ['kibana', 'onboarding', 'dev', 'architecture']
---
diff --git a/dev_docs/key_concepts/data_views.mdx b/dev_docs/key_concepts/data_views.mdx
index 6a0c2a701fae2..59853f8e0c67e 100644
--- a/dev_docs/key_concepts/data_views.mdx
+++ b/dev_docs/key_concepts/data_views.mdx
@@ -2,7 +2,7 @@
id: kibDataViewsKeyConcepts
slug: /kibana-dev-docs/key-concepts/data-view-intro
title: Data Views
-summary: Data views are the central method of defining queryable data sets in Kibana
+description: Data views are the central method of defining queryable data sets in Kibana
date: 2021-08-11
tags: ['kibana', 'dev', 'contributor', 'api docs']
---
diff --git a/dev_docs/key_concepts/embeddables.mdx b/dev_docs/key_concepts/embeddables.mdx
index 2d5e14b7d4669..f1a2bea5b9b12 100644
--- a/dev_docs/key_concepts/embeddables.mdx
+++ b/dev_docs/key_concepts/embeddables.mdx
@@ -2,7 +2,7 @@
id: kibDevDocsEmbeddables
slug: /kibana-dev-docs/key-concepts/embeddables
title: Embeddables
-summary: Embeddables provide a way to expose a reusable widget.
+description: Embeddables provide a way to expose a reusable widget.
date: 2022-07-27
tags: ['kibana', 'dev', 'contributor', 'api docs']
---
diff --git a/dev_docs/key_concepts/kibana_platform_plugin_intro.mdx b/dev_docs/key_concepts/kibana_platform_plugin_intro.mdx
index 417d6e4983d4f..98de7d082bc55 100644
--- a/dev_docs/key_concepts/kibana_platform_plugin_intro.mdx
+++ b/dev_docs/key_concepts/kibana_platform_plugin_intro.mdx
@@ -2,7 +2,7 @@
id: kibPlatformIntro
slug: /kibana-dev-docs/key-concepts/platform-intro
title: Plugins, packages, and the platform
-summary: An introduction to the Kibana platform and how to use it to build a plugin.
+description: An introduction to the Kibana platform and how to use it to build a plugin.
date: 2021-01-06
tags: ['kibana', 'onboarding', 'dev', 'architecture']
---
diff --git a/dev_docs/key_concepts/navigation.mdx b/dev_docs/key_concepts/navigation.mdx
index 6f3a5e737f91f..e383f21187d41 100644
--- a/dev_docs/key_concepts/navigation.mdx
+++ b/dev_docs/key_concepts/navigation.mdx
@@ -2,7 +2,7 @@
id: kibDevKeyConceptsNavigation
slug: /kibana-dev-docs/routing-and-navigation
title: Routing, Navigation and URL
-summary: Learn best practices about navigation inside Kibana
+description: Learn best practices about navigation inside Kibana
date: 2021-10-05
tags: ['kibana', 'dev', 'architecture', 'contributor']
---
diff --git a/dev_docs/key_concepts/performance.mdx b/dev_docs/key_concepts/performance.mdx
index c57630f508dcd..4d808ed402d32 100644
--- a/dev_docs/key_concepts/performance.mdx
+++ b/dev_docs/key_concepts/performance.mdx
@@ -2,7 +2,7 @@
id: kibDevPerformance
slug: /kibana-dev-docs/key-concepts/performance
title: Performance
-summary: Performance tips for Kibana development.
+description: Performance tips for Kibana development.
date: 2021-12-03
tags: ['kibana', 'onboarding', 'dev', 'performance']
---
diff --git a/dev_docs/key_concepts/persistable_state.mdx b/dev_docs/key_concepts/persistable_state.mdx
index 25d3f37a86be4..75dae5447ffa0 100644
--- a/dev_docs/key_concepts/persistable_state.mdx
+++ b/dev_docs/key_concepts/persistable_state.mdx
@@ -2,7 +2,7 @@
id: kibDevDocsPersistableStateIntro
slug: /kibana-dev-docs/key-concepts/persistable-state-intro
title: Persistable State
-summary: Persitable state is a key concept to understand when building a Kibana plugin.
+description: Persitable state is a key concept to understand when building a Kibana plugin.
date: 2021-02-02
tags: ['kibana', 'dev', 'contributor', 'api docs']
---
diff --git a/dev_docs/key_concepts/saved_objects.mdx b/dev_docs/key_concepts/saved_objects.mdx
index 159e6e90a4037..ee974267c0bb9 100644
--- a/dev_docs/key_concepts/saved_objects.mdx
+++ b/dev_docs/key_concepts/saved_objects.mdx
@@ -2,7 +2,7 @@
id: kibDevDocsSavedObjectsIntro
slug: /kibana-dev-docs/key-concepts/saved-objects-intro
title: Saved Objects
-summary: Saved Objects are a key concept to understand when building a Kibana plugin.
+description: Saved Objects are a key concept to understand when building a Kibana plugin.
date: 2021-02-02
tags: ['kibana', 'dev', 'contributor', 'api docs']
---
diff --git a/dev_docs/tutorials/advanced_settings.mdx b/dev_docs/tutorials/advanced_settings.mdx
index b0c12ad5e5edd..d14da92edc93c 100644
--- a/dev_docs/tutorials/advanced_settings.mdx
+++ b/dev_docs/tutorials/advanced_settings.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialAdvancedSettings
slug: /kibana-dev-docs/tutorials/advanced-settings
title: How to register a new advanced setting
-summary: Learn how to add and use a new advanced setting
+description: Learn how to add and use a new advanced setting
date: 2022-02-07
tags: ['kibana','onboarding', 'dev', 'architecture', 'tutorials']
---
diff --git a/dev_docs/tutorials/building_a_kibana_distributable.mdx b/dev_docs/tutorials/building_a_kibana_distributable.mdx
index e73481058ab35..d95f6246434b9 100644
--- a/dev_docs/tutorials/building_a_kibana_distributable.mdx
+++ b/dev_docs/tutorials/building_a_kibana_distributable.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialBuildingDistributable
slug: /kibana-dev-docs/tutorials/building-distributable
title: Building a Kibana distributable
-summary: Learn how to build a Kibana distributable
+description: Learn how to build a Kibana distributable
date: 2021-05-10
tags: ['kibana', 'onboarding', 'dev', 'tutorials', 'build', 'distributable']
---
diff --git a/dev_docs/tutorials/ci.mdx b/dev_docs/tutorials/ci.mdx
index 32e5a8503a22c..6598ed9855dc0 100644
--- a/dev_docs/tutorials/ci.mdx
+++ b/dev_docs/tutorials/ci.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialCI
slug: /kibana-dev-docs/tutorials/ci
title: CI
-summary: CI
+description: CI
date: 2022-02-03
tags: ['kibana', 'onboarding', 'dev', 'ci']
---
diff --git a/dev_docs/tutorials/data/search.mdx b/dev_docs/tutorials/data/search.mdx
index d422eb811b60b..4c64dc0b02164 100644
--- a/dev_docs/tutorials/data/search.mdx
+++ b/dev_docs/tutorials/data/search.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialDataSearchAndSessions
slug: /kibana-dev-docs/tutorials/data/search-and-sessions
title: Kibana data.search Services
-summary: Kibana Search Services
+description: Kibana Search Services
date: 2021-02-10
tags: ['kibana', 'onboarding', 'dev', 'tutorials', 'search', 'sessions', 'search-sessions']
---
diff --git a/dev_docs/tutorials/data_views.mdx b/dev_docs/tutorials/data_views.mdx
index eda4b34ac2fd4..51aac0e321692 100644
--- a/dev_docs/tutorials/data_views.mdx
+++ b/dev_docs/tutorials/data_views.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialDataViews
slug: /kibana-dev-docs/tutorials/data-views
title: Data views API
-summary: Data views API
+description: Data views API
date: 2021-08-11
tags: ['kibana', 'onboarding', 'dev', 'architecture']
---
diff --git a/dev_docs/tutorials/debugging.mdx b/dev_docs/tutorials/debugging.mdx
index d5d86a9025303..fabd475f88d77 100644
--- a/dev_docs/tutorials/debugging.mdx
+++ b/dev_docs/tutorials/debugging.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialDebugging
slug: /kibana-dev-docs/tutorials/debugging
title: Debugging in development
-summary: Learn how to debug Kibana while running from source
+description: Learn how to debug Kibana while running from source
date: 2021-04-26
tags: ['kibana', 'onboarding', 'dev', 'tutorials', 'debugging']
---
diff --git a/dev_docs/tutorials/development_windows.mdx b/dev_docs/tutorials/development_windows.mdx
index 0a39714dfd8ec..ea872072057a3 100644
--- a/dev_docs/tutorials/development_windows.mdx
+++ b/dev_docs/tutorials/development_windows.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialSetupWindowsDevWSL
slug: /kibana-dev-docs/tutorial/setup-windows-development-wsl
title: WSL on Windows Development
-summary: Learn how to setup a Windows development environment using WSL
+description: Learn how to setup a Windows development environment using WSL
date: 2022-07-07
tags: ['kibana', 'onboarding', 'setup', 'windows', 'development', 'wsl']
---
diff --git a/dev_docs/tutorials/endpoints.mdx b/dev_docs/tutorials/endpoints.mdx
index ab7aeda0e5693..851c3046fead6 100644
--- a/dev_docs/tutorials/endpoints.mdx
+++ b/dev_docs/tutorials/endpoints.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialServerEndpoint
slug: /kibana-dev-docs/tutorials/registering-endpoints
title: Registering and accessing an endpoint
-summary: Learn how to register a new endpoint and access it
+description: Learn how to register a new endpoint and access it
date: 2021-11-24
tags: ['kibana', 'dev', 'architecture', 'tutorials']
---
diff --git a/dev_docs/tutorials/expressions.mdx b/dev_docs/tutorials/expressions.mdx
index d9abf3dd57eb8..36df396306cac 100644
--- a/dev_docs/tutorials/expressions.mdx
+++ b/dev_docs/tutorials/expressions.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialExpressions
slug: /kibana-dev-docs/tutorials/expressions
title: Kibana Expressions Service
-summary: Kibana Expressions Service
+description: Kibana Expressions Service
date: 2021-06-01
tags: ['kibana', 'onboarding', 'dev', 'architecture']
---
diff --git a/dev_docs/tutorials/kibana_page_template.mdx b/dev_docs/tutorials/kibana_page_template.mdx
index f7169ea33cea7..5c037f4f3d062 100644
--- a/dev_docs/tutorials/kibana_page_template.mdx
+++ b/dev_docs/tutorials/kibana_page_template.mdx
@@ -2,7 +2,7 @@
id: kibDevDocsKPTTutorial
slug: /kibana-dev-docs/tutorials/kibana-page-template
title: Kibana Page Template
-summary: Learn how to create pages in Kibana
+description: Learn how to create pages in Kibana
date: 2021-03-20
tags: ['kibana', 'dev', 'ui', 'tutorials']
---
diff --git a/dev_docs/tutorials/saved_objects.mdx b/dev_docs/tutorials/saved_objects.mdx
index a9d8cd7c6ec1c..f922077cb5e54 100644
--- a/dev_docs/tutorials/saved_objects.mdx
+++ b/dev_docs/tutorials/saved_objects.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialSavedObject
slug: /kibana-dev-docs/tutorials/saved-objects
title: Register a new saved object type
-summary: Learn how to register a new saved object type.
+description: Learn how to register a new saved object type.
date: 2021-02-05
tags: ['kibana','onboarding', 'dev', 'architecture', 'tutorials']
---
diff --git a/dev_docs/tutorials/screenshotting.mdx b/dev_docs/tutorials/screenshotting.mdx
index 76f2859928491..5d506e2cb13b4 100644
--- a/dev_docs/tutorials/screenshotting.mdx
+++ b/dev_docs/tutorials/screenshotting.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialScreenshotting
slug: /kibana-dev-docs/tutorials/screenshotting
title: Kibana Screenshotting Service
-summary: Kibana Screenshotting Service
+description: Kibana Screenshotting Service
date: 2022-04-12
tags: ['kibana', 'onboarding', 'dev', 'architecture']
---
diff --git a/dev_docs/tutorials/submit_a_pull_request.mdx b/dev_docs/tutorials/submit_a_pull_request.mdx
index f7d530f6cec66..0402a533b2498 100644
--- a/dev_docs/tutorials/submit_a_pull_request.mdx
+++ b/dev_docs/tutorials/submit_a_pull_request.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialSubmitPullRequest
slug: /kibana-dev-docs/tutorials/submit-pull-request
title: Submitting a Kibana pull request
-summary: Learn how to submit a Kibana pull request
+description: Learn how to submit a Kibana pull request
date: 2021-06-24
tags: ['kibana', 'onboarding', 'dev', 'tutorials', 'github', 'pr', 'pull request', 'ci']
---
diff --git a/dev_docs/tutorials/testing_plugins.mdx b/dev_docs/tutorials/testing_plugins.mdx
index b43fa19927cc4..4fbfd1b257443 100644
--- a/dev_docs/tutorials/testing_plugins.mdx
+++ b/dev_docs/tutorials/testing_plugins.mdx
@@ -2,7 +2,7 @@
id: kibDevTutorialTestingPlugins
slug: /kibana-dev-docs/tutorials/testing-plugins
title: Testing Kibana Plugins
-summary: Learn how to test different aspects of Kibana plugins
+description: Learn how to test different aspects of Kibana plugins
date: 2021-07-05
tags: ['kibana', 'onboarding', 'dev', 'architecture', 'testing']
---
diff --git a/packages/home/sample_data_card/README.mdx b/packages/home/sample_data_card/README.mdx
index 5e2fa83830573..a4cf6faddfac2 100644
--- a/packages/home/sample_data_card/README.mdx
+++ b/packages/home/sample_data_card/README.mdx
@@ -2,7 +2,7 @@
id: home/SampleData/Cards
slug: /home/sample-data/cards
title: Sample Data Cards
-summary: A component that displays Sample Data Sets as cards and grid of cards.
+description: A component that displays Sample Data Sets as cards and grid of cards.
tags: ['home', 'component', 'sample-data']
date: 2022-06-30
---
diff --git a/packages/home/sample_data_tab/README.mdx b/packages/home/sample_data_tab/README.mdx
index 7ad4ad5dab3e0..8e9b6a373129b 100644
--- a/packages/home/sample_data_tab/README.mdx
+++ b/packages/home/sample_data_tab/README.mdx
@@ -2,7 +2,7 @@
id: home/SampleData/Tab
slug: /home/sample-data/tab
title: Sample Data Tab
-summary: A component that displays the content of the Sample Data tab in the `home` plugin.
+description: A component that displays the content of the Sample Data tab in the `home` plugin.
tags: ['home', 'component', 'sample-data']
date: 2022-06-30
---
diff --git a/packages/kbn-docs-utils/src/api_docs/auto_generated_warning.ts b/packages/kbn-docs-utils/src/api_docs/auto_generated_warning.ts
new file mode 100644
index 0000000000000..055648f7b5669
--- /dev/null
+++ b/packages/kbn-docs-utils/src/api_docs/auto_generated_warning.ts
@@ -0,0 +1,12 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+export const AUTO_GENERATED_WARNING = `####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####`;
diff --git a/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_doc_by_api.ts b/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_doc_by_api.ts
index 156e09b2fce1b..06532dc8a027f 100644
--- a/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_doc_by_api.ts
+++ b/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_doc_by_api.ts
@@ -17,6 +17,7 @@ import {
ReferencedDeprecationsByPlugin,
UnreferencedDeprecationsByPlugin,
} from '../types';
+import { AUTO_GENERATED_WARNING } from '../auto_generated_warning';
import { getPluginApiDocId } from '../utils';
export function writeDeprecationDocByApi(
@@ -76,18 +77,18 @@ export function writeDeprecationDocByApi(
const mdx = dedent(`
---
+${AUTO_GENERATED_WARNING}
id: kibDevDocsDeprecationsByApi
slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api
title: Deprecated API usage by API
-summary: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
+description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
date: ${moment().format('YYYY-MM-DD')}
tags: ['contributor', 'dev', 'apidocs', 'kibana']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
---
## Referenced deprecated APIs
-${tableMdx}
+${tableMdx}
## Unreferenced deprecated APIs
diff --git a/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_doc_by_plugin.ts b/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_doc_by_plugin.ts
index e79c109311c0b..d25a42d7de50e 100644
--- a/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_doc_by_plugin.ts
+++ b/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_doc_by_plugin.ts
@@ -12,6 +12,7 @@ import dedent from 'dedent';
import fs from 'fs';
import Path from 'path';
import { ApiDeclaration, ApiReference, ReferencedDeprecationsByPlugin } from '../types';
+import { AUTO_GENERATED_WARNING } from '../auto_generated_warning';
import { getPluginApiDocId } from '../utils';
export function writeDeprecationDocByPlugin(
@@ -34,7 +35,7 @@ export function writeDeprecationDocByPlugin(
return `
## ${key}
-
+
| Deprecated API | Reference location(s) | Remove By |
| ---------------|-----------|-----------|
${Object.keys(groupedDeprecationReferences)
@@ -70,16 +71,16 @@ export function writeDeprecationDocByPlugin(
const mdx = dedent(`
---
+${AUTO_GENERATED_WARNING}
id: kibDevDocsDeprecationsByPlugin
slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin
title: Deprecated API usage by plugin
-summary: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
+description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
date: ${moment().format('YYYY-MM-DD')}
tags: ['contributor', 'dev', 'apidocs', 'kibana']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
---
-${tableMdx}
+${tableMdx}
`);
diff --git a/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_due_by_team.ts b/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_due_by_team.ts
index 712dd9c8e637f..2defdb49aeaa0 100644
--- a/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_due_by_team.ts
+++ b/packages/kbn-docs-utils/src/api_docs/mdx/write_deprecations_due_by_team.ts
@@ -16,6 +16,7 @@ import {
PluginOrPackage,
ReferencedDeprecationsByPlugin,
} from '../types';
+import { AUTO_GENERATED_WARNING } from '../auto_generated_warning';
import { getPluginApiDocId } from '../utils';
export function writeDeprecationDueByTeam(
@@ -58,7 +59,7 @@ export function writeDeprecationDueByTeam(
return `
## ${key}
-
+
| Plugin | Deprecated API | Reference location(s) | Remove By |
| --------|-------|-----------|-----------|
${Object.keys(groupedDeprecationReferences)
@@ -97,16 +98,16 @@ export function writeDeprecationDueByTeam(
const mdx = dedent(`
---
+${AUTO_GENERATED_WARNING}
id: kibDevDocsDeprecationsDueByTeam
slug: /kibana-dev-docs/api-meta/deprecations-due-by-team
title: Deprecated APIs due to be removed, by team
-summary: Lists the teams that are referencing deprecated APIs with a remove by date.
+description: Lists the teams that are referencing deprecated APIs with a remove by date.
date: ${moment().format('YYYY-MM-DD')}
tags: ['contributor', 'dev', 'apidocs', 'kibana']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
---
-${tableMdx}
+${tableMdx}
`);
diff --git a/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_directory_doc.ts b/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_directory_doc.ts
index c98621356439c..129e1212625e3 100644
--- a/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_directory_doc.ts
+++ b/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_directory_doc.ts
@@ -11,6 +11,7 @@ import Path from 'path';
import dedent from 'dedent';
import { ToolingLog } from '@kbn/tooling-log';
import { PluginApi, PluginMetaInfo } from '../types';
+import { AUTO_GENERATED_WARNING } from '../auto_generated_warning';
import { getPluginApiDocId } from '../utils';
function hasPublicApi(doc: PluginApi): boolean {
@@ -74,24 +75,24 @@ export function writePluginDirectoryDoc(
const mdx =
dedent(`
---
+${AUTO_GENERATED_WARNING}
id: kibDevDocsPluginDirectory
slug: /kibana-dev-docs/api-meta/plugin-api-directory
title: Directory
-summary: Directory of public APIs available through plugins or packages.
+description: Directory of public APIs available through plugins or packages.
date: ${moment().format('YYYY-MM-DD')}
tags: ['contributor', 'dev', 'apidocs', 'kibana']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
### Overall stats
-| Count | Plugins or Packages with a
public API | Number of teams |
+| Count | Plugins or Packages with a
public API | Number of teams |
|--------------|----------|------------------------|
| ${totalStats.pluginCnt} | ${totalStats.pluginCntWithPublicApi} | ${totalStats.teamCnt} |
### Public API health stats
-| API Count | Any Count | Missing comments | Missing exports |
+| API Count | Any Count | Missing comments | Missing exports |
|--------------|----------|-----------------|--------|
| ${totalStats.totalApiCnt} | ${totalStats.anyCnt} | ${totalStats.missingCommentCnt} | ${
totalStats.missingExportCnt
@@ -99,13 +100,13 @@ warning: This document is auto-generated and is meant to be viewed inside our ex
## Plugin Directory
-| Plugin name | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports |
+| Plugin name | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports |
|--------------|----------------|-----------|--------------|----------|---------------|--------|
${getDirectoryTable(pluginApiMap, pluginStatsMap, true)}
## Package Directory
-| Package name | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports |
+| Package name | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports |
|--------------|----------------|-----------|--------------|----------|---------------|--------|
${getDirectoryTable(pluginApiMap, pluginStatsMap, false)}
diff --git a/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_mdx_docs.ts b/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_mdx_docs.ts
index 562d2a8981764..da65c9f6b3357 100644
--- a/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_mdx_docs.ts
+++ b/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_mdx_docs.ts
@@ -19,6 +19,7 @@ import {
getSlug,
} from '../utils';
import { writePluginDocSplitByFolder } from './write_plugin_split_by_folder';
+import { AUTO_GENERATED_WARNING } from '../auto_generated_warning';
import { WritePluginDocsOpts } from './types';
/**
@@ -75,14 +76,14 @@ export function writePluginDoc(
let mdx =
dedent(`
---
+${AUTO_GENERATED_WARNING}
id: ${getPluginApiDocId(doc.id)}
slug: /kibana-dev-docs/api/${slug}
title: "${doc.id}"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the ${doc.id} plugin
+description: API docs for the ${doc.id} plugin
date: ${moment().format('YYYY-MM-DD')}
tags: ['contributor', 'dev', 'apidocs', 'kibana', '${doc.id}']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import ${json} from './${fileName}.devdocs.json';
diff --git a/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a.mdx b/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a.mdx
index 6a66fa74f7c01..b72bb38869f78 100644
--- a/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a.mdx
+++ b/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibPluginAPluginApi
slug: /kibana-dev-docs/api/pluginA
title: "pluginA"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the pluginA plugin
-date: 2022-04-30
+description: API docs for the pluginA plugin
+date: 2022-08-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'pluginA']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import pluginAObj from './plugin_a.devdocs.json';
diff --git a/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a_foo.mdx b/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a_foo.mdx
index 4082de6306895..f1b79e0d69ce5 100644
--- a/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a_foo.mdx
+++ b/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a_foo.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibPluginAFooPluginApi
slug: /kibana-dev-docs/api/pluginA-foo
title: "pluginA.foo"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the pluginA.foo plugin
-date: 2022-04-30
+description: API docs for the pluginA.foo plugin
+date: 2022-08-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'pluginA.foo']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import pluginAFooObj from './plugin_a_foo.devdocs.json';
diff --git a/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_b.mdx b/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_b.mdx
index d69da971f7e3e..2d0c28885f8d3 100644
--- a/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_b.mdx
+++ b/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_b.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibPluginBPluginApi
slug: /kibana-dev-docs/api/pluginB
title: "pluginB"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the pluginB plugin
-date: 2022-04-30
+description: API docs for the pluginB plugin
+date: 2022-08-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'pluginB']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import pluginBObj from './plugin_b.devdocs.json';
diff --git a/packages/kbn-shared-ux-components/README.mdx b/packages/kbn-shared-ux-components/README.mdx
index 8fee1571e5220..f4673a0804f31 100644
--- a/packages/kbn-shared-ux-components/README.mdx
+++ b/packages/kbn-shared-ux-components/README.mdx
@@ -2,7 +2,7 @@
id: kibSharedUXComponents
slug: /kibana-dev-docs/shared-ux/packages/kbn-shared-ux-components
title: Shared UX Components
-summary:
+description:
date: 2022-03-11
tags: ['kibana', 'dev', 'sharedUX']
---
diff --git a/packages/kbn-shared-ux-components/src/page_template/page_template.mdx b/packages/kbn-shared-ux-components/src/page_template/page_template.mdx
index 59acf8910cf29..fbaada158e277 100644
--- a/packages/kbn-shared-ux-components/src/page_template/page_template.mdx
+++ b/packages/kbn-shared-ux-components/src/page_template/page_template.mdx
@@ -2,7 +2,7 @@
id: sharedUX/Components/PageTemplate
slug: /shared-ux-components/page_template/page_template
title: Page Template
-summary: A Kibana-specific wrapper around `EuiTemplate`
+description: A Kibana-specific wrapper around `EuiTemplate`
tags: ['shared-ux', 'component']
date: 2022-04-04
---
diff --git a/packages/kbn-shared-ux-services/README.mdx b/packages/kbn-shared-ux-services/README.mdx
index 2ef3040128c87..589aae4cc7ed2 100755
--- a/packages/kbn-shared-ux-services/README.mdx
+++ b/packages/kbn-shared-ux-services/README.mdx
@@ -2,7 +2,7 @@
id: kibSharedUXServices
slug: /kibana-dev-docs/shared-ux/packages/kbn-shared-ux-services
title: Shared UX Services
-summary: The `@kbn/shared-ux-services` package provides a thin service abstraction for components and solutions created by the Shared UX team.
+description: The `@kbn/shared-ux-services` package provides a thin service abstraction for components and solutions created by the Shared UX team.
date: 2022-03-11
tags: ['kibana', 'dev', 'sharedUX']
---
diff --git a/packages/kbn-shared-ux-storybook/README.mdx b/packages/kbn-shared-ux-storybook/README.mdx
index cfebeedcd1ac3..11992e336e627 100644
--- a/packages/kbn-shared-ux-storybook/README.mdx
+++ b/packages/kbn-shared-ux-storybook/README.mdx
@@ -2,7 +2,7 @@
id: kibSharedUXStorybook
slug: /kibana-dev-docs/shared-ux/packages/kbn-shared-ux-storybook
title: Shared UX Storybook
-summary: The `@kbn/shared-ux-storybook` package provides Storybook assets for Shared UX and other teams.
+description: The `@kbn/shared-ux-storybook` package provides Storybook assets for Shared UX and other teams.
date: 2022-03-11
tags: ['kibana', 'dev', 'sharedUX']
---
diff --git a/packages/kbn-shared-ux-utility/README.mdx b/packages/kbn-shared-ux-utility/README.mdx
index a3a3ee965f699..ec91bc4b16ab8 100644
--- a/packages/kbn-shared-ux-utility/README.mdx
+++ b/packages/kbn-shared-ux-utility/README.mdx
@@ -2,7 +2,7 @@
id: kibSharedUXUtility
slug: /kibana-dev-docs/shared-ux/packages/kbn-shared-ux-utility
title: Shared UX Utilities
-summary: The `@kbn/shared-ux-utility` package contains a set of React, DOM and other utilities.
+description: The `@kbn/shared-ux-utility` package contains a set of React, DOM and other utilities.
date: 2022-03-11
tags: ['kibana', 'dev', 'sharedUX']
---
diff --git a/packages/shared-ux/avatar/solution/README.mdx b/packages/shared-ux/avatar/solution/README.mdx
index 841274441f6ed..86f5bed3cc8c2 100644
--- a/packages/shared-ux/avatar/solution/README.mdx
+++ b/packages/shared-ux/avatar/solution/README.mdx
@@ -2,7 +2,7 @@
id: sharedUX/Components/KibanaSolutionAvatar
slug: /shared-ux/components/avatar-solution
title: Solution Avatar
-summary: A wrapper around `EuiAvatar` tailored for use in Kibana solutions.
+description: A wrapper around `EuiAvatar` tailored for use in Kibana solutions.
tags: ['shared-ux', 'component']
date: 2022-05-04
---
diff --git a/packages/shared-ux/button/exit_full_screen/impl/README.mdx b/packages/shared-ux/button/exit_full_screen/impl/README.mdx
index 03a885ba6151c..790cff6a72f23 100644
--- a/packages/shared-ux/button/exit_full_screen/impl/README.mdx
+++ b/packages/shared-ux/button/exit_full_screen/impl/README.mdx
@@ -2,7 +2,7 @@
id: sharedUX/Components/ExitFullScreenButton
slug: /shared-ux/components/exit-full-screen-button
title: Exit Full Screen Button
-summary: A button that floats over the plugin workspace and allows someone to exit "full screen" mode.
+description: A button that floats over the plugin workspace and allows someone to exit "full screen" mode.
tags: ['shared-ux', 'component']
date: 2021-12-28
---
diff --git a/packages/shared-ux/button_toolbar/README.mdx b/packages/shared-ux/button_toolbar/README.mdx
index fb693dab44498..c073ef003cda4 100644
--- a/packages/shared-ux/button_toolbar/README.mdx
+++ b/packages/shared-ux/button_toolbar/README.mdx
@@ -2,7 +2,7 @@
id: sharedUX/ButtonToolbar
slug: /shared-ux/button-toolbar
title: Button Toolbar
-summary:
+description:
tags: ['shared-ux', 'component']
date: 2022-06-14
---
diff --git a/packages/shared-ux/button_toolbar/src/popover/popover.mdx b/packages/shared-ux/button_toolbar/src/popover/popover.mdx
index d1ade51485ae4..dcdeb01de3f04 100644
--- a/packages/shared-ux/button_toolbar/src/popover/popover.mdx
+++ b/packages/shared-ux/button_toolbar/src/popover/popover.mdx
@@ -2,7 +2,7 @@
id: sharedUX/Components/Popover
slug: /shared-ux/components/toolbar/popovers/popover
title: Toolbar Popover
-summary: A popover component that can be placed within a toolbar button.
+description: A popover component that can be placed within a toolbar button.
tags: ['shared-ux', 'component']
date: 2022-03-28
---
diff --git a/packages/shared-ux/card/no_data/impl/README.mdx b/packages/shared-ux/card/no_data/impl/README.mdx
index e2b044c27ac44..02b626fcc700b 100644
--- a/packages/shared-ux/card/no_data/impl/README.mdx
+++ b/packages/shared-ux/card/no_data/impl/README.mdx
@@ -2,7 +2,7 @@
id: sharedUX/Components/NoDataCard
slug: /shared-ux/components/no-data-card
title: No Data Card
-summary: A card displayed when no data is available is available in Kibana.
+description: A card displayed when no data is available is available in Kibana.
tags: ['shared-ux', 'component']
date: 2022-06-15
---
diff --git a/packages/shared-ux/link/redirect_app/impl/README.mdx b/packages/shared-ux/link/redirect_app/impl/README.mdx
index 07d4f75ab764d..337ea5e0d8450 100644
--- a/packages/shared-ux/link/redirect_app/impl/README.mdx
+++ b/packages/shared-ux/link/redirect_app/impl/README.mdx
@@ -2,7 +2,7 @@
id: sharedUX/Components/AppLink
slug: /shared-ux/components/redirect-app-links
title: Redirect App Links
-summary: A component for redirecting links contained within it to the appropriate Kibana solution without a page refresh.
+description: A component for redirecting links contained within it to the appropriate Kibana solution without a page refresh.
tags: ['shared-ux', 'component']
date: 2022-05-04
---
diff --git a/packages/shared-ux/page/analytics_no_data/impl/README.mdx b/packages/shared-ux/page/analytics_no_data/impl/README.mdx
index 6ba0e9298c264..0d5a5bae445ef 100644
--- a/packages/shared-ux/page/analytics_no_data/impl/README.mdx
+++ b/packages/shared-ux/page/analytics_no_data/impl/README.mdx
@@ -2,7 +2,7 @@
id: sharedUX/Page/AnalyticsNoDataPage
slug: /shared-ux/page/analytics-no-data-page
title: Analytics "No Data" Page
-summary: An entire page that can be displayed when Kibana "has no data", specifically for Analytics.
+description: An entire page that can be displayed when Kibana "has no data", specifically for Analytics.
tags: ['shared-ux', 'component']
date: 2021-12-28
---
diff --git a/packages/shared-ux/page/kibana_no_data/impl/README.mdx b/packages/shared-ux/page/kibana_no_data/impl/README.mdx
index afa1bd95c19bd..bc5dc37ac679a 100644
--- a/packages/shared-ux/page/kibana_no_data/impl/README.mdx
+++ b/packages/shared-ux/page/kibana_no_data/impl/README.mdx
@@ -2,7 +2,7 @@
id: sharedUX/Page/KibanaNoDataPage
slug: /shared-ux/page/kibana-no-data
title: Kibana No Data Page
-summary: A page to be displayed when there is no data in Elasticsearch, or no data views.
+description: A page to be displayed when there is no data in Elasticsearch, or no data views.
tags: ['shared-ux', 'component']
date: 2022-04-20
---
diff --git a/packages/shared-ux/page/solution_nav/README.mdx b/packages/shared-ux/page/solution_nav/README.mdx
index abad92c1e4108..6ddd8462237ba 100644
--- a/packages/shared-ux/page/solution_nav/README.mdx
+++ b/packages/shared-ux/page/solution_nav/README.mdx
@@ -2,7 +2,7 @@
id: sharedUX/Page/SolutionNav
slug: /shared-ux/page/solution-nav
title: Solution Page Navigation
-summary: A customized `EuiSideNav` for pages within Solutions in Kibana.
+description: A customized `EuiSideNav` for pages within Solutions in Kibana.
tags: ['shared-ux', 'component']
date: 2022-06-30
---
diff --git a/packages/shared-ux/prompt/no_data_views/impl/README.mdx b/packages/shared-ux/prompt/no_data_views/impl/README.mdx
index a2bc63fed0765..26facfce8d86e 100644
--- a/packages/shared-ux/prompt/no_data_views/impl/README.mdx
+++ b/packages/shared-ux/prompt/no_data_views/impl/README.mdx
@@ -2,7 +2,7 @@
id: sharedUX/Prompt/NoDataViews
slug: /shared-ux/prompt/no-data-views
title: No Data Views Prompt
-summary: A prompt to be displayed when there is data in Elasticsearch, but no data views
+description: A prompt to be displayed when there is data in Elasticsearch, but no data views
tags: ['shared-ux', 'component', 'prompt', 'no-data']
date: 2022-02-09
---
diff --git a/src/core/server/deprecations/README.mdx b/src/core/server/deprecations/README.mdx
index ed542610e753f..2594bd2f0dd6b 100644
--- a/src/core/server/deprecations/README.mdx
+++ b/src/core/server/deprecations/README.mdx
@@ -2,7 +2,7 @@
id: kibCoreDeprecationsService
slug: /kibana-dev-docs/services/deprecations-service
title: Core Deprecations service
-summary: The Deprecations service helps surface deprecated configs and features for plugins to our users
+description: The Deprecations service helps surface deprecated configs and features for plugins to our users
date: 2021-06-27
tags: ['kibana','dev', 'contributor', 'api docs']
---
diff --git a/src/core/server/logging/README.mdx b/src/core/server/logging/README.mdx
index 11437d1e8df20..9b3cf8f77e24e 100644
--- a/src/core/server/logging/README.mdx
+++ b/src/core/server/logging/README.mdx
@@ -3,7 +3,7 @@ id: kibCoreLogging
slug: /kibana-dev-docs/services/logging
title: Logging system
image: https://source.unsplash.com/400x175/?Logging
-summary: Core logging contains the system and service for Kibana logs.
+description: Core logging contains the system and service for Kibana logs.
date: 2020-12-02
tags: ['kibana','dev', 'contributor', 'api docs']
---
diff --git a/src/plugins/controls/README.mdx b/src/plugins/controls/README.mdx
index 46ba1ed3ba9e7..d6805e814e7ff 100644
--- a/src/plugins/controls/README.mdx
+++ b/src/plugins/controls/README.mdx
@@ -2,7 +2,7 @@
id: controls
slug: /kibana-dev-docs/controls
title: Controls Plugin
-summary: Introduction to the Controls Plugin.
+description: Introduction to the Controls Plugin.
date: 2020-01-12
tags: ['kibana', 'controls', 'dashboard']
related: []
diff --git a/src/plugins/data/README.mdx b/src/plugins/data/README.mdx
index a8cb06ff9e60b..ca1bd6fd98954 100644
--- a/src/plugins/data/README.mdx
+++ b/src/plugins/data/README.mdx
@@ -3,7 +3,7 @@ id: kibDataPlugin
slug: /kibana-dev-docs/key-concepts/data-plugin
title: Data services
image: https://source.unsplash.com/400x175/?Search
-summary: The data plugin contains services for searching, querying and filtering.
+description: The data plugin contains services for searching, querying and filtering.
date: 2020-12-02
tags: ['kibana', 'dev', 'contributor', 'api docs']
---
diff --git a/src/plugins/data_views/README.mdx b/src/plugins/data_views/README.mdx
index 7fdd435db746e..6d2ef4c97bb33 100644
--- a/src/plugins/data_views/README.mdx
+++ b/src/plugins/data_views/README.mdx
@@ -3,7 +3,7 @@ id: kibDataPlugin
slug: /kibana-dev-docs/services/data-plugin
title: Data services
image: https://source.unsplash.com/400x175/?Search
-summary: The data plugin contains services for searching, querying and filtering.
+description: The data plugin contains services for searching, querying and filtering.
date: 2020-12-02
tags: ['kibana', 'dev', 'contributor', 'api docs']
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/default_value.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/default_value.mdx
index 5e03d6ad16528..be5dc8034d039 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/default_value.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/default_value.mdx
@@ -2,7 +2,7 @@
id: formLibCoreDefaultValue
slug: /form-lib/core/default-value
title: Default value
-summary: Initiate a field with the correct value
+description: Initiate a field with the correct value
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/field_hook.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/field_hook.mdx
index c7be88c4336a6..8532a1857871c 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/field_hook.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/field_hook.mdx
@@ -2,7 +2,7 @@
id: formLibCoreFieldHook
slug: /form-lib/core/field-hook
title: Field hook
-summary: You don't manually create them but you'll get all the love from them
+description: You don't manually create them but you'll get all the love from them
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/form_component.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/form_component.mdx
index df479b5c72f37..db642ef846fca 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/form_component.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/form_component.mdx
@@ -2,7 +2,7 @@
id: formLibCoreFormComponent
slug: /form-lib/core/form-component
title:
-summary: The boundary of your form
+description: The boundary of your form
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/form_hook.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/form_hook.mdx
index 46fac236123fd..824f9f6671384 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/form_hook.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/form_hook.mdx
@@ -2,7 +2,7 @@
id: formLibCoreFormHook
slug: /form-lib/core/form-hook
title: Form hook
-summary: The heart of the lib; It manages your fields so you don't have to
+description: The heart of the lib; It manages your fields so you don't have to
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/fundamentals.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/fundamentals.mdx
index c168cb4115bc2..4276519c54e87 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/fundamentals.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/fundamentals.mdx
@@ -2,7 +2,7 @@
id: formLibCoreFundamentals
slug: /form-lib/core/fundamentals
title: Fundamentals
-summary: Let's understand the basics
+description: Let's understand the basics
tags: ['forms', 'kibana', 'dev']
date: 2022-03-18
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/use_array.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/use_array.mdx
index b92880fdf806d..ca849fd067ccb 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/use_array.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/use_array.mdx
@@ -2,7 +2,7 @@
id: formLibCoreUseArray
slug: /form-lib/core/use-array
title:
-summary: The perfect companion to generate dynamic fields
+description: The perfect companion to generate dynamic fields
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/use_behavior_subject.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/use_behavior_subject.mdx
index f7eca9c360ac4..40190343f5bfe 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/use_behavior_subject.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/use_behavior_subject.mdx
@@ -2,7 +2,7 @@
id: formLibCoreUseBehaviorSubject
slug: /form-lib/utils/use-behavior-subject
title: useBehaviorSubject()
-summary: Util to create a rxjs BehaviorSubject with a handler to change its value
+description: Util to create a rxjs BehaviorSubject with a handler to change its value
tags: ['forms', 'kibana', 'dev']
date: 2021-08-20
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/use_field.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/use_field.mdx
index dd073e0b38d1f..d5729dc778816 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/use_field.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/use_field.mdx
@@ -2,7 +2,7 @@
id: formLibCoreUseField
slug: /form-lib/core/use-field
title:
-summary: Drop it anywhere in your and see the magic happen
+description: Drop it anywhere in your and see the magic happen
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/use_form_data.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/use_form_data.mdx
index 0deb449591871..2e5f628a86370 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/use_form_data.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/use_form_data.mdx
@@ -2,7 +2,7 @@
id: formLibCoreUseFormData
slug: /form-lib/core/use-form-data
title: useFormData()
-summary: Get fields value updates from anywhere
+description: Get fields value updates from anywhere
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/use_form_hook.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/use_form_hook.mdx
index 21c77afd6dbce..82cd0c88834a3 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/use_form_hook.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/use_form_hook.mdx
@@ -2,7 +2,7 @@
id: formLibCoreUseForm
slug: /form-lib/core/use-form
title: useForm()
-summary: The only hook you'll need to declare a new form
+description: The only hook you'll need to declare a new form
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/use_form_is_modified.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/use_form_is_modified.mdx
index d90b9100a04af..d7c0603cc07c5 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/use_form_is_modified.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/use_form_is_modified.mdx
@@ -2,7 +2,7 @@
id: formLibCoreUseFormIsModified
slug: /form-lib/core/use-form-is-modified
title: useFormIsModified()
-summary: Know when your form has been modified by the user
+description: Know when your form has been modified by the user
tags: ['forms', 'kibana', 'dev']
date: 2022-03-18
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/core/use_multi_fields.mdx b/src/plugins/es_ui_shared/static/forms/docs/core/use_multi_fields.mdx
index 2a16b8e878be8..281db05d5f1a6 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/core/use_multi_fields.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/core/use_multi_fields.mdx
@@ -2,7 +2,7 @@
id: formLibCoreUseMultiFields
slug: /form-lib/core/use-multi-fields
title:
-summary: Because sometimes you need more than one field
+description: Because sometimes you need more than one field
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/examples/dynamic_fields.mdx b/src/plugins/es_ui_shared/static/forms/docs/examples/dynamic_fields.mdx
index f2525d5a16fba..82516423424f6 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/examples/dynamic_fields.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/examples/dynamic_fields.mdx
@@ -2,7 +2,7 @@
id: formLibExampleDynamicFields
slug: /form-lib/examples/dynamic-fields
title: Dynamic fields
-summary: Let the user add any number of fields on the fly
+description: Let the user add any number of fields on the fly
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/examples/fields_composition.mdx b/src/plugins/es_ui_shared/static/forms/docs/examples/fields_composition.mdx
index 260908f94a790..7e7cce5e81332 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/examples/fields_composition.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/examples/fields_composition.mdx
@@ -2,7 +2,7 @@
id: formLibExampleFieldsComposition
slug: /form-lib/examples/fields-composition
title: Fields composition
-summary: Be DRY and compose your form
+description: Be DRY and compose your form
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/examples/listening_to_changes.mdx b/src/plugins/es_ui_shared/static/forms/docs/examples/listening_to_changes.mdx
index c99184f5a5c0e..6574a7ca4e2d1 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/examples/listening_to_changes.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/examples/listening_to_changes.mdx
@@ -2,7 +2,7 @@
id: formLibExampleListeningToChanges
slug: /form-lib/examples/listening-to-changes
title: Listening to changes
-summary: React to changes deep down the tree
+description: React to changes deep down the tree
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/examples/serializers_deserializers.mdx b/src/plugins/es_ui_shared/static/forms/docs/examples/serializers_deserializers.mdx
index 393711b393e0f..dd3b402e85e3f 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/examples/serializers_deserializers.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/examples/serializers_deserializers.mdx
@@ -2,7 +2,7 @@
id: formLibExampleSerializersDeserializers
slug: /form-lib/examples/serializers-deserializers
title: Serializers & Deserializers
-summary: No need for a 1:1 map of your API with your form fields, be creative!
+description: No need for a 1:1 map of your API with your form fields, be creative!
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/examples/style_fields.mdx b/src/plugins/es_ui_shared/static/forms/docs/examples/style_fields.mdx
index db7c98772eddb..81ed07ffd5daf 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/examples/style_fields.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/examples/style_fields.mdx
@@ -2,7 +2,7 @@
id: formLibExampleStyleFields
slug: /form-lib/examples/styles-fields
title: Style fields
-summary: Customize your fields however you want
+description: Customize your fields however you want
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/examples/validation.mdx b/src/plugins/es_ui_shared/static/forms/docs/examples/validation.mdx
index 0f4e9617d9af3..c45cae8602f19 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/examples/validation.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/examples/validation.mdx
@@ -2,7 +2,7 @@
id: formLibExampleValidation
slug: /form-lib/examples/validation
title: Validation
-summary: Don't let invalid data leak out of your form!
+description: Don't let invalid data leak out of your form!
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/helpers/components.mdx b/src/plugins/es_ui_shared/static/forms/docs/helpers/components.mdx
index 1b35e41a98739..97ea955aaecb1 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/helpers/components.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/helpers/components.mdx
@@ -2,7 +2,7 @@
id: formLibHelpersComponents
slug: /form-lib/helpers/components
title: Components
-summary: Build complex forms the easy way
+description: Build complex forms the easy way
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/helpers/validators.mdx b/src/plugins/es_ui_shared/static/forms/docs/helpers/validators.mdx
index aba2d6dffb1ba..7fbe4c4e38dc3 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/helpers/validators.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/helpers/validators.mdx
@@ -2,7 +2,7 @@
id: formLibHelpersValidators
slug: /form-lib/helpers/validators
title: Validators
-summary: Build complex forms the easy way
+description: Build complex forms the easy way
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/es_ui_shared/static/forms/docs/welcome.mdx b/src/plugins/es_ui_shared/static/forms/docs/welcome.mdx
index 2d1156f403bff..8a356868e49c2 100644
--- a/src/plugins/es_ui_shared/static/forms/docs/welcome.mdx
+++ b/src/plugins/es_ui_shared/static/forms/docs/welcome.mdx
@@ -2,7 +2,7 @@
id: formLibWelcome
slug: /form-lib/welcome
title: Welcome
-summary: Build complex forms the easy way
+description: Build complex forms the easy way
tags: ['forms', 'kibana', 'dev']
date: 2021-04-14
---
diff --git a/src/plugins/presentation_util/README.mdx b/src/plugins/presentation_util/README.mdx
index 2cbb03232b9dd..2fc73204db4e1 100755
--- a/src/plugins/presentation_util/README.mdx
+++ b/src/plugins/presentation_util/README.mdx
@@ -2,7 +2,7 @@
id: presentationUtilPlugin
slug: /kibana-dev-docs/presentationPlugin
title: Presentation Utility Plugin
-summary: Introduction to the Presentation Utility Plugin.
+description: Introduction to the Presentation Utility Plugin.
date: 2020-01-12
tags: ['kibana', 'presentation', 'services']
related: []
diff --git a/src/plugins/share/README.mdx b/src/plugins/share/README.mdx
index 1a1fef0587812..bb4433b54b480 100644
--- a/src/plugins/share/README.mdx
+++ b/src/plugins/share/README.mdx
@@ -2,7 +2,7 @@
id: kibDevSharePluginReadme
slug: /kibana-dev-docs/tutorials/share
title: Kibana share Plugin
-summary: Introduction to Kibana "share" plugin services (sharing popup menu, URL locators, and short URLs).
+description: Introduction to Kibana "share" plugin services (sharing popup menu, URL locators, and short URLs).
date: 2022-02-21
tags: ['kibana', 'onboarding', 'dev', 'tutorials', 'share', 'url', 'short-url', 'locator']
---
diff --git a/src/plugins/shared_ux/docs/about.mdx b/src/plugins/shared_ux/docs/about.mdx
index a31a9b99195f2..213ce774be217 100644
--- a/src/plugins/shared_ux/docs/about.mdx
+++ b/src/plugins/shared_ux/docs/about.mdx
@@ -2,7 +2,7 @@
id: sharedUX/About
slug: /shared-ux/about
title: About Shared UX
-summary: .
+description: .
date: 2021-01-05
tags: ['shared-ux']
---
diff --git a/src/plugins/usage_collection/README.mdx b/src/plugins/usage_collection/README.mdx
index 03d8f7badb8c2..a703a3de00820 100644
--- a/src/plugins/usage_collection/README.mdx
+++ b/src/plugins/usage_collection/README.mdx
@@ -2,7 +2,7 @@
id: kibUsageCollectionPlugin
slug: /kibana-dev-docs/key-concepts/usage-collection-plugin
title: Usage collection service
-summary: The Usage Collection Service defines a set of APIs for other plugins to report the usage of their features.
+description: The Usage Collection Service defines a set of APIs for other plugins to report the usage of their features.
date: 2021-02-24
tags: ['kibana','dev', 'contributor', 'api docs']
---
diff --git a/x-pack/plugins/canvas/PLUGINS.mdx b/x-pack/plugins/canvas/PLUGINS.mdx
index 77fe65f864607..c0e0bc9c92f5a 100644
--- a/x-pack/plugins/canvas/PLUGINS.mdx
+++ b/x-pack/plugins/canvas/PLUGINS.mdx
@@ -2,7 +2,7 @@
id: canvasPlugins
slug: /playground/kibana/canvas-plugins
title: Develop Canvas plugins
-summary: Introduction to
+description: Introduction to
date: 2021-02-18
tags: ['kibana', 'canvas', 'plugins']
related: []
diff --git a/x-pack/plugins/canvas/shareable_runtime/README.mdx b/x-pack/plugins/canvas/shareable_runtime/README.mdx
index a9d58bb3833d9..07fbe7af27825 100644
--- a/x-pack/plugins/canvas/shareable_runtime/README.mdx
+++ b/x-pack/plugins/canvas/shareable_runtime/README.mdx
@@ -2,7 +2,7 @@
id: canvasShareableWorkpads
slug: /playground/kibana/canvas-shareable-workpads
title: Share a Canvas Workpad on a Website
-summary: How to share a static snapshot of a workpad on an external website.
+description: How to share a static snapshot of a workpad on an external website.
date: 2021-02-18
tags: ['kibana', 'canvas', 'share']
related: []
From 138621090e24322e2a667d6ff6b3b747ffbdefb9 Mon Sep 17 00:00:00 2001
From: Matthew Kime
Date: Wed, 10 Aug 2022 17:29:42 -0500
Subject: [PATCH 31/49] [data views] Fix allowNoIndex on field refresh
(#138328)
* fix allow no index on field refresh
---
.../common/data_views/data_views.test.ts | 30 ++++++++++++++++---
.../common/data_views/data_views.ts | 1 +
2 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/src/plugins/data_views/common/data_views/data_views.test.ts b/src/plugins/data_views/common/data_views/data_views.test.ts
index a823e54665709..fcf60947db758 100644
--- a/src/plugins/data_views/common/data_views/data_views.test.ts
+++ b/src/plugins/data_views/common/data_views/data_views.test.ts
@@ -21,7 +21,7 @@ import { stubbedSavedObjectIndexPattern } from '../data_view.stub';
const createFieldsFetcher = () =>
({
- getFieldsForWildcard: () => [],
+ getFieldsForWildcard: jest.fn(async () => []),
} as any as IDataViewsApiClient);
const fieldFormats = fieldFormatsMock;
@@ -56,6 +56,7 @@ describe('IndexPatterns', () => {
let indexPatternsNoAccess: DataViewsService;
let savedObjectsClient: SavedObjectsClientCommon;
let SOClientGetDelay = 0;
+ let apiClient: IDataViewsApiClient;
const uiSettings = {
get: () => Promise.resolve(false),
getAll: () => {},
@@ -97,10 +98,12 @@ describe('IndexPatterns', () => {
};
});
+ apiClient = createFieldsFetcher();
+
indexPatterns = new DataViewsService({
uiSettings,
savedObjectsClient: savedObjectsClient as unknown as SavedObjectsClientCommon,
- apiClient: createFieldsFetcher(),
+ apiClient,
fieldFormats,
onNotification: () => {},
onError: () => {},
@@ -112,7 +115,7 @@ describe('IndexPatterns', () => {
indexPatternsNoAccess = new DataViewsService({
uiSettings,
savedObjectsClient: savedObjectsClient as unknown as SavedObjectsClientCommon,
- apiClient: createFieldsFetcher(),
+ apiClient,
fieldFormats,
onNotification: () => {},
onError: () => {},
@@ -441,6 +444,13 @@ describe('IndexPatterns', () => {
expect(defaultDataViewResult?.id).toBe('id1');
expect(uiSettings.set).toBeCalledTimes(0);
});
+ });
+
+ describe('refreshFields', () => {
+ beforeEach(() => {
+ // preserve mocked functionality
+ jest.clearAllMocks();
+ });
test('refreshFields includes runtimeFields', async () => {
const indexPatternSpec: DataViewSpec = {
@@ -455,10 +465,22 @@ describe('IndexPatterns', () => {
title: 'test',
};
+ const indexPattern = await indexPatterns.create(indexPatternSpec);
+ await indexPatterns.refreshFields(indexPattern);
+ expect(indexPattern.fields.length).toBe(1);
+ });
+
+ test('refreshFields properly includes allowNoIndex', async () => {
+ const indexPatternSpec: DataViewSpec = {
+ allowNoIndex: true,
+ title: 'test',
+ };
+
const indexPattern = await indexPatterns.create(indexPatternSpec);
indexPatterns.refreshFields(indexPattern);
- expect(indexPattern.fields.length).toBe(1);
+ // @ts-expect-error
+ expect(apiClient.getFieldsForWildcard.mock.calls[0][0].allowNoIndex).toBe(true);
});
});
});
diff --git a/src/plugins/data_views/common/data_views/data_views.ts b/src/plugins/data_views/common/data_views/data_views.ts
index c6782e82abc34..aca409ea08624 100644
--- a/src/plugins/data_views/common/data_views/data_views.ts
+++ b/src/plugins/data_views/common/data_views/data_views.ts
@@ -500,6 +500,7 @@ export class DataViewsService {
this.getFieldsForWildcard({
type: indexPattern.type,
rollupIndex: indexPattern?.typeMeta?.params?.rollup_index,
+ allowNoIndex: indexPattern.allowNoIndex,
...options,
pattern: indexPattern.title as string,
});
From e0b822fd461fc6466ee634f275f4425c4eabde88 Mon Sep 17 00:00:00 2001
From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Date: Wed, 10 Aug 2022 19:10:09 -0400
Subject: [PATCH 32/49] [api-docs] Daily api_docs build (#138577)
---
api_docs/actions.mdx | 7 +-
api_docs/advanced_settings.mdx | 7 +-
api_docs/aiops.mdx | 7 +-
api_docs/alerting.mdx | 7 +-
api_docs/apm.mdx | 7 +-
api_docs/banners.mdx | 7 +-
api_docs/bfetch.mdx | 7 +-
api_docs/canvas.mdx | 7 +-
api_docs/cases.mdx | 7 +-
api_docs/charts.mdx | 7 +-
api_docs/cloud.mdx | 7 +-
api_docs/cloud_security_posture.mdx | 7 +-
api_docs/console.mdx | 7 +-
api_docs/controls.mdx | 7 +-
api_docs/core.mdx | 7 +-
api_docs/core_application.mdx | 7 +-
api_docs/core_chrome.mdx | 7 +-
api_docs/core_saved_objects.mdx | 7 +-
api_docs/custom_integrations.mdx | 7 +-
api_docs/dashboard.devdocs.json | 76 ++++++
api_docs/dashboard.mdx | 9 +-
api_docs/dashboard_enhanced.mdx | 7 +-
api_docs/data.mdx | 7 +-
api_docs/data_query.mdx | 7 +-
api_docs/data_search.mdx | 7 +-
api_docs/data_view_editor.mdx | 7 +-
api_docs/data_view_field_editor.mdx | 7 +-
api_docs/data_view_management.mdx | 7 +-
api_docs/data_views.mdx | 7 +-
api_docs/data_visualizer.mdx | 7 +-
api_docs/deprecations_by_api.mdx | 9 +-
api_docs/deprecations_by_plugin.mdx | 7 +-
api_docs/deprecations_by_team.mdx | 7 +-
api_docs/dev_tools.mdx | 7 +-
api_docs/discover.mdx | 7 +-
api_docs/discover_enhanced.mdx | 7 +-
api_docs/elastic_apm_synthtrace.mdx | 7 +-
api_docs/embeddable.devdocs.json | 92 ++++++++
api_docs/embeddable.mdx | 9 +-
api_docs/embeddable_enhanced.mdx | 7 +-
api_docs/encrypted_saved_objects.mdx | 7 +-
api_docs/enterprise_search.mdx | 7 +-
api_docs/es_ui_shared.mdx | 7 +-
api_docs/event_annotation.mdx | 7 +-
api_docs/event_log.mdx | 7 +-
api_docs/expression_error.mdx | 7 +-
api_docs/expression_gauge.mdx | 7 +-
api_docs/expression_heatmap.mdx | 7 +-
api_docs/expression_image.mdx | 7 +-
api_docs/expression_legacy_metric_vis.mdx | 7 +-
api_docs/expression_metric.mdx | 7 +-
api_docs/expression_metric_vis.mdx | 7 +-
api_docs/expression_partition_vis.mdx | 7 +-
api_docs/expression_repeat_image.mdx | 7 +-
api_docs/expression_reveal_image.mdx | 7 +-
api_docs/expression_shape.mdx | 7 +-
api_docs/expression_tagcloud.mdx | 7 +-
api_docs/expression_x_y.mdx | 7 +-
api_docs/expressions.mdx | 7 +-
api_docs/features.mdx | 7 +-
api_docs/field_formats.mdx | 7 +-
api_docs/file_upload.mdx | 7 +-
api_docs/fleet.mdx | 7 +-
api_docs/global_search.mdx | 7 +-
api_docs/home.mdx | 7 +-
api_docs/index_lifecycle_management.mdx | 7 +-
api_docs/index_management.mdx | 7 +-
api_docs/infra.mdx | 7 +-
api_docs/inspector.mdx | 7 +-
api_docs/interactive_setup.mdx | 7 +-
api_docs/kbn_ace.mdx | 7 +-
api_docs/kbn_aiops_components.mdx | 7 +-
api_docs/kbn_aiops_utils.mdx | 7 +-
api_docs/kbn_alerts.mdx | 7 +-
api_docs/kbn_analytics.mdx | 7 +-
api_docs/kbn_analytics_client.mdx | 7 +-
..._analytics_shippers_elastic_v3_browser.mdx | 7 +-
...n_analytics_shippers_elastic_v3_common.mdx | 7 +-
...n_analytics_shippers_elastic_v3_server.mdx | 7 +-
api_docs/kbn_analytics_shippers_fullstory.mdx | 7 +-
api_docs/kbn_apm_config_loader.mdx | 7 +-
api_docs/kbn_apm_utils.mdx | 7 +-
api_docs/kbn_axe_config.mdx | 7 +-
api_docs/kbn_bazel_packages.mdx | 7 +-
api_docs/kbn_ci_stats_core.mdx | 7 +-
api_docs/kbn_ci_stats_performance_metrics.mdx | 7 +-
api_docs/kbn_ci_stats_reporter.mdx | 7 +-
api_docs/kbn_cli_dev_mode.mdx | 7 +-
api_docs/kbn_coloring.mdx | 7 +-
api_docs/kbn_config.mdx | 7 +-
api_docs/kbn_config_mocks.mdx | 7 +-
api_docs/kbn_config_schema.mdx | 7 +-
api_docs/kbn_core_analytics_browser.mdx | 7 +-
.../kbn_core_analytics_browser_internal.mdx | 7 +-
api_docs/kbn_core_analytics_browser_mocks.mdx | 7 +-
api_docs/kbn_core_analytics_server.mdx | 7 +-
.../kbn_core_analytics_server_internal.mdx | 7 +-
api_docs/kbn_core_analytics_server_mocks.mdx | 7 +-
api_docs/kbn_core_base_browser_mocks.mdx | 7 +-
api_docs/kbn_core_base_common.mdx | 7 +-
api_docs/kbn_core_base_server_internal.mdx | 7 +-
api_docs/kbn_core_base_server_mocks.mdx | 7 +-
api_docs/kbn_core_capabilities_common.mdx | 7 +-
api_docs/kbn_core_capabilities_server.mdx | 7 +-
.../kbn_core_capabilities_server_mocks.mdx | 7 +-
api_docs/kbn_core_config_server_internal.mdx | 7 +-
api_docs/kbn_core_deprecations_browser.mdx | 7 +-
...kbn_core_deprecations_browser_internal.mdx | 7 +-
.../kbn_core_deprecations_browser_mocks.mdx | 7 +-
api_docs/kbn_core_deprecations_common.mdx | 7 +-
api_docs/kbn_core_doc_links_browser.mdx | 7 +-
api_docs/kbn_core_doc_links_browser_mocks.mdx | 7 +-
api_docs/kbn_core_doc_links_server.mdx | 7 +-
api_docs/kbn_core_doc_links_server_mocks.mdx | 7 +-
...e_elasticsearch_client_server_internal.mdx | 7 +-
...core_elasticsearch_client_server_mocks.mdx | 7 +-
api_docs/kbn_core_elasticsearch_server.mdx | 7 +-
...kbn_core_elasticsearch_server_internal.mdx | 7 +-
.../kbn_core_elasticsearch_server_mocks.mdx | 7 +-
.../kbn_core_environment_server_internal.mdx | 7 +-
.../kbn_core_environment_server_mocks.mdx | 7 +-
.../kbn_core_execution_context_browser.mdx | 7 +-
...ore_execution_context_browser_internal.mdx | 7 +-
...n_core_execution_context_browser_mocks.mdx | 7 +-
.../kbn_core_execution_context_common.mdx | 7 +-
.../kbn_core_execution_context_server.mdx | 7 +-
...core_execution_context_server_internal.mdx | 7 +-
...bn_core_execution_context_server_mocks.mdx | 7 +-
api_docs/kbn_core_fatal_errors_browser.mdx | 7 +-
.../kbn_core_fatal_errors_browser_mocks.mdx | 7 +-
api_docs/kbn_core_http_browser.mdx | 7 +-
api_docs/kbn_core_http_browser_internal.mdx | 7 +-
api_docs/kbn_core_http_browser_mocks.mdx | 7 +-
api_docs/kbn_core_http_common.mdx | 7 +-
.../kbn_core_http_context_server_mocks.mdx | 7 +-
.../kbn_core_http_router_server_internal.mdx | 7 +-
.../kbn_core_http_router_server_mocks.mdx | 7 +-
api_docs/kbn_core_http_server.mdx | 7 +-
api_docs/kbn_core_http_server_internal.mdx | 7 +-
api_docs/kbn_core_http_server_mocks.mdx | 7 +-
api_docs/kbn_core_i18n_browser.mdx | 7 +-
api_docs/kbn_core_i18n_browser_mocks.mdx | 7 +-
.../kbn_core_injected_metadata_browser.mdx | 7 +-
...n_core_injected_metadata_browser_mocks.mdx | 7 +-
...kbn_core_integrations_browser_internal.mdx | 7 +-
.../kbn_core_integrations_browser_mocks.mdx | 7 +-
api_docs/kbn_core_logging_server.mdx | 7 +-
api_docs/kbn_core_logging_server_internal.mdx | 7 +-
api_docs/kbn_core_logging_server_mocks.mdx | 7 +-
...ore_metrics_collectors_server_internal.mdx | 7 +-
...n_core_metrics_collectors_server_mocks.mdx | 7 +-
api_docs/kbn_core_metrics_server.mdx | 7 +-
api_docs/kbn_core_metrics_server_internal.mdx | 7 +-
api_docs/kbn_core_metrics_server_mocks.mdx | 7 +-
api_docs/kbn_core_mount_utils_browser.mdx | 7 +-
.../kbn_core_mount_utils_browser_internal.mdx | 7 +-
api_docs/kbn_core_node_server.mdx | 7 +-
api_docs/kbn_core_node_server_internal.mdx | 7 +-
api_docs/kbn_core_node_server_mocks.mdx | 7 +-
api_docs/kbn_core_notifications_browser.mdx | 7 +-
...bn_core_notifications_browser_internal.mdx | 7 +-
.../kbn_core_notifications_browser_mocks.mdx | 7 +-
api_docs/kbn_core_overlays_browser.mdx | 7 +-
.../kbn_core_overlays_browser_internal.mdx | 7 +-
api_docs/kbn_core_overlays_browser_mocks.mdx | 7 +-
api_docs/kbn_core_preboot_server.mdx | 7 +-
api_docs/kbn_core_preboot_server_mocks.mdx | 7 +-
.../kbn_core_saved_objects_api_browser.mdx | 7 +-
.../kbn_core_saved_objects_api_server.mdx | 7 +-
api_docs/kbn_core_saved_objects_browser.mdx | 7 +-
...bn_core_saved_objects_browser_internal.mdx | 7 +-
.../kbn_core_saved_objects_browser_mocks.mdx | 7 +-
api_docs/kbn_core_saved_objects_common.mdx | 7 +-
api_docs/kbn_core_saved_objects_server.mdx | 7 +-
...core_test_helpers_deprecations_getters.mdx | 7 +-
...n_core_test_helpers_http_setup_browser.mdx | 7 +-
api_docs/kbn_core_theme_browser.mdx | 7 +-
api_docs/kbn_core_theme_browser_internal.mdx | 7 +-
api_docs/kbn_core_theme_browser_mocks.mdx | 7 +-
api_docs/kbn_core_ui_settings_browser.mdx | 7 +-
.../kbn_core_ui_settings_browser_internal.mdx | 7 +-
.../kbn_core_ui_settings_browser_mocks.mdx | 7 +-
api_docs/kbn_core_ui_settings_common.mdx | 7 +-
api_docs/kbn_crypto.mdx | 7 +-
api_docs/kbn_crypto_browser.mdx | 7 +-
api_docs/kbn_datemath.mdx | 7 +-
api_docs/kbn_dev_cli_errors.mdx | 7 +-
api_docs/kbn_dev_cli_runner.mdx | 7 +-
api_docs/kbn_dev_proc_runner.mdx | 7 +-
api_docs/kbn_dev_utils.mdx | 7 +-
api_docs/kbn_doc_links.mdx | 7 +-
api_docs/kbn_docs_utils.mdx | 7 +-
api_docs/kbn_ebt_tools.mdx | 7 +-
api_docs/kbn_es_archiver.mdx | 7 +-
api_docs/kbn_es_errors.mdx | 7 +-
api_docs/kbn_es_query.mdx | 7 +-
api_docs/kbn_eslint_plugin_imports.mdx | 7 +-
api_docs/kbn_field_types.mdx | 7 +-
api_docs/kbn_find_used_node_modules.mdx | 7 +-
api_docs/kbn_generate.mdx | 7 +-
api_docs/kbn_get_repo_files.mdx | 7 +-
api_docs/kbn_handlebars.mdx | 7 +-
api_docs/kbn_hapi_mocks.mdx | 7 +-
api_docs/kbn_home_sample_data_card.mdx | 7 +-
api_docs/kbn_home_sample_data_tab.mdx | 7 +-
api_docs/kbn_i18n.mdx | 7 +-
api_docs/kbn_import_resolver.mdx | 7 +-
api_docs/kbn_interpreter.mdx | 7 +-
api_docs/kbn_io_ts_utils.mdx | 7 +-
api_docs/kbn_jest_serializers.mdx | 7 +-
api_docs/kbn_kibana_manifest_parser.mdx | 7 +-
api_docs/kbn_kibana_manifest_schema.mdx | 7 +-
api_docs/kbn_logging.mdx | 7 +-
api_docs/kbn_logging_mocks.mdx | 7 +-
api_docs/kbn_managed_vscode_config.mdx | 7 +-
api_docs/kbn_mapbox_gl.mdx | 7 +-
api_docs/kbn_ml_agg_utils.mdx | 7 +-
api_docs/kbn_ml_is_populated_object.mdx | 7 +-
api_docs/kbn_ml_string_hash.mdx | 7 +-
api_docs/kbn_monaco.mdx | 7 +-
api_docs/kbn_optimizer.mdx | 7 +-
api_docs/kbn_optimizer_webpack_helpers.mdx | 7 +-
..._performance_testing_dataset_extractor.mdx | 7 +-
api_docs/kbn_plugin_generator.mdx | 7 +-
api_docs/kbn_plugin_helpers.mdx | 7 +-
api_docs/kbn_react_field.mdx | 7 +-
api_docs/kbn_repo_source_classifier.mdx | 7 +-
api_docs/kbn_rule_data_utils.mdx | 7 +-
.../kbn_securitysolution_autocomplete.mdx | 7 +-
api_docs/kbn_securitysolution_es_utils.mdx | 7 +-
api_docs/kbn_securitysolution_hook_utils.mdx | 7 +-
..._securitysolution_io_ts_alerting_types.mdx | 7 +-
.../kbn_securitysolution_io_ts_list_types.mdx | 7 +-
api_docs/kbn_securitysolution_io_ts_types.mdx | 7 +-
api_docs/kbn_securitysolution_io_ts_utils.mdx | 7 +-
...kbn_securitysolution_list_api.devdocs.json | 30 ++-
api_docs/kbn_securitysolution_list_api.mdx | 9 +-
.../kbn_securitysolution_list_constants.mdx | 7 +-
api_docs/kbn_securitysolution_list_hooks.mdx | 7 +-
api_docs/kbn_securitysolution_list_utils.mdx | 7 +-
api_docs/kbn_securitysolution_rules.mdx | 7 +-
api_docs/kbn_securitysolution_t_grid.mdx | 7 +-
api_docs/kbn_securitysolution_utils.mdx | 7 +-
api_docs/kbn_server_http_tools.mdx | 7 +-
api_docs/kbn_server_route_repository.mdx | 7 +-
api_docs/kbn_shared_svg.mdx | 7 +-
...hared_ux_button_exit_full_screen_mocks.mdx | 7 +-
api_docs/kbn_shared_ux_button_toolbar.mdx | 7 +-
api_docs/kbn_shared_ux_card_no_data.mdx | 7 +-
api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 7 +-
api_docs/kbn_shared_ux_components.mdx | 7 +-
.../kbn_shared_ux_link_redirect_app_mocks.mdx | 7 +-
.../kbn_shared_ux_page_analytics_no_data.mdx | 7 +-
...shared_ux_page_analytics_no_data_mocks.mdx | 7 +-
.../kbn_shared_ux_page_kibana_no_data.mdx | 7 +-
...bn_shared_ux_page_kibana_no_data_mocks.mdx | 7 +-
api_docs/kbn_shared_ux_page_solution_nav.mdx | 7 +-
.../kbn_shared_ux_prompt_no_data_views.mdx | 7 +-
...n_shared_ux_prompt_no_data_views_mocks.mdx | 7 +-
api_docs/kbn_shared_ux_services.mdx | 7 +-
api_docs/kbn_shared_ux_storybook.mdx | 7 +-
api_docs/kbn_shared_ux_storybook_mock.mdx | 7 +-
api_docs/kbn_shared_ux_utility.mdx | 7 +-
api_docs/kbn_some_dev_log.mdx | 7 +-
api_docs/kbn_sort_package_json.mdx | 7 +-
api_docs/kbn_std.mdx | 7 +-
api_docs/kbn_stdio_dev_helpers.mdx | 7 +-
api_docs/kbn_storybook.mdx | 7 +-
api_docs/kbn_telemetry_tools.mdx | 7 +-
api_docs/kbn_test.mdx | 7 +-
api_docs/kbn_test_jest_helpers.mdx | 7 +-
api_docs/kbn_tooling_log.mdx | 7 +-
api_docs/kbn_type_summarizer.mdx | 7 +-
api_docs/kbn_type_summarizer_core.mdx | 7 +-
api_docs/kbn_typed_react_router_config.mdx | 7 +-
api_docs/kbn_ui_theme.mdx | 7 +-
api_docs/kbn_user_profile_components.mdx | 7 +-
api_docs/kbn_utility_types.mdx | 7 +-
api_docs/kbn_utility_types_jest.mdx | 7 +-
api_docs/kbn_utils.mdx | 7 +-
api_docs/kbn_yarn_lock_validator.mdx | 7 +-
api_docs/kibana_overview.mdx | 7 +-
api_docs/kibana_react.mdx | 7 +-
api_docs/kibana_utils.mdx | 7 +-
api_docs/kubernetes_security.mdx | 7 +-
api_docs/lens.devdocs.json | 50 ++++
api_docs/lens.mdx | 9 +-
api_docs/license_api_guard.mdx | 7 +-
api_docs/license_management.mdx | 7 +-
api_docs/licensing.mdx | 7 +-
api_docs/lists.mdx | 7 +-
api_docs/management.mdx | 7 +-
api_docs/maps.devdocs.json | 47 +++-
api_docs/maps.mdx | 9 +-
api_docs/maps_ems.mdx | 7 +-
api_docs/ml.mdx | 7 +-
api_docs/monitoring.mdx | 7 +-
api_docs/monitoring_collection.mdx | 7 +-
api_docs/navigation.mdx | 7 +-
api_docs/newsfeed.mdx | 7 +-
api_docs/observability.mdx | 7 +-
api_docs/osquery.mdx | 7 +-
api_docs/plugin_directory.mdx | 29 ++-
api_docs/presentation_util.mdx | 7 +-
api_docs/remote_clusters.mdx | 7 +-
api_docs/reporting.mdx | 7 +-
api_docs/rollup.mdx | 7 +-
api_docs/rule_registry.mdx | 7 +-
api_docs/runtime_fields.mdx | 7 +-
api_docs/saved_objects.mdx | 7 +-
api_docs/saved_objects_management.mdx | 7 +-
api_docs/saved_objects_tagging.mdx | 7 +-
api_docs/saved_objects_tagging_oss.mdx | 7 +-
api_docs/screenshot_mode.mdx | 7 +-
api_docs/screenshotting.mdx | 7 +-
api_docs/security.mdx | 7 +-
api_docs/security_solution.mdx | 7 +-
api_docs/session_view.mdx | 7 +-
api_docs/share.mdx | 7 +-
api_docs/shared_u_x.mdx | 7 +-
api_docs/snapshot_restore.mdx | 7 +-
api_docs/spaces.mdx | 7 +-
api_docs/stack_alerts.mdx | 7 +-
api_docs/task_manager.mdx | 7 +-
api_docs/telemetry.mdx | 7 +-
api_docs/telemetry_collection_manager.mdx | 7 +-
api_docs/telemetry_collection_xpack.mdx | 7 +-
api_docs/telemetry_management_section.mdx | 7 +-
api_docs/threat_intelligence.mdx | 7 +-
api_docs/timelines.mdx | 7 +-
api_docs/transform.mdx | 7 +-
api_docs/triggers_actions_ui.mdx | 7 +-
api_docs/ui_actions.mdx | 7 +-
api_docs/ui_actions_enhanced.mdx | 7 +-
api_docs/unified_search.devdocs.json | 222 +++++++++++++++++-
api_docs/unified_search.mdx | 9 +-
api_docs/unified_search_autocomplete.mdx | 9 +-
api_docs/url_forwarding.mdx | 7 +-
api_docs/usage_collection.mdx | 7 +-
api_docs/ux.mdx | 7 +-
api_docs/vis_default_editor.mdx | 7 +-
api_docs/vis_type_gauge.mdx | 7 +-
api_docs/vis_type_heatmap.mdx | 7 +-
api_docs/vis_type_pie.mdx | 7 +-
api_docs/vis_type_table.mdx | 7 +-
api_docs/vis_type_timelion.mdx | 7 +-
api_docs/vis_type_timeseries.mdx | 7 +-
api_docs/vis_type_vega.mdx | 7 +-
api_docs/vis_type_vislib.mdx | 7 +-
api_docs/vis_type_xy.mdx | 7 +-
api_docs/visualizations.devdocs.json | 10 +-
api_docs/visualizations.mdx | 7 +-
352 files changed, 2264 insertions(+), 716 deletions(-)
diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx
index c1274e9de8d53..d9debf8612634 100644
--- a/api_docs/actions.mdx
+++ b/api_docs/actions.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibActionsPluginApi
slug: /kibana-dev-docs/api/actions
title: "actions"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the actions plugin
+description: API docs for the actions plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import actionsObj from './actions.devdocs.json';
diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx
index 6b898e269d87e..d48c56ee4ba3b 100644
--- a/api_docs/advanced_settings.mdx
+++ b/api_docs/advanced_settings.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibAdvancedSettingsPluginApi
slug: /kibana-dev-docs/api/advancedSettings
title: "advancedSettings"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the advancedSettings plugin
+description: API docs for the advancedSettings plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import advancedSettingsObj from './advanced_settings.devdocs.json';
diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx
index 1612fec6b3e97..9b2bc406330fb 100644
--- a/api_docs/aiops.mdx
+++ b/api_docs/aiops.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibAiopsPluginApi
slug: /kibana-dev-docs/api/aiops
title: "aiops"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the aiops plugin
+description: API docs for the aiops plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import aiopsObj from './aiops.devdocs.json';
diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx
index f0d87090462c6..0b79758b2bca5 100644
--- a/api_docs/alerting.mdx
+++ b/api_docs/alerting.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibAlertingPluginApi
slug: /kibana-dev-docs/api/alerting
title: "alerting"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the alerting plugin
+description: API docs for the alerting plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import alertingObj from './alerting.devdocs.json';
diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx
index a997550a52c4f..c775ed9f7c780 100644
--- a/api_docs/apm.mdx
+++ b/api_docs/apm.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibApmPluginApi
slug: /kibana-dev-docs/api/apm
title: "apm"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the apm plugin
+description: API docs for the apm plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import apmObj from './apm.devdocs.json';
diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx
index c230845985c7b..692c4c4990311 100644
--- a/api_docs/banners.mdx
+++ b/api_docs/banners.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibBannersPluginApi
slug: /kibana-dev-docs/api/banners
title: "banners"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the banners plugin
+description: API docs for the banners plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import bannersObj from './banners.devdocs.json';
diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx
index 73e3f00fe1e78..5fa356ed6b1a6 100644
--- a/api_docs/bfetch.mdx
+++ b/api_docs/bfetch.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibBfetchPluginApi
slug: /kibana-dev-docs/api/bfetch
title: "bfetch"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the bfetch plugin
+description: API docs for the bfetch plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import bfetchObj from './bfetch.devdocs.json';
diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx
index 95ec1ae2cbe63..b99bcdf1047f9 100644
--- a/api_docs/canvas.mdx
+++ b/api_docs/canvas.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibCanvasPluginApi
slug: /kibana-dev-docs/api/canvas
title: "canvas"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the canvas plugin
+description: API docs for the canvas plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import canvasObj from './canvas.devdocs.json';
diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx
index 8aa1a1c9687c5..9f89af0916e15 100644
--- a/api_docs/cases.mdx
+++ b/api_docs/cases.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibCasesPluginApi
slug: /kibana-dev-docs/api/cases
title: "cases"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the cases plugin
+description: API docs for the cases plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import casesObj from './cases.devdocs.json';
diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx
index a019fbfd8f7cc..3ca08a5cf5280 100644
--- a/api_docs/charts.mdx
+++ b/api_docs/charts.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibChartsPluginApi
slug: /kibana-dev-docs/api/charts
title: "charts"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the charts plugin
+description: API docs for the charts plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import chartsObj from './charts.devdocs.json';
diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx
index aef9a98b87d14..75d33bb6cb38d 100644
--- a/api_docs/cloud.mdx
+++ b/api_docs/cloud.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibCloudPluginApi
slug: /kibana-dev-docs/api/cloud
title: "cloud"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the cloud plugin
+description: API docs for the cloud plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import cloudObj from './cloud.devdocs.json';
diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx
index cdff3aa52f2fa..73d38c0501fbe 100644
--- a/api_docs/cloud_security_posture.mdx
+++ b/api_docs/cloud_security_posture.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibCloudSecurityPosturePluginApi
slug: /kibana-dev-docs/api/cloudSecurityPosture
title: "cloudSecurityPosture"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the cloudSecurityPosture plugin
+description: API docs for the cloudSecurityPosture plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json';
diff --git a/api_docs/console.mdx b/api_docs/console.mdx
index 94d35af8f5f82..82eb9a8b5ffde 100644
--- a/api_docs/console.mdx
+++ b/api_docs/console.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibConsolePluginApi
slug: /kibana-dev-docs/api/console
title: "console"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the console plugin
+description: API docs for the console plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import consoleObj from './console.devdocs.json';
diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx
index 09460acd1b129..75b8f870d8d07 100644
--- a/api_docs/controls.mdx
+++ b/api_docs/controls.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibControlsPluginApi
slug: /kibana-dev-docs/api/controls
title: "controls"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the controls plugin
+description: API docs for the controls plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import controlsObj from './controls.devdocs.json';
diff --git a/api_docs/core.mdx b/api_docs/core.mdx
index 2f8691e5706b4..de7ed5719a1a0 100644
--- a/api_docs/core.mdx
+++ b/api_docs/core.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibCorePluginApi
slug: /kibana-dev-docs/api/core
title: "core"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the core plugin
+description: API docs for the core plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import coreObj from './core.devdocs.json';
diff --git a/api_docs/core_application.mdx b/api_docs/core_application.mdx
index 351723d723c6b..09667162a0bd5 100644
--- a/api_docs/core_application.mdx
+++ b/api_docs/core_application.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibCoreApplicationPluginApi
slug: /kibana-dev-docs/api/core-application
title: "core.application"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the core.application plugin
+description: API docs for the core.application plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core.application']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import coreApplicationObj from './core_application.devdocs.json';
diff --git a/api_docs/core_chrome.mdx b/api_docs/core_chrome.mdx
index abfb4f3cda316..9cc2d6c8449d7 100644
--- a/api_docs/core_chrome.mdx
+++ b/api_docs/core_chrome.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibCoreChromePluginApi
slug: /kibana-dev-docs/api/core-chrome
title: "core.chrome"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the core.chrome plugin
+description: API docs for the core.chrome plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core.chrome']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import coreChromeObj from './core_chrome.devdocs.json';
diff --git a/api_docs/core_saved_objects.mdx b/api_docs/core_saved_objects.mdx
index d84d7af14c1ee..bab45e3b860fb 100644
--- a/api_docs/core_saved_objects.mdx
+++ b/api_docs/core_saved_objects.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibCoreSavedObjectsPluginApi
slug: /kibana-dev-docs/api/core-savedObjects
title: "core.savedObjects"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the core.savedObjects plugin
+description: API docs for the core.savedObjects plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core.savedObjects']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import coreSavedObjectsObj from './core_saved_objects.devdocs.json';
diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx
index 86a28528ef9ef..e6dcad20dee0c 100644
--- a/api_docs/custom_integrations.mdx
+++ b/api_docs/custom_integrations.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibCustomIntegrationsPluginApi
slug: /kibana-dev-docs/api/customIntegrations
title: "customIntegrations"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the customIntegrations plugin
+description: API docs for the customIntegrations plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import customIntegrationsObj from './custom_integrations.devdocs.json';
diff --git a/api_docs/dashboard.devdocs.json b/api_docs/dashboard.devdocs.json
index cf48ab9df40cd..01decee7cd29b 100644
--- a/api_docs/dashboard.devdocs.json
+++ b/api_docs/dashboard.devdocs.json
@@ -81,6 +81,82 @@
"path": "src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx",
"deprecated": false
},
+ {
+ "parentPluginId": "dashboard",
+ "id": "def-public.DashboardContainer.getAllDataViews",
+ "type": "Function",
+ "tags": [],
+ "label": "getAllDataViews",
+ "description": [
+ "\nGets all the dataviews that are actively being used in the dashboard"
+ ],
+ "signature": [
+ "() => ",
+ {
+ "pluginId": "dataViews",
+ "scope": "common",
+ "docId": "kibDataViewsPluginApi",
+ "section": "def-common.DataView",
+ "text": "DataView"
+ },
+ "[]"
+ ],
+ "path": "src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx",
+ "deprecated": false,
+ "children": [],
+ "returnComment": [
+ "An array of dataviews"
+ ]
+ },
+ {
+ "parentPluginId": "dashboard",
+ "id": "def-public.DashboardContainer.setAllDataViews",
+ "type": "Function",
+ "tags": [],
+ "label": "setAllDataViews",
+ "description": [
+ "\nUse this to set the dataviews that are used in the dashboard when they change/update"
+ ],
+ "signature": [
+ "(newDataViews: ",
+ {
+ "pluginId": "dataViews",
+ "scope": "common",
+ "docId": "kibDataViewsPluginApi",
+ "section": "def-common.DataView",
+ "text": "DataView"
+ },
+ "[]) => void"
+ ],
+ "path": "src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx",
+ "deprecated": false,
+ "children": [
+ {
+ "parentPluginId": "dashboard",
+ "id": "def-public.DashboardContainer.setAllDataViews.$1",
+ "type": "Array",
+ "tags": [],
+ "label": "newDataViews",
+ "description": [
+ "The new array of dataviews that will overwrite the old dataviews array"
+ ],
+ "signature": [
+ {
+ "pluginId": "dataViews",
+ "scope": "common",
+ "docId": "kibDataViewsPluginApi",
+ "section": "def-common.DataView",
+ "text": "DataView"
+ },
+ "[]"
+ ],
+ "path": "src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx",
+ "deprecated": false,
+ "isRequired": true
+ }
+ ],
+ "returnComment": []
+ },
{
"parentPluginId": "dashboard",
"id": "def-public.DashboardContainer.getPanelCount",
diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx
index 0850ff066d082..7a35aae0ec2c9 100644
--- a/api_docs/dashboard.mdx
+++ b/api_docs/dashboard.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDashboardPluginApi
slug: /kibana-dev-docs/api/dashboard
title: "dashboard"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the dashboard plugin
+description: API docs for the dashboard plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import dashboardObj from './dashboard.devdocs.json';
@@ -18,7 +21,7 @@ Contact [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-prese
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 143 | 0 | 141 | 12 |
+| 146 | 0 | 141 | 12 |
## Client
diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx
index 9a4d938edfb2d..a71ee95fbed8e 100644
--- a/api_docs/dashboard_enhanced.mdx
+++ b/api_docs/dashboard_enhanced.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDashboardEnhancedPluginApi
slug: /kibana-dev-docs/api/dashboardEnhanced
title: "dashboardEnhanced"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the dashboardEnhanced plugin
+description: API docs for the dashboardEnhanced plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json';
diff --git a/api_docs/data.mdx b/api_docs/data.mdx
index f9674f514c206..75ba7f5d691a5 100644
--- a/api_docs/data.mdx
+++ b/api_docs/data.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDataPluginApi
slug: /kibana-dev-docs/api/data
title: "data"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the data plugin
+description: API docs for the data plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import dataObj from './data.devdocs.json';
diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx
index 29460e1bd559d..5e69ab274ba18 100644
--- a/api_docs/data_query.mdx
+++ b/api_docs/data_query.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDataQueryPluginApi
slug: /kibana-dev-docs/api/data-query
title: "data.query"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the data.query plugin
+description: API docs for the data.query plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import dataQueryObj from './data_query.devdocs.json';
diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx
index d2f2f7bc0829b..9e6a0466aea6e 100644
--- a/api_docs/data_search.mdx
+++ b/api_docs/data_search.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDataSearchPluginApi
slug: /kibana-dev-docs/api/data-search
title: "data.search"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the data.search plugin
+description: API docs for the data.search plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import dataSearchObj from './data_search.devdocs.json';
diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx
index 2ad5853bb2f40..0f8f87d96257a 100644
--- a/api_docs/data_view_editor.mdx
+++ b/api_docs/data_view_editor.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDataViewEditorPluginApi
slug: /kibana-dev-docs/api/dataViewEditor
title: "dataViewEditor"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the dataViewEditor plugin
+description: API docs for the dataViewEditor plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 5a4e3653b0aea..86cd795dd7dfe 100644
--- a/api_docs/data_view_field_editor.mdx
+++ b/api_docs/data_view_field_editor.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDataViewFieldEditorPluginApi
slug: /kibana-dev-docs/api/dataViewFieldEditor
title: "dataViewFieldEditor"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the dataViewFieldEditor plugin
+description: API docs for the dataViewFieldEditor plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 942deac343a77..5581c953daad0 100644
--- a/api_docs/data_view_management.mdx
+++ b/api_docs/data_view_management.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDataViewManagementPluginApi
slug: /kibana-dev-docs/api/dataViewManagement
title: "dataViewManagement"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the dataViewManagement plugin
+description: API docs for the dataViewManagement plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import dataViewManagementObj from './data_view_management.devdocs.json';
diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx
index d129adeffd608..f94248c3e2191 100644
--- a/api_docs/data_views.mdx
+++ b/api_docs/data_views.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDataViewsPluginApi
slug: /kibana-dev-docs/api/dataViews
title: "dataViews"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the dataViews plugin
+description: API docs for the dataViews plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import dataViewsObj from './data_views.devdocs.json';
diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx
index 926edb474e954..a23db05ec0db5 100644
--- a/api_docs/data_visualizer.mdx
+++ b/api_docs/data_visualizer.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDataVisualizerPluginApi
slug: /kibana-dev-docs/api/dataVisualizer
title: "dataVisualizer"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the dataVisualizer plugin
+description: API docs for the dataVisualizer plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import dataVisualizerObj from './data_visualizer.devdocs.json';
diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx
index 153eae57516ff..b2797246ab652 100644
--- a/api_docs/deprecations_by_api.mdx
+++ b/api_docs/deprecations_by_api.mdx
@@ -1,11 +1,14 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDevDocsDeprecationsByApi
slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api
title: Deprecated API usage by API
-summary: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
+description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
---
## Referenced deprecated APIs
@@ -96,7 +99,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/
This is relied on by the reporting feature, and should be removed once reporting
migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/issues/19914 |
-
+
## Unreferenced deprecated APIs
diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx
index e58b5ba0a4aa2..1849ced937dcf 100644
--- a/api_docs/deprecations_by_plugin.mdx
+++ b/api_docs/deprecations_by_plugin.mdx
@@ -1,11 +1,14 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDevDocsDeprecationsByPlugin
slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin
title: Deprecated API usage by plugin
-summary: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
+description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
---
diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx
index 86c110b553d6b..ed8f1ba63a87e 100644
--- a/api_docs/deprecations_by_team.mdx
+++ b/api_docs/deprecations_by_team.mdx
@@ -1,11 +1,14 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDevDocsDeprecationsDueByTeam
slug: /kibana-dev-docs/api-meta/deprecations-due-by-team
title: Deprecated APIs due to be removed, by team
-summary: Lists the teams that are referencing deprecated APIs with a remove by date.
+description: Lists the teams that are referencing deprecated APIs with a remove by date.
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
---
diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx
index 8d0eb77ba41c5..17efa22d53449 100644
--- a/api_docs/dev_tools.mdx
+++ b/api_docs/dev_tools.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDevToolsPluginApi
slug: /kibana-dev-docs/api/devTools
title: "devTools"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the devTools plugin
+description: API docs for the devTools plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import devToolsObj from './dev_tools.devdocs.json';
diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx
index b9ca0d5091db0..f63dd0b8f2822 100644
--- a/api_docs/discover.mdx
+++ b/api_docs/discover.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDiscoverPluginApi
slug: /kibana-dev-docs/api/discover
title: "discover"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the discover plugin
+description: API docs for the discover plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import discoverObj from './discover.devdocs.json';
diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx
index b50a8b5a34fcc..1c7810999e887 100644
--- a/api_docs/discover_enhanced.mdx
+++ b/api_docs/discover_enhanced.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDiscoverEnhancedPluginApi
slug: /kibana-dev-docs/api/discoverEnhanced
title: "discoverEnhanced"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the discoverEnhanced plugin
+description: API docs for the discoverEnhanced plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import discoverEnhancedObj from './discover_enhanced.devdocs.json';
diff --git a/api_docs/elastic_apm_synthtrace.mdx b/api_docs/elastic_apm_synthtrace.mdx
index 4c82dfcb262a8..de6c6e8d25750 100644
--- a/api_docs/elastic_apm_synthtrace.mdx
+++ b/api_docs/elastic_apm_synthtrace.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibElasticApmSynthtracePluginApi
slug: /kibana-dev-docs/api/elastic-apm-synthtrace
title: "@elastic/apm-synthtrace"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @elastic/apm-synthtrace plugin
+description: API docs for the @elastic/apm-synthtrace plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@elastic/apm-synthtrace']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import elasticApmSynthtraceObj from './elastic_apm_synthtrace.devdocs.json';
diff --git a/api_docs/embeddable.devdocs.json b/api_docs/embeddable.devdocs.json
index ed0bc94fae658..15b274a52b3c1 100644
--- a/api_docs/embeddable.devdocs.json
+++ b/api_docs/embeddable.devdocs.json
@@ -4798,6 +4798,43 @@
"returnComment": [],
"initialIsOpen": false
},
+ {
+ "parentPluginId": "embeddable",
+ "id": "def-public.isFilterableEmbeddable",
+ "type": "Function",
+ "tags": [],
+ "label": "isFilterableEmbeddable",
+ "description": [
+ "\nEnsure that embeddable supports filtering/querying"
+ ],
+ "signature": [
+ "(incoming: unknown) => boolean"
+ ],
+ "path": "src/plugins/embeddable/public/lib/filterable_embeddable/types.ts",
+ "deprecated": false,
+ "children": [
+ {
+ "parentPluginId": "embeddable",
+ "id": "def-public.isFilterableEmbeddable.$1",
+ "type": "Unknown",
+ "tags": [],
+ "label": "incoming",
+ "description": [
+ "Embeddable that is being tested to check if it is a FilterableEmbeddable"
+ ],
+ "signature": [
+ "unknown"
+ ],
+ "path": "src/plugins/embeddable/public/lib/filterable_embeddable/types.ts",
+ "deprecated": false,
+ "isRequired": true
+ }
+ ],
+ "returnComment": [
+ "true if the incoming embeddable is a FilterableEmbeddable, false if it is not"
+ ],
+ "initialIsOpen": false
+ },
{
"parentPluginId": "embeddable",
"id": "def-public.isRangeSelectTriggerContext",
@@ -7430,6 +7467,61 @@
],
"initialIsOpen": false
},
+ {
+ "parentPluginId": "embeddable",
+ "id": "def-public.FilterableEmbeddable",
+ "type": "Interface",
+ "tags": [],
+ "label": "FilterableEmbeddable",
+ "description": [
+ "\nAll embeddables that implement this interface should support being filtered\nand/or queried via the top navigation bar"
+ ],
+ "path": "src/plugins/embeddable/public/lib/filterable_embeddable/types.ts",
+ "deprecated": false,
+ "children": [
+ {
+ "parentPluginId": "embeddable",
+ "id": "def-public.FilterableEmbeddable.getFilters",
+ "type": "Function",
+ "tags": [],
+ "label": "getFilters",
+ "description": [
+ "\nGets the embeddable's local filters"
+ ],
+ "signature": [
+ "() => Promise<",
+ "Filter",
+ "[]>"
+ ],
+ "path": "src/plugins/embeddable/public/lib/filterable_embeddable/types.ts",
+ "deprecated": false,
+ "children": [],
+ "returnComment": []
+ },
+ {
+ "parentPluginId": "embeddable",
+ "id": "def-public.FilterableEmbeddable.getQuery",
+ "type": "Function",
+ "tags": [],
+ "label": "getQuery",
+ "description": [
+ "\nGets the embeddable's local query"
+ ],
+ "signature": [
+ "() => Promise<",
+ "Query",
+ " | ",
+ "AggregateQuery",
+ " | undefined>"
+ ],
+ "path": "src/plugins/embeddable/public/lib/filterable_embeddable/types.ts",
+ "deprecated": false,
+ "children": [],
+ "returnComment": []
+ }
+ ],
+ "initialIsOpen": false
+ },
{
"parentPluginId": "embeddable",
"id": "def-public.IContainer",
diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx
index ed91daaafbb5a..f45e061cd95ab 100644
--- a/api_docs/embeddable.mdx
+++ b/api_docs/embeddable.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibEmbeddablePluginApi
slug: /kibana-dev-docs/api/embeddable
title: "embeddable"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the embeddable plugin
+description: API docs for the embeddable plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import embeddableObj from './embeddable.devdocs.json';
@@ -18,7 +21,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 507 | 0 | 413 | 4 |
+| 512 | 0 | 413 | 4 |
## Client
diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx
index 91e5f95beee98..b0d4d7c2c24cb 100644
--- a/api_docs/embeddable_enhanced.mdx
+++ b/api_docs/embeddable_enhanced.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibEmbeddableEnhancedPluginApi
slug: /kibana-dev-docs/api/embeddableEnhanced
title: "embeddableEnhanced"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the embeddableEnhanced plugin
+description: API docs for the embeddableEnhanced plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json';
diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx
index 1d7d67c0a6928..a3914ef5316ce 100644
--- a/api_docs/encrypted_saved_objects.mdx
+++ b/api_docs/encrypted_saved_objects.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibEncryptedSavedObjectsPluginApi
slug: /kibana-dev-docs/api/encryptedSavedObjects
title: "encryptedSavedObjects"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the encryptedSavedObjects plugin
+description: API docs for the encryptedSavedObjects plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json';
diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx
index a544cb6aeda42..62c7b7ab7751f 100644
--- a/api_docs/enterprise_search.mdx
+++ b/api_docs/enterprise_search.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibEnterpriseSearchPluginApi
slug: /kibana-dev-docs/api/enterpriseSearch
title: "enterpriseSearch"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the enterpriseSearch plugin
+description: API docs for the enterpriseSearch plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import enterpriseSearchObj from './enterprise_search.devdocs.json';
diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx
index 152bbc8e6a05c..17c3fdf606766 100644
--- a/api_docs/es_ui_shared.mdx
+++ b/api_docs/es_ui_shared.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibEsUiSharedPluginApi
slug: /kibana-dev-docs/api/esUiShared
title: "esUiShared"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the esUiShared plugin
+description: API docs for the esUiShared plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import esUiSharedObj from './es_ui_shared.devdocs.json';
diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx
index 4ae46dc78dddc..d6d19f9a65f71 100644
--- a/api_docs/event_annotation.mdx
+++ b/api_docs/event_annotation.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibEventAnnotationPluginApi
slug: /kibana-dev-docs/api/eventAnnotation
title: "eventAnnotation"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the eventAnnotation plugin
+description: API docs for the eventAnnotation plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import eventAnnotationObj from './event_annotation.devdocs.json';
diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx
index 810257e6bd754..daa352980179a 100644
--- a/api_docs/event_log.mdx
+++ b/api_docs/event_log.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibEventLogPluginApi
slug: /kibana-dev-docs/api/eventLog
title: "eventLog"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the eventLog plugin
+description: API docs for the eventLog plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import eventLogObj from './event_log.devdocs.json';
diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx
index 14425f584cf13..98a4a57dc96c8 100644
--- a/api_docs/expression_error.mdx
+++ b/api_docs/expression_error.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionErrorPluginApi
slug: /kibana-dev-docs/api/expressionError
title: "expressionError"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionError plugin
+description: API docs for the expressionError plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import expressionErrorObj from './expression_error.devdocs.json';
diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx
index 20a1cf38142fc..44d2ca5d3a562 100644
--- a/api_docs/expression_gauge.mdx
+++ b/api_docs/expression_gauge.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionGaugePluginApi
slug: /kibana-dev-docs/api/expressionGauge
title: "expressionGauge"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionGauge plugin
+description: API docs for the expressionGauge plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import expressionGaugeObj from './expression_gauge.devdocs.json';
diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx
index 7b6c454387525..e7f59d68e4954 100644
--- a/api_docs/expression_heatmap.mdx
+++ b/api_docs/expression_heatmap.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionHeatmapPluginApi
slug: /kibana-dev-docs/api/expressionHeatmap
title: "expressionHeatmap"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionHeatmap plugin
+description: API docs for the expressionHeatmap plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import expressionHeatmapObj from './expression_heatmap.devdocs.json';
diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx
index 6e44f7e1925bd..60fb5ed4c8130 100644
--- a/api_docs/expression_image.mdx
+++ b/api_docs/expression_image.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionImagePluginApi
slug: /kibana-dev-docs/api/expressionImage
title: "expressionImage"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionImage plugin
+description: API docs for the expressionImage plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 66f01446ec898..3192942b7153a 100644
--- a/api_docs/expression_legacy_metric_vis.mdx
+++ b/api_docs/expression_legacy_metric_vis.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionLegacyMetricVisPluginApi
slug: /kibana-dev-docs/api/expressionLegacyMetricVis
title: "expressionLegacyMetricVis"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionLegacyMetricVis plugin
+description: API docs for the expressionLegacyMetricVis plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json';
diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx
index c84e3ebe07e28..df59a5ac851b5 100644
--- a/api_docs/expression_metric.mdx
+++ b/api_docs/expression_metric.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionMetricPluginApi
slug: /kibana-dev-docs/api/expressionMetric
title: "expressionMetric"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionMetric plugin
+description: API docs for the expressionMetric plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import expressionMetricObj from './expression_metric.devdocs.json';
diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx
index fe81d139d71e6..418641075bcde 100644
--- a/api_docs/expression_metric_vis.mdx
+++ b/api_docs/expression_metric_vis.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionMetricVisPluginApi
slug: /kibana-dev-docs/api/expressionMetricVis
title: "expressionMetricVis"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionMetricVis plugin
+description: API docs for the expressionMetricVis plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 1e14f753c20ef..83ae6ccc351cb 100644
--- a/api_docs/expression_partition_vis.mdx
+++ b/api_docs/expression_partition_vis.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionPartitionVisPluginApi
slug: /kibana-dev-docs/api/expressionPartitionVis
title: "expressionPartitionVis"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionPartitionVis plugin
+description: API docs for the expressionPartitionVis plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 c1a77887e01bc..4d0209cb49ae4 100644
--- a/api_docs/expression_repeat_image.mdx
+++ b/api_docs/expression_repeat_image.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionRepeatImagePluginApi
slug: /kibana-dev-docs/api/expressionRepeatImage
title: "expressionRepeatImage"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionRepeatImage plugin
+description: API docs for the expressionRepeatImage plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 ffe31cd906521..dd13abd47587a 100644
--- a/api_docs/expression_reveal_image.mdx
+++ b/api_docs/expression_reveal_image.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionRevealImagePluginApi
slug: /kibana-dev-docs/api/expressionRevealImage
title: "expressionRevealImage"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionRevealImage plugin
+description: API docs for the expressionRevealImage plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import expressionRevealImageObj from './expression_reveal_image.devdocs.json';
diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx
index 22ac6f5aa8f4c..f691e0f454935 100644
--- a/api_docs/expression_shape.mdx
+++ b/api_docs/expression_shape.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionShapePluginApi
slug: /kibana-dev-docs/api/expressionShape
title: "expressionShape"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionShape plugin
+description: API docs for the expressionShape plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import expressionShapeObj from './expression_shape.devdocs.json';
diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx
index ae2e7c6c172b1..ff37e4d33a381 100644
--- a/api_docs/expression_tagcloud.mdx
+++ b/api_docs/expression_tagcloud.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionTagcloudPluginApi
slug: /kibana-dev-docs/api/expressionTagcloud
title: "expressionTagcloud"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionTagcloud plugin
+description: API docs for the expressionTagcloud plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import expressionTagcloudObj from './expression_tagcloud.devdocs.json';
diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx
index abef8921098c4..b36ba6f2ef3d5 100644
--- a/api_docs/expression_x_y.mdx
+++ b/api_docs/expression_x_y.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionXYPluginApi
slug: /kibana-dev-docs/api/expressionXY
title: "expressionXY"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressionXY plugin
+description: API docs for the expressionXY plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import expressionXYObj from './expression_x_y.devdocs.json';
diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx
index 8265dab8d0b62..6107cfa548997 100644
--- a/api_docs/expressions.mdx
+++ b/api_docs/expressions.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibExpressionsPluginApi
slug: /kibana-dev-docs/api/expressions
title: "expressions"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the expressions plugin
+description: API docs for the expressions plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import expressionsObj from './expressions.devdocs.json';
diff --git a/api_docs/features.mdx b/api_docs/features.mdx
index 4dbf73d2e9894..acb0acbe2b4c4 100644
--- a/api_docs/features.mdx
+++ b/api_docs/features.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibFeaturesPluginApi
slug: /kibana-dev-docs/api/features
title: "features"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the features plugin
+description: API docs for the features plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import featuresObj from './features.devdocs.json';
diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx
index 1ed0f87b87f7c..48ea69722201a 100644
--- a/api_docs/field_formats.mdx
+++ b/api_docs/field_formats.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibFieldFormatsPluginApi
slug: /kibana-dev-docs/api/fieldFormats
title: "fieldFormats"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the fieldFormats plugin
+description: API docs for the fieldFormats plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import fieldFormatsObj from './field_formats.devdocs.json';
diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx
index 23ef42b26d43d..122761a52341f 100644
--- a/api_docs/file_upload.mdx
+++ b/api_docs/file_upload.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibFileUploadPluginApi
slug: /kibana-dev-docs/api/fileUpload
title: "fileUpload"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the fileUpload plugin
+description: API docs for the fileUpload plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import fileUploadObj from './file_upload.devdocs.json';
diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx
index 80b0f42943529..d566fb2abbed4 100644
--- a/api_docs/fleet.mdx
+++ b/api_docs/fleet.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibFleetPluginApi
slug: /kibana-dev-docs/api/fleet
title: "fleet"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the fleet plugin
+description: API docs for the fleet plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import fleetObj from './fleet.devdocs.json';
diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx
index fc2c49c06221c..7542178687161 100644
--- a/api_docs/global_search.mdx
+++ b/api_docs/global_search.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibGlobalSearchPluginApi
slug: /kibana-dev-docs/api/globalSearch
title: "globalSearch"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the globalSearch plugin
+description: API docs for the globalSearch plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import globalSearchObj from './global_search.devdocs.json';
diff --git a/api_docs/home.mdx b/api_docs/home.mdx
index 89c35468ff05d..19ac48f638e66 100644
--- a/api_docs/home.mdx
+++ b/api_docs/home.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibHomePluginApi
slug: /kibana-dev-docs/api/home
title: "home"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the home plugin
+description: API docs for the home plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import homeObj from './home.devdocs.json';
diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx
index a0569cdca5081..b4c6de8536363 100644
--- a/api_docs/index_lifecycle_management.mdx
+++ b/api_docs/index_lifecycle_management.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibIndexLifecycleManagementPluginApi
slug: /kibana-dev-docs/api/indexLifecycleManagement
title: "indexLifecycleManagement"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the indexLifecycleManagement plugin
+description: API docs for the indexLifecycleManagement plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json';
diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx
index eb738f4c646d3..e671d6979edf3 100644
--- a/api_docs/index_management.mdx
+++ b/api_docs/index_management.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibIndexManagementPluginApi
slug: /kibana-dev-docs/api/indexManagement
title: "indexManagement"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the indexManagement plugin
+description: API docs for the indexManagement plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import indexManagementObj from './index_management.devdocs.json';
diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx
index 7723a94c95620..bd982b44e15db 100644
--- a/api_docs/infra.mdx
+++ b/api_docs/infra.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibInfraPluginApi
slug: /kibana-dev-docs/api/infra
title: "infra"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the infra plugin
+description: API docs for the infra plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import infraObj from './infra.devdocs.json';
diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx
index 9d1b8650276ba..a6172213d301d 100644
--- a/api_docs/inspector.mdx
+++ b/api_docs/inspector.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibInspectorPluginApi
slug: /kibana-dev-docs/api/inspector
title: "inspector"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the inspector plugin
+description: API docs for the inspector plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import inspectorObj from './inspector.devdocs.json';
diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx
index d08e8b4873224..d4e8c0f6f9559 100644
--- a/api_docs/interactive_setup.mdx
+++ b/api_docs/interactive_setup.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibInteractiveSetupPluginApi
slug: /kibana-dev-docs/api/interactiveSetup
title: "interactiveSetup"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the interactiveSetup plugin
+description: API docs for the interactiveSetup plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import interactiveSetupObj from './interactive_setup.devdocs.json';
diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx
index 059821a6ee8b6..7bc465f202671 100644
--- a/api_docs/kbn_ace.mdx
+++ b/api_docs/kbn_ace.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAcePluginApi
slug: /kibana-dev-docs/api/kbn-ace
title: "@kbn/ace"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/ace plugin
+description: API docs for the @kbn/ace plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnAceObj from './kbn_ace.devdocs.json';
diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx
index 4c1649eb8c953..e270cccdbb149 100644
--- a/api_docs/kbn_aiops_components.mdx
+++ b/api_docs/kbn_aiops_components.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAiopsComponentsPluginApi
slug: /kibana-dev-docs/api/kbn-aiops-components
title: "@kbn/aiops-components"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/aiops-components plugin
+description: API docs for the @kbn/aiops-components plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 97da08a9e054e..e24d06855e463 100644
--- a/api_docs/kbn_aiops_utils.mdx
+++ b/api_docs/kbn_aiops_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAiopsUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-aiops-utils
title: "@kbn/aiops-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/aiops-utils plugin
+description: API docs for the @kbn/aiops-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json';
diff --git a/api_docs/kbn_alerts.mdx b/api_docs/kbn_alerts.mdx
index 712f797450c93..90a3d734258b5 100644
--- a/api_docs/kbn_alerts.mdx
+++ b/api_docs/kbn_alerts.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAlertsPluginApi
slug: /kibana-dev-docs/api/kbn-alerts
title: "@kbn/alerts"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/alerts plugin
+description: API docs for the @kbn/alerts plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnAlertsObj from './kbn_alerts.devdocs.json';
diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx
index 0871cfe033afe..bd7fad52dade9 100644
--- a/api_docs/kbn_analytics.mdx
+++ b/api_docs/kbn_analytics.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAnalyticsPluginApi
slug: /kibana-dev-docs/api/kbn-analytics
title: "@kbn/analytics"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/analytics plugin
+description: API docs for the @kbn/analytics plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnAnalyticsObj from './kbn_analytics.devdocs.json';
diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx
index b7cd57c8cb350..ba5f94e88876c 100644
--- a/api_docs/kbn_analytics_client.mdx
+++ b/api_docs/kbn_analytics_client.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAnalyticsClientPluginApi
slug: /kibana-dev-docs/api/kbn-analytics-client
title: "@kbn/analytics-client"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/analytics-client plugin
+description: API docs for the @kbn/analytics-client plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 12c7c41b9010d..15be83106b1ef 100644
--- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx
+++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAnalyticsShippersElasticV3BrowserPluginApi
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
-summary: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin
+description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 673437126d94f..b4e0ad28d3c1e 100644
--- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx
+++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAnalyticsShippersElasticV3CommonPluginApi
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
-summary: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin
+description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 52b8887fae27f..c17ff240d5799 100644
--- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx
+++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAnalyticsShippersElasticV3ServerPluginApi
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
-summary: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin
+description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 b00cba99dc65d..1c1a422a1d356 100644
--- a/api_docs/kbn_analytics_shippers_fullstory.mdx
+++ b/api_docs/kbn_analytics_shippers_fullstory.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAnalyticsShippersFullstoryPluginApi
slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory
title: "@kbn/analytics-shippers-fullstory"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/analytics-shippers-fullstory plugin
+description: API docs for the @kbn/analytics-shippers-fullstory plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json';
diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx
index e4d53e0bacfd8..3a38ca144894c 100644
--- a/api_docs/kbn_apm_config_loader.mdx
+++ b/api_docs/kbn_apm_config_loader.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnApmConfigLoaderPluginApi
slug: /kibana-dev-docs/api/kbn-apm-config-loader
title: "@kbn/apm-config-loader"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/apm-config-loader plugin
+description: API docs for the @kbn/apm-config-loader plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json';
diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx
index f0709c01d5522..f10d2d189fc2b 100644
--- a/api_docs/kbn_apm_utils.mdx
+++ b/api_docs/kbn_apm_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnApmUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-apm-utils
title: "@kbn/apm-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/apm-utils plugin
+description: API docs for the @kbn/apm-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 34dec7bb8b7c2..2c81829302594 100644
--- a/api_docs/kbn_axe_config.mdx
+++ b/api_docs/kbn_axe_config.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnAxeConfigPluginApi
slug: /kibana-dev-docs/api/kbn-axe-config
title: "@kbn/axe-config"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/axe-config plugin
+description: API docs for the @kbn/axe-config plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnAxeConfigObj from './kbn_axe_config.devdocs.json';
diff --git a/api_docs/kbn_bazel_packages.mdx b/api_docs/kbn_bazel_packages.mdx
index 85685f06c59dd..9b4470a79410e 100644
--- a/api_docs/kbn_bazel_packages.mdx
+++ b/api_docs/kbn_bazel_packages.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnBazelPackagesPluginApi
slug: /kibana-dev-docs/api/kbn-bazel-packages
title: "@kbn/bazel-packages"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/bazel-packages plugin
+description: API docs for the @kbn/bazel-packages plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bazel-packages']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnBazelPackagesObj from './kbn_bazel_packages.devdocs.json';
diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx
index 465efbdb066c1..55bc3cd497ae9 100644
--- a/api_docs/kbn_ci_stats_core.mdx
+++ b/api_docs/kbn_ci_stats_core.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCiStatsCorePluginApi
slug: /kibana-dev-docs/api/kbn-ci-stats-core
title: "@kbn/ci-stats-core"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/ci-stats-core plugin
+description: API docs for the @kbn/ci-stats-core plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 10c1ee15848e9..97ab51ff028ad 100644
--- a/api_docs/kbn_ci_stats_performance_metrics.mdx
+++ b/api_docs/kbn_ci_stats_performance_metrics.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCiStatsPerformanceMetricsPluginApi
slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics
title: "@kbn/ci-stats-performance-metrics"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/ci-stats-performance-metrics plugin
+description: API docs for the @kbn/ci-stats-performance-metrics plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 1fe469a2f2b76..59fbf29bda0bb 100644
--- a/api_docs/kbn_ci_stats_reporter.mdx
+++ b/api_docs/kbn_ci_stats_reporter.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCiStatsReporterPluginApi
slug: /kibana-dev-docs/api/kbn-ci-stats-reporter
title: "@kbn/ci-stats-reporter"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/ci-stats-reporter plugin
+description: API docs for the @kbn/ci-stats-reporter plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 c41826cdf11a7..25397ce8c1b2b 100644
--- a/api_docs/kbn_cli_dev_mode.mdx
+++ b/api_docs/kbn_cli_dev_mode.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCliDevModePluginApi
slug: /kibana-dev-docs/api/kbn-cli-dev-mode
title: "@kbn/cli-dev-mode"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/cli-dev-mode plugin
+description: API docs for the @kbn/cli-dev-mode plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json';
diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx
index dbd9ea19feb48..623658e117bc7 100644
--- a/api_docs/kbn_coloring.mdx
+++ b/api_docs/kbn_coloring.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnColoringPluginApi
slug: /kibana-dev-docs/api/kbn-coloring
title: "@kbn/coloring"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/coloring plugin
+description: API docs for the @kbn/coloring plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnColoringObj from './kbn_coloring.devdocs.json';
diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx
index 49894b0045255..30cbc67ed778a 100644
--- a/api_docs/kbn_config.mdx
+++ b/api_docs/kbn_config.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnConfigPluginApi
slug: /kibana-dev-docs/api/kbn-config
title: "@kbn/config"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/config plugin
+description: API docs for the @kbn/config plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnConfigObj from './kbn_config.devdocs.json';
diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx
index ea43e0d405a1c..6ac320fb20073 100644
--- a/api_docs/kbn_config_mocks.mdx
+++ b/api_docs/kbn_config_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnConfigMocksPluginApi
slug: /kibana-dev-docs/api/kbn-config-mocks
title: "@kbn/config-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/config-mocks plugin
+description: API docs for the @kbn/config-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 82ecdab7f4247..7fedf6ba97cc9 100644
--- a/api_docs/kbn_config_schema.mdx
+++ b/api_docs/kbn_config_schema.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnConfigSchemaPluginApi
slug: /kibana-dev-docs/api/kbn-config-schema
title: "@kbn/config-schema"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/config-schema plugin
+description: API docs for the @kbn/config-schema plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json';
diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx
index c09a2f9778701..38c12fdfc2a3a 100644
--- a/api_docs/kbn_core_analytics_browser.mdx
+++ b/api_docs/kbn_core_analytics_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreAnalyticsBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-analytics-browser
title: "@kbn/core-analytics-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-analytics-browser plugin
+description: API docs for the @kbn/core-analytics-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 11b8af9ab3439..0cb2fad42af34 100644
--- a/api_docs/kbn_core_analytics_browser_internal.mdx
+++ b/api_docs/kbn_core_analytics_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreAnalyticsBrowserInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal
title: "@kbn/core-analytics-browser-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-analytics-browser-internal plugin
+description: API docs for the @kbn/core-analytics-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 c7fa438af7585..59ed1073c527d 100644
--- a/api_docs/kbn_core_analytics_browser_mocks.mdx
+++ b/api_docs/kbn_core_analytics_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreAnalyticsBrowserMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks
title: "@kbn/core-analytics-browser-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-analytics-browser-mocks plugin
+description: API docs for the @kbn/core-analytics-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 f00aad80106be..557a5d3aa9b51 100644
--- a/api_docs/kbn_core_analytics_server.mdx
+++ b/api_docs/kbn_core_analytics_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreAnalyticsServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-analytics-server
title: "@kbn/core-analytics-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-analytics-server plugin
+description: API docs for the @kbn/core-analytics-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 5cda27736f13c..9292a1959f45c 100644
--- a/api_docs/kbn_core_analytics_server_internal.mdx
+++ b/api_docs/kbn_core_analytics_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreAnalyticsServerInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal
title: "@kbn/core-analytics-server-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-analytics-server-internal plugin
+description: API docs for the @kbn/core-analytics-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 ed0fd75a17ea1..478dc44f58fb5 100644
--- a/api_docs/kbn_core_analytics_server_mocks.mdx
+++ b/api_docs/kbn_core_analytics_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreAnalyticsServerMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks
title: "@kbn/core-analytics-server-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-analytics-server-mocks plugin
+description: API docs for the @kbn/core-analytics-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx
index 4cf38273b434e..2a213e335029f 100644
--- a/api_docs/kbn_core_base_browser_mocks.mdx
+++ b/api_docs/kbn_core_base_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreBaseBrowserMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks
title: "@kbn/core-base-browser-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-base-browser-mocks plugin
+description: API docs for the @kbn/core-base-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 f998c3986fa42..0cab7dd6adc34 100644
--- a/api_docs/kbn_core_base_common.mdx
+++ b/api_docs/kbn_core_base_common.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreBaseCommonPluginApi
slug: /kibana-dev-docs/api/kbn-core-base-common
title: "@kbn/core-base-common"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-base-common plugin
+description: API docs for the @kbn/core-base-common plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 7196db6502636..1b790a3aa7fa6 100644
--- a/api_docs/kbn_core_base_server_internal.mdx
+++ b/api_docs/kbn_core_base_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreBaseServerInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-base-server-internal
title: "@kbn/core-base-server-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-base-server-internal plugin
+description: API docs for the @kbn/core-base-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 e0fe87f10560e..b5b479b107bff 100644
--- a/api_docs/kbn_core_base_server_mocks.mdx
+++ b/api_docs/kbn_core_base_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreBaseServerMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-base-server-mocks
title: "@kbn/core-base-server-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-base-server-mocks plugin
+description: API docs for the @kbn/core-base-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx
index 4fe41d98f95e1..14dd1e84c9933 100644
--- a/api_docs/kbn_core_capabilities_common.mdx
+++ b/api_docs/kbn_core_capabilities_common.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreCapabilitiesCommonPluginApi
slug: /kibana-dev-docs/api/kbn-core-capabilities-common
title: "@kbn/core-capabilities-common"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-capabilities-common plugin
+description: API docs for the @kbn/core-capabilities-common plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 8dd31e759d375..db5d0f23b0558 100644
--- a/api_docs/kbn_core_capabilities_server.mdx
+++ b/api_docs/kbn_core_capabilities_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreCapabilitiesServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-capabilities-server
title: "@kbn/core-capabilities-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-capabilities-server plugin
+description: API docs for the @kbn/core-capabilities-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 ea93ab2a728a3..2d14bcb7fee9a 100644
--- a/api_docs/kbn_core_capabilities_server_mocks.mdx
+++ b/api_docs/kbn_core_capabilities_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreCapabilitiesServerMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks
title: "@kbn/core-capabilities-server-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-capabilities-server-mocks plugin
+description: API docs for the @kbn/core-capabilities-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx
index 2022112d0f968..89cf6d938e32f 100644
--- a/api_docs/kbn_core_config_server_internal.mdx
+++ b/api_docs/kbn_core_config_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreConfigServerInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-config-server-internal
title: "@kbn/core-config-server-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-config-server-internal plugin
+description: API docs for the @kbn/core-config-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx
index 6b3592a5106a8..3b9fc2f3630f5 100644
--- a/api_docs/kbn_core_deprecations_browser.mdx
+++ b/api_docs/kbn_core_deprecations_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreDeprecationsBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-deprecations-browser
title: "@kbn/core-deprecations-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-deprecations-browser plugin
+description: API docs for the @kbn/core-deprecations-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 c653204a2efa7..d85d12d177bfc 100644
--- a/api_docs/kbn_core_deprecations_browser_internal.mdx
+++ b/api_docs/kbn_core_deprecations_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreDeprecationsBrowserInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal
title: "@kbn/core-deprecations-browser-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-deprecations-browser-internal plugin
+description: API docs for the @kbn/core-deprecations-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 5de45a3e441d2..ebe495b965b47 100644
--- a/api_docs/kbn_core_deprecations_browser_mocks.mdx
+++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreDeprecationsBrowserMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks
title: "@kbn/core-deprecations-browser-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-deprecations-browser-mocks plugin
+description: API docs for the @kbn/core-deprecations-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 9ec6d2b8e7de6..b1dcc85409acb 100644
--- a/api_docs/kbn_core_deprecations_common.mdx
+++ b/api_docs/kbn_core_deprecations_common.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreDeprecationsCommonPluginApi
slug: /kibana-dev-docs/api/kbn-core-deprecations-common
title: "@kbn/core-deprecations-common"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-deprecations-common plugin
+description: API docs for the @kbn/core-deprecations-common plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json';
diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx
index 575fa27be8fc7..2ee5b745daa87 100644
--- a/api_docs/kbn_core_doc_links_browser.mdx
+++ b/api_docs/kbn_core_doc_links_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreDocLinksBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-doc-links-browser
title: "@kbn/core-doc-links-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-doc-links-browser plugin
+description: API docs for the @kbn/core-doc-links-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 979b7c9e29a0e..d217f9f349cfb 100644
--- a/api_docs/kbn_core_doc_links_browser_mocks.mdx
+++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreDocLinksBrowserMocksPluginApi
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
-summary: API docs for the @kbn/core-doc-links-browser-mocks plugin
+description: API docs for the @kbn/core-doc-links-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 1d8883729bc08..7666fab1b2d45 100644
--- a/api_docs/kbn_core_doc_links_server.mdx
+++ b/api_docs/kbn_core_doc_links_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreDocLinksServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-doc-links-server
title: "@kbn/core-doc-links-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-doc-links-server plugin
+description: API docs for the @kbn/core-doc-links-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 9d377f03024cf..1e2b1c3cd2ef1 100644
--- a/api_docs/kbn_core_doc_links_server_mocks.mdx
+++ b/api_docs/kbn_core_doc_links_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreDocLinksServerMocksPluginApi
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
-summary: API docs for the @kbn/core-doc-links-server-mocks plugin
+description: API docs for the @kbn/core-doc-links-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 71a70374fdcec..a7a12a761133e 100644
--- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx
+++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreElasticsearchClientServerInternalPluginApi
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
-summary: API docs for the @kbn/core-elasticsearch-client-server-internal plugin
+description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 e30a930a510c2..c5b167a12681a 100644
--- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx
+++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreElasticsearchClientServerMocksPluginApi
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
-summary: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin
+description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 3e4d5ea1eff1e..59400ce18d9a8 100644
--- a/api_docs/kbn_core_elasticsearch_server.mdx
+++ b/api_docs/kbn_core_elasticsearch_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreElasticsearchServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server
title: "@kbn/core-elasticsearch-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-elasticsearch-server plugin
+description: API docs for the @kbn/core-elasticsearch-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 d2c0ac6db57f5..adf8c71f58e60 100644
--- a/api_docs/kbn_core_elasticsearch_server_internal.mdx
+++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreElasticsearchServerInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal
title: "@kbn/core-elasticsearch-server-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-elasticsearch-server-internal plugin
+description: API docs for the @kbn/core-elasticsearch-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 4c7e3c5963d2d..18bc9b3645590 100644
--- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx
+++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreElasticsearchServerMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks
title: "@kbn/core-elasticsearch-server-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-elasticsearch-server-mocks plugin
+description: API docs for the @kbn/core-elasticsearch-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 661d4f2ed8405..e8a70ce60c7d5 100644
--- a/api_docs/kbn_core_environment_server_internal.mdx
+++ b/api_docs/kbn_core_environment_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreEnvironmentServerInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-environment-server-internal
title: "@kbn/core-environment-server-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-environment-server-internal plugin
+description: API docs for the @kbn/core-environment-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 4f5e63161fb70..a36ff455ffc24 100644
--- a/api_docs/kbn_core_environment_server_mocks.mdx
+++ b/api_docs/kbn_core_environment_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreEnvironmentServerMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks
title: "@kbn/core-environment-server-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-environment-server-mocks plugin
+description: API docs for the @kbn/core-environment-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 64da2a1842348..11cbc9dac48fc 100644
--- a/api_docs/kbn_core_execution_context_browser.mdx
+++ b/api_docs/kbn_core_execution_context_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreExecutionContextBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-execution-context-browser
title: "@kbn/core-execution-context-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-execution-context-browser plugin
+description: API docs for the @kbn/core-execution-context-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 699750f0ccda9..0deb55eae32e7 100644
--- a/api_docs/kbn_core_execution_context_browser_internal.mdx
+++ b/api_docs/kbn_core_execution_context_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreExecutionContextBrowserInternalPluginApi
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
-summary: API docs for the @kbn/core-execution-context-browser-internal plugin
+description: API docs for the @kbn/core-execution-context-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 f9da7f78d662a..9f089a48f97ba 100644
--- a/api_docs/kbn_core_execution_context_browser_mocks.mdx
+++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreExecutionContextBrowserMocksPluginApi
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
-summary: API docs for the @kbn/core-execution-context-browser-mocks plugin
+description: API docs for the @kbn/core-execution-context-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 1164f75874838..782d1fb88e738 100644
--- a/api_docs/kbn_core_execution_context_common.mdx
+++ b/api_docs/kbn_core_execution_context_common.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreExecutionContextCommonPluginApi
slug: /kibana-dev-docs/api/kbn-core-execution-context-common
title: "@kbn/core-execution-context-common"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-execution-context-common plugin
+description: API docs for the @kbn/core-execution-context-common plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 4709b3b984eb0..1d9901d9ff0c6 100644
--- a/api_docs/kbn_core_execution_context_server.mdx
+++ b/api_docs/kbn_core_execution_context_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreExecutionContextServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-execution-context-server
title: "@kbn/core-execution-context-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-execution-context-server plugin
+description: API docs for the @kbn/core-execution-context-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 1041572776e69..18a8e96fe0bea 100644
--- a/api_docs/kbn_core_execution_context_server_internal.mdx
+++ b/api_docs/kbn_core_execution_context_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreExecutionContextServerInternalPluginApi
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
-summary: API docs for the @kbn/core-execution-context-server-internal plugin
+description: API docs for the @kbn/core-execution-context-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 bf92cf8086388..e513446b13936 100644
--- a/api_docs/kbn_core_execution_context_server_mocks.mdx
+++ b/api_docs/kbn_core_execution_context_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreExecutionContextServerMocksPluginApi
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
-summary: API docs for the @kbn/core-execution-context-server-mocks plugin
+description: API docs for the @kbn/core-execution-context-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 66fa9fd0d119e..08e7d29db6a11 100644
--- a/api_docs/kbn_core_fatal_errors_browser.mdx
+++ b/api_docs/kbn_core_fatal_errors_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreFatalErrorsBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser
title: "@kbn/core-fatal-errors-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-fatal-errors-browser plugin
+description: API docs for the @kbn/core-fatal-errors-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 93e50050c1827..41f541d1c27c9 100644
--- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx
+++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreFatalErrorsBrowserMocksPluginApi
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
-summary: API docs for the @kbn/core-fatal-errors-browser-mocks plugin
+description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 7d478e7661cf2..539d5ea567778 100644
--- a/api_docs/kbn_core_http_browser.mdx
+++ b/api_docs/kbn_core_http_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreHttpBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-http-browser
title: "@kbn/core-http-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-http-browser plugin
+description: API docs for the @kbn/core-http-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 0196916c49af4..5b760bfab34ea 100644
--- a/api_docs/kbn_core_http_browser_internal.mdx
+++ b/api_docs/kbn_core_http_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreHttpBrowserInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-http-browser-internal
title: "@kbn/core-http-browser-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-http-browser-internal plugin
+description: API docs for the @kbn/core-http-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 36e36ebcb79b9..bfedc44dd4d9a 100644
--- a/api_docs/kbn_core_http_browser_mocks.mdx
+++ b/api_docs/kbn_core_http_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreHttpBrowserMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks
title: "@kbn/core-http-browser-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-http-browser-mocks plugin
+description: API docs for the @kbn/core-http-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 0ce137eaaf25b..9bcce94ced59d 100644
--- a/api_docs/kbn_core_http_common.mdx
+++ b/api_docs/kbn_core_http_common.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreHttpCommonPluginApi
slug: /kibana-dev-docs/api/kbn-core-http-common
title: "@kbn/core-http-common"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-http-common plugin
+description: API docs for the @kbn/core-http-common plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 7468336058974..a9ec3d9417ed8 100644
--- a/api_docs/kbn_core_http_context_server_mocks.mdx
+++ b/api_docs/kbn_core_http_context_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreHttpContextServerMocksPluginApi
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
-summary: API docs for the @kbn/core-http-context-server-mocks plugin
+description: API docs for the @kbn/core-http-context-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_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 a6333f53e2076..f3c6a235da96b 100644
--- a/api_docs/kbn_core_http_router_server_internal.mdx
+++ b/api_docs/kbn_core_http_router_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreHttpRouterServerInternalPluginApi
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
-summary: API docs for the @kbn/core-http-router-server-internal plugin
+description: API docs for the @kbn/core-http-router-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 7566ee9119d10..ebadcfbaf2c38 100644
--- a/api_docs/kbn_core_http_router_server_mocks.mdx
+++ b/api_docs/kbn_core_http_router_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreHttpRouterServerMocksPluginApi
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
-summary: API docs for the @kbn/core-http-router-server-mocks plugin
+description: API docs for the @kbn/core-http-router-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx
index 29e742f2350f8..d916e2de8c61a 100644
--- a/api_docs/kbn_core_http_server.mdx
+++ b/api_docs/kbn_core_http_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreHttpServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-http-server
title: "@kbn/core-http-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-http-server plugin
+description: API docs for the @kbn/core-http-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 1254401ee5426..09e6fbd78f3b1 100644
--- a/api_docs/kbn_core_http_server_internal.mdx
+++ b/api_docs/kbn_core_http_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreHttpServerInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-http-server-internal
title: "@kbn/core-http-server-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-http-server-internal plugin
+description: API docs for the @kbn/core-http-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 8d66b2eda38ee..ea492eafc4150 100644
--- a/api_docs/kbn_core_http_server_mocks.mdx
+++ b/api_docs/kbn_core_http_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreHttpServerMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-http-server-mocks
title: "@kbn/core-http-server-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-http-server-mocks plugin
+description: API docs for the @kbn/core-http-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 e7173c6deaab5..9c5ba3d8b049f 100644
--- a/api_docs/kbn_core_i18n_browser.mdx
+++ b/api_docs/kbn_core_i18n_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreI18nBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-i18n-browser
title: "@kbn/core-i18n-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-i18n-browser plugin
+description: API docs for the @kbn/core-i18n-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 ac518d3fba884..c062fc2ef85d8 100644
--- a/api_docs/kbn_core_i18n_browser_mocks.mdx
+++ b/api_docs/kbn_core_i18n_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreI18nBrowserMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks
title: "@kbn/core-i18n-browser-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-i18n-browser-mocks plugin
+description: API docs for the @kbn/core-i18n-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_injected_metadata_browser.mdx b/api_docs/kbn_core_injected_metadata_browser.mdx
index 33b9777c89da1..2bc83f827cb96 100644
--- a/api_docs/kbn_core_injected_metadata_browser.mdx
+++ b/api_docs/kbn_core_injected_metadata_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreInjectedMetadataBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser
title: "@kbn/core-injected-metadata-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-injected-metadata-browser plugin
+description: API docs for the @kbn/core-injected-metadata-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreInjectedMetadataBrowserObj from './kbn_core_injected_metadata_browser.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 1b950e8fe9490..1ca36d6871b75 100644
--- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx
+++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreInjectedMetadataBrowserMocksPluginApi
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
-summary: API docs for the @kbn/core-injected-metadata-browser-mocks plugin
+description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 91b4acc9cadc8..5d2be3bd28bf8 100644
--- a/api_docs/kbn_core_integrations_browser_internal.mdx
+++ b/api_docs/kbn_core_integrations_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreIntegrationsBrowserInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal
title: "@kbn/core-integrations-browser-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-integrations-browser-internal plugin
+description: API docs for the @kbn/core-integrations-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 3c46e98f755c9..a5fd5222f6ff4 100644
--- a/api_docs/kbn_core_integrations_browser_mocks.mdx
+++ b/api_docs/kbn_core_integrations_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreIntegrationsBrowserMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks
title: "@kbn/core-integrations-browser-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-integrations-browser-mocks plugin
+description: API docs for the @kbn/core-integrations-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx
index 8febbac2aba38..9c3429d1827fb 100644
--- a/api_docs/kbn_core_logging_server.mdx
+++ b/api_docs/kbn_core_logging_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreLoggingServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-logging-server
title: "@kbn/core-logging-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-logging-server plugin
+description: API docs for the @kbn/core-logging-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 6a56cc215c2d2..5c6fa6ce48ba5 100644
--- a/api_docs/kbn_core_logging_server_internal.mdx
+++ b/api_docs/kbn_core_logging_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreLoggingServerInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-logging-server-internal
title: "@kbn/core-logging-server-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-logging-server-internal plugin
+description: API docs for the @kbn/core-logging-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 d694c5c983d20..7104121495590 100644
--- a/api_docs/kbn_core_logging_server_mocks.mdx
+++ b/api_docs/kbn_core_logging_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreLoggingServerMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks
title: "@kbn/core-logging-server-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-logging-server-mocks plugin
+description: API docs for the @kbn/core-logging-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 c713d338cfd26..e7a96d9e14759 100644
--- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx
+++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreMetricsCollectorsServerInternalPluginApi
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
-summary: API docs for the @kbn/core-metrics-collectors-server-internal plugin
+description: API docs for the @kbn/core-metrics-collectors-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 7782767b072c5..7e3f3a73ae2bf 100644
--- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx
+++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreMetricsCollectorsServerMocksPluginApi
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
-summary: API docs for the @kbn/core-metrics-collectors-server-mocks plugin
+description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 d3ba6875eb993..d8421002909fe 100644
--- a/api_docs/kbn_core_metrics_server.mdx
+++ b/api_docs/kbn_core_metrics_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreMetricsServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-metrics-server
title: "@kbn/core-metrics-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-metrics-server plugin
+description: API docs for the @kbn/core-metrics-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 1f4fa49cf81ed..56679c0fac4f0 100644
--- a/api_docs/kbn_core_metrics_server_internal.mdx
+++ b/api_docs/kbn_core_metrics_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreMetricsServerInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal
title: "@kbn/core-metrics-server-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-metrics-server-internal plugin
+description: API docs for the @kbn/core-metrics-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 44ef913936687..4e2f78e552fc7 100644
--- a/api_docs/kbn_core_metrics_server_mocks.mdx
+++ b/api_docs/kbn_core_metrics_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreMetricsServerMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks
title: "@kbn/core-metrics-server-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-metrics-server-mocks plugin
+description: API docs for the @kbn/core-metrics-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 cd1db61a8b29d..4001305370246 100644
--- a/api_docs/kbn_core_mount_utils_browser.mdx
+++ b/api_docs/kbn_core_mount_utils_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreMountUtilsBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser
title: "@kbn/core-mount-utils-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-mount-utils-browser plugin
+description: API docs for the @kbn/core-mount-utils-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json';
diff --git a/api_docs/kbn_core_mount_utils_browser_internal.mdx b/api_docs/kbn_core_mount_utils_browser_internal.mdx
index 2d690a6065357..554db464654d4 100644
--- a/api_docs/kbn_core_mount_utils_browser_internal.mdx
+++ b/api_docs/kbn_core_mount_utils_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreMountUtilsBrowserInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser-internal
title: "@kbn/core-mount-utils-browser-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-mount-utils-browser-internal plugin
+description: API docs for the @kbn/core-mount-utils-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreMountUtilsBrowserInternalObj from './kbn_core_mount_utils_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx
index 620d527e9dfec..6fa8989f9a54a 100644
--- a/api_docs/kbn_core_node_server.mdx
+++ b/api_docs/kbn_core_node_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreNodeServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-node-server
title: "@kbn/core-node-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-node-server plugin
+description: API docs for the @kbn/core-node-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 5dc70b4e434d5..e1db2b6fc239b 100644
--- a/api_docs/kbn_core_node_server_internal.mdx
+++ b/api_docs/kbn_core_node_server_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreNodeServerInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-node-server-internal
title: "@kbn/core-node-server-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-node-server-internal plugin
+description: API docs for the @kbn/core-node-server-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 a1c7f0518037e..f054ee9e74e99 100644
--- a/api_docs/kbn_core_node_server_mocks.mdx
+++ b/api_docs/kbn_core_node_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreNodeServerMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-node-server-mocks
title: "@kbn/core-node-server-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-node-server-mocks plugin
+description: API docs for the @kbn/core-node-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 9b73ce6f2af07..ed28d6e8607cc 100644
--- a/api_docs/kbn_core_notifications_browser.mdx
+++ b/api_docs/kbn_core_notifications_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreNotificationsBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-notifications-browser
title: "@kbn/core-notifications-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-notifications-browser plugin
+description: API docs for the @kbn/core-notifications-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 e26ac823e3a64..6c08452e5d936 100644
--- a/api_docs/kbn_core_notifications_browser_internal.mdx
+++ b/api_docs/kbn_core_notifications_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreNotificationsBrowserInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal
title: "@kbn/core-notifications-browser-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-notifications-browser-internal plugin
+description: API docs for the @kbn/core-notifications-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 8defd47de4067..bcf616f60134b 100644
--- a/api_docs/kbn_core_notifications_browser_mocks.mdx
+++ b/api_docs/kbn_core_notifications_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreNotificationsBrowserMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks
title: "@kbn/core-notifications-browser-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-notifications-browser-mocks plugin
+description: API docs for the @kbn/core-notifications-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 2ba9f8a19a050..78fad3316f0d7 100644
--- a/api_docs/kbn_core_overlays_browser.mdx
+++ b/api_docs/kbn_core_overlays_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreOverlaysBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-overlays-browser
title: "@kbn/core-overlays-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-overlays-browser plugin
+description: API docs for the @kbn/core-overlays-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 6f0a29e468045..d941741e1979e 100644
--- a/api_docs/kbn_core_overlays_browser_internal.mdx
+++ b/api_docs/kbn_core_overlays_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreOverlaysBrowserInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal
title: "@kbn/core-overlays-browser-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-overlays-browser-internal plugin
+description: API docs for the @kbn/core-overlays-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 866132ba10c92..a16317e25c60b 100644
--- a/api_docs/kbn_core_overlays_browser_mocks.mdx
+++ b/api_docs/kbn_core_overlays_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreOverlaysBrowserMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks
title: "@kbn/core-overlays-browser-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-overlays-browser-mocks plugin
+description: API docs for the @kbn/core-overlays-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx
index cbbf027250fe0..f87449e4a77ce 100644
--- a/api_docs/kbn_core_preboot_server.mdx
+++ b/api_docs/kbn_core_preboot_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCorePrebootServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-preboot-server
title: "@kbn/core-preboot-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-preboot-server plugin
+description: API docs for the @kbn/core-preboot-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 a07a0853de6ae..4ee9f89ec3c67 100644
--- a/api_docs/kbn_core_preboot_server_mocks.mdx
+++ b/api_docs/kbn_core_preboot_server_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCorePrebootServerMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks
title: "@kbn/core-preboot-server-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-preboot-server-mocks plugin
+description: API docs for the @kbn/core-preboot-server-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.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 4083b402a8042..7296fba5302cb 100644
--- a/api_docs/kbn_core_saved_objects_api_browser.mdx
+++ b/api_docs/kbn_core_saved_objects_api_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreSavedObjectsApiBrowserPluginApi
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
-summary: API docs for the @kbn/core-saved-objects-api-browser plugin
+description: API docs for the @kbn/core-saved-objects-api-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 3db45c8be52f9..e2f0a1749d5aa 100644
--- a/api_docs/kbn_core_saved_objects_api_server.mdx
+++ b/api_docs/kbn_core_saved_objects_api_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreSavedObjectsApiServerPluginApi
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
-summary: API docs for the @kbn/core-saved-objects-api-server plugin
+description: API docs for the @kbn/core-saved-objects-api-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx
index 7a311807c8358..b18ef02e32332 100644
--- a/api_docs/kbn_core_saved_objects_browser.mdx
+++ b/api_docs/kbn_core_saved_objects_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreSavedObjectsBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser
title: "@kbn/core-saved-objects-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-saved-objects-browser plugin
+description: API docs for the @kbn/core-saved-objects-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 9967e10cdc76d..47c87c5e56e1e 100644
--- a/api_docs/kbn_core_saved_objects_browser_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreSavedObjectsBrowserInternalPluginApi
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
-summary: API docs for the @kbn/core-saved-objects-browser-internal plugin
+description: API docs for the @kbn/core-saved-objects-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 54dfcdbd7459a..4ca709a50337c 100644
--- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreSavedObjectsBrowserMocksPluginApi
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
-summary: API docs for the @kbn/core-saved-objects-browser-mocks plugin
+description: API docs for the @kbn/core-saved-objects-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 dc3a1986e550d..c3cc2b3559631 100644
--- a/api_docs/kbn_core_saved_objects_common.mdx
+++ b/api_docs/kbn_core_saved_objects_common.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreSavedObjectsCommonPluginApi
slug: /kibana-dev-docs/api/kbn-core-saved-objects-common
title: "@kbn/core-saved-objects-common"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-saved-objects-common plugin
+description: API docs for the @kbn/core-saved-objects-common plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx
index 4f50d19daef66..f62f25d45463f 100644
--- a/api_docs/kbn_core_saved_objects_server.mdx
+++ b/api_docs/kbn_core_saved_objects_server.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreSavedObjectsServerPluginApi
slug: /kibana-dev-docs/api/kbn-core-saved-objects-server
title: "@kbn/core-saved-objects-server"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-saved-objects-server plugin
+description: API docs for the @kbn/core-saved-objects-server plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.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 fe65a7e89048c..62df59fe050ff 100644
--- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx
+++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreTestHelpersDeprecationsGettersPluginApi
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
-summary: API docs for the @kbn/core-test-helpers-deprecations-getters plugin
+description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 99655563b1296..ff0e91cf1de85 100644
--- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx
+++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreTestHelpersHttpSetupBrowserPluginApi
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
-summary: API docs for the @kbn/core-test-helpers-http-setup-browser plugin
+description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json';
diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx
index cf31e74dce003..c289959f20180 100644
--- a/api_docs/kbn_core_theme_browser.mdx
+++ b/api_docs/kbn_core_theme_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreThemeBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-theme-browser
title: "@kbn/core-theme-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-theme-browser plugin
+description: API docs for the @kbn/core-theme-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json';
diff --git a/api_docs/kbn_core_theme_browser_internal.mdx b/api_docs/kbn_core_theme_browser_internal.mdx
index eb88aa7a05bbd..0494aba943d85 100644
--- a/api_docs/kbn_core_theme_browser_internal.mdx
+++ b/api_docs/kbn_core_theme_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreThemeBrowserInternalPluginApi
slug: /kibana-dev-docs/api/kbn-core-theme-browser-internal
title: "@kbn/core-theme-browser-internal"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-theme-browser-internal plugin
+description: API docs for the @kbn/core-theme-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreThemeBrowserInternalObj from './kbn_core_theme_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx
index 92d27f90b7cf8..f55a4a41bf493 100644
--- a/api_docs/kbn_core_theme_browser_mocks.mdx
+++ b/api_docs/kbn_core_theme_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreThemeBrowserMocksPluginApi
slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks
title: "@kbn/core-theme-browser-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-theme-browser-mocks plugin
+description: API docs for the @kbn/core-theme-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 64f78476c8eef..c1a5d83063ad2 100644
--- a/api_docs/kbn_core_ui_settings_browser.mdx
+++ b/api_docs/kbn_core_ui_settings_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreUiSettingsBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser
title: "@kbn/core-ui-settings-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-ui-settings-browser plugin
+description: API docs for the @kbn/core-ui-settings-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 25c030f47a1e0..ed55bfb684e31 100644
--- a/api_docs/kbn_core_ui_settings_browser_internal.mdx
+++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreUiSettingsBrowserInternalPluginApi
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
-summary: API docs for the @kbn/core-ui-settings-browser-internal plugin
+description: API docs for the @kbn/core-ui-settings-browser-internal plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 637c39c488705..181658c6e1ced 100644
--- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx
+++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreUiSettingsBrowserMocksPluginApi
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
-summary: API docs for the @kbn/core-ui-settings-browser-mocks plugin
+description: API docs for the @kbn/core-ui-settings-browser-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 b93086e6d5a6e..12cba7495172e 100644
--- a/api_docs/kbn_core_ui_settings_common.mdx
+++ b/api_docs/kbn_core_ui_settings_common.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCoreUiSettingsCommonPluginApi
slug: /kibana-dev-docs/api/kbn-core-ui-settings-common
title: "@kbn/core-ui-settings-common"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/core-ui-settings-common plugin
+description: API docs for the @kbn/core-ui-settings-common plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json';
diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx
index f9dd8733c5c49..fc4d3f1abd1c8 100644
--- a/api_docs/kbn_crypto.mdx
+++ b/api_docs/kbn_crypto.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCryptoPluginApi
slug: /kibana-dev-docs/api/kbn-crypto
title: "@kbn/crypto"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/crypto plugin
+description: API docs for the @kbn/crypto plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCryptoObj from './kbn_crypto.devdocs.json';
diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx
index cb5d48578bd36..b92c2d8d4e78c 100644
--- a/api_docs/kbn_crypto_browser.mdx
+++ b/api_docs/kbn_crypto_browser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnCryptoBrowserPluginApi
slug: /kibana-dev-docs/api/kbn-crypto-browser
title: "@kbn/crypto-browser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/crypto-browser plugin
+description: API docs for the @kbn/crypto-browser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json';
diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx
index d91f60d78e108..8d5531e2226e2 100644
--- a/api_docs/kbn_datemath.mdx
+++ b/api_docs/kbn_datemath.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnDatemathPluginApi
slug: /kibana-dev-docs/api/kbn-datemath
title: "@kbn/datemath"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/datemath plugin
+description: API docs for the @kbn/datemath plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnDatemathObj from './kbn_datemath.devdocs.json';
diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx
index 46bd0d8207f2f..7e4b1ab51926d 100644
--- a/api_docs/kbn_dev_cli_errors.mdx
+++ b/api_docs/kbn_dev_cli_errors.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnDevCliErrorsPluginApi
slug: /kibana-dev-docs/api/kbn-dev-cli-errors
title: "@kbn/dev-cli-errors"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/dev-cli-errors plugin
+description: API docs for the @kbn/dev-cli-errors plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 7cb93cffe8c9d..acd1f1bbf2b98 100644
--- a/api_docs/kbn_dev_cli_runner.mdx
+++ b/api_docs/kbn_dev_cli_runner.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnDevCliRunnerPluginApi
slug: /kibana-dev-docs/api/kbn-dev-cli-runner
title: "@kbn/dev-cli-runner"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/dev-cli-runner plugin
+description: API docs for the @kbn/dev-cli-runner plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 771e5cecdf43d..41dbafc0bc1fb 100644
--- a/api_docs/kbn_dev_proc_runner.mdx
+++ b/api_docs/kbn_dev_proc_runner.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnDevProcRunnerPluginApi
slug: /kibana-dev-docs/api/kbn-dev-proc-runner
title: "@kbn/dev-proc-runner"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/dev-proc-runner plugin
+description: API docs for the @kbn/dev-proc-runner plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 5342c7bfa04d9..0da804e752f45 100644
--- a/api_docs/kbn_dev_utils.mdx
+++ b/api_docs/kbn_dev_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnDevUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-dev-utils
title: "@kbn/dev-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/dev-utils plugin
+description: API docs for the @kbn/dev-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json';
diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx
index c371b30eb3338..0884a68cf4412 100644
--- a/api_docs/kbn_doc_links.mdx
+++ b/api_docs/kbn_doc_links.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnDocLinksPluginApi
slug: /kibana-dev-docs/api/kbn-doc-links
title: "@kbn/doc-links"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/doc-links plugin
+description: API docs for the @kbn/doc-links plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 7665daea7144c..891ded77cf277 100644
--- a/api_docs/kbn_docs_utils.mdx
+++ b/api_docs/kbn_docs_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnDocsUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-docs-utils
title: "@kbn/docs-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/docs-utils plugin
+description: API docs for the @kbn/docs-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json';
diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx
index 63353d14673c9..fd93fb141ce85 100644
--- a/api_docs/kbn_ebt_tools.mdx
+++ b/api_docs/kbn_ebt_tools.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnEbtToolsPluginApi
slug: /kibana-dev-docs/api/kbn-ebt-tools
title: "@kbn/ebt-tools"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/ebt-tools plugin
+description: API docs for the @kbn/ebt-tools plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json';
diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx
index e48c751e54b5c..0f807c0b43c12 100644
--- a/api_docs/kbn_es_archiver.mdx
+++ b/api_docs/kbn_es_archiver.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnEsArchiverPluginApi
slug: /kibana-dev-docs/api/kbn-es-archiver
title: "@kbn/es-archiver"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/es-archiver plugin
+description: API docs for the @kbn/es-archiver plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 46ac654c9d5e7..393ecd76d6e92 100644
--- a/api_docs/kbn_es_errors.mdx
+++ b/api_docs/kbn_es_errors.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnEsErrorsPluginApi
slug: /kibana-dev-docs/api/kbn-es-errors
title: "@kbn/es-errors"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/es-errors plugin
+description: API docs for the @kbn/es-errors plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 5f6deb9a2917c..1af39670b9109 100644
--- a/api_docs/kbn_es_query.mdx
+++ b/api_docs/kbn_es_query.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnEsQueryPluginApi
slug: /kibana-dev-docs/api/kbn-es-query
title: "@kbn/es-query"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/es-query plugin
+description: API docs for the @kbn/es-query plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnEsQueryObj from './kbn_es_query.devdocs.json';
diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx
index 4fb658ae8fe6b..802105b6ab31f 100644
--- a/api_docs/kbn_eslint_plugin_imports.mdx
+++ b/api_docs/kbn_eslint_plugin_imports.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnEslintPluginImportsPluginApi
slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports
title: "@kbn/eslint-plugin-imports"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/eslint-plugin-imports plugin
+description: API docs for the @kbn/eslint-plugin-imports plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json';
diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx
index 40554b64f05ac..d49b3b2f690ca 100644
--- a/api_docs/kbn_field_types.mdx
+++ b/api_docs/kbn_field_types.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnFieldTypesPluginApi
slug: /kibana-dev-docs/api/kbn-field-types
title: "@kbn/field-types"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/field-types plugin
+description: API docs for the @kbn/field-types plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 b857ce8b6e4f7..61c6b87747f72 100644
--- a/api_docs/kbn_find_used_node_modules.mdx
+++ b/api_docs/kbn_find_used_node_modules.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnFindUsedNodeModulesPluginApi
slug: /kibana-dev-docs/api/kbn-find-used-node-modules
title: "@kbn/find-used-node-modules"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/find-used-node-modules plugin
+description: API docs for the @kbn/find-used-node-modules plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json';
diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx
index 1cbaea812812d..4c540cb90dcd2 100644
--- a/api_docs/kbn_generate.mdx
+++ b/api_docs/kbn_generate.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnGeneratePluginApi
slug: /kibana-dev-docs/api/kbn-generate
title: "@kbn/generate"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/generate plugin
+description: API docs for the @kbn/generate plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnGenerateObj from './kbn_generate.devdocs.json';
diff --git a/api_docs/kbn_get_repo_files.mdx b/api_docs/kbn_get_repo_files.mdx
index 710252ce3a5c7..d1835b5faac09 100644
--- a/api_docs/kbn_get_repo_files.mdx
+++ b/api_docs/kbn_get_repo_files.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnGetRepoFilesPluginApi
slug: /kibana-dev-docs/api/kbn-get-repo-files
title: "@kbn/get-repo-files"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/get-repo-files plugin
+description: API docs for the @kbn/get-repo-files plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/get-repo-files']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnGetRepoFilesObj from './kbn_get_repo_files.devdocs.json';
diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx
index 0c1c5162e78a6..9b4017593eee6 100644
--- a/api_docs/kbn_handlebars.mdx
+++ b/api_docs/kbn_handlebars.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnHandlebarsPluginApi
slug: /kibana-dev-docs/api/kbn-handlebars
title: "@kbn/handlebars"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/handlebars plugin
+description: API docs for the @kbn/handlebars plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnHandlebarsObj from './kbn_handlebars.devdocs.json';
diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx
index 8347122ac841d..9681a90d7fb4e 100644
--- a/api_docs/kbn_hapi_mocks.mdx
+++ b/api_docs/kbn_hapi_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnHapiMocksPluginApi
slug: /kibana-dev-docs/api/kbn-hapi-mocks
title: "@kbn/hapi-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/hapi-mocks plugin
+description: API docs for the @kbn/hapi-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json';
diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx
index 488d44e113ae8..fdac17540890c 100644
--- a/api_docs/kbn_home_sample_data_card.mdx
+++ b/api_docs/kbn_home_sample_data_card.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnHomeSampleDataCardPluginApi
slug: /kibana-dev-docs/api/kbn-home-sample-data-card
title: "@kbn/home-sample-data-card"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/home-sample-data-card plugin
+description: API docs for the @kbn/home-sample-data-card plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 1eb25f2d0aabe..a261a5337cd52 100644
--- a/api_docs/kbn_home_sample_data_tab.mdx
+++ b/api_docs/kbn_home_sample_data_tab.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnHomeSampleDataTabPluginApi
slug: /kibana-dev-docs/api/kbn-home-sample-data-tab
title: "@kbn/home-sample-data-tab"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/home-sample-data-tab plugin
+description: API docs for the @kbn/home-sample-data-tab plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 a142e7e1a75e4..8aac8ce56d56e 100644
--- a/api_docs/kbn_i18n.mdx
+++ b/api_docs/kbn_i18n.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnI18nPluginApi
slug: /kibana-dev-docs/api/kbn-i18n
title: "@kbn/i18n"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/i18n plugin
+description: API docs for the @kbn/i18n plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnI18nObj from './kbn_i18n.devdocs.json';
diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx
index d89fbe0f1c21f..af416592c96f4 100644
--- a/api_docs/kbn_import_resolver.mdx
+++ b/api_docs/kbn_import_resolver.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnImportResolverPluginApi
slug: /kibana-dev-docs/api/kbn-import-resolver
title: "@kbn/import-resolver"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/import-resolver plugin
+description: API docs for the @kbn/import-resolver plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnImportResolverObj from './kbn_import_resolver.devdocs.json';
diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx
index 5b2e1825b0446..c1efe00dc76ff 100644
--- a/api_docs/kbn_interpreter.mdx
+++ b/api_docs/kbn_interpreter.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnInterpreterPluginApi
slug: /kibana-dev-docs/api/kbn-interpreter
title: "@kbn/interpreter"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/interpreter plugin
+description: API docs for the @kbn/interpreter plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 a2504a4c32db6..eec1b4e9073ba 100644
--- a/api_docs/kbn_io_ts_utils.mdx
+++ b/api_docs/kbn_io_ts_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnIoTsUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-io-ts-utils
title: "@kbn/io-ts-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/io-ts-utils plugin
+description: API docs for the @kbn/io-ts-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 74a3f649a904a..f7f8667e78e97 100644
--- a/api_docs/kbn_jest_serializers.mdx
+++ b/api_docs/kbn_jest_serializers.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnJestSerializersPluginApi
slug: /kibana-dev-docs/api/kbn-jest-serializers
title: "@kbn/jest-serializers"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/jest-serializers plugin
+description: API docs for the @kbn/jest-serializers plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json';
diff --git a/api_docs/kbn_kibana_manifest_parser.mdx b/api_docs/kbn_kibana_manifest_parser.mdx
index cb8e3e9e4ab23..03788cb327193 100644
--- a/api_docs/kbn_kibana_manifest_parser.mdx
+++ b/api_docs/kbn_kibana_manifest_parser.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnKibanaManifestParserPluginApi
slug: /kibana-dev-docs/api/kbn-kibana-manifest-parser
title: "@kbn/kibana-manifest-parser"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/kibana-manifest-parser plugin
+description: API docs for the @kbn/kibana-manifest-parser plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-parser']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnKibanaManifestParserObj from './kbn_kibana_manifest_parser.devdocs.json';
diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx
index ce71c1b8b75f0..03b946bd25a01 100644
--- a/api_docs/kbn_kibana_manifest_schema.mdx
+++ b/api_docs/kbn_kibana_manifest_schema.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnKibanaManifestSchemaPluginApi
slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema
title: "@kbn/kibana-manifest-schema"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/kibana-manifest-schema plugin
+description: API docs for the @kbn/kibana-manifest-schema plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json';
diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx
index 1151120643d1a..724ed4fd38fe2 100644
--- a/api_docs/kbn_logging.mdx
+++ b/api_docs/kbn_logging.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnLoggingPluginApi
slug: /kibana-dev-docs/api/kbn-logging
title: "@kbn/logging"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/logging plugin
+description: API docs for the @kbn/logging plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnLoggingObj from './kbn_logging.devdocs.json';
diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx
index 3b7ee97c52ae1..b72734dffbc20 100644
--- a/api_docs/kbn_logging_mocks.mdx
+++ b/api_docs/kbn_logging_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnLoggingMocksPluginApi
slug: /kibana-dev-docs/api/kbn-logging-mocks
title: "@kbn/logging-mocks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/logging-mocks plugin
+description: API docs for the @kbn/logging-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 ed6376e9553e1..b049ef5d8a506 100644
--- a/api_docs/kbn_managed_vscode_config.mdx
+++ b/api_docs/kbn_managed_vscode_config.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnManagedVscodeConfigPluginApi
slug: /kibana-dev-docs/api/kbn-managed-vscode-config
title: "@kbn/managed-vscode-config"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/managed-vscode-config plugin
+description: API docs for the @kbn/managed-vscode-config plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json';
diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx
index 8d6dba65ead91..dcd5593003f6a 100644
--- a/api_docs/kbn_mapbox_gl.mdx
+++ b/api_docs/kbn_mapbox_gl.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnMapboxGlPluginApi
slug: /kibana-dev-docs/api/kbn-mapbox-gl
title: "@kbn/mapbox-gl"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/mapbox-gl plugin
+description: API docs for the @kbn/mapbox-gl plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json';
diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx
index 7cb8d90cfa235..5f4db6fe80f91 100644
--- a/api_docs/kbn_ml_agg_utils.mdx
+++ b/api_docs/kbn_ml_agg_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnMlAggUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-ml-agg-utils
title: "@kbn/ml-agg-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/ml-agg-utils plugin
+description: API docs for the @kbn/ml-agg-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx
index 6d72343154bdc..02cc5334a886a 100644
--- a/api_docs/kbn_ml_is_populated_object.mdx
+++ b/api_docs/kbn_ml_is_populated_object.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnMlIsPopulatedObjectPluginApi
slug: /kibana-dev-docs/api/kbn-ml-is-populated-object
title: "@kbn/ml-is-populated-object"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/ml-is-populated-object plugin
+description: API docs for the @kbn/ml-is-populated-object plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json';
diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx
index fe74228ef2800..7d395d3a069a1 100644
--- a/api_docs/kbn_ml_string_hash.mdx
+++ b/api_docs/kbn_ml_string_hash.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnMlStringHashPluginApi
slug: /kibana-dev-docs/api/kbn-ml-string-hash
title: "@kbn/ml-string-hash"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/ml-string-hash plugin
+description: API docs for the @kbn/ml-string-hash plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json';
diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx
index 5ad15805a570f..3a8cfb0d9e554 100644
--- a/api_docs/kbn_monaco.mdx
+++ b/api_docs/kbn_monaco.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnMonacoPluginApi
slug: /kibana-dev-docs/api/kbn-monaco
title: "@kbn/monaco"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/monaco plugin
+description: API docs for the @kbn/monaco plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnMonacoObj from './kbn_monaco.devdocs.json';
diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx
index 5ceffe10c2355..401ffa5b6df92 100644
--- a/api_docs/kbn_optimizer.mdx
+++ b/api_docs/kbn_optimizer.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnOptimizerPluginApi
slug: /kibana-dev-docs/api/kbn-optimizer
title: "@kbn/optimizer"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/optimizer plugin
+description: API docs for the @kbn/optimizer plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 e87a7556a2f4d..1433bed9a5223 100644
--- a/api_docs/kbn_optimizer_webpack_helpers.mdx
+++ b/api_docs/kbn_optimizer_webpack_helpers.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnOptimizerWebpackHelpersPluginApi
slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers
title: "@kbn/optimizer-webpack-helpers"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/optimizer-webpack-helpers plugin
+description: API docs for the @kbn/optimizer-webpack-helpers plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json';
diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx
index e783b89afa935..d2547dbdf7c37 100644
--- a/api_docs/kbn_performance_testing_dataset_extractor.mdx
+++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnPerformanceTestingDatasetExtractorPluginApi
slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor
title: "@kbn/performance-testing-dataset-extractor"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/performance-testing-dataset-extractor plugin
+description: API docs for the @kbn/performance-testing-dataset-extractor plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 8528d35bdbf2d..41377f5f93609 100644
--- a/api_docs/kbn_plugin_generator.mdx
+++ b/api_docs/kbn_plugin_generator.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnPluginGeneratorPluginApi
slug: /kibana-dev-docs/api/kbn-plugin-generator
title: "@kbn/plugin-generator"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/plugin-generator plugin
+description: API docs for the @kbn/plugin-generator plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 d7c4a8b24e619..4a00c6457c8b5 100644
--- a/api_docs/kbn_plugin_helpers.mdx
+++ b/api_docs/kbn_plugin_helpers.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnPluginHelpersPluginApi
slug: /kibana-dev-docs/api/kbn-plugin-helpers
title: "@kbn/plugin-helpers"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/plugin-helpers plugin
+description: API docs for the @kbn/plugin-helpers plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json';
diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx
index f6b280b0f03db..7b4165dea7145 100644
--- a/api_docs/kbn_react_field.mdx
+++ b/api_docs/kbn_react_field.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnReactFieldPluginApi
slug: /kibana-dev-docs/api/kbn-react-field
title: "@kbn/react-field"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/react-field plugin
+description: API docs for the @kbn/react-field plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnReactFieldObj from './kbn_react_field.devdocs.json';
diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx
index 40d5b8ffa349e..1dc03a31b146f 100644
--- a/api_docs/kbn_repo_source_classifier.mdx
+++ b/api_docs/kbn_repo_source_classifier.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnRepoSourceClassifierPluginApi
slug: /kibana-dev-docs/api/kbn-repo-source-classifier
title: "@kbn/repo-source-classifier"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/repo-source-classifier plugin
+description: API docs for the @kbn/repo-source-classifier plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json';
diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx
index 443b445f4d402..c99d36d31674a 100644
--- a/api_docs/kbn_rule_data_utils.mdx
+++ b/api_docs/kbn_rule_data_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnRuleDataUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-rule-data-utils
title: "@kbn/rule-data-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/rule-data-utils plugin
+description: API docs for the @kbn/rule-data-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx
index 7bed67d2eaf32..01381b9c64531 100644
--- a/api_docs/kbn_securitysolution_autocomplete.mdx
+++ b/api_docs/kbn_securitysolution_autocomplete.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionAutocompletePluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete
title: "@kbn/securitysolution-autocomplete"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-autocomplete plugin
+description: API docs for the @kbn/securitysolution-autocomplete plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx
index 5191717a2b4f6..b86f2b37fb312 100644
--- a/api_docs/kbn_securitysolution_es_utils.mdx
+++ b/api_docs/kbn_securitysolution_es_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionEsUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils
title: "@kbn/securitysolution-es-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-es-utils plugin
+description: API docs for the @kbn/securitysolution-es-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx
index 168432db590ca..64447548f7b9d 100644
--- a/api_docs/kbn_securitysolution_hook_utils.mdx
+++ b/api_docs/kbn_securitysolution_hook_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionHookUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils
title: "@kbn/securitysolution-hook-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-hook-utils plugin
+description: API docs for the @kbn/securitysolution-hook-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 dde361045dfca..8021d578650f9 100644
--- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx
+++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionIoTsAlertingTypesPluginApi
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
-summary: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin
+description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 2e9052ebcb51a..51c28cadb81b3 100644
--- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx
+++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionIoTsListTypesPluginApi
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
-summary: API docs for the @kbn/securitysolution-io-ts-list-types plugin
+description: API docs for the @kbn/securitysolution-io-ts-list-types plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 912260c4b7f99..728f79e48e063 100644
--- a/api_docs/kbn_securitysolution_io_ts_types.mdx
+++ b/api_docs/kbn_securitysolution_io_ts_types.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionIoTsTypesPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types
title: "@kbn/securitysolution-io-ts-types"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-io-ts-types plugin
+description: API docs for the @kbn/securitysolution-io-ts-types plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 17c3de5b2ef01..f12bee7cba2f1 100644
--- a/api_docs/kbn_securitysolution_io_ts_utils.mdx
+++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionIoTsUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils
title: "@kbn/securitysolution-io-ts-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-io-ts-utils plugin
+description: API docs for the @kbn/securitysolution-io-ts-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_list_api.devdocs.json b/api_docs/kbn_securitysolution_list_api.devdocs.json
index f644bd3bfab69..79b6b26e9f098 100644
--- a/api_docs/kbn_securitysolution_list_api.devdocs.json
+++ b/api_docs/kbn_securitysolution_list_api.devdocs.json
@@ -496,7 +496,7 @@
"label": "findListsWithValidation",
"description": [],
"signature": [
- "({ cursor, http, pageIndex, pageSize, signal, }: ",
+ "({ cursor, http, pageIndex, pageSize, signal, sortField, sortOrder, }: ",
{
"pluginId": "@kbn/securitysolution-list-api",
"scope": "common",
@@ -514,7 +514,7 @@
"id": "def-common.findListsWithValidation.$1",
"type": "Object",
"tags": [],
- "label": "{\n cursor,\n http,\n pageIndex,\n pageSize,\n signal,\n}",
+ "label": "{\n cursor,\n http,\n pageIndex,\n pageSize,\n signal,\n sortField,\n sortOrder,\n}",
"description": [],
"signature": [
{
@@ -1011,6 +1011,32 @@
],
"path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts",
"deprecated": false
+ },
+ {
+ "parentPluginId": "@kbn/securitysolution-list-api",
+ "id": "def-common.FindListsParams.sortOrder",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "sortOrder",
+ "description": [],
+ "signature": [
+ "\"asc\" | \"desc\" | undefined"
+ ],
+ "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts",
+ "deprecated": false
+ },
+ {
+ "parentPluginId": "@kbn/securitysolution-list-api",
+ "id": "def-common.FindListsParams.sortField",
+ "type": "string",
+ "tags": [],
+ "label": "sortField",
+ "description": [],
+ "signature": [
+ "string | undefined"
+ ],
+ "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts",
+ "deprecated": false
}
],
"initialIsOpen": false
diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx
index 949bf45c71f1d..b350cdb74f58a 100644
--- a/api_docs/kbn_securitysolution_list_api.mdx
+++ b/api_docs/kbn_securitysolution_list_api.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionListApiPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-list-api
title: "@kbn/securitysolution-list-api"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-list-api plugin
+description: API docs for the @kbn/securitysolution-list-api plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json';
@@ -18,7 +21,7 @@ Contact [Owner missing] for questions regarding this plugin.
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 59 | 0 | 58 | 0 |
+| 61 | 0 | 60 | 0 |
## Common
diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx
index f0dbd8a1e3a59..c5982bc804784 100644
--- a/api_docs/kbn_securitysolution_list_constants.mdx
+++ b/api_docs/kbn_securitysolution_list_constants.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionListConstantsPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants
title: "@kbn/securitysolution-list-constants"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-list-constants plugin
+description: API docs for the @kbn/securitysolution-list-constants plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 8d5a2429c99af..47c226d31517a 100644
--- a/api_docs/kbn_securitysolution_list_hooks.mdx
+++ b/api_docs/kbn_securitysolution_list_hooks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionListHooksPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks
title: "@kbn/securitysolution-list-hooks"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-list-hooks plugin
+description: API docs for the @kbn/securitysolution-list-hooks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 2c061d5bbeec7..8e93c81a792c5 100644
--- a/api_docs/kbn_securitysolution_list_utils.mdx
+++ b/api_docs/kbn_securitysolution_list_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionListUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils
title: "@kbn/securitysolution-list-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-list-utils plugin
+description: API docs for the @kbn/securitysolution-list-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 a638dc939e2fe..7784aac276bbb 100644
--- a/api_docs/kbn_securitysolution_rules.mdx
+++ b/api_docs/kbn_securitysolution_rules.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionRulesPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-rules
title: "@kbn/securitysolution-rules"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-rules plugin
+description: API docs for the @kbn/securitysolution-rules plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 623e10d8a0e4a..d19589e0fbf25 100644
--- a/api_docs/kbn_securitysolution_t_grid.mdx
+++ b/api_docs/kbn_securitysolution_t_grid.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionTGridPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid
title: "@kbn/securitysolution-t-grid"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-t-grid plugin
+description: API docs for the @kbn/securitysolution-t-grid plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 3979cc1743954..05c368a4a14a2 100644
--- a/api_docs/kbn_securitysolution_utils.mdx
+++ b/api_docs/kbn_securitysolution_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSecuritysolutionUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-securitysolution-utils
title: "@kbn/securitysolution-utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/securitysolution-utils plugin
+description: API docs for the @kbn/securitysolution-utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 c3668e264b8e4..604e475904093 100644
--- a/api_docs/kbn_server_http_tools.mdx
+++ b/api_docs/kbn_server_http_tools.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnServerHttpToolsPluginApi
slug: /kibana-dev-docs/api/kbn-server-http-tools
title: "@kbn/server-http-tools"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/server-http-tools plugin
+description: API docs for the @kbn/server-http-tools plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 72a014f25ba22..40f966dda3f0f 100644
--- a/api_docs/kbn_server_route_repository.mdx
+++ b/api_docs/kbn_server_route_repository.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnServerRouteRepositoryPluginApi
slug: /kibana-dev-docs/api/kbn-server-route-repository
title: "@kbn/server-route-repository"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/server-route-repository plugin
+description: API docs for the @kbn/server-route-repository plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json';
diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx
index 0fde3962a5f48..990fad803c7c2 100644
--- a/api_docs/kbn_shared_svg.mdx
+++ b/api_docs/kbn_shared_svg.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedSvgPluginApi
slug: /kibana-dev-docs/api/kbn-shared-svg
title: "@kbn/shared-svg"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/shared-svg plugin
+description: API docs for the @kbn/shared-svg plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSharedSvgObj from './kbn_shared_svg.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 edecab3bd00f2..60b5b3d330626 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
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxButtonExitFullScreenMocksPluginApi
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
-summary: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin
+description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 a4371e47e72f2..fccebd4955558 100644
--- a/api_docs/kbn_shared_ux_button_toolbar.mdx
+++ b/api_docs/kbn_shared_ux_button_toolbar.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxButtonToolbarPluginApi
slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar
title: "@kbn/shared-ux-button-toolbar"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/shared-ux-button-toolbar plugin
+description: API docs for the @kbn/shared-ux-button-toolbar plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 8393837ce0d48..d293d0de06b6c 100644
--- a/api_docs/kbn_shared_ux_card_no_data.mdx
+++ b/api_docs/kbn_shared_ux_card_no_data.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxCardNoDataPluginApi
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
-summary: API docs for the @kbn/shared-ux-card-no-data plugin
+description: API docs for the @kbn/shared-ux-card-no-data plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 84f7b5feb8e5f..ab21403b9c618 100644
--- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx
+++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxCardNoDataMocksPluginApi
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
-summary: API docs for the @kbn/shared-ux-card-no-data-mocks plugin
+description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_components.mdx b/api_docs/kbn_shared_ux_components.mdx
index 4dd9cb49f5f6f..2cd1cfaf5b8cc 100644
--- a/api_docs/kbn_shared_ux_components.mdx
+++ b/api_docs/kbn_shared_ux_components.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxComponentsPluginApi
slug: /kibana-dev-docs/api/kbn-shared-ux-components
title: "@kbn/shared-ux-components"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/shared-ux-components plugin
+description: API docs for the @kbn/shared-ux-components plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-components']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSharedUxComponentsObj from './kbn_shared_ux_components.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 c9247266d2047..75fd35ae9d67c 100644
--- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx
+++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxLinkRedirectAppMocksPluginApi
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
-summary: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin
+description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_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 e259334407430..1e6fc6e2ab71f 100644
--- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx
+++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxPageAnalyticsNoDataPluginApi
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
-summary: API docs for the @kbn/shared-ux-page-analytics-no-data plugin
+description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 d27d9840a5b1f..016debf569b80 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
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxPageAnalyticsNoDataMocksPluginApi
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
-summary: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin
+description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 3644d7acad093..1e0532f5aa87f 100644
--- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx
+++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxPageKibanaNoDataPluginApi
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
-summary: API docs for the @kbn/shared-ux-page-kibana-no-data plugin
+description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 d019b15d67759..ef904ec8a5a70 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
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxPageKibanaNoDataMocksPluginApi
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
-summary: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin
+description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_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 29b118a38656b..fa8e36b80886c 100644
--- a/api_docs/kbn_shared_ux_page_solution_nav.mdx
+++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxPageSolutionNavPluginApi
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
-summary: API docs for the @kbn/shared-ux-page-solution-nav plugin
+description: API docs for the @kbn/shared-ux-page-solution-nav plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 fda31d8d34910..77afd07c333de 100644
--- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx
+++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxPromptNoDataViewsPluginApi
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
-summary: API docs for the @kbn/shared-ux-prompt-no-data-views plugin
+description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 25bd1af3c2ed3..6ddacd28b576a 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
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxPromptNoDataViewsMocksPluginApi
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
-summary: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin
+description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_services.mdx b/api_docs/kbn_shared_ux_services.mdx
index c22a7771b5198..385b93d1e9050 100644
--- a/api_docs/kbn_shared_ux_services.mdx
+++ b/api_docs/kbn_shared_ux_services.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxServicesPluginApi
slug: /kibana-dev-docs/api/kbn-shared-ux-services
title: "@kbn/shared-ux-services"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/shared-ux-services plugin
+description: API docs for the @kbn/shared-ux-services plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-services']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSharedUxServicesObj from './kbn_shared_ux_services.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_storybook.mdx b/api_docs/kbn_shared_ux_storybook.mdx
index fc045d20ddf3a..69abf887d35ce 100644
--- a/api_docs/kbn_shared_ux_storybook.mdx
+++ b/api_docs/kbn_shared_ux_storybook.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxStorybookPluginApi
slug: /kibana-dev-docs/api/kbn-shared-ux-storybook
title: "@kbn/shared-ux-storybook"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/shared-ux-storybook plugin
+description: API docs for the @kbn/shared-ux-storybook plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSharedUxStorybookObj from './kbn_shared_ux_storybook.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx
index 3595f0ef8c6b6..97535d2c0a7e1 100644
--- a/api_docs/kbn_shared_ux_storybook_mock.mdx
+++ b/api_docs/kbn_shared_ux_storybook_mock.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxStorybookMockPluginApi
slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock
title: "@kbn/shared-ux-storybook-mock"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/shared-ux-storybook-mock plugin
+description: API docs for the @kbn/shared-ux-storybook-mock plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 9b65d143ab654..bae9f2e90952d 100644
--- a/api_docs/kbn_shared_ux_utility.mdx
+++ b/api_docs/kbn_shared_ux_utility.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSharedUxUtilityPluginApi
slug: /kibana-dev-docs/api/kbn-shared-ux-utility
title: "@kbn/shared-ux-utility"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/shared-ux-utility plugin
+description: API docs for the @kbn/shared-ux-utility plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json';
diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx
index 2051d3395ffa1..23b03700d87da 100644
--- a/api_docs/kbn_some_dev_log.mdx
+++ b/api_docs/kbn_some_dev_log.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSomeDevLogPluginApi
slug: /kibana-dev-docs/api/kbn-some-dev-log
title: "@kbn/some-dev-log"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/some-dev-log plugin
+description: API docs for the @kbn/some-dev-log plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json';
diff --git a/api_docs/kbn_sort_package_json.mdx b/api_docs/kbn_sort_package_json.mdx
index c4befb85d9af4..c1489a38ee153 100644
--- a/api_docs/kbn_sort_package_json.mdx
+++ b/api_docs/kbn_sort_package_json.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnSortPackageJsonPluginApi
slug: /kibana-dev-docs/api/kbn-sort-package-json
title: "@kbn/sort-package-json"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/sort-package-json plugin
+description: API docs for the @kbn/sort-package-json plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sort-package-json']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnSortPackageJsonObj from './kbn_sort_package_json.devdocs.json';
diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx
index 2b6c2b5320fde..19636d8cf53e9 100644
--- a/api_docs/kbn_std.mdx
+++ b/api_docs/kbn_std.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnStdPluginApi
slug: /kibana-dev-docs/api/kbn-std
title: "@kbn/std"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/std plugin
+description: API docs for the @kbn/std plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 657bbdc0e9f4e..bccf3025c5ba3 100644
--- a/api_docs/kbn_stdio_dev_helpers.mdx
+++ b/api_docs/kbn_stdio_dev_helpers.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnStdioDevHelpersPluginApi
slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers
title: "@kbn/stdio-dev-helpers"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/stdio-dev-helpers plugin
+description: API docs for the @kbn/stdio-dev-helpers plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json';
diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx
index 30c0da2b24cb7..a3ff88389f2a9 100644
--- a/api_docs/kbn_storybook.mdx
+++ b/api_docs/kbn_storybook.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnStorybookPluginApi
slug: /kibana-dev-docs/api/kbn-storybook
title: "@kbn/storybook"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/storybook plugin
+description: API docs for the @kbn/storybook plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnStorybookObj from './kbn_storybook.devdocs.json';
diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx
index 95f4d0a0c39d6..c9532fe53827d 100644
--- a/api_docs/kbn_telemetry_tools.mdx
+++ b/api_docs/kbn_telemetry_tools.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnTelemetryToolsPluginApi
slug: /kibana-dev-docs/api/kbn-telemetry-tools
title: "@kbn/telemetry-tools"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/telemetry-tools plugin
+description: API docs for the @kbn/telemetry-tools plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json';
diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx
index 54dc3daf11382..027f4d88932b2 100644
--- a/api_docs/kbn_test.mdx
+++ b/api_docs/kbn_test.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnTestPluginApi
slug: /kibana-dev-docs/api/kbn-test
title: "@kbn/test"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/test plugin
+description: API docs for the @kbn/test plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 0555066353d71..8a3442c98e962 100644
--- a/api_docs/kbn_test_jest_helpers.mdx
+++ b/api_docs/kbn_test_jest_helpers.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnTestJestHelpersPluginApi
slug: /kibana-dev-docs/api/kbn-test-jest-helpers
title: "@kbn/test-jest-helpers"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/test-jest-helpers plugin
+description: API docs for the @kbn/test-jest-helpers plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json';
diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx
index 2c50d575b67c2..5127776b8be9a 100644
--- a/api_docs/kbn_tooling_log.mdx
+++ b/api_docs/kbn_tooling_log.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnToolingLogPluginApi
slug: /kibana-dev-docs/api/kbn-tooling-log
title: "@kbn/tooling-log"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/tooling-log plugin
+description: API docs for the @kbn/tooling-log plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnToolingLogObj from './kbn_tooling_log.devdocs.json';
diff --git a/api_docs/kbn_type_summarizer.mdx b/api_docs/kbn_type_summarizer.mdx
index 5f9161ddc8121..2664ecc3cff6c 100644
--- a/api_docs/kbn_type_summarizer.mdx
+++ b/api_docs/kbn_type_summarizer.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnTypeSummarizerPluginApi
slug: /kibana-dev-docs/api/kbn-type-summarizer
title: "@kbn/type-summarizer"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/type-summarizer plugin
+description: API docs for the @kbn/type-summarizer plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/type-summarizer']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnTypeSummarizerObj from './kbn_type_summarizer.devdocs.json';
diff --git a/api_docs/kbn_type_summarizer_core.mdx b/api_docs/kbn_type_summarizer_core.mdx
index c2213c413022c..7f7daf6d343d7 100644
--- a/api_docs/kbn_type_summarizer_core.mdx
+++ b/api_docs/kbn_type_summarizer_core.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnTypeSummarizerCorePluginApi
slug: /kibana-dev-docs/api/kbn-type-summarizer-core
title: "@kbn/type-summarizer-core"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/type-summarizer-core plugin
+description: API docs for the @kbn/type-summarizer-core plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/type-summarizer-core']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnTypeSummarizerCoreObj from './kbn_type_summarizer_core.devdocs.json';
diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx
index 7401bb90b53be..2f6012dc105ea 100644
--- a/api_docs/kbn_typed_react_router_config.mdx
+++ b/api_docs/kbn_typed_react_router_config.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnTypedReactRouterConfigPluginApi
slug: /kibana-dev-docs/api/kbn-typed-react-router-config
title: "@kbn/typed-react-router-config"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/typed-react-router-config plugin
+description: API docs for the @kbn/typed-react-router-config plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json';
diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx
index 4ad76a0b2cce5..e98d12e5e580c 100644
--- a/api_docs/kbn_ui_theme.mdx
+++ b/api_docs/kbn_ui_theme.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnUiThemePluginApi
slug: /kibana-dev-docs/api/kbn-ui-theme
title: "@kbn/ui-theme"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/ui-theme plugin
+description: API docs for the @kbn/ui-theme plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnUiThemeObj from './kbn_ui_theme.devdocs.json';
diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx
index 315320ec12199..33d1d62a2807d 100644
--- a/api_docs/kbn_user_profile_components.mdx
+++ b/api_docs/kbn_user_profile_components.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnUserProfileComponentsPluginApi
slug: /kibana-dev-docs/api/kbn-user-profile-components
title: "@kbn/user-profile-components"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/user-profile-components plugin
+description: API docs for the @kbn/user-profile-components plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 b5f9fc136eb24..b8c0a3eb58238 100644
--- a/api_docs/kbn_utility_types.mdx
+++ b/api_docs/kbn_utility_types.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnUtilityTypesPluginApi
slug: /kibana-dev-docs/api/kbn-utility-types
title: "@kbn/utility-types"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/utility-types plugin
+description: API docs for the @kbn/utility-types plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 820eaf6f617ee..71fcef1e0eaa0 100644
--- a/api_docs/kbn_utility_types_jest.mdx
+++ b/api_docs/kbn_utility_types_jest.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnUtilityTypesJestPluginApi
slug: /kibana-dev-docs/api/kbn-utility-types-jest
title: "@kbn/utility-types-jest"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/utility-types-jest plugin
+description: API docs for the @kbn/utility-types-jest plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json';
diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx
index 731bba5581005..2742f05a40662 100644
--- a/api_docs/kbn_utils.mdx
+++ b/api_docs/kbn_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnUtilsPluginApi
slug: /kibana-dev-docs/api/kbn-utils
title: "@kbn/utils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/utils plugin
+description: API docs for the @kbn/utils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnUtilsObj from './kbn_utils.devdocs.json';
diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx
index 02a3897d7c631..0cc04b1399123 100644
--- a/api_docs/kbn_yarn_lock_validator.mdx
+++ b/api_docs/kbn_yarn_lock_validator.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKbnYarnLockValidatorPluginApi
slug: /kibana-dev-docs/api/kbn-yarn-lock-validator
title: "@kbn/yarn-lock-validator"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the @kbn/yarn-lock-validator plugin
+description: API docs for the @kbn/yarn-lock-validator plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json';
diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx
index a8020229ae902..91d1b423874aa 100644
--- a/api_docs/kibana_overview.mdx
+++ b/api_docs/kibana_overview.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKibanaOverviewPluginApi
slug: /kibana-dev-docs/api/kibanaOverview
title: "kibanaOverview"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the kibanaOverview plugin
+description: API docs for the kibanaOverview plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kibanaOverviewObj from './kibana_overview.devdocs.json';
diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx
index a6184ddccc580..10c2cf52b0b3e 100644
--- a/api_docs/kibana_react.mdx
+++ b/api_docs/kibana_react.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKibanaReactPluginApi
slug: /kibana-dev-docs/api/kibanaReact
title: "kibanaReact"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the kibanaReact plugin
+description: API docs for the kibanaReact plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kibanaReactObj from './kibana_react.devdocs.json';
diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx
index dc2050c831113..ef378071118f6 100644
--- a/api_docs/kibana_utils.mdx
+++ b/api_docs/kibana_utils.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKibanaUtilsPluginApi
slug: /kibana-dev-docs/api/kibanaUtils
title: "kibanaUtils"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the kibanaUtils plugin
+description: API docs for the kibanaUtils plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kibanaUtilsObj from './kibana_utils.devdocs.json';
diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx
index 16b4fb5cb5919..9dd4e4953ae93 100644
--- a/api_docs/kubernetes_security.mdx
+++ b/api_docs/kubernetes_security.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibKubernetesSecurityPluginApi
slug: /kibana-dev-docs/api/kubernetesSecurity
title: "kubernetesSecurity"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the kubernetesSecurity plugin
+description: API docs for the kubernetesSecurity plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import kubernetesSecurityObj from './kubernetes_security.devdocs.json';
diff --git a/api_docs/lens.devdocs.json b/api_docs/lens.devdocs.json
index 7f8e68796b1bc..ec3a260fc858e 100644
--- a/api_docs/lens.devdocs.json
+++ b/api_docs/lens.devdocs.json
@@ -54,6 +54,14 @@
"docId": "kibEmbeddablePluginApi",
"section": "def-public.SelfStyledEmbeddable",
"text": "SelfStyledEmbeddable"
+ },
+ ",",
+ {
+ "pluginId": "embeddable",
+ "scope": "public",
+ "docId": "kibEmbeddablePluginApi",
+ "section": "def-public.FilterableEmbeddable",
+ "text": "FilterableEmbeddable"
}
],
"path": "x-pack/plugins/lens/public/embeddable/embeddable.tsx",
@@ -593,6 +601,48 @@
"children": [],
"returnComment": []
},
+ {
+ "parentPluginId": "lens",
+ "id": "def-public.Embeddable.getFilters",
+ "type": "Function",
+ "tags": [],
+ "label": "getFilters",
+ "description": [
+ "\nGets the Lens embeddable's local filters"
+ ],
+ "signature": [
+ "() => Promise<",
+ "Filter",
+ "[]>"
+ ],
+ "path": "x-pack/plugins/lens/public/embeddable/embeddable.tsx",
+ "deprecated": false,
+ "children": [],
+ "returnComment": [
+ "Local/panel-level array of filters for Lens embeddable"
+ ]
+ },
+ {
+ "parentPluginId": "lens",
+ "id": "def-public.Embeddable.getQuery",
+ "type": "Function",
+ "tags": [],
+ "label": "getQuery",
+ "description": [
+ "\nGets the Lens embeddable's local query"
+ ],
+ "signature": [
+ "() => Promise<",
+ "Query",
+ " | undefined>"
+ ],
+ "path": "x-pack/plugins/lens/public/embeddable/embeddable.tsx",
+ "deprecated": false,
+ "children": [],
+ "returnComment": [
+ "Local/panel-level query for Lens embeddable"
+ ]
+ },
{
"parentPluginId": "lens",
"id": "def-public.Embeddable.getSavedVis",
diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx
index 00fb0f1fbca99..b5cdbe2f8e002 100644
--- a/api_docs/lens.mdx
+++ b/api_docs/lens.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibLensPluginApi
slug: /kibana-dev-docs/api/lens
title: "lens"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the lens plugin
+description: API docs for the lens plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import lensObj from './lens.devdocs.json';
@@ -18,7 +21,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors)
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 611 | 0 | 529 | 40 |
+| 613 | 0 | 529 | 40 |
## Client
diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx
index fe15f80ede6f7..dfca23cc6b89f 100644
--- a/api_docs/license_api_guard.mdx
+++ b/api_docs/license_api_guard.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibLicenseApiGuardPluginApi
slug: /kibana-dev-docs/api/licenseApiGuard
title: "licenseApiGuard"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the licenseApiGuard plugin
+description: API docs for the licenseApiGuard plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import licenseApiGuardObj from './license_api_guard.devdocs.json';
diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx
index 4f3ca21b59ae6..d6e596284b4be 100644
--- a/api_docs/license_management.mdx
+++ b/api_docs/license_management.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibLicenseManagementPluginApi
slug: /kibana-dev-docs/api/licenseManagement
title: "licenseManagement"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the licenseManagement plugin
+description: API docs for the licenseManagement plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import licenseManagementObj from './license_management.devdocs.json';
diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx
index 67265e266c821..69a98e45ab01b 100644
--- a/api_docs/licensing.mdx
+++ b/api_docs/licensing.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibLicensingPluginApi
slug: /kibana-dev-docs/api/licensing
title: "licensing"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the licensing plugin
+description: API docs for the licensing plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import licensingObj from './licensing.devdocs.json';
diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx
index 0979a5b708ff8..6f6a713fccf39 100644
--- a/api_docs/lists.mdx
+++ b/api_docs/lists.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibListsPluginApi
slug: /kibana-dev-docs/api/lists
title: "lists"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the lists plugin
+description: API docs for the lists plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import listsObj from './lists.devdocs.json';
diff --git a/api_docs/management.mdx b/api_docs/management.mdx
index 0ed65db0d4f12..3789aee2b4844 100644
--- a/api_docs/management.mdx
+++ b/api_docs/management.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibManagementPluginApi
slug: /kibana-dev-docs/api/management
title: "management"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the management plugin
+description: API docs for the management plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import managementObj from './management.devdocs.json';
diff --git a/api_docs/maps.devdocs.json b/api_docs/maps.devdocs.json
index adf14e6907d43..26f459392cbd9 100644
--- a/api_docs/maps.devdocs.json
+++ b/api_docs/maps.devdocs.json
@@ -202,7 +202,14 @@
"MapByValueInput",
", ",
"MapByReferenceInput",
- ">"
+ ">,",
+ {
+ "pluginId": "embeddable",
+ "scope": "public",
+ "docId": "kibEmbeddablePluginApi",
+ "section": "def-public.FilterableEmbeddable",
+ "text": "FilterableEmbeddable"
+ }
],
"path": "x-pack/plugins/maps/public/embeddable/map_embeddable.tsx",
"deprecated": false,
@@ -453,6 +460,44 @@
"children": [],
"returnComment": []
},
+ {
+ "parentPluginId": "maps",
+ "id": "def-public.MapEmbeddable.getFilters",
+ "type": "Function",
+ "tags": [],
+ "label": "getFilters",
+ "description": [
+ "\nTODO: Implement this function once https://github.com/elastic/kibana/issues/91282 is resolved"
+ ],
+ "signature": [
+ "() => Promise"
+ ],
+ "path": "x-pack/plugins/maps/public/embeddable/map_embeddable.tsx",
+ "deprecated": false,
+ "children": [],
+ "returnComment": [
+ "[]"
+ ]
+ },
+ {
+ "parentPluginId": "maps",
+ "id": "def-public.MapEmbeddable.getQuery",
+ "type": "Function",
+ "tags": [],
+ "label": "getQuery",
+ "description": [
+ "\nTODO: Implement this function once https://github.com/elastic/kibana/issues/91282 is resolved"
+ ],
+ "signature": [
+ "() => Promise"
+ ],
+ "path": "x-pack/plugins/maps/public/embeddable/map_embeddable.tsx",
+ "deprecated": false,
+ "children": [],
+ "returnComment": [
+ "undefined"
+ ]
+ },
{
"parentPluginId": "maps",
"id": "def-public.MapEmbeddable.supportedTriggers",
diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx
index 6829a216fe116..9de211601a389 100644
--- a/api_docs/maps.mdx
+++ b/api_docs/maps.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibMapsPluginApi
slug: /kibana-dev-docs/api/maps
title: "maps"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the maps plugin
+description: API docs for the maps plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import mapsObj from './maps.devdocs.json';
@@ -18,7 +21,7 @@ Contact [GIS](https://github.com/orgs/elastic/teams/kibana-gis) for questions re
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 253 | 0 | 252 | 25 |
+| 255 | 0 | 252 | 25 |
## Client
diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx
index d7a63f3d34ee7..99e693e616005 100644
--- a/api_docs/maps_ems.mdx
+++ b/api_docs/maps_ems.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibMapsEmsPluginApi
slug: /kibana-dev-docs/api/mapsEms
title: "mapsEms"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the mapsEms plugin
+description: API docs for the mapsEms plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import mapsEmsObj from './maps_ems.devdocs.json';
diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx
index 9516946b4ce9e..5470d8326c26b 100644
--- a/api_docs/ml.mdx
+++ b/api_docs/ml.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibMlPluginApi
slug: /kibana-dev-docs/api/ml
title: "ml"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the ml plugin
+description: API docs for the ml plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import mlObj from './ml.devdocs.json';
diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx
index 92a65a43a0659..5712651c5b808 100644
--- a/api_docs/monitoring.mdx
+++ b/api_docs/monitoring.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibMonitoringPluginApi
slug: /kibana-dev-docs/api/monitoring
title: "monitoring"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the monitoring plugin
+description: API docs for the monitoring plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import monitoringObj from './monitoring.devdocs.json';
diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx
index 164e2cf2e4552..6783b2f7077fb 100644
--- a/api_docs/monitoring_collection.mdx
+++ b/api_docs/monitoring_collection.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibMonitoringCollectionPluginApi
slug: /kibana-dev-docs/api/monitoringCollection
title: "monitoringCollection"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the monitoringCollection plugin
+description: API docs for the monitoringCollection plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import monitoringCollectionObj from './monitoring_collection.devdocs.json';
diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx
index 88649fac25726..4ee35bbab9221 100644
--- a/api_docs/navigation.mdx
+++ b/api_docs/navigation.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibNavigationPluginApi
slug: /kibana-dev-docs/api/navigation
title: "navigation"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the navigation plugin
+description: API docs for the navigation plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import navigationObj from './navigation.devdocs.json';
diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx
index e3d0f4030217b..de80bf283768f 100644
--- a/api_docs/newsfeed.mdx
+++ b/api_docs/newsfeed.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibNewsfeedPluginApi
slug: /kibana-dev-docs/api/newsfeed
title: "newsfeed"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the newsfeed plugin
+description: API docs for the newsfeed plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import newsfeedObj from './newsfeed.devdocs.json';
diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx
index 2fef46534e32c..711e70128c2a7 100644
--- a/api_docs/observability.mdx
+++ b/api_docs/observability.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibObservabilityPluginApi
slug: /kibana-dev-docs/api/observability
title: "observability"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the observability plugin
+description: API docs for the observability plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import observabilityObj from './observability.devdocs.json';
diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx
index 0662d95a4578d..cc3819b5faa46 100644
--- a/api_docs/osquery.mdx
+++ b/api_docs/osquery.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibOsqueryPluginApi
slug: /kibana-dev-docs/api/osquery
title: "osquery"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the osquery plugin
+description: API docs for the osquery plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import osqueryObj from './osquery.devdocs.json';
diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx
index 8739896158d98..2e699562a88e9 100644
--- a/api_docs/plugin_directory.mdx
+++ b/api_docs/plugin_directory.mdx
@@ -1,28 +1,31 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibDevDocsPluginDirectory
slug: /kibana-dev-docs/api-meta/plugin-api-directory
title: Directory
-summary: Directory of public APIs available through plugins or packages.
+description: Directory of public APIs available through plugins or packages.
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
### Overall stats
-| Count | Plugins or Packages with a
public API | Number of teams |
+| Count | Plugins or Packages with a
public API | Number of teams |
|--------------|----------|------------------------|
| 401 | 335 | 36 |
### Public API health stats
-| API Count | Any Count | Missing comments | Missing exports |
+| API Count | Any Count | Missing comments | Missing exports |
|--------------|----------|-----------------|--------|
-| 28869 | 175 | 19603 | 911 |
+| 28894 | 175 | 19605 | 911 |
## Plugin Directory
-| Plugin name | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports |
+| Plugin name | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports |
|--------------|----------------|-----------|--------------|----------|---------------|--------|
| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 266 | 0 | 261 | 19 |
| | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 23 | 0 | 19 | 1 |
@@ -41,7 +44,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex
| | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 2524 | 2 | 296 | 6 |
| crossClusterReplication | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 |
| | [Fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 102 | 0 | 83 | 1 |
-| | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 143 | 0 | 141 | 12 |
+| | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 146 | 0 | 141 | 12 |
| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 52 | 0 | 51 | 0 |
| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3100 | 34 | 2421 | 22 |
| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 15 | 0 | 7 | 0 |
@@ -52,7 +55,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex
| | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 10 | 0 | 8 | 2 |
| | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 84 | 0 | 68 | 7 |
| | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 37 | 0 | 35 | 2 |
-| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds embeddables service to Kibana | 507 | 0 | 413 | 4 |
+| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds embeddables service to Kibana | 512 | 0 | 413 | 4 |
| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Extends embeddable plugin with more functionality | 14 | 0 | 14 | 0 |
| | [Platform Security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides encryption and decryption utilities for saved objects containing sensitive information. | 51 | 0 | 42 | 0 |
| | [Enterprise Search](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Adds dashboards for discovering and managing Enterprise Search products. | 6 | 0 | 6 | 0 |
@@ -95,14 +98,14 @@ warning: This document is auto-generated and is meant to be viewed inside our ex
| kibanaUsageCollection | [Kibana Telemetry](https://github.com/orgs/elastic/teams/kibana-telemetry) | - | 0 | 0 | 0 | 0 |
| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 615 | 3 | 420 | 9 |
| | [Security Team](https://github.com/orgs/elastic/teams/security-team) | - | 3 | 0 | 3 | 1 |
-| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 611 | 0 | 529 | 40 |
+| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 613 | 0 | 529 | 40 |
| | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 8 | 0 | 8 | 0 |
| | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 3 | 0 | 3 | 0 |
| | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 117 | 0 | 42 | 10 |
| | [Security detections response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 202 | 0 | 90 | 49 |
| logstash | [Logstash](https://github.com/orgs/elastic/teams/logstash) | - | 0 | 0 | 0 | 0 |
| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | - | 41 | 0 | 41 | 6 |
-| | [GIS](https://github.com/orgs/elastic/teams/kibana-gis) | - | 253 | 0 | 252 | 25 |
+| | [GIS](https://github.com/orgs/elastic/teams/kibana-gis) | - | 255 | 0 | 252 | 25 |
| | [GIS](https://github.com/orgs/elastic/teams/kibana-gis) | - | 67 | 0 | 67 | 0 |
| | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the machine learning features provided by Elastic. | 244 | 9 | 71 | 30 |
| | [Stack Monitoring](https://github.com/orgs/elastic/teams/stack-monitoring-ui) | - | 11 | 0 | 9 | 1 |
@@ -146,7 +149,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex
| | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 428 | 0 | 407 | 46 |
| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds UI Actions service to Kibana | 130 | 0 | 91 | 11 |
| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Extends UI Actions plugin with more functionality | 205 | 0 | 142 | 9 |
-| | [Unified Search](https://github.com/orgs/elastic/teams/kibana-app-services) | Contains all the key functionality of Kibana's unified search experience.Contains all the key functionality of Kibana's unified search experience. | 97 | 2 | 84 | 16 |
+| | [Unified Search](https://github.com/orgs/elastic/teams/kibana-app-services) | Contains all the key functionality of Kibana's unified search experience.Contains all the key functionality of Kibana's unified search experience. | 108 | 2 | 84 | 16 |
| upgradeAssistant | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 |
| urlDrilldown | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds drilldown implementations to Kibana | 0 | 0 | 0 | 0 |
| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | - | 12 | 0 | 12 | 0 |
@@ -170,7 +173,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex
## Package Directory
-| Package name | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports |
+| Package name | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports |
|--------------|----------------|-----------|--------------|----------|---------------|--------|
| | [Owner missing] | Elastic APM trace data generator | 74 | 0 | 74 | 11 |
| | [Owner missing] | - | 11 | 5 | 11 | 0 |
@@ -338,7 +341,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex
| | [Owner missing] | io ts utilities and types to be shared with plugins from the security solution project | 458 | 1 | 446 | 0 |
| | [Owner missing] | io ts utilities and types to be shared with plugins from the security solution project | 61 | 0 | 32 | 0 |
| | [Owner missing] | io ts utilities and types to be shared with plugins from the security solution project | 28 | 0 | 21 | 0 |
-| | [Owner missing] | security solution list REST API | 59 | 0 | 58 | 0 |
+| | [Owner missing] | security solution list REST API | 61 | 0 | 60 | 0 |
| | [Owner missing] | security solution list constants to use across plugins such lists, security_solution, cases, etc... | 26 | 0 | 12 | 0 |
| | [Owner missing] | Security solution list ReactJS hooks | 56 | 0 | 44 | 0 |
| | [Owner missing] | security solution list utilities | 235 | 0 | 187 | 0 |
diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx
index 3aa8398b740c4..c725267023db6 100644
--- a/api_docs/presentation_util.mdx
+++ b/api_docs/presentation_util.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibPresentationUtilPluginApi
slug: /kibana-dev-docs/api/presentationUtil
title: "presentationUtil"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the presentationUtil plugin
+description: API docs for the presentationUtil plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import presentationUtilObj from './presentation_util.devdocs.json';
diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx
index 6f0cd82e1a78e..7c776acb7a4ac 100644
--- a/api_docs/remote_clusters.mdx
+++ b/api_docs/remote_clusters.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibRemoteClustersPluginApi
slug: /kibana-dev-docs/api/remoteClusters
title: "remoteClusters"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the remoteClusters plugin
+description: API docs for the remoteClusters plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import remoteClustersObj from './remote_clusters.devdocs.json';
diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx
index 5afca34982f27..1d388b3acfd96 100644
--- a/api_docs/reporting.mdx
+++ b/api_docs/reporting.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibReportingPluginApi
slug: /kibana-dev-docs/api/reporting
title: "reporting"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the reporting plugin
+description: API docs for the reporting plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import reportingObj from './reporting.devdocs.json';
diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx
index bc77cfd91dcbb..0bd9a91a26f27 100644
--- a/api_docs/rollup.mdx
+++ b/api_docs/rollup.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibRollupPluginApi
slug: /kibana-dev-docs/api/rollup
title: "rollup"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the rollup plugin
+description: API docs for the rollup plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import rollupObj from './rollup.devdocs.json';
diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx
index 6c8d83bc98738..1dde2c1cbe7ec 100644
--- a/api_docs/rule_registry.mdx
+++ b/api_docs/rule_registry.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibRuleRegistryPluginApi
slug: /kibana-dev-docs/api/ruleRegistry
title: "ruleRegistry"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the ruleRegistry plugin
+description: API docs for the ruleRegistry plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import ruleRegistryObj from './rule_registry.devdocs.json';
diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx
index a5ee7c49d1451..360f82253584f 100644
--- a/api_docs/runtime_fields.mdx
+++ b/api_docs/runtime_fields.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibRuntimeFieldsPluginApi
slug: /kibana-dev-docs/api/runtimeFields
title: "runtimeFields"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the runtimeFields plugin
+description: API docs for the runtimeFields plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import runtimeFieldsObj from './runtime_fields.devdocs.json';
diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx
index 130c38292d30b..eaad5a38e764e 100644
--- a/api_docs/saved_objects.mdx
+++ b/api_docs/saved_objects.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSavedObjectsPluginApi
slug: /kibana-dev-docs/api/savedObjects
title: "savedObjects"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the savedObjects plugin
+description: API docs for the savedObjects plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import savedObjectsObj from './saved_objects.devdocs.json';
diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx
index 668ccd3daae20..616f2d248b99d 100644
--- a/api_docs/saved_objects_management.mdx
+++ b/api_docs/saved_objects_management.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSavedObjectsManagementPluginApi
slug: /kibana-dev-docs/api/savedObjectsManagement
title: "savedObjectsManagement"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the savedObjectsManagement plugin
+description: API docs for the savedObjectsManagement plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 4685825e7a6cd..66f1a309ae95e 100644
--- a/api_docs/saved_objects_tagging.mdx
+++ b/api_docs/saved_objects_tagging.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSavedObjectsTaggingPluginApi
slug: /kibana-dev-docs/api/savedObjectsTagging
title: "savedObjectsTagging"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the savedObjectsTagging plugin
+description: API docs for the savedObjectsTagging plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 76f90c0802efc..ea4292a8be9fe 100644
--- a/api_docs/saved_objects_tagging_oss.mdx
+++ b/api_docs/saved_objects_tagging_oss.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSavedObjectsTaggingOssPluginApi
slug: /kibana-dev-docs/api/savedObjectsTaggingOss
title: "savedObjectsTaggingOss"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the savedObjectsTaggingOss plugin
+description: API docs for the savedObjectsTaggingOss plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json';
diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx
index 16d10745203e9..c23865fe6c1d8 100644
--- a/api_docs/screenshot_mode.mdx
+++ b/api_docs/screenshot_mode.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibScreenshotModePluginApi
slug: /kibana-dev-docs/api/screenshotMode
title: "screenshotMode"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the screenshotMode plugin
+description: API docs for the screenshotMode plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import screenshotModeObj from './screenshot_mode.devdocs.json';
diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx
index 86e79999b384d..38e37a57297ac 100644
--- a/api_docs/screenshotting.mdx
+++ b/api_docs/screenshotting.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibScreenshottingPluginApi
slug: /kibana-dev-docs/api/screenshotting
title: "screenshotting"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the screenshotting plugin
+description: API docs for the screenshotting plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import screenshottingObj from './screenshotting.devdocs.json';
diff --git a/api_docs/security.mdx b/api_docs/security.mdx
index f8511044a4fca..0f1f244cca753 100644
--- a/api_docs/security.mdx
+++ b/api_docs/security.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSecurityPluginApi
slug: /kibana-dev-docs/api/security
title: "security"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the security plugin
+description: API docs for the security plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import securityObj from './security.devdocs.json';
diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx
index c7482d78f41f7..bf4cfbe7d6773 100644
--- a/api_docs/security_solution.mdx
+++ b/api_docs/security_solution.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSecuritySolutionPluginApi
slug: /kibana-dev-docs/api/securitySolution
title: "securitySolution"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the securitySolution plugin
+description: API docs for the securitySolution plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import securitySolutionObj from './security_solution.devdocs.json';
diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx
index 4ca297f594c7a..ef3765cb5cbdb 100644
--- a/api_docs/session_view.mdx
+++ b/api_docs/session_view.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSessionViewPluginApi
slug: /kibana-dev-docs/api/sessionView
title: "sessionView"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the sessionView plugin
+description: API docs for the sessionView plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import sessionViewObj from './session_view.devdocs.json';
diff --git a/api_docs/share.mdx b/api_docs/share.mdx
index b753451bb6e4b..88fba9c1423d7 100644
--- a/api_docs/share.mdx
+++ b/api_docs/share.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSharePluginApi
slug: /kibana-dev-docs/api/share
title: "share"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the share plugin
+description: API docs for the share plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import shareObj from './share.devdocs.json';
diff --git a/api_docs/shared_u_x.mdx b/api_docs/shared_u_x.mdx
index 8a6d39f05d426..ba776dc1aab54 100644
--- a/api_docs/shared_u_x.mdx
+++ b/api_docs/shared_u_x.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSharedUXPluginApi
slug: /kibana-dev-docs/api/sharedUX
title: "sharedUX"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the sharedUX plugin
+description: API docs for the sharedUX plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sharedUX']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import sharedUXObj from './shared_u_x.devdocs.json';
diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx
index caeac63ee507a..edafdb77df988 100644
--- a/api_docs/snapshot_restore.mdx
+++ b/api_docs/snapshot_restore.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSnapshotRestorePluginApi
slug: /kibana-dev-docs/api/snapshotRestore
title: "snapshotRestore"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the snapshotRestore plugin
+description: API docs for the snapshotRestore plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import snapshotRestoreObj from './snapshot_restore.devdocs.json';
diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx
index f5ebf550fc41b..022171ffab0b1 100644
--- a/api_docs/spaces.mdx
+++ b/api_docs/spaces.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibSpacesPluginApi
slug: /kibana-dev-docs/api/spaces
title: "spaces"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the spaces plugin
+description: API docs for the spaces plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import spacesObj from './spaces.devdocs.json';
diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx
index 10fa21f771ae1..5ebc126558913 100644
--- a/api_docs/stack_alerts.mdx
+++ b/api_docs/stack_alerts.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibStackAlertsPluginApi
slug: /kibana-dev-docs/api/stackAlerts
title: "stackAlerts"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the stackAlerts plugin
+description: API docs for the stackAlerts plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import stackAlertsObj from './stack_alerts.devdocs.json';
diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx
index de967da0a364b..499e2c1ba6159 100644
--- a/api_docs/task_manager.mdx
+++ b/api_docs/task_manager.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibTaskManagerPluginApi
slug: /kibana-dev-docs/api/taskManager
title: "taskManager"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the taskManager plugin
+description: API docs for the taskManager plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import taskManagerObj from './task_manager.devdocs.json';
diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx
index c60df09c546fb..126aed02dcf61 100644
--- a/api_docs/telemetry.mdx
+++ b/api_docs/telemetry.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibTelemetryPluginApi
slug: /kibana-dev-docs/api/telemetry
title: "telemetry"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the telemetry plugin
+description: API docs for the telemetry plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import telemetryObj from './telemetry.devdocs.json';
diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx
index cf79719b39296..88fe2b5ab9fc0 100644
--- a/api_docs/telemetry_collection_manager.mdx
+++ b/api_docs/telemetry_collection_manager.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibTelemetryCollectionManagerPluginApi
slug: /kibana-dev-docs/api/telemetryCollectionManager
title: "telemetryCollectionManager"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the telemetryCollectionManager plugin
+description: API docs for the telemetryCollectionManager plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 ecd2f8c6086e3..524444d0e6097 100644
--- a/api_docs/telemetry_collection_xpack.mdx
+++ b/api_docs/telemetry_collection_xpack.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibTelemetryCollectionXpackPluginApi
slug: /kibana-dev-docs/api/telemetryCollectionXpack
title: "telemetryCollectionXpack"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the telemetryCollectionXpack plugin
+description: API docs for the telemetryCollectionXpack plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 1a53259103f89..d2317459c5a36 100644
--- a/api_docs/telemetry_management_section.mdx
+++ b/api_docs/telemetry_management_section.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibTelemetryManagementSectionPluginApi
slug: /kibana-dev-docs/api/telemetryManagementSection
title: "telemetryManagementSection"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the telemetryManagementSection plugin
+description: API docs for the telemetryManagementSection plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json';
diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx
index cfc255dfe62c6..94092d1733e78 100644
--- a/api_docs/threat_intelligence.mdx
+++ b/api_docs/threat_intelligence.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibThreatIntelligencePluginApi
slug: /kibana-dev-docs/api/threatIntelligence
title: "threatIntelligence"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the threatIntelligence plugin
+description: API docs for the threatIntelligence plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import threatIntelligenceObj from './threat_intelligence.devdocs.json';
diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx
index 85bb399795ea7..c0cd8214be010 100644
--- a/api_docs/timelines.mdx
+++ b/api_docs/timelines.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibTimelinesPluginApi
slug: /kibana-dev-docs/api/timelines
title: "timelines"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the timelines plugin
+description: API docs for the timelines plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import timelinesObj from './timelines.devdocs.json';
diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx
index 0a2bf3dbb972d..b78abc940d487 100644
--- a/api_docs/transform.mdx
+++ b/api_docs/transform.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibTransformPluginApi
slug: /kibana-dev-docs/api/transform
title: "transform"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the transform plugin
+description: API docs for the transform plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import transformObj from './transform.devdocs.json';
diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx
index d8516da231894..87808996d7c28 100644
--- a/api_docs/triggers_actions_ui.mdx
+++ b/api_docs/triggers_actions_ui.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibTriggersActionsUiPluginApi
slug: /kibana-dev-docs/api/triggersActionsUi
title: "triggersActionsUi"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the triggersActionsUi plugin
+description: API docs for the triggersActionsUi plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import triggersActionsUiObj from './triggers_actions_ui.devdocs.json';
diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx
index 0af35abc19f93..3856b6f83f1f8 100644
--- a/api_docs/ui_actions.mdx
+++ b/api_docs/ui_actions.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibUiActionsPluginApi
slug: /kibana-dev-docs/api/uiActions
title: "uiActions"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the uiActions plugin
+description: API docs for the uiActions plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import uiActionsObj from './ui_actions.devdocs.json';
diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx
index 922a3ab74839d..60b1aba21bade 100644
--- a/api_docs/ui_actions_enhanced.mdx
+++ b/api_docs/ui_actions_enhanced.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibUiActionsEnhancedPluginApi
slug: /kibana-dev-docs/api/uiActionsEnhanced
title: "uiActionsEnhanced"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the uiActionsEnhanced plugin
+description: API docs for the uiActionsEnhanced plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json';
diff --git a/api_docs/unified_search.devdocs.json b/api_docs/unified_search.devdocs.json
index 42f2de80c7812..756a40fd1398a 100644
--- a/api_docs/unified_search.devdocs.json
+++ b/api_docs/unified_search.devdocs.json
@@ -75,7 +75,9 @@
"type": "Function",
"tags": [],
"label": "FilterItem",
- "description": [],
+ "description": [
+ "\nRenders a single filter pill"
+ ],
"signature": [
"(props: ",
"FilterItemProps",
@@ -102,13 +104,80 @@
"returnComment": [],
"initialIsOpen": false
},
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItems",
+ "type": "Function",
+ "tags": [],
+ "label": "FilterItems",
+ "description": [
+ "\nRenders a group of filter pills"
+ ],
+ "signature": [
+ "(props: Pick<",
+ {
+ "pluginId": "unifiedSearch",
+ "scope": "public",
+ "docId": "kibUnifiedSearchPluginApi",
+ "section": "def-public.FilterItemsProps",
+ "text": "FilterItemsProps"
+ },
+ ", \"filters\" | \"indexPatterns\" | \"readOnly\" | \"onFiltersUpdated\" | \"hiddenPanelOptions\" | \"timeRangeForSuggestionsOverride\"> & React.RefAttributes, any, any>>) => JSX.Element"
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/index.tsx",
+ "deprecated": false,
+ "children": [
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItems.$1",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "props",
+ "description": [],
+ "signature": [
+ "Pick<",
+ {
+ "pluginId": "unifiedSearch",
+ "scope": "public",
+ "docId": "kibUnifiedSearchPluginApi",
+ "section": "def-public.FilterItemsProps",
+ "text": "FilterItemsProps"
+ },
+ ", \"filters\" | \"indexPatterns\" | \"readOnly\" | \"onFiltersUpdated\" | \"hiddenPanelOptions\" | \"timeRangeForSuggestionsOverride\"> & React.RefAttributes, any, any>>"
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/index.tsx",
+ "deprecated": false,
+ "isRequired": true
+ }
+ ],
+ "returnComment": [],
+ "initialIsOpen": false
+ },
{
"parentPluginId": "unifiedSearch",
"id": "def-public.FilterLabel",
"type": "Function",
"tags": [],
"label": "FilterLabel",
- "description": [],
+ "description": [
+ "\nRenders the label for a single filter pill"
+ ],
"signature": [
"(props: ",
"FilterLabelProps",
@@ -555,6 +624,155 @@
],
"initialIsOpen": false
},
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItemsProps",
+ "type": "Interface",
+ "tags": [],
+ "label": "FilterItemsProps",
+ "description": [
+ "\nProperties for the filter items component, which will render a single filter pill for every filter that is sent in\nas part of the `Filter[]` property."
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx",
+ "deprecated": false,
+ "children": [
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItemsProps.filters",
+ "type": "Array",
+ "tags": [],
+ "label": "filters",
+ "description": [
+ "Array of filters that will be rendered as filter pills"
+ ],
+ "signature": [
+ "Filter",
+ "[]"
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx",
+ "deprecated": false
+ },
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItemsProps.readOnly",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "readOnly",
+ "description": [
+ "Optional property that controls whether or not clicking the filter pill opens a popover *and* whether\nor not the `x` button to remove the filter is rendered."
+ ],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx",
+ "deprecated": false
+ },
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItemsProps.onFiltersUpdated",
+ "type": "Function",
+ "tags": [],
+ "label": "onFiltersUpdated",
+ "description": [
+ "If not read only, this is called whenever a filter is removed and/or updated"
+ ],
+ "signature": [
+ "((filters: ",
+ "Filter",
+ "[]) => void) | undefined"
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx",
+ "deprecated": false,
+ "children": [
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItemsProps.onFiltersUpdated.$1",
+ "type": "Array",
+ "tags": [],
+ "label": "filters",
+ "description": [],
+ "signature": [
+ "Filter",
+ "[]"
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx",
+ "deprecated": false,
+ "isRequired": true
+ }
+ ],
+ "returnComment": []
+ },
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItemsProps.indexPatterns",
+ "type": "Array",
+ "tags": [],
+ "label": "indexPatterns",
+ "description": [
+ "A list of all dataviews that are used for the filters"
+ ],
+ "signature": [
+ {
+ "pluginId": "dataViews",
+ "scope": "common",
+ "docId": "kibDataViewsPluginApi",
+ "section": "def-common.DataView",
+ "text": "DataView"
+ },
+ "[]"
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx",
+ "deprecated": false
+ },
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItemsProps.intl",
+ "type": "Object",
+ "tags": [],
+ "label": "intl",
+ "description": [
+ "This is injected by the lazer loader"
+ ],
+ "signature": [
+ "ReactIntl.InjectedIntl"
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx",
+ "deprecated": false
+ },
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItemsProps.timeRangeForSuggestionsOverride",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "timeRangeForSuggestionsOverride",
+ "description": [
+ "Controls whether or not filter suggestions are influenced by the global time"
+ ],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx",
+ "deprecated": false
+ },
+ {
+ "parentPluginId": "unifiedSearch",
+ "id": "def-public.FilterItemsProps.hiddenPanelOptions",
+ "type": "Array",
+ "tags": [],
+ "label": "hiddenPanelOptions",
+ "description": [
+ "Array of panel options that controls the styling of each filter pill"
+ ],
+ "signature": [
+ "FilterPanelOption",
+ "[] | undefined"
+ ],
+ "path": "src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx",
+ "deprecated": false
+ }
+ ],
+ "initialIsOpen": false
+ },
{
"parentPluginId": "unifiedSearch",
"id": "def-public.QueryStringInputProps",
diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx
index 97b843cc9dde3..cd19b426b03cc 100644
--- a/api_docs/unified_search.mdx
+++ b/api_docs/unified_search.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibUnifiedSearchPluginApi
slug: /kibana-dev-docs/api/unifiedSearch
title: "unifiedSearch"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the unifiedSearch plugin
+description: API docs for the unifiedSearch plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import unifiedSearchObj from './unified_search.devdocs.json';
@@ -18,7 +21,7 @@ Contact [Unified Search](https://github.com/orgs/elastic/teams/kibana-app-servic
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 97 | 2 | 84 | 16 |
+| 108 | 2 | 84 | 16 |
## Client
diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx
index e412a8083cf9a..0041ebcf3b648 100644
--- a/api_docs/unified_search_autocomplete.mdx
+++ b/api_docs/unified_search_autocomplete.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibUnifiedSearchAutocompletePluginApi
slug: /kibana-dev-docs/api/unifiedSearch-autocomplete
title: "unifiedSearch.autocomplete"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the unifiedSearch.autocomplete plugin
+description: API docs for the unifiedSearch.autocomplete plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json';
@@ -18,7 +21,7 @@ Contact [Unified Search](https://github.com/orgs/elastic/teams/kibana-app-servic
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 97 | 2 | 84 | 16 |
+| 108 | 2 | 84 | 16 |
## Client
diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx
index cc52631ac135a..4da6bca6a24f9 100644
--- a/api_docs/url_forwarding.mdx
+++ b/api_docs/url_forwarding.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibUrlForwardingPluginApi
slug: /kibana-dev-docs/api/urlForwarding
title: "urlForwarding"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the urlForwarding plugin
+description: API docs for the urlForwarding plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import urlForwardingObj from './url_forwarding.devdocs.json';
diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx
index e128db53581e2..62fa454f4f1dc 100644
--- a/api_docs/usage_collection.mdx
+++ b/api_docs/usage_collection.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibUsageCollectionPluginApi
slug: /kibana-dev-docs/api/usageCollection
title: "usageCollection"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the usageCollection plugin
+description: API docs for the usageCollection plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import usageCollectionObj from './usage_collection.devdocs.json';
diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx
index b6ffdcec694e3..afe4d8d90190c 100644
--- a/api_docs/ux.mdx
+++ b/api_docs/ux.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibUxPluginApi
slug: /kibana-dev-docs/api/ux
title: "ux"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the ux plugin
+description: API docs for the ux plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import uxObj from './ux.devdocs.json';
diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx
index 7c22d241bd58e..75f3dbbc40c14 100644
--- a/api_docs/vis_default_editor.mdx
+++ b/api_docs/vis_default_editor.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisDefaultEditorPluginApi
slug: /kibana-dev-docs/api/visDefaultEditor
title: "visDefaultEditor"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visDefaultEditor plugin
+description: API docs for the visDefaultEditor plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 9b11dd3d5a4c7..2a89261e8dc1a 100644
--- a/api_docs/vis_type_gauge.mdx
+++ b/api_docs/vis_type_gauge.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisTypeGaugePluginApi
slug: /kibana-dev-docs/api/visTypeGauge
title: "visTypeGauge"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visTypeGauge plugin
+description: API docs for the visTypeGauge plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 74c7d1b717ada..38be595eae2a1 100644
--- a/api_docs/vis_type_heatmap.mdx
+++ b/api_docs/vis_type_heatmap.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisTypeHeatmapPluginApi
slug: /kibana-dev-docs/api/visTypeHeatmap
title: "visTypeHeatmap"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visTypeHeatmap plugin
+description: API docs for the visTypeHeatmap plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 f71e3f5648562..4db7c9d427874 100644
--- a/api_docs/vis_type_pie.mdx
+++ b/api_docs/vis_type_pie.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisTypePiePluginApi
slug: /kibana-dev-docs/api/visTypePie
title: "visTypePie"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visTypePie plugin
+description: API docs for the visTypePie plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 41a117811917b..fe4ff96047f95 100644
--- a/api_docs/vis_type_table.mdx
+++ b/api_docs/vis_type_table.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisTypeTablePluginApi
slug: /kibana-dev-docs/api/visTypeTable
title: "visTypeTable"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visTypeTable plugin
+description: API docs for the visTypeTable plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 36444e9743320..20b08f1f32618 100644
--- a/api_docs/vis_type_timelion.mdx
+++ b/api_docs/vis_type_timelion.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisTypeTimelionPluginApi
slug: /kibana-dev-docs/api/visTypeTimelion
title: "visTypeTimelion"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visTypeTimelion plugin
+description: API docs for the visTypeTimelion plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 e9a30d0942595..dba13175c35be 100644
--- a/api_docs/vis_type_timeseries.mdx
+++ b/api_docs/vis_type_timeseries.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisTypeTimeseriesPluginApi
slug: /kibana-dev-docs/api/visTypeTimeseries
title: "visTypeTimeseries"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visTypeTimeseries plugin
+description: API docs for the visTypeTimeseries plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 f30de804741fc..7be4ffb5296b4 100644
--- a/api_docs/vis_type_vega.mdx
+++ b/api_docs/vis_type_vega.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisTypeVegaPluginApi
slug: /kibana-dev-docs/api/visTypeVega
title: "visTypeVega"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visTypeVega plugin
+description: API docs for the visTypeVega plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 28ed93c1531bf..7885c843e68bb 100644
--- a/api_docs/vis_type_vislib.mdx
+++ b/api_docs/vis_type_vislib.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisTypeVislibPluginApi
slug: /kibana-dev-docs/api/visTypeVislib
title: "visTypeVislib"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visTypeVislib plugin
+description: API docs for the visTypeVislib plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
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 8f0bc09bcb539..aab476edc42b9 100644
--- a/api_docs/vis_type_xy.mdx
+++ b/api_docs/vis_type_xy.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisTypeXyPluginApi
slug: /kibana-dev-docs/api/visTypeXy
title: "visTypeXy"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visTypeXy plugin
+description: API docs for the visTypeXy plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import visTypeXyObj from './vis_type_xy.devdocs.json';
diff --git a/api_docs/visualizations.devdocs.json b/api_docs/visualizations.devdocs.json
index 62b7651579dc5..4752d972ce270 100644
--- a/api_docs/visualizations.devdocs.json
+++ b/api_docs/visualizations.devdocs.json
@@ -5157,7 +5157,11 @@
"section": "def-public.ContainerOutput",
"text": "ContainerOutput"
},
- "> | undefined; updateInput: (changes: Partial<",
+ "> | undefined; getQuery: () => Promise<",
+ "Query",
+ " | ",
+ "AggregateQuery",
+ " | undefined>; updateInput: (changes: Partial<",
{
"pluginId": "visualizations",
"scope": "public",
@@ -5165,7 +5169,9 @@
"section": "def-public.VisualizeInput",
"text": "VisualizeInput"
},
- ">) => void; reportsEmbeddableLoad: () => boolean; getInspectorAdapters: () => ",
+ ">) => void; reportsEmbeddableLoad: () => boolean; getFilters: () => Promise<",
+ "Filter",
+ "[]>; getInspectorAdapters: () => ",
{
"pluginId": "inspector",
"scope": "common",
diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx
index 12a8c58e18e10..b8a849ec5ea8d 100644
--- a/api_docs/visualizations.mdx
+++ b/api_docs/visualizations.mdx
@@ -1,12 +1,15 @@
---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
id: kibVisualizationsPluginApi
slug: /kibana-dev-docs/api/visualizations
title: "visualizations"
image: https://source.unsplash.com/400x175/?github
-summary: API docs for the visualizations plugin
+description: API docs for the visualizations plugin
date: 2022-08-10
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations']
-warning: This document is auto-generated and is meant to be viewed inside our experimental, new docs system. Reach out in #docs-engineering for more info.
---
import visualizationsObj from './visualizations.devdocs.json';
From 1bab5775e3d4bca888fb2e1b43bd29771f6942e4 Mon Sep 17 00:00:00 2001
From: Andrew Tate
Date: Wed, 10 Aug 2022 18:59:31 -0500
Subject: [PATCH 33/49] reuse frame public API selector (#138430)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
---
.../public/state_management/lens_slice.ts | 20 +++----------------
1 file changed, 3 insertions(+), 17 deletions(-)
diff --git a/x-pack/plugins/lens/public/state_management/lens_slice.ts b/x-pack/plugins/lens/public/state_management/lens_slice.ts
index 2a71cd9aaab48..14510a47b9d1d 100644
--- a/x-pack/plugins/lens/public/state_management/lens_slice.ts
+++ b/x-pack/plugins/lens/public/state_management/lens_slice.ts
@@ -11,7 +11,6 @@ import { mapValues } from 'lodash';
import { Query } from '@kbn/es-query';
import { History } from 'history';
import { LensEmbeddableInput } from '..';
-import { getDatasourceLayers } from '../editor_frame_service/editor_frame';
import { TableInspectorAdapter } from '../editor_frame_service/types';
import type { VisualizeEditorContext, Suggestion } from '../types';
import { getInitialDatasourceId, getResolvedDateRange, getRemoveOperation } from '../utils';
@@ -22,6 +21,7 @@ import type { LayerType } from '../../common/types';
import { getLayerType } from '../editor_frame_service/editor_frame/config_panel/add_layer';
import { getVisualizeFieldSuggestions } from '../editor_frame_service/editor_frame/suggestion_helpers';
import { FramePublicAPI, LensEditContextMapping, LensEditEvent } from '../types';
+import { selectFramePublicAPI } from './selectors';
export const initialState: LensAppState = {
persistedDoc: undefined,
@@ -628,14 +628,7 @@ export const makeLensReducer = (storeDeps: LensStoreDeps) => {
layerType
);
- const framePublicAPI = {
- // any better idea to avoid `as`?
- activeData: state.activeData
- ? (current(state.activeData) as TableInspectorAdapter)
- : undefined,
- datasourceLayers: getDatasourceLayers(state.datasourceStates, datasourceMap),
- dateRange: current(state.resolvedDateRange),
- };
+ const framePublicAPI = selectFramePublicAPI({ lens: current(state) }, datasourceMap);
const activeDatasource = datasourceMap[state.activeDatasourceId];
const { noDatasource } =
@@ -687,14 +680,7 @@ export const makeLensReducer = (storeDeps: LensStoreDeps) => {
const { activeDatasourceState, activeVisualizationState } = addInitialValueIfAvailable({
datasourceState: state.datasourceStates[state.activeDatasourceId].state,
visualizationState: state.visualization.state,
- framePublicAPI: {
- // any better idea to avoid `as`?
- activeData: state.activeData
- ? (current(state.activeData) as TableInspectorAdapter)
- : undefined,
- datasourceLayers: getDatasourceLayers(state.datasourceStates, datasourceMap),
- dateRange: current(state.resolvedDateRange),
- },
+ framePublicAPI: selectFramePublicAPI({ lens: current(state) }, datasourceMap),
activeVisualization,
activeDatasource,
layerId,
From c890ca024215d7f96002a47ab1f96de0fc556e85 Mon Sep 17 00:00:00 2001
From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Date: Thu, 11 Aug 2022 00:40:56 -0400
Subject: [PATCH 34/49] [api-docs] Daily api_docs build (#138590)
---
api_docs/actions.mdx | 2 +-
api_docs/advanced_settings.mdx | 2 +-
api_docs/aiops.mdx | 2 +-
api_docs/alerting.mdx | 2 +-
api_docs/apm.mdx | 2 +-
api_docs/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_security_posture.mdx | 2 +-
api_docs/console.mdx | 2 +-
api_docs/controls.mdx | 2 +-
api_docs/core.mdx | 2 +-
api_docs/core_application.mdx | 2 +-
api_docs/core_chrome.mdx | 2 +-
api_docs/core_saved_objects.mdx | 2 +-
api_docs/custom_integrations.mdx | 2 +-
api_docs/dashboard.mdx | 2 +-
api_docs/dashboard_enhanced.mdx | 2 +-
api_docs/data.mdx | 2 +-
api_docs/data_query.mdx | 2 +-
api_docs/data_search.mdx | 2 +-
api_docs/data_view_editor.mdx | 2 +-
api_docs/data_view_field_editor.mdx | 2 +-
api_docs/data_view_management.mdx | 2 +-
api_docs/data_views.mdx | 2 +-
api_docs/data_visualizer.mdx | 2 +-
api_docs/deprecations_by_api.mdx | 2 +-
api_docs/deprecations_by_plugin.mdx | 2 +-
api_docs/deprecations_by_team.mdx | 2 +-
api_docs/dev_tools.mdx | 2 +-
api_docs/discover.mdx | 2 +-
api_docs/discover_enhanced.mdx | 2 +-
api_docs/elastic_apm_synthtrace.mdx | 2 +-
api_docs/embeddable.mdx | 2 +-
api_docs/embeddable_enhanced.mdx | 2 +-
api_docs/encrypted_saved_objects.mdx | 2 +-
api_docs/enterprise_search.mdx | 2 +-
api_docs/es_ui_shared.mdx | 2 +-
api_docs/event_annotation.mdx | 2 +-
api_docs/event_log.mdx | 2 +-
api_docs/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/fleet.mdx | 2 +-
api_docs/global_search.mdx | 2 +-
api_docs/home.mdx | 2 +-
api_docs/index_lifecycle_management.mdx | 2 +-
api_docs/index_management.mdx | 2 +-
api_docs/infra.mdx | 2 +-
api_docs/inspector.mdx | 2 +-
api_docs/interactive_setup.mdx | 2 +-
api_docs/kbn_ace.mdx | 2 +-
api_docs/kbn_aiops_components.mdx | 2 +-
api_docs/kbn_aiops_utils.mdx | 2 +-
api_docs/kbn_alerts.mdx | 2 +-
api_docs/kbn_analytics.mdx | 2 +-
api_docs/kbn_analytics_client.mdx | 2 +-
api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx | 2 +-
api_docs/kbn_analytics_shippers_elastic_v3_common.mdx | 2 +-
api_docs/kbn_analytics_shippers_elastic_v3_server.mdx | 2 +-
api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +-
api_docs/kbn_apm_config_loader.mdx | 2 +-
api_docs/kbn_apm_utils.mdx | 2 +-
api_docs/kbn_axe_config.mdx | 2 +-
api_docs/kbn_bazel_packages.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_coloring.mdx | 2 +-
api_docs/kbn_config.mdx | 2 +-
api_docs/kbn_config_mocks.mdx | 2 +-
api_docs/kbn_config_schema.mdx | 2 +-
api_docs/kbn_core_analytics_browser.mdx | 2 +-
api_docs/kbn_core_analytics_browser_internal.mdx | 2 +-
api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +-
api_docs/kbn_core_analytics_server.mdx | 2 +-
api_docs/kbn_core_analytics_server_internal.mdx | 2 +-
api_docs/kbn_core_analytics_server_mocks.mdx | 2 +-
api_docs/kbn_core_base_browser_mocks.mdx | 2 +-
api_docs/kbn_core_base_common.mdx | 2 +-
api_docs/kbn_core_base_server_internal.mdx | 2 +-
api_docs/kbn_core_base_server_mocks.mdx | 2 +-
api_docs/kbn_core_capabilities_common.mdx | 2 +-
api_docs/kbn_core_capabilities_server.mdx | 2 +-
api_docs/kbn_core_capabilities_server_mocks.mdx | 2 +-
api_docs/kbn_core_config_server_internal.mdx | 2 +-
api_docs/kbn_core_deprecations_browser.mdx | 2 +-
api_docs/kbn_core_deprecations_browser_internal.mdx | 2 +-
api_docs/kbn_core_deprecations_browser_mocks.mdx | 2 +-
api_docs/kbn_core_deprecations_common.mdx | 2 +-
api_docs/kbn_core_doc_links_browser.mdx | 2 +-
api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +-
api_docs/kbn_core_doc_links_server.mdx | 2 +-
api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +-
api_docs/kbn_core_elasticsearch_client_server_internal.mdx | 2 +-
api_docs/kbn_core_elasticsearch_client_server_mocks.mdx | 2 +-
api_docs/kbn_core_elasticsearch_server.mdx | 2 +-
api_docs/kbn_core_elasticsearch_server_internal.mdx | 2 +-
api_docs/kbn_core_elasticsearch_server_mocks.mdx | 2 +-
api_docs/kbn_core_environment_server_internal.mdx | 2 +-
api_docs/kbn_core_environment_server_mocks.mdx | 2 +-
api_docs/kbn_core_execution_context_browser.mdx | 2 +-
api_docs/kbn_core_execution_context_browser_internal.mdx | 2 +-
api_docs/kbn_core_execution_context_browser_mocks.mdx | 2 +-
api_docs/kbn_core_execution_context_common.mdx | 2 +-
api_docs/kbn_core_execution_context_server.mdx | 2 +-
api_docs/kbn_core_execution_context_server_internal.mdx | 2 +-
api_docs/kbn_core_execution_context_server_mocks.mdx | 2 +-
api_docs/kbn_core_fatal_errors_browser.mdx | 2 +-
api_docs/kbn_core_fatal_errors_browser_mocks.mdx | 2 +-
api_docs/kbn_core_http_browser.mdx | 2 +-
api_docs/kbn_core_http_browser_internal.mdx | 2 +-
api_docs/kbn_core_http_browser_mocks.mdx | 2 +-
api_docs/kbn_core_http_common.mdx | 2 +-
api_docs/kbn_core_http_context_server_mocks.mdx | 2 +-
api_docs/kbn_core_http_router_server_internal.mdx | 2 +-
api_docs/kbn_core_http_router_server_mocks.mdx | 2 +-
api_docs/kbn_core_http_server.mdx | 2 +-
api_docs/kbn_core_http_server_internal.mdx | 2 +-
api_docs/kbn_core_http_server_mocks.mdx | 2 +-
api_docs/kbn_core_i18n_browser.mdx | 2 +-
api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +-
api_docs/kbn_core_injected_metadata_browser.mdx | 2 +-
api_docs/kbn_core_injected_metadata_browser_mocks.mdx | 2 +-
api_docs/kbn_core_integrations_browser_internal.mdx | 2 +-
api_docs/kbn_core_integrations_browser_mocks.mdx | 2 +-
api_docs/kbn_core_logging_server.mdx | 2 +-
api_docs/kbn_core_logging_server_internal.mdx | 2 +-
api_docs/kbn_core_logging_server_mocks.mdx | 2 +-
api_docs/kbn_core_metrics_collectors_server_internal.mdx | 2 +-
api_docs/kbn_core_metrics_collectors_server_mocks.mdx | 2 +-
api_docs/kbn_core_metrics_server.mdx | 2 +-
api_docs/kbn_core_metrics_server_internal.mdx | 2 +-
api_docs/kbn_core_metrics_server_mocks.mdx | 2 +-
api_docs/kbn_core_mount_utils_browser.mdx | 2 +-
api_docs/kbn_core_mount_utils_browser_internal.mdx | 2 +-
api_docs/kbn_core_node_server.mdx | 2 +-
api_docs/kbn_core_node_server_internal.mdx | 2 +-
api_docs/kbn_core_node_server_mocks.mdx | 2 +-
api_docs/kbn_core_notifications_browser.mdx | 2 +-
api_docs/kbn_core_notifications_browser_internal.mdx | 2 +-
api_docs/kbn_core_notifications_browser_mocks.mdx | 2 +-
api_docs/kbn_core_overlays_browser.mdx | 2 +-
api_docs/kbn_core_overlays_browser_internal.mdx | 2 +-
api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +-
api_docs/kbn_core_preboot_server.mdx | 2 +-
api_docs/kbn_core_preboot_server_mocks.mdx | 2 +-
api_docs/kbn_core_saved_objects_api_browser.mdx | 2 +-
api_docs/kbn_core_saved_objects_api_server.mdx | 2 +-
api_docs/kbn_core_saved_objects_browser.mdx | 2 +-
api_docs/kbn_core_saved_objects_browser_internal.mdx | 2 +-
api_docs/kbn_core_saved_objects_browser_mocks.mdx | 2 +-
api_docs/kbn_core_saved_objects_common.mdx | 2 +-
api_docs/kbn_core_saved_objects_server.mdx | 2 +-
api_docs/kbn_core_test_helpers_deprecations_getters.mdx | 2 +-
api_docs/kbn_core_test_helpers_http_setup_browser.mdx | 2 +-
api_docs/kbn_core_theme_browser.mdx | 2 +-
api_docs/kbn_core_theme_browser_internal.mdx | 2 +-
api_docs/kbn_core_theme_browser_mocks.mdx | 2 +-
api_docs/kbn_core_ui_settings_browser.mdx | 2 +-
api_docs/kbn_core_ui_settings_browser_internal.mdx | 2 +-
api_docs/kbn_core_ui_settings_browser_mocks.mdx | 2 +-
api_docs/kbn_core_ui_settings_common.mdx | 2 +-
api_docs/kbn_crypto.mdx | 2 +-
api_docs/kbn_crypto_browser.mdx | 2 +-
api_docs/kbn_datemath.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_doc_links.mdx | 2 +-
api_docs/kbn_docs_utils.mdx | 2 +-
api_docs/kbn_ebt_tools.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_eslint_plugin_imports.mdx | 2 +-
api_docs/kbn_field_types.mdx | 2 +-
api_docs/kbn_find_used_node_modules.mdx | 2 +-
api_docs/kbn_generate.mdx | 2 +-
api_docs/kbn_get_repo_files.mdx | 2 +-
api_docs/kbn_handlebars.mdx | 2 +-
api_docs/kbn_hapi_mocks.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_import_resolver.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_kibana_manifest_parser.mdx | 2 +-
api_docs/kbn_kibana_manifest_schema.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_mapbox_gl.mdx | 2 +-
api_docs/kbn_ml_agg_utils.mdx | 2 +-
api_docs/kbn_ml_is_populated_object.mdx | 2 +-
api_docs/kbn_ml_string_hash.mdx | 2 +-
api_docs/kbn_monaco.mdx | 2 +-
api_docs/kbn_optimizer.mdx | 2 +-
api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +-
api_docs/kbn_performance_testing_dataset_extractor.mdx | 2 +-
api_docs/kbn_plugin_generator.mdx | 2 +-
api_docs/kbn_plugin_helpers.mdx | 2 +-
api_docs/kbn_react_field.mdx | 2 +-
api_docs/kbn_repo_source_classifier.mdx | 2 +-
api_docs/kbn_rule_data_utils.mdx | 2 +-
api_docs/kbn_securitysolution_autocomplete.mdx | 2 +-
api_docs/kbn_securitysolution_es_utils.mdx | 2 +-
api_docs/kbn_securitysolution_hook_utils.mdx | 2 +-
api_docs/kbn_securitysolution_io_ts_alerting_types.mdx | 2 +-
api_docs/kbn_securitysolution_io_ts_list_types.mdx | 2 +-
api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +-
api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +-
api_docs/kbn_securitysolution_list_api.mdx | 2 +-
api_docs/kbn_securitysolution_list_constants.mdx | 2 +-
api_docs/kbn_securitysolution_list_hooks.mdx | 2 +-
api_docs/kbn_securitysolution_list_utils.mdx | 2 +-
api_docs/kbn_securitysolution_rules.mdx | 2 +-
api_docs/kbn_securitysolution_t_grid.mdx | 2 +-
api_docs/kbn_securitysolution_utils.mdx | 2 +-
api_docs/kbn_server_http_tools.mdx | 2 +-
api_docs/kbn_server_route_repository.mdx | 2 +-
api_docs/kbn_shared_svg.mdx | 2 +-
api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +-
api_docs/kbn_shared_ux_card_no_data.mdx | 2 +-
api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_components.mdx | 2 +-
api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_page_analytics_no_data.mdx | 2 +-
api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_page_kibana_no_data.mdx | 2 +-
api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +-
api_docs/kbn_shared_ux_prompt_no_data_views.mdx | 2 +-
api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_services.mdx | 2 +-
api_docs/kbn_shared_ux_storybook.mdx | 2 +-
api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +-
api_docs/kbn_shared_ux_utility.mdx | 2 +-
api_docs/kbn_some_dev_log.mdx | 2 +-
api_docs/kbn_sort_package_json.mdx | 2 +-
api_docs/kbn_std.mdx | 2 +-
api_docs/kbn_stdio_dev_helpers.mdx | 2 +-
api_docs/kbn_storybook.mdx | 2 +-
api_docs/kbn_telemetry_tools.mdx | 2 +-
api_docs/kbn_test.mdx | 2 +-
api_docs/kbn_test_jest_helpers.mdx | 2 +-
api_docs/kbn_tooling_log.mdx | 2 +-
api_docs/kbn_type_summarizer.mdx | 2 +-
api_docs/kbn_type_summarizer_core.mdx | 2 +-
api_docs/kbn_typed_react_router_config.mdx | 2 +-
api_docs/kbn_ui_theme.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_yarn_lock_validator.mdx | 2 +-
api_docs/kibana_overview.mdx | 2 +-
api_docs/kibana_react.mdx | 2 +-
api_docs/kibana_utils.mdx | 2 +-
api_docs/kubernetes_security.mdx | 2 +-
api_docs/lens.mdx | 2 +-
api_docs/license_api_guard.mdx | 2 +-
api_docs/license_management.mdx | 2 +-
api_docs/licensing.mdx | 2 +-
api_docs/lists.mdx | 2 +-
api_docs/management.mdx | 2 +-
api_docs/maps.mdx | 2 +-
api_docs/maps_ems.mdx | 2 +-
api_docs/ml.mdx | 2 +-
api_docs/monitoring.mdx | 2 +-
api_docs/monitoring_collection.mdx | 2 +-
api_docs/navigation.mdx | 2 +-
api_docs/newsfeed.mdx | 2 +-
api_docs/observability.mdx | 2 +-
api_docs/osquery.mdx | 2 +-
api_docs/plugin_directory.mdx | 2 +-
api_docs/presentation_util.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_management.mdx | 2 +-
api_docs/saved_objects_tagging.mdx | 2 +-
api_docs/saved_objects_tagging_oss.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/session_view.mdx | 2 +-
api_docs/share.mdx | 2 +-
api_docs/shared_u_x.mdx | 2 +-
api_docs/snapshot_restore.mdx | 2 +-
api_docs/spaces.mdx | 2 +-
api_docs/stack_alerts.mdx | 2 +-
api_docs/task_manager.mdx | 2 +-
api_docs/telemetry.mdx | 2 +-
api_docs/telemetry_collection_manager.mdx | 2 +-
api_docs/telemetry_collection_xpack.mdx | 2 +-
api_docs/telemetry_management_section.mdx | 2 +-
api_docs/threat_intelligence.mdx | 2 +-
api_docs/timelines.mdx | 2 +-
api_docs/transform.mdx | 2 +-
api_docs/triggers_actions_ui.mdx | 2 +-
api_docs/ui_actions.mdx | 2 +-
api_docs/ui_actions_enhanced.mdx | 2 +-
api_docs/unified_search.mdx | 2 +-
api_docs/unified_search_autocomplete.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 +-
345 files changed, 345 insertions(+), 345 deletions(-)
diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx
index d9debf8612634..f282d76f832a9 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: 2022-08-10
+date: 2022-08-11
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 d48c56ee4ba3b..d2ceaab33973d 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: 2022-08-10
+date: 2022-08-11
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 9b2bc406330fb..187f9343d71c4 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops']
---
import aiopsObj from './aiops.devdocs.json';
diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx
index 0b79758b2bca5..dc6b0afa761ed 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting']
---
import alertingObj from './alerting.devdocs.json';
diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx
index c775ed9f7c780..7300c7c4e6e79 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm']
---
import apmObj from './apm.devdocs.json';
diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx
index 692c4c4990311..0b0ed7407957d 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: 2022-08-10
+date: 2022-08-11
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 5fa356ed6b1a6..d69a594d888e1 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: 2022-08-10
+date: 2022-08-11
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 b99bcdf1047f9..e7815d47682ee 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: 2022-08-10
+date: 2022-08-11
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 9f89af0916e15..303a1b51161d5 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: 2022-08-10
+date: 2022-08-11
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 3ca08a5cf5280..2f719228ffca3 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: 2022-08-10
+date: 2022-08-11
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 75d33bb6cb38d..92fb236da4dfe 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud']
---
import cloudObj from './cloud.devdocs.json';
diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx
index 73d38c0501fbe..3187f3c79b136 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: 2022-08-10
+date: 2022-08-11
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 82eb9a8b5ffde..c8fa214ebb827 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console']
---
import consoleObj from './console.devdocs.json';
diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx
index 75b8f870d8d07..3bf15c15f0ecf 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls']
---
import controlsObj from './controls.devdocs.json';
diff --git a/api_docs/core.mdx b/api_docs/core.mdx
index de7ed5719a1a0..3574957c8e0fc 100644
--- a/api_docs/core.mdx
+++ b/api_docs/core.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/core
title: "core"
image: https://source.unsplash.com/400x175/?github
description: API docs for the core plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core']
---
import coreObj from './core.devdocs.json';
diff --git a/api_docs/core_application.mdx b/api_docs/core_application.mdx
index 09667162a0bd5..c3589c46a0469 100644
--- a/api_docs/core_application.mdx
+++ b/api_docs/core_application.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/core-application
title: "core.application"
image: https://source.unsplash.com/400x175/?github
description: API docs for the core.application plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core.application']
---
import coreApplicationObj from './core_application.devdocs.json';
diff --git a/api_docs/core_chrome.mdx b/api_docs/core_chrome.mdx
index 9cc2d6c8449d7..7bace2a507a6c 100644
--- a/api_docs/core_chrome.mdx
+++ b/api_docs/core_chrome.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/core-chrome
title: "core.chrome"
image: https://source.unsplash.com/400x175/?github
description: API docs for the core.chrome plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core.chrome']
---
import coreChromeObj from './core_chrome.devdocs.json';
diff --git a/api_docs/core_saved_objects.mdx b/api_docs/core_saved_objects.mdx
index bab45e3b860fb..6fcd60f4851a4 100644
--- a/api_docs/core_saved_objects.mdx
+++ b/api_docs/core_saved_objects.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/core-savedObjects
title: "core.savedObjects"
image: https://source.unsplash.com/400x175/?github
description: API docs for the core.savedObjects plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core.savedObjects']
---
import coreSavedObjectsObj from './core_saved_objects.devdocs.json';
diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx
index e6dcad20dee0c..43bfe0acae309 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: 2022-08-10
+date: 2022-08-11
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 7a35aae0ec2c9..e9b89abcc6115 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: 2022-08-10
+date: 2022-08-11
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 a71ee95fbed8e..9e9e9022ad468 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced']
---
import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json';
diff --git a/api_docs/data.mdx b/api_docs/data.mdx
index 75ba7f5d691a5..e99dae2e55978 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: 2022-08-10
+date: 2022-08-11
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 5e69ab274ba18..e42c8927f3847 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: 2022-08-10
+date: 2022-08-11
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 9e6a0466aea6e..01c72585f1aa3 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: 2022-08-10
+date: 2022-08-11
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 0f8f87d96257a..1e6e529149989 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: 2022-08-10
+date: 2022-08-11
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 86cd795dd7dfe..b2581e4f92242 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: 2022-08-10
+date: 2022-08-11
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 5581c953daad0..8d9911745c4d3 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement']
---
import dataViewManagementObj from './data_view_management.devdocs.json';
diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx
index f94248c3e2191..6bb7f9213f889 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: 2022-08-10
+date: 2022-08-11
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 a23db05ec0db5..c779357745331 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: 2022-08-10
+date: 2022-08-11
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 b2797246ab652..aa4ecef1c0dad 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx
index 1849ced937dcf..40935bd3a4ec6 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx
index ed8f1ba63a87e..55fe21009f1a0 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx
index 17efa22d53449..13dad9769e26a 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: 2022-08-10
+date: 2022-08-11
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 f63dd0b8f2822..d95e7b4b4ec07 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: 2022-08-10
+date: 2022-08-11
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 1c7810999e887..37520938fdd5a 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced']
---
import discoverEnhancedObj from './discover_enhanced.devdocs.json';
diff --git a/api_docs/elastic_apm_synthtrace.mdx b/api_docs/elastic_apm_synthtrace.mdx
index de6c6e8d25750..513b14bbf25b0 100644
--- a/api_docs/elastic_apm_synthtrace.mdx
+++ b/api_docs/elastic_apm_synthtrace.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elastic-apm-synthtrace
title: "@elastic/apm-synthtrace"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @elastic/apm-synthtrace plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@elastic/apm-synthtrace']
---
import elasticApmSynthtraceObj from './elastic_apm_synthtrace.devdocs.json';
diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx
index f45e061cd95ab..c2980c7c90f92 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: 2022-08-10
+date: 2022-08-11
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 b0d4d7c2c24cb..4953a59facca6 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: 2022-08-10
+date: 2022-08-11
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 a3914ef5316ce..82db857f64353 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: 2022-08-10
+date: 2022-08-11
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 62c7b7ab7751f..be1cc389b67f2 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: 2022-08-10
+date: 2022-08-11
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 17c3fdf606766..5985f4ac49506 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: 2022-08-10
+date: 2022-08-11
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 d6d19f9a65f71..882ec361bdb70 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation']
---
import eventAnnotationObj from './event_annotation.devdocs.json';
diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx
index daa352980179a..169240a4e31f1 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog']
---
import eventLogObj from './event_log.devdocs.json';
diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx
index 98a4a57dc96c8..c26dd9d602518 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: 2022-08-10
+date: 2022-08-11
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 44d2ca5d3a562..805db130b3635 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: 2022-08-10
+date: 2022-08-11
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 e7f59d68e4954..6d4d4c5bc3797 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: 2022-08-10
+date: 2022-08-11
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 60fb5ed4c8130..ccb91e5f51b84 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: 2022-08-10
+date: 2022-08-11
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 3192942b7153a..827dfeb0783b1 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: 2022-08-10
+date: 2022-08-11
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 df59a5ac851b5..0fc049cd34fd8 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: 2022-08-10
+date: 2022-08-11
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 418641075bcde..d865c607d2a79 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: 2022-08-10
+date: 2022-08-11
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 83ae6ccc351cb..f376d7efbd3c0 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: 2022-08-10
+date: 2022-08-11
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 4d0209cb49ae4..35cadf9482078 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: 2022-08-10
+date: 2022-08-11
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 dd13abd47587a..c4093b827de57 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: 2022-08-10
+date: 2022-08-11
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 f691e0f454935..91c67dcaabba9 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: 2022-08-10
+date: 2022-08-11
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 ff37e4d33a381..44b99db0d35e3 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: 2022-08-10
+date: 2022-08-11
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 b36ba6f2ef3d5..dffc294756819 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: 2022-08-10
+date: 2022-08-11
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 6107cfa548997..5ce386f8a2f49 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: 2022-08-10
+date: 2022-08-11
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 acb0acbe2b4c4..2393f30a5b9a0 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: 2022-08-10
+date: 2022-08-11
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 48ea69722201a..b90819ea8f5aa 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: 2022-08-10
+date: 2022-08-11
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 122761a52341f..9d9e0eb35894c 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload']
---
import fileUploadObj from './file_upload.devdocs.json';
diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx
index d566fb2abbed4..9bb727824c189 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: 2022-08-10
+date: 2022-08-11
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 7542178687161..33748702b61b8 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch']
---
import globalSearchObj from './global_search.devdocs.json';
diff --git a/api_docs/home.mdx b/api_docs/home.mdx
index 19ac48f638e66..cd3147cc301bd 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home']
---
import homeObj from './home.devdocs.json';
diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx
index b4c6de8536363..e828742670e19 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: 2022-08-10
+date: 2022-08-11
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 e671d6979edf3..c4d0c091519f7 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: 2022-08-10
+date: 2022-08-11
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 bd982b44e15db..58f393c23bc6f 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: 2022-08-10
+date: 2022-08-11
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 a6172213d301d..5b5f9f42f9bdc 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: 2022-08-10
+date: 2022-08-11
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 d4e8c0f6f9559..76159a88a4046 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: 2022-08-10
+date: 2022-08-11
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 7bc465f202671..ad13f5ee9c2d0 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: 2022-08-10
+date: 2022-08-11
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 e270cccdbb149..d52a5f6b909c3 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: 2022-08-10
+date: 2022-08-11
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 e24d06855e463..149c07f9a6653 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils']
---
import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json';
diff --git a/api_docs/kbn_alerts.mdx b/api_docs/kbn_alerts.mdx
index 90a3d734258b5..4e3fd64430fe4 100644
--- a/api_docs/kbn_alerts.mdx
+++ b/api_docs/kbn_alerts.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts
title: "@kbn/alerts"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerts plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts']
---
import kbnAlertsObj from './kbn_alerts.devdocs.json';
diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx
index bd7fad52dade9..441f3eb3db741 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: 2022-08-10
+date: 2022-08-11
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 ba5f94e88876c..c1f06d561d044 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: 2022-08-10
+date: 2022-08-11
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 15be83106b1ef..d9fab71d98594 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: 2022-08-10
+date: 2022-08-11
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 b4e0ad28d3c1e..2201f02c57558 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: 2022-08-10
+date: 2022-08-11
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 c17ff240d5799..8e48be19e49b8 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: 2022-08-10
+date: 2022-08-11
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 1c1a422a1d356..0f8b6675aa3b3 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory']
---
import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json';
diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx
index 3a38ca144894c..6ee6654bca627 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: 2022-08-10
+date: 2022-08-11
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_utils.mdx b/api_docs/kbn_apm_utils.mdx
index f10d2d189fc2b..552bd53fc9230 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: 2022-08-10
+date: 2022-08-11
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 2c81829302594..5511c5405411f 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config']
---
import kbnAxeConfigObj from './kbn_axe_config.devdocs.json';
diff --git a/api_docs/kbn_bazel_packages.mdx b/api_docs/kbn_bazel_packages.mdx
index 9b4470a79410e..3f72ba8df808a 100644
--- a/api_docs/kbn_bazel_packages.mdx
+++ b/api_docs/kbn_bazel_packages.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-bazel-packages
title: "@kbn/bazel-packages"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/bazel-packages plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bazel-packages']
---
import kbnBazelPackagesObj from './kbn_bazel_packages.devdocs.json';
diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx
index 55bc3cd497ae9..e000823006bae 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: 2022-08-10
+date: 2022-08-11
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 97ab51ff028ad..b4c7822027657 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: 2022-08-10
+date: 2022-08-11
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 59fbf29bda0bb..124fdda39cd95 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: 2022-08-10
+date: 2022-08-11
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 25397ce8c1b2b..a4432f832ef5e 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode']
---
import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json';
diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx
index 623658e117bc7..ae5cd47cda816 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: 2022-08-10
+date: 2022-08-11
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 30cbc67ed778a..2d89d9f9d3d27 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: 2022-08-10
+date: 2022-08-11
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 6ac320fb20073..fc93f0c95c25d 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: 2022-08-10
+date: 2022-08-11
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 7fedf6ba97cc9..3f692e8c39e74 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema']
---
import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json';
diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx
index 38c12fdfc2a3a..dc25d37e8dcb6 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: 2022-08-10
+date: 2022-08-11
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 0cb2fad42af34..6ed61554c64dc 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: 2022-08-10
+date: 2022-08-11
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 59ed1073c527d..083459d82e734 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: 2022-08-10
+date: 2022-08-11
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 557a5d3aa9b51..eabbc9e824460 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: 2022-08-10
+date: 2022-08-11
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 9292a1959f45c..e85565987a37e 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: 2022-08-10
+date: 2022-08-11
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 478dc44f58fb5..2e7d30f0d0fbf 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: 2022-08-10
+date: 2022-08-11
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_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx
index 2a213e335029f..34de7d4b8e06a 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: 2022-08-10
+date: 2022-08-11
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 0cab7dd6adc34..573b7df56d3c3 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: 2022-08-10
+date: 2022-08-11
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 1b790a3aa7fa6..18e83415fc77b 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: 2022-08-10
+date: 2022-08-11
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 b5b479b107bff..90308821b1602 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: 2022-08-10
+date: 2022-08-11
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_common.mdx b/api_docs/kbn_core_capabilities_common.mdx
index 14dd1e84c9933..5c9813c841e93 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: 2022-08-10
+date: 2022-08-11
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 db5d0f23b0558..2d74140d25d5b 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: 2022-08-10
+date: 2022-08-11
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 2d14bcb7fee9a..5864db03de071 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: 2022-08-10
+date: 2022-08-11
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_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx
index 89cf6d938e32f..980aeb7e5eafd 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: 2022-08-10
+date: 2022-08-11
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_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx
index 3b9fc2f3630f5..c7b4f1f1db12e 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: 2022-08-10
+date: 2022-08-11
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 d85d12d177bfc..b51f5542dcac5 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: 2022-08-10
+date: 2022-08-11
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 ebe495b965b47..ae1d2d010d9ce 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: 2022-08-10
+date: 2022-08-11
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 b1dcc85409acb..ef822626f6f33 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: 2022-08-10
+date: 2022-08-11
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_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx
index 2ee5b745daa87..5b70ecb032151 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: 2022-08-10
+date: 2022-08-11
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 d217f9f349cfb..c153294c409c3 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: 2022-08-10
+date: 2022-08-11
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 7666fab1b2d45..5bb7687740ecf 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: 2022-08-10
+date: 2022-08-11
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 1e2b1c3cd2ef1..2cd86fe9ad73b 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: 2022-08-10
+date: 2022-08-11
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 a7a12a761133e..ed0b4b1c9bcfd 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: 2022-08-10
+date: 2022-08-11
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 c5b167a12681a..2bb6fd38a5486 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: 2022-08-10
+date: 2022-08-11
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 59400ce18d9a8..f5f44e819ce92 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: 2022-08-10
+date: 2022-08-11
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 adf8c71f58e60..fcb6bee1f95ca 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: 2022-08-10
+date: 2022-08-11
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 18bc9b3645590..0b46995435694 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: 2022-08-10
+date: 2022-08-11
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 e8a70ce60c7d5..10f74250c8dd0 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: 2022-08-10
+date: 2022-08-11
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 a36ff455ffc24..b84b68e017374 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: 2022-08-10
+date: 2022-08-11
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 11cbc9dac48fc..1f6edae3523a8 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: 2022-08-10
+date: 2022-08-11
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 0deb55eae32e7..400b5a8cd8d61 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: 2022-08-10
+date: 2022-08-11
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 9f089a48f97ba..5756f10d51000 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: 2022-08-10
+date: 2022-08-11
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 782d1fb88e738..1775cf95424b5 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: 2022-08-10
+date: 2022-08-11
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 1d9901d9ff0c6..0fbd1783b6c31 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: 2022-08-10
+date: 2022-08-11
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 18a8e96fe0bea..b80f7f7829f3f 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: 2022-08-10
+date: 2022-08-11
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 e513446b13936..5894717106f89 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: 2022-08-10
+date: 2022-08-11
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 08e7d29db6a11..788d6e2d1202f 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: 2022-08-10
+date: 2022-08-11
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 41f541d1c27c9..b21295fde28b6 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: 2022-08-10
+date: 2022-08-11
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 539d5ea567778..4c0375f75ef49 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: 2022-08-10
+date: 2022-08-11
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 5b760bfab34ea..741b7b15181ed 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: 2022-08-10
+date: 2022-08-11
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 bfedc44dd4d9a..7a748adae2e2b 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: 2022-08-10
+date: 2022-08-11
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 9bcce94ced59d..c2ced4707e7e2 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: 2022-08-10
+date: 2022-08-11
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 a9ec3d9417ed8..a450f828cc24b 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: 2022-08-10
+date: 2022-08-11
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_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx
index f3c6a235da96b..660e16aaa2334 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: 2022-08-10
+date: 2022-08-11
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 ebadcfbaf2c38..281c9400435f2 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks']
---
import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx
index d916e2de8c61a..6736f3e83167d 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: 2022-08-10
+date: 2022-08-11
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 09e6fbd78f3b1..c82bdcaec983f 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: 2022-08-10
+date: 2022-08-11
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 ea492eafc4150..dc7f6893d7397 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: 2022-08-10
+date: 2022-08-11
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 9c5ba3d8b049f..29a450346c446 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: 2022-08-10
+date: 2022-08-11
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 c062fc2ef85d8..0345e27a252c4 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: 2022-08-10
+date: 2022-08-11
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_injected_metadata_browser.mdx b/api_docs/kbn_core_injected_metadata_browser.mdx
index 2bc83f827cb96..104d153f003fe 100644
--- a/api_docs/kbn_core_injected_metadata_browser.mdx
+++ b/api_docs/kbn_core_injected_metadata_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser
title: "@kbn/core-injected-metadata-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-injected-metadata-browser plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser']
---
import kbnCoreInjectedMetadataBrowserObj from './kbn_core_injected_metadata_browser.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 1ca36d6871b75..23d3b5fd4460e 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: 2022-08-10
+date: 2022-08-11
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 5d2be3bd28bf8..8f36ee7e2ce4d 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: 2022-08-10
+date: 2022-08-11
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 a5fd5222f6ff4..8569ab0f0bb05 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: 2022-08-10
+date: 2022-08-11
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_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx
index 9c3429d1827fb..ca4ceef547462 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: 2022-08-10
+date: 2022-08-11
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 5c6fa6ce48ba5..aacfe4c584c29 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: 2022-08-10
+date: 2022-08-11
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 7104121495590..39dbbf64c899a 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: 2022-08-10
+date: 2022-08-11
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 e7a96d9e14759..1362bd713e36e 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: 2022-08-10
+date: 2022-08-11
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 7e3f3a73ae2bf..71bc6f3a3f04a 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: 2022-08-10
+date: 2022-08-11
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 d8421002909fe..041ef87b42952 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: 2022-08-10
+date: 2022-08-11
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 56679c0fac4f0..ae16ec053bb11 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: 2022-08-10
+date: 2022-08-11
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 4e2f78e552fc7..b4a898c163d5a 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: 2022-08-10
+date: 2022-08-11
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 4001305370246..ae5b022c353d8 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: 2022-08-10
+date: 2022-08-11
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_mount_utils_browser_internal.mdx b/api_docs/kbn_core_mount_utils_browser_internal.mdx
index 554db464654d4..31eef32ff122d 100644
--- a/api_docs/kbn_core_mount_utils_browser_internal.mdx
+++ b/api_docs/kbn_core_mount_utils_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser-internal
title: "@kbn/core-mount-utils-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-mount-utils-browser-internal plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser-internal']
---
import kbnCoreMountUtilsBrowserInternalObj from './kbn_core_mount_utils_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx
index 6fa8989f9a54a..46bc2f98e711d 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: 2022-08-10
+date: 2022-08-11
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 e1db2b6fc239b..32bdf17e3702d 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: 2022-08-10
+date: 2022-08-11
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 f054ee9e74e99..1c237f65329ec 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: 2022-08-10
+date: 2022-08-11
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 ed28d6e8607cc..2f29364b23a43 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: 2022-08-10
+date: 2022-08-11
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 6c08452e5d936..7616c2e3e5d19 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: 2022-08-10
+date: 2022-08-11
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 bcf616f60134b..0fcdf7624cf5b 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: 2022-08-10
+date: 2022-08-11
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 78fad3316f0d7..453c38659a5e4 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: 2022-08-10
+date: 2022-08-11
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 d941741e1979e..a34142a2fae29 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: 2022-08-10
+date: 2022-08-11
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 a16317e25c60b..37408d1a0c8e0 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: 2022-08-10
+date: 2022-08-11
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_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx
index f87449e4a77ce..9a7c7a1edce55 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: 2022-08-10
+date: 2022-08-11
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 4ee9f89ec3c67..0afd2e4c96dea 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: 2022-08-10
+date: 2022-08-11
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_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx
index 7296fba5302cb..f4c2d6f9ccc42 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: 2022-08-10
+date: 2022-08-11
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 e2f0a1749d5aa..8fc0b694aa6c1 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: 2022-08-10
+date: 2022-08-11
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_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx
index b18ef02e32332..24b3e5da37fbb 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: 2022-08-10
+date: 2022-08-11
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 47c87c5e56e1e..032339de4038f 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: 2022-08-10
+date: 2022-08-11
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 4ca709a50337c..038b770a93bac 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: 2022-08-10
+date: 2022-08-11
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 c3cc2b3559631..1d5aaa4650348 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: 2022-08-10
+date: 2022-08-11
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_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx
index f62f25d45463f..52b21777a4436 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: 2022-08-10
+date: 2022-08-11
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_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx
index 62df59fe050ff..787255afdcef6 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: 2022-08-10
+date: 2022-08-11
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 ff0e91cf1de85..5324e74eaddf4 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: 2022-08-10
+date: 2022-08-11
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_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx
index c289959f20180..607691e3099a3 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: 2022-08-10
+date: 2022-08-11
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_internal.mdx b/api_docs/kbn_core_theme_browser_internal.mdx
index 0494aba943d85..d2d25970198fa 100644
--- a/api_docs/kbn_core_theme_browser_internal.mdx
+++ b/api_docs/kbn_core_theme_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-internal
title: "@kbn/core-theme-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-theme-browser-internal plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-internal']
---
import kbnCoreThemeBrowserInternalObj from './kbn_core_theme_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx
index f55a4a41bf493..dd78cb97c9b73 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: 2022-08-10
+date: 2022-08-11
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 c1a5d83063ad2..319ea1a3816db 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: 2022-08-10
+date: 2022-08-11
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 ed55bfb684e31..dbf6c57f3a902 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: 2022-08-10
+date: 2022-08-11
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 181658c6e1ced..6cd8019246435 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: 2022-08-10
+date: 2022-08-11
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 12cba7495172e..23df6c2264954 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: 2022-08-10
+date: 2022-08-11
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_crypto.mdx b/api_docs/kbn_crypto.mdx
index fc4d3f1abd1c8..7d308692aa3d3 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: 2022-08-10
+date: 2022-08-11
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 b92c2d8d4e78c..2880bdaed08ba 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser']
---
import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json';
diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx
index 8d5531e2226e2..b72576e13c035 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath']
---
import kbnDatemathObj from './kbn_datemath.devdocs.json';
diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx
index 7e4b1ab51926d..d55689dd7adfa 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: 2022-08-10
+date: 2022-08-11
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 acd1f1bbf2b98..e2a3d8828c9de 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: 2022-08-10
+date: 2022-08-11
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 41dbafc0bc1fb..43f9f57f37548 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: 2022-08-10
+date: 2022-08-11
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 0da804e752f45..e92051ab7b1df 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils']
---
import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json';
diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx
index 0884a68cf4412..c0c47f70125cd 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: 2022-08-10
+date: 2022-08-11
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 891ded77cf277..7d67005ca5e99 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils']
---
import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json';
diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx
index fd93fb141ce85..baed6476694f0 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools']
---
import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json';
diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx
index 0f807c0b43c12..fb0b15352818b 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: 2022-08-10
+date: 2022-08-11
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 393ecd76d6e92..3484f1a6ada51 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: 2022-08-10
+date: 2022-08-11
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 1af39670b9109..eade19c03aa86 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query']
---
import kbnEsQueryObj from './kbn_es_query.devdocs.json';
diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx
index 802105b6ab31f..9a7b139bc2a52 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports']
---
import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json';
diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx
index d49b3b2f690ca..e31c681e7ba4d 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: 2022-08-10
+date: 2022-08-11
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 61c6b87747f72..188031bf41fcc 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: 2022-08-10
+date: 2022-08-11
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_generate.mdx b/api_docs/kbn_generate.mdx
index 4c540cb90dcd2..a77e974d22f04 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate']
---
import kbnGenerateObj from './kbn_generate.devdocs.json';
diff --git a/api_docs/kbn_get_repo_files.mdx b/api_docs/kbn_get_repo_files.mdx
index d1835b5faac09..8e464bd8f0012 100644
--- a/api_docs/kbn_get_repo_files.mdx
+++ b/api_docs/kbn_get_repo_files.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-get-repo-files
title: "@kbn/get-repo-files"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/get-repo-files plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/get-repo-files']
---
import kbnGetRepoFilesObj from './kbn_get_repo_files.devdocs.json';
diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx
index 9b4017593eee6..72a4fe984177f 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: 2022-08-10
+date: 2022-08-11
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 9681a90d7fb4e..2c309c2f64a28 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks']
---
import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json';
diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx
index fdac17540890c..889d0c17237d9 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: 2022-08-10
+date: 2022-08-11
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 a261a5337cd52..956443176eec3 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: 2022-08-10
+date: 2022-08-11
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 8aac8ce56d56e..3b55fb665b773 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n']
---
import kbnI18nObj from './kbn_i18n.devdocs.json';
diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx
index af416592c96f4..18cedf5f5e4f8 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver']
---
import kbnImportResolverObj from './kbn_import_resolver.devdocs.json';
diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx
index c1efe00dc76ff..09163c26a680d 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: 2022-08-10
+date: 2022-08-11
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 eec1b4e9073ba..bb1c0bedada86 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: 2022-08-10
+date: 2022-08-11
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 f7f8667e78e97..20a4d28a0221e 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers']
---
import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json';
diff --git a/api_docs/kbn_kibana_manifest_parser.mdx b/api_docs/kbn_kibana_manifest_parser.mdx
index 03788cb327193..8d12a00d7354a 100644
--- a/api_docs/kbn_kibana_manifest_parser.mdx
+++ b/api_docs/kbn_kibana_manifest_parser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-parser
title: "@kbn/kibana-manifest-parser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/kibana-manifest-parser plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-parser']
---
import kbnKibanaManifestParserObj from './kbn_kibana_manifest_parser.devdocs.json';
diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx
index 03b946bd25a01..5f16371077c03 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema']
---
import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json';
diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx
index 724ed4fd38fe2..48d05d099c986 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: 2022-08-10
+date: 2022-08-11
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 b72734dffbc20..f3e37ddd2f799 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: 2022-08-10
+date: 2022-08-11
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 b049ef5d8a506..cdcc007bda547 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config']
---
import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json';
diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx
index dcd5593003f6a..71af48ec9a4dd 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl']
---
import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json';
diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx
index 5f4db6fe80f91..4f3afabcbdf20 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: 2022-08-10
+date: 2022-08-11
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_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx
index 02cc5334a886a..fd25d71911ac4 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: 2022-08-10
+date: 2022-08-11
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_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx
index 7d395d3a069a1..84f80a8557221 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash']
---
import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json';
diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx
index 3a8cfb0d9e554..2c037730f69ef 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco']
---
import kbnMonacoObj from './kbn_monaco.devdocs.json';
diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx
index 401ffa5b6df92..99c81b283e5eb 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: 2022-08-10
+date: 2022-08-11
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 1433bed9a5223..500fd91a654e3 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers']
---
import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json';
diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx
index d2547dbdf7c37..84fe13cd647f3 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: 2022-08-10
+date: 2022-08-11
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 41377f5f93609..7a4b18b12d6f8 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: 2022-08-10
+date: 2022-08-11
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 4a00c6457c8b5..8fef2ea69e8fa 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers']
---
import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json';
diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx
index 7b4165dea7145..b03dc56faba87 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field']
---
import kbnReactFieldObj from './kbn_react_field.devdocs.json';
diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx
index 1dc03a31b146f..55d597dc0f2a9 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier']
---
import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json';
diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx
index c99d36d31674a..65475404e3908 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils']
---
import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx
index 01381b9c64531..0eb3286920244 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete']
---
import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx
index b86f2b37fb312..3fd73ca86c922 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: 2022-08-10
+date: 2022-08-11
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_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx
index 64447548f7b9d..059651e0c5a5a 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: 2022-08-10
+date: 2022-08-11
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 8021d578650f9..7f4324a0e1772 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: 2022-08-10
+date: 2022-08-11
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 51c28cadb81b3..985ca5901286b 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: 2022-08-10
+date: 2022-08-11
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 728f79e48e063..4afc55fb373ba 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: 2022-08-10
+date: 2022-08-11
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 f12bee7cba2f1..5c756ed317cae 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: 2022-08-10
+date: 2022-08-11
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 b350cdb74f58a..cfdfd9a6568c6 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: 2022-08-10
+date: 2022-08-11
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 c5982bc804784..f2c6e31617cf8 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: 2022-08-10
+date: 2022-08-11
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 47c226d31517a..b25c0b1deb60d 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: 2022-08-10
+date: 2022-08-11
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 8e93c81a792c5..fcbcb384848c2 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: 2022-08-10
+date: 2022-08-11
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 7784aac276bbb..558fcb7778dc3 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: 2022-08-10
+date: 2022-08-11
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 d19589e0fbf25..8d8bebe8fc200 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: 2022-08-10
+date: 2022-08-11
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 05c368a4a14a2..98a042e1ed233 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: 2022-08-10
+date: 2022-08-11
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 604e475904093..a1ba58192aaa9 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: 2022-08-10
+date: 2022-08-11
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 40f966dda3f0f..bce8de0772e48 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository']
---
import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json';
diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx
index 990fad803c7c2..602b7900da2ca 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg']
---
import kbnSharedSvgObj from './kbn_shared_svg.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 60b5b3d330626..36fa3bff8a056 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: 2022-08-10
+date: 2022-08-11
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 fccebd4955558..5900fcefa5a23 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: 2022-08-10
+date: 2022-08-11
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 d293d0de06b6c..f9f761e93c106 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: 2022-08-10
+date: 2022-08-11
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 ab21403b9c618..4b4a6a247c8b8 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: 2022-08-10
+date: 2022-08-11
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_components.mdx b/api_docs/kbn_shared_ux_components.mdx
index 2cd1cfaf5b8cc..d69138c6435ae 100644
--- a/api_docs/kbn_shared_ux_components.mdx
+++ b/api_docs/kbn_shared_ux_components.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-components
title: "@kbn/shared-ux-components"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-components plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-components']
---
import kbnSharedUxComponentsObj from './kbn_shared_ux_components.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 75fd35ae9d67c..a4cc2d4b26bb1 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: 2022-08-10
+date: 2022-08-11
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_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx
index 1e6fc6e2ab71f..25689321f7f8c 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: 2022-08-10
+date: 2022-08-11
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 016debf569b80..6fd9be7b546a0 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: 2022-08-10
+date: 2022-08-11
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 1e0532f5aa87f..5c4f74b5ad4fa 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: 2022-08-10
+date: 2022-08-11
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 ef904ec8a5a70..70ab9a10e9435 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: 2022-08-10
+date: 2022-08-11
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_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx
index fa8e36b80886c..bf61fc483d6c5 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: 2022-08-10
+date: 2022-08-11
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 77afd07c333de..8a24fe051e71a 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: 2022-08-10
+date: 2022-08-11
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 6ddacd28b576a..bb254d68a98c3 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: 2022-08-10
+date: 2022-08-11
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_services.mdx b/api_docs/kbn_shared_ux_services.mdx
index 385b93d1e9050..bd1958f97749e 100644
--- a/api_docs/kbn_shared_ux_services.mdx
+++ b/api_docs/kbn_shared_ux_services.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-services
title: "@kbn/shared-ux-services"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-services plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-services']
---
import kbnSharedUxServicesObj from './kbn_shared_ux_services.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_storybook.mdx b/api_docs/kbn_shared_ux_storybook.mdx
index 69abf887d35ce..a13e4cceb4d0c 100644
--- a/api_docs/kbn_shared_ux_storybook.mdx
+++ b/api_docs/kbn_shared_ux_storybook.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook
title: "@kbn/shared-ux-storybook"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-storybook plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook']
---
import kbnSharedUxStorybookObj from './kbn_shared_ux_storybook.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx
index 97535d2c0a7e1..49725a3f13e47 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: 2022-08-10
+date: 2022-08-11
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 bae9f2e90952d..364e61e82fd8a 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility']
---
import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json';
diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx
index 23b03700d87da..7f40f129763d0 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log']
---
import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json';
diff --git a/api_docs/kbn_sort_package_json.mdx b/api_docs/kbn_sort_package_json.mdx
index c1489a38ee153..825cbae993202 100644
--- a/api_docs/kbn_sort_package_json.mdx
+++ b/api_docs/kbn_sort_package_json.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-sort-package-json
title: "@kbn/sort-package-json"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/sort-package-json plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sort-package-json']
---
import kbnSortPackageJsonObj from './kbn_sort_package_json.devdocs.json';
diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx
index 19636d8cf53e9..6bbc561c4830f 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: 2022-08-10
+date: 2022-08-11
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 bccf3025c5ba3..1f6b56839503a 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: 2022-08-10
+date: 2022-08-11
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 a3ff88389f2a9..d5c5ecd971061 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook']
---
import kbnStorybookObj from './kbn_storybook.devdocs.json';
diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx
index c9532fe53827d..eb842010913da 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: 2022-08-10
+date: 2022-08-11
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 027f4d88932b2..81468659ef8d1 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: 2022-08-10
+date: 2022-08-11
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 8a3442c98e962..218032a0205ce 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers']
---
import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json';
diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx
index 5127776b8be9a..e04ac886039e9 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log']
---
import kbnToolingLogObj from './kbn_tooling_log.devdocs.json';
diff --git a/api_docs/kbn_type_summarizer.mdx b/api_docs/kbn_type_summarizer.mdx
index 2664ecc3cff6c..b93458fcfd6f3 100644
--- a/api_docs/kbn_type_summarizer.mdx
+++ b/api_docs/kbn_type_summarizer.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-type-summarizer
title: "@kbn/type-summarizer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/type-summarizer plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/type-summarizer']
---
import kbnTypeSummarizerObj from './kbn_type_summarizer.devdocs.json';
diff --git a/api_docs/kbn_type_summarizer_core.mdx b/api_docs/kbn_type_summarizer_core.mdx
index 7f7daf6d343d7..09973a0355c1a 100644
--- a/api_docs/kbn_type_summarizer_core.mdx
+++ b/api_docs/kbn_type_summarizer_core.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-type-summarizer-core
title: "@kbn/type-summarizer-core"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/type-summarizer-core plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/type-summarizer-core']
---
import kbnTypeSummarizerCoreObj from './kbn_type_summarizer_core.devdocs.json';
diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx
index 2f6012dc105ea..fc803c91fe227 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: 2022-08-10
+date: 2022-08-11
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_theme.mdx b/api_docs/kbn_ui_theme.mdx
index e98d12e5e580c..0b8adb42b2510 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme']
---
import kbnUiThemeObj from './kbn_ui_theme.devdocs.json';
diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx
index 33d1d62a2807d..49b6b5b49565d 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: 2022-08-10
+date: 2022-08-11
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 b8c0a3eb58238..53d0fa73d9ee0 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: 2022-08-10
+date: 2022-08-11
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 71fcef1e0eaa0..bdecfc73f4ebc 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: 2022-08-10
+date: 2022-08-11
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 2742f05a40662..b546f76fbb408 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils']
---
import kbnUtilsObj from './kbn_utils.devdocs.json';
diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx
index 0cc04b1399123..7b193b75ddcbc 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: 2022-08-10
+date: 2022-08-11
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 91d1b423874aa..9b707bb0c7dcf 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: 2022-08-10
+date: 2022-08-11
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 10c2cf52b0b3e..8c7f62aba1414 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: 2022-08-10
+date: 2022-08-11
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 ef378071118f6..e56406b94b4c5 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: 2022-08-10
+date: 2022-08-11
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 9dd4e4953ae93..48713acc4b59a 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: 2022-08-10
+date: 2022-08-11
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 b5cdbe2f8e002..79cab2a0c391b 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: 2022-08-10
+date: 2022-08-11
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 dfca23cc6b89f..aba6b167cae5a 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: 2022-08-10
+date: 2022-08-11
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 d6e596284b4be..812fddd90eaa4 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement']
---
import licenseManagementObj from './license_management.devdocs.json';
diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx
index 69a98e45ab01b..5e24095c695cf 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing']
---
import licensingObj from './licensing.devdocs.json';
diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx
index 6f6a713fccf39..650ae2c402952 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists']
---
import listsObj from './lists.devdocs.json';
diff --git a/api_docs/management.mdx b/api_docs/management.mdx
index 3789aee2b4844..bd6c4e20be181 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: 2022-08-10
+date: 2022-08-11
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 9de211601a389..3b773461df244 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: 2022-08-10
+date: 2022-08-11
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 99e693e616005..70e163489b0a0 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms']
---
import mapsEmsObj from './maps_ems.devdocs.json';
diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx
index 5470d8326c26b..8e72f2881a7b4 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: 2022-08-10
+date: 2022-08-11
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 5712651c5b808..35d5950e9aa09 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: 2022-08-10
+date: 2022-08-11
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 6783b2f7077fb..99444b3ab8c4f 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: 2022-08-10
+date: 2022-08-11
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 4ee35bbab9221..3e6e703b2627f 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: 2022-08-10
+date: 2022-08-11
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 de80bf283768f..4c27826c7d70d 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed']
---
import newsfeedObj from './newsfeed.devdocs.json';
diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx
index 711e70128c2a7..beb1f8ed4ce00 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability']
---
import observabilityObj from './observability.devdocs.json';
diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx
index cc3819b5faa46..932943299b4d5 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery']
---
import osqueryObj from './osquery.devdocs.json';
diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx
index 2e699562a88e9..5edc8ff33896b 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx
index c725267023db6..4941daae32dd9 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil']
---
import presentationUtilObj from './presentation_util.devdocs.json';
diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx
index 7c776acb7a4ac..8d4396be9bf19 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: 2022-08-10
+date: 2022-08-11
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 1d388b3acfd96..6aee86e0fdf60 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: 2022-08-10
+date: 2022-08-11
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 0bd9a91a26f27..023133740bb35 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: 2022-08-10
+date: 2022-08-11
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 1dde2c1cbe7ec..932775d59d1f8 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: 2022-08-10
+date: 2022-08-11
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 360f82253584f..c8f4bbb7cfd54 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: 2022-08-10
+date: 2022-08-11
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 eaad5a38e764e..2a45acec975d7 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects']
---
import savedObjectsObj from './saved_objects.devdocs.json';
diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx
index 616f2d248b99d..5aedc341f2015 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: 2022-08-10
+date: 2022-08-11
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 66f1a309ae95e..fcdc28e190291 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: 2022-08-10
+date: 2022-08-11
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 ea4292a8be9fe..b20c324fc1752 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss']
---
import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json';
diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx
index c23865fe6c1d8..33de999c00487 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: 2022-08-10
+date: 2022-08-11
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 38e37a57297ac..8d5a646481901 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: 2022-08-10
+date: 2022-08-11
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 0f1f244cca753..706e8aac91546 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: 2022-08-10
+date: 2022-08-11
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 bf4cfbe7d6773..21c98900020f0 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution']
---
import securitySolutionObj from './security_solution.devdocs.json';
diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx
index ef3765cb5cbdb..68180e9038995 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: 2022-08-10
+date: 2022-08-11
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 88fba9c1423d7..b573d28030c72 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share']
---
import shareObj from './share.devdocs.json';
diff --git a/api_docs/shared_u_x.mdx b/api_docs/shared_u_x.mdx
index ba776dc1aab54..d6cfa15485188 100644
--- a/api_docs/shared_u_x.mdx
+++ b/api_docs/shared_u_x.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sharedUX
title: "sharedUX"
image: https://source.unsplash.com/400x175/?github
description: API docs for the sharedUX plugin
-date: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sharedUX']
---
import sharedUXObj from './shared_u_x.devdocs.json';
diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx
index edafdb77df988..d3d5e104f4526 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: 2022-08-10
+date: 2022-08-11
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 022171ffab0b1..9038d2eacc908 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: 2022-08-10
+date: 2022-08-11
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 5ebc126558913..dcdba1552f10a 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts']
---
import stackAlertsObj from './stack_alerts.devdocs.json';
diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx
index 499e2c1ba6159..ce359ca4fd7b9 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: 2022-08-10
+date: 2022-08-11
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 126aed02dcf61..89a01c83122b2 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: 2022-08-10
+date: 2022-08-11
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 88fe2b5ab9fc0..865e7be0c9551 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: 2022-08-10
+date: 2022-08-11
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 524444d0e6097..b4fa569dbc78b 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: 2022-08-10
+date: 2022-08-11
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 d2317459c5a36..486de1a4c8432 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection']
---
import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json';
diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx
index 94092d1733e78..f147d268825a2 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: 2022-08-10
+date: 2022-08-11
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 c0cd8214be010..b955620c88ff3 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: 2022-08-10
+date: 2022-08-11
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 b78abc940d487..5f6c713dc50d3 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform']
---
import transformObj from './transform.devdocs.json';
diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx
index 87808996d7c28..d55719923df33 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi']
---
import triggersActionsUiObj from './triggers_actions_ui.devdocs.json';
diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx
index 3856b6f83f1f8..375718734c27e 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: 2022-08-10
+date: 2022-08-11
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 60b1aba21bade..e651863ed5962 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced']
---
import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json';
diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx
index cd19b426b03cc..a5328347a3625 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: 2022-08-10
+date: 2022-08-11
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 0041ebcf3b648..d6b1410085d75 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete']
---
import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json';
diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx
index 4da6bca6a24f9..f1422e2da619e 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: 2022-08-10
+date: 2022-08-11
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 62fa454f4f1dc..8c0738785659a 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: 2022-08-10
+date: 2022-08-11
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 afe4d8d90190c..7b4f36876f174 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: 2022-08-10
+date: 2022-08-11
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 75f3dbbc40c14..d1ca9c1799349 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: 2022-08-10
+date: 2022-08-11
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 2a89261e8dc1a..28f78831cc229 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: 2022-08-10
+date: 2022-08-11
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 38be595eae2a1..50e7e19e26736 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: 2022-08-10
+date: 2022-08-11
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 4db7c9d427874..dc67a737d1e99 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: 2022-08-10
+date: 2022-08-11
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 fe4ff96047f95..f5d1e470e712b 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: 2022-08-10
+date: 2022-08-11
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 20b08f1f32618..078ba6536f657 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: 2022-08-10
+date: 2022-08-11
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 dba13175c35be..9d18d6a2cb129 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: 2022-08-10
+date: 2022-08-11
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 7be4ffb5296b4..3b572d668e70e 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: 2022-08-10
+date: 2022-08-11
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 7885c843e68bb..f7cd6b727ef71 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: 2022-08-10
+date: 2022-08-11
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 aab476edc42b9..45160066493f5 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: 2022-08-10
+date: 2022-08-11
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 b8a849ec5ea8d..77bc2d77102e1 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: 2022-08-10
+date: 2022-08-11
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations']
---
import visualizationsObj from './visualizations.devdocs.json';
From 5dba80760b62d4e22003bc3f8a5bf3aee2e8746f Mon Sep 17 00:00:00 2001
From: Joe Reuter
Date: Thu, 11 Aug 2022 08:14:26 +0200
Subject: [PATCH 35/49] increase timeout (#138536)
---
x-pack/test/functional/page_objects/lens_page.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/x-pack/test/functional/page_objects/lens_page.ts b/x-pack/test/functional/page_objects/lens_page.ts
index 33d48321cfb8a..2d9eff8fefd9c 100644
--- a/x-pack/test/functional/page_objects/lens_page.ts
+++ b/x-pack/test/functional/page_objects/lens_page.ts
@@ -70,7 +70,7 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont
async assertExpectedText(selector: string, test: (value?: string) => boolean) {
let actualText: string | undefined;
- await retry.waitForWithTimeout('assertExpectedText', 1000, async () => {
+ await retry.waitForWithTimeout('assertExpectedText', 5000, async () => {
actualText = await find.byCssSelector(selector).then((el) => el.getVisibleText());
return test(actualText);
});
From 9a1a963ae3ef30ec0d9c1476a1c76370bbfd0284 Mon Sep 17 00:00:00 2001
From: Walter Rafelsberger
Date: Thu, 11 Aug 2022 10:51:51 +0200
Subject: [PATCH 36/49] [ML] Explain Log Rate Spikes: Basic functional tests.
(#138387)
Adds first functional tests for Explain Log Rate Spikes. The test clicks the menu item, selects an index, clicks the "Use full data" button and asserts the page's elements.
---
.buildkite/ftr_configs.yml | 1 +
.../explain_log_rate_spikes_page.tsx | 3 +-
.../apis/aiops/explain_log_rate_spikes.ts | 2 +-
.../test/api_integration/apis/aiops/index.ts | 2 +-
.../api_integration_basic/apis/aiops/index.ts | 2 +-
.../apis/aiops/permissions.ts | 2 +-
x-pack/test/functional/apps/aiops/config.ts | 20 +++++
.../apps/aiops/explain_log_rate_spikes.ts | 87 +++++++++++++++++++
x-pack/test/functional/apps/aiops/index.ts | 38 ++++++++
.../test/functional/apps/aiops/test_data.ts | 17 ++++
x-pack/test/functional/apps/aiops/types.ts | 16 ++++
.../services/aiops/explain_log_rate_spikes.ts | 64 ++++++++++++++
.../test/functional/services/aiops/index.ts | 18 ++++
x-pack/test/functional/services/index.ts | 2 +
.../services/ml/job_source_selection.ts | 4 +
15 files changed, 273 insertions(+), 5 deletions(-)
create mode 100644 x-pack/test/functional/apps/aiops/config.ts
create mode 100644 x-pack/test/functional/apps/aiops/explain_log_rate_spikes.ts
create mode 100644 x-pack/test/functional/apps/aiops/index.ts
create mode 100644 x-pack/test/functional/apps/aiops/test_data.ts
create mode 100644 x-pack/test/functional/apps/aiops/types.ts
create mode 100644 x-pack/test/functional/services/aiops/explain_log_rate_spikes.ts
create mode 100644 x-pack/test/functional/services/aiops/index.ts
diff --git a/.buildkite/ftr_configs.yml b/.buildkite/ftr_configs.yml
index 1d3ea8c5dd4d0..3395b422e793d 100644
--- a/.buildkite/ftr_configs.yml
+++ b/.buildkite/ftr_configs.yml
@@ -151,6 +151,7 @@ enabled:
- x-pack/test/functional_synthetics/config.js
- x-pack/test/functional_with_es_ssl/config.ts
- x-pack/test/functional/apps/advanced_settings/config.ts
+ - x-pack/test/functional/apps/aiops/config.ts
- x-pack/test/functional/apps/api_keys/config.ts
- x-pack/test/functional/apps/apm/config.ts
- x-pack/test/functional/apps/canvas/config.ts
diff --git a/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.tsx b/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.tsx
index a6a2a6808dbaf..3b0ad9ddfc2e6 100644
--- a/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.tsx
+++ b/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_page.tsx
@@ -171,7 +171,7 @@ export const ExplainLogRateSpikesPage: FC = ({
}
return (
-
+
@@ -268,6 +268,7 @@ export const ExplainLogRateSpikesPage: FC = ({
/>
}
+ data-test-subj="aiopsNoWindowParametersEmptyPrompt"
/>
)}
diff --git a/x-pack/test/api_integration/apis/aiops/explain_log_rate_spikes.ts b/x-pack/test/api_integration/apis/aiops/explain_log_rate_spikes.ts
index 9261dc8b1bea9..00d3bc38a563e 100644
--- a/x-pack/test/api_integration/apis/aiops/explain_log_rate_spikes.ts
+++ b/x-pack/test/api_integration/apis/aiops/explain_log_rate_spikes.ts
@@ -12,7 +12,7 @@ import expect from '@kbn/expect';
import type { ApiExplainLogRateSpikes } from '@kbn/aiops-plugin/common/api';
-import { FtrProviderContext } from '../../ftr_provider_context';
+import type { FtrProviderContext } from '../../ftr_provider_context';
import { parseStream } from './parse_stream';
diff --git a/x-pack/test/api_integration/apis/aiops/index.ts b/x-pack/test/api_integration/apis/aiops/index.ts
index 24a0391cf4877..f311f35a51f87 100644
--- a/x-pack/test/api_integration/apis/aiops/index.ts
+++ b/x-pack/test/api_integration/apis/aiops/index.ts
@@ -7,7 +7,7 @@
import { AIOPS_ENABLED } from '@kbn/aiops-plugin/common';
-import { FtrProviderContext } from '../../ftr_provider_context';
+import type { FtrProviderContext } from '../../ftr_provider_context';
export default function ({ loadTestFile }: FtrProviderContext) {
describe('AIOps', function () {
diff --git a/x-pack/test/api_integration_basic/apis/aiops/index.ts b/x-pack/test/api_integration_basic/apis/aiops/index.ts
index d3748f0afe299..b1b42e6f3c46f 100644
--- a/x-pack/test/api_integration_basic/apis/aiops/index.ts
+++ b/x-pack/test/api_integration_basic/apis/aiops/index.ts
@@ -5,7 +5,7 @@
* 2.0.
*/
-import { FtrProviderContext } from '../../ftr_provider_context';
+import type { FtrProviderContext } from '../../ftr_provider_context';
export default function ({ loadTestFile }: FtrProviderContext) {
describe('aiops basic license', function () {
diff --git a/x-pack/test/api_integration_basic/apis/aiops/permissions.ts b/x-pack/test/api_integration_basic/apis/aiops/permissions.ts
index 25b8366be98ba..0d79f610bcac0 100644
--- a/x-pack/test/api_integration_basic/apis/aiops/permissions.ts
+++ b/x-pack/test/api_integration_basic/apis/aiops/permissions.ts
@@ -12,7 +12,7 @@ import expect from '@kbn/expect';
import type { ApiExplainLogRateSpikes } from '@kbn/aiops-plugin/common/api';
-import { FtrProviderContext } from '../../ftr_provider_context';
+import type { FtrProviderContext } from '../../ftr_provider_context';
export default ({ getService }: FtrProviderContext) => {
const supertest = getService('supertest');
diff --git a/x-pack/test/functional/apps/aiops/config.ts b/x-pack/test/functional/apps/aiops/config.ts
new file mode 100644
index 0000000000000..214d3712ecbf9
--- /dev/null
+++ b/x-pack/test/functional/apps/aiops/config.ts
@@ -0,0 +1,20 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { FtrConfigProviderContext } from '@kbn/test';
+
+export default async function ({ readConfigFile }: FtrConfigProviderContext) {
+ const functionalConfig = await readConfigFile(require.resolve('../../config.base.js'));
+
+ return {
+ ...functionalConfig.getAll(),
+ testFiles: [require.resolve('.')],
+ junit: {
+ reportName: 'Chrome X-Pack UI Functional Tests - aiops',
+ },
+ };
+}
diff --git a/x-pack/test/functional/apps/aiops/explain_log_rate_spikes.ts b/x-pack/test/functional/apps/aiops/explain_log_rate_spikes.ts
new file mode 100644
index 0000000000000..63a538db09ea2
--- /dev/null
+++ b/x-pack/test/functional/apps/aiops/explain_log_rate_spikes.ts
@@ -0,0 +1,87 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { FtrProviderContext } from '../../ftr_provider_context';
+import type { TestData } from './types';
+import { farequoteDataViewTestData } from './test_data';
+
+export default function ({ getPageObject, getService }: FtrProviderContext) {
+ const headerPage = getPageObject('header');
+ const esArchiver = getService('esArchiver');
+ const aiops = getService('aiops');
+
+ // aiops / Explain Log Rate Spikes lives in the ML UI so we need some related services.
+ const ml = getService('ml');
+
+ function runTests(testData: TestData) {
+ it(`${testData.suiteTitle} loads the source data in explain log rate spikes`, async () => {
+ await ml.testExecution.logTestStep(
+ `${testData.suiteTitle} loads the saved search selection page`
+ );
+ await aiops.explainLogRateSpikes.navigateToIndexPatternSelection();
+
+ await ml.testExecution.logTestStep(
+ `${testData.suiteTitle} loads the explain log rate spikes page`
+ );
+ await ml.jobSourceSelection.selectSourceForExplainLogRateSpikes(
+ testData.sourceIndexOrSavedSearch
+ );
+ });
+
+ it(`${testData.suiteTitle} displays index details`, async () => {
+ await ml.testExecution.logTestStep(`${testData.suiteTitle} displays the time range step`);
+ await aiops.explainLogRateSpikes.assertTimeRangeSelectorSectionExists();
+
+ await ml.testExecution.logTestStep(`${testData.suiteTitle} loads data for full time range`);
+ await aiops.explainLogRateSpikes.clickUseFullDataButton(
+ testData.expected.totalDocCountFormatted
+ );
+ await headerPage.waitUntilLoadingHasFinished();
+
+ await ml.testExecution.logTestStep(
+ `${testData.suiteTitle} displays elements in the doc count panel correctly`
+ );
+ await aiops.explainLogRateSpikes.assertTotalDocCountHeaderExist();
+ await aiops.explainLogRateSpikes.assertTotalDocCountChartExist();
+
+ await ml.testExecution.logTestStep(
+ `${testData.suiteTitle} displays elements in the page correctly`
+ );
+
+ await aiops.explainLogRateSpikes.assertSearchPanelExist();
+
+ await ml.testExecution.logTestStep('displays empty prompt');
+ await aiops.explainLogRateSpikes.assertNoWindowParametersEmptyPromptExist();
+ });
+ }
+
+ describe('explain log rate spikes', function () {
+ this.tags(['aiops']);
+ before(async () => {
+ await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/farequote');
+
+ await ml.testResources.createIndexPatternIfNeeded('ft_farequote', '@timestamp');
+ await ml.testResources.setKibanaTimeZoneToUTC();
+
+ await ml.securityUI.loginAsMlPowerUser();
+ });
+
+ after(async () => {
+ await ml.testResources.deleteIndexPatternByTitle('ft_farequote');
+ });
+
+ describe('with farequote', function () {
+ // Run tests on full farequote index.
+ it(`${farequoteDataViewTestData.suiteTitle} loads the explain log rate spikes page`, async () => {
+ // Start navigation from the base of the ML app.
+ await ml.navigation.navigateToMl();
+ });
+
+ runTests(farequoteDataViewTestData);
+ });
+ });
+}
diff --git a/x-pack/test/functional/apps/aiops/index.ts b/x-pack/test/functional/apps/aiops/index.ts
new file mode 100644
index 0000000000000..88dea0b1d3e7e
--- /dev/null
+++ b/x-pack/test/functional/apps/aiops/index.ts
@@ -0,0 +1,38 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor 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 { FtrProviderContext } from '../../ftr_provider_context';
+
+export default function ({ getService, loadTestFile }: FtrProviderContext) {
+ const esArchiver = getService('esArchiver');
+
+ // aiops / Explain Log Rate Spikes lives in the ML UI so we need some related services.
+ const ml = getService('ml');
+
+ describe('aiops', function () {
+ this.tags(['skipFirefox', 'aiops']);
+
+ before(async () => {
+ await ml.securityCommon.createMlRoles();
+ await ml.securityCommon.createMlUsers();
+ });
+
+ after(async () => {
+ // NOTE: Logout needs to happen before anything else to avoid flaky behavior
+ await ml.securityUI.logout();
+
+ await ml.securityCommon.cleanMlUsers();
+ await ml.securityCommon.cleanMlRoles();
+
+ await esArchiver.unload('x-pack/test/functional/es_archives/ml/farequote');
+
+ await ml.testResources.resetKibanaTimeZone();
+ });
+
+ loadTestFile(require.resolve('./explain_log_rate_spikes'));
+ });
+}
diff --git a/x-pack/test/functional/apps/aiops/test_data.ts b/x-pack/test/functional/apps/aiops/test_data.ts
new file mode 100644
index 0000000000000..8b9e332f86706
--- /dev/null
+++ b/x-pack/test/functional/apps/aiops/test_data.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 { TestData } from './types';
+
+export const farequoteDataViewTestData: TestData = {
+ suiteTitle: 'farequote index pattern',
+ isSavedSearch: false,
+ sourceIndexOrSavedSearch: 'ft_farequote',
+ expected: {
+ totalDocCountFormatted: '86,274',
+ },
+};
diff --git a/x-pack/test/functional/apps/aiops/types.ts b/x-pack/test/functional/apps/aiops/types.ts
new file mode 100644
index 0000000000000..2f58ef0ff754e
--- /dev/null
+++ b/x-pack/test/functional/apps/aiops/types.ts
@@ -0,0 +1,16 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+export interface TestData {
+ suiteTitle: string;
+ isSavedSearch?: boolean;
+ sourceIndexOrSavedSearch: string;
+ rowsPerPage?: 10 | 25 | 50;
+ expected: {
+ totalDocCountFormatted: string;
+ };
+}
diff --git a/x-pack/test/functional/services/aiops/explain_log_rate_spikes.ts b/x-pack/test/functional/services/aiops/explain_log_rate_spikes.ts
new file mode 100644
index 0000000000000..41a205f43d66f
--- /dev/null
+++ b/x-pack/test/functional/services/aiops/explain_log_rate_spikes.ts
@@ -0,0 +1,64 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import expect from '@kbn/expect';
+
+import type { FtrProviderContext } from '../../ftr_provider_context';
+
+export function ExplainLogRateSpikesProvider({ getService }: FtrProviderContext) {
+ const testSubjects = getService('testSubjects');
+ const retry = getService('retry');
+
+ return {
+ async assertTimeRangeSelectorSectionExists() {
+ await testSubjects.existOrFail('aiopsTimeRangeSelectorSection');
+ },
+
+ async assertTotalDocumentCount(expectedFormattedTotalDocCount: string) {
+ await retry.tryForTime(5000, async () => {
+ const docCount = await testSubjects.getVisibleText('aiopsTotalDocCount');
+ expect(docCount).to.eql(
+ expectedFormattedTotalDocCount,
+ `Expected total document count to be '${expectedFormattedTotalDocCount}' (got '${docCount}')`
+ );
+ });
+ },
+
+ async clickUseFullDataButton(expectedFormattedTotalDocCount: string) {
+ await retry.tryForTime(30 * 1000, async () => {
+ await testSubjects.clickWhenNotDisabled('aiopsExplainLogRatesSpikeButtonUseFullData');
+ await testSubjects.clickWhenNotDisabled('superDatePickerApplyTimeButton');
+ await this.assertTotalDocumentCount(expectedFormattedTotalDocCount);
+ });
+ },
+
+ async assertTotalDocCountHeaderExist() {
+ await retry.tryForTime(5000, async () => {
+ await testSubjects.existOrFail(`aiopsTotalDocCountHeader`);
+ });
+ },
+
+ async assertTotalDocCountChartExist() {
+ await retry.tryForTime(5000, async () => {
+ await testSubjects.existOrFail(`aiopsDocumentCountChart`);
+ });
+ },
+
+ async assertSearchPanelExist() {
+ await testSubjects.existOrFail(`aiopsSearchPanel`);
+ },
+
+ async assertNoWindowParametersEmptyPromptExist() {
+ await testSubjects.existOrFail(`aiopsNoWindowParametersEmptyPrompt`);
+ },
+
+ async navigateToIndexPatternSelection() {
+ await testSubjects.click('mlMainTab explainLogRateSpikes');
+ await testSubjects.existOrFail('mlPageSourceSelection');
+ },
+ };
+}
diff --git a/x-pack/test/functional/services/aiops/index.ts b/x-pack/test/functional/services/aiops/index.ts
new file mode 100644
index 0000000000000..e8a1b13cd6ad2
--- /dev/null
+++ b/x-pack/test/functional/services/aiops/index.ts
@@ -0,0 +1,18 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor 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 { FtrProviderContext } from '../../ftr_provider_context';
+
+import { ExplainLogRateSpikesProvider } from './explain_log_rate_spikes';
+
+export function AiopsProvider(context: FtrProviderContext) {
+ const explainLogRateSpikes = ExplainLogRateSpikesProvider(context);
+
+ return {
+ explainLogRateSpikes,
+ };
+}
diff --git a/x-pack/test/functional/services/index.ts b/x-pack/test/functional/services/index.ts
index 62e8ab1ac464d..7c09843efd9c1 100644
--- a/x-pack/test/functional/services/index.ts
+++ b/x-pack/test/functional/services/index.ts
@@ -70,6 +70,7 @@ import { SearchSessionsService } from './search_sessions';
import { ObservabilityProvider } from './observability';
import { CompareImagesProvider } from './compare_images';
import { CasesServiceProvider } from './cases';
+import { AiopsProvider } from './aiops';
// define the name and providers for services that should be
// available to your tests. If you don't specify anything here
@@ -130,4 +131,5 @@ export const services = {
observability: ObservabilityProvider,
compareImages: CompareImagesProvider,
cases: CasesServiceProvider,
+ aiops: AiopsProvider,
};
diff --git a/x-pack/test/functional/services/ml/job_source_selection.ts b/x-pack/test/functional/services/ml/job_source_selection.ts
index e215f9b857435..9fa51b01516a5 100644
--- a/x-pack/test/functional/services/ml/job_source_selection.ts
+++ b/x-pack/test/functional/services/ml/job_source_selection.ts
@@ -42,5 +42,9 @@ export function MachineLearningJobSourceSelectionProvider({ getService }: FtrPro
async selectSourceForIndexBasedDataVisualizer(sourceName: string) {
await this.selectSource(sourceName, 'dataVisualizerIndexPage');
},
+
+ async selectSourceForExplainLogRateSpikes(sourceName: string) {
+ await this.selectSource(sourceName, 'aiopsExplainLogRateSpikesPage');
+ },
};
}
From 00c64ab94c9b22596de63f99e53dab75fe551b4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Istv=C3=A1n=20Zolt=C3=A1n=20Szab=C3=B3?=
Date: Thu, 11 Aug 2022 12:25:57 +0200
Subject: [PATCH 37/49] [DOCS] Adds AIOps section and explain log rate spikes
docs (#138485)
Co-authored-by: Lisa Cawley
---
.../ml/images/ml-explain-log-rate-before.png | Bin 0 -> 93841 bytes
docs/user/ml/images/ml-explain-log-rate.png | Bin 0 -> 129559 bytes
docs/user/ml/index.asciidoc | 45 ++++++++++++++++++
3 files changed, 45 insertions(+)
create mode 100644 docs/user/ml/images/ml-explain-log-rate-before.png
create mode 100644 docs/user/ml/images/ml-explain-log-rate.png
diff --git a/docs/user/ml/images/ml-explain-log-rate-before.png b/docs/user/ml/images/ml-explain-log-rate-before.png
new file mode 100644
index 0000000000000000000000000000000000000000..e154ddbeebebfd3059b31df84ee087ae9d40b537
GIT binary patch
literal 93841
zcmeFZWmH|u(l&|)OK?IUA-FpPcXxMpcMGn8;O;JA;qER0f9ciT7zb`&93gQu6pWeLgi(}ULfKkLO?*gkPsJEgn)oifq;PWgMS7*(cu@f
zfq;Niw-6GNmk<&nkax5*wXimUfS`!AiQ$rh7QhUWb0+OTg;phslZ@y^oxO%OJVmQg
z&)fL4WIY=h*I%U(dYLr)l2yVaQxKljka#{E?J(7n$^PznlPhY+#t=$Fc{&1j%KM)lVX0b_q=`}Z|()vMcHr?VzmB3krE;1dv
zHSzj9w9@TvZms%O$+TPlVLg>8@CYJHqDIv@aLXGUGMYOe7FSM|OiG^aHG5h{X1HYq
zu8N&i+JbXrSSZl4$rwGv(PJLigBx95L_9zpf0dNe9qnEeLNH?ecqNLv`U;H7?iY!t
zF5Y8cmJr7OjEp1d&GSH1l2R|3AS&j^OdY9O$*x0+Z{;8mwx84EjGBc727McI{IF2&
z(yd%xR+{2`mO?tWJgi5Q&Xo(^=`+9E_Ja;Jokkx-XTF-oON8!Z!#HqJY&RfkRTFgy
zQyCcuDj*FH0U2xo0RyBUfiEubg@AyL`v?IC{6+`9!Z}dCa$!_*pns*I{D3?N0VN>`
z3E;Pqk)w%;t&_Q(v+pZnU|J#PER@xq)n%kPjqGgb42nXmoeRo-H&fCE>_~qljeswnO{UO3Kc?tmycad)P6+-FK##KSxE&C
z6$Vd1aSsclT=H(OeeUVrG&N>rboH3!7}@89*HeOwIew6B(DwVNr=8)^LhDl&MRVa}
ze>8TW3L-)b#GgKX_)r3&=wxx8`zOaMt#J$j+|*+X_mwTC{%utau;gn%HyKa~7gT_5cfq>d0k)OVN<
z3hN7}{$rCQs6_rb^VLSh1ohQ*hNSNg=Lt=}%c2uN{_%qii6z_zlJ^gfsa7X^^T#6S
z1pYAy>ai9lB`H*x|4RwTHJHO^lma0Jo+nvSxrS@sTG_AuEJ+9i7@RxImZwwGKfjTG
z7f^sY@$L(if3ora^4e~_2!UHO7=f9WGs3Q@kO>i;6qXh_Im
zMc5tOIEi7Su7E=EKQ{!4QAML-UXISdY)bNHDNaaYIsSP#km&Gu{_}P62zU(N$^Kj!
zH3x)v0{v&f!b3w!6$^$ZGJG{c`%?-3{vJX%4N5IS5_Vi{_7l
zI&DI)TK0Xb2ElFjryhU-AoC!B;Fo`AgPkt&ABmm5LT_?BD$s6o)Tz*JC!DieO?tgA
zMCczvgi5VSgAj(Hg-+%sh+Zrg7kEZeeJlTW_XK4y$J8pXK&)jDpFBAtz_zRR>DCLk
zeD3Yi7K2$lTF!P%OJYzHXVP@D!~laEk9z=1?nnggMMc@d*)Y3yjpb!*=R)TVT`*llE1Z%BF*k3edX
zcRkVZU`_B#UGe`QMm;!e4!=5HZ6=oeP=N_A5Y}`(9lw_y;ecN_5R*sM(f)Vn8|cRJQR=1lBd%i#VzfkP&!p{
z<4dGfeIhjp>I(cDZa4W=x7rNt4zE5-&C0A5kVL%bY(wQqlX9^lB`jnlG_8C?V!Rps
za40i2sSCI_j!Z?7O2OK?3AY(0$C$(6HZOzMS0qa^R@fU|>=;sm>(>yvh{gD+RgNh@
zh@9&vLdA|pi!6g_v}R2LZ#ldOhOnS>IYL2Fok=Ksx6`Eqv$W|XHJHLuNi>Pkytc(qETtg8!wQXtVC*AEy
zg7ynFC;5AK_-@+^KMtM^CQyD-yWPw>T`LZEe4J!)C-Zi+Nd-5ZuiuEhfK;z|!|kCO
zM=nFLr$`=|CVE=*dqFYAK?KX-Pnvvau8v=B!E!%?dc3{EFBBSTcG`I}g|C`d>2%q*
zYfyinz&8exN;VlyW6>?t$l-^4f7xEdPJVy0BioOcOs5lvNvXK&Jy)scI?^L-2Sq-v
zt4PPEw!L7cD5bsq9axh^L=bAVhx@$C=O>h*pA0L$8j_Y&z(h;^we=aJArh$=PtstQ
zH`H|LsCt5(}MLAHJnfsR_J4>t}5oX?EPM
z!KAX~YC9Q1Jxj~G(4*h#
zHRL-?UL;8Jc$prah8hYB#vOD`?)QrHTK`L&+Znq}zOUhk08|IUI?nC&CdzgXO8Q`C
zt7~GANZk$M#mcUE6Pzkl@^szcc)lEd!ECwqP5Y1Isqt#-p#)0fy|^Hz%hI!`Gds=t
zdub}Qiu_@stodt%c;kzbnHukYWcSCL9gt<>5O~$IzN{skr?(Noifh>f(>jaY#BJTO=0ijtGK~I!W}9arG0+)hcrj`RwIi(q&LvWO+zt>@R}$
zv)C8bI!>T07tU=_BkFfFe&d0dnr
zHfXOd1}!9lcgD#t_Ge?;-1VmS3h3gC=SwS#a(1@2w(~@sX_%clOglA_Xl~Me9M1@O
zT*3j
z$n1cVz-BDNoyl?fmHXz!eE(D+HCq1Z7?oA(qBuV%Seo1@dv!V
z$^^)%|CJLYLr;IT(UZm6!E~`wsmazCXg|fR>oW{=KA$#*(N~zdL5RBMa#`GzgK?x&
z*+m`l*ecJ%nG5BlJ`0DEB&M-YaNkc4&F$?sD>omP(d<}$T9M;`K%
zmt-h3V?U$yDC@rPil||K6e))zcj<86Js_G37M<2ha_Vy5rw)&G{ZSOY-MYht_75WI
zxA(M+#^=TxFpi;;SiVI~*}u#HezXu)$;2w%$Tgokoz>D!-1geJv%!9RiSzH-^YK48
zb@x4f9BwD_IuGbmsvXm2>b85(-Wa8OE(e;9t|rfxYYsHnENu_d2M<)Hvue1if%WciINMjZQdDWJk$lhP
zZkUtvZDk?_ZB{qST-l?pi|FJ&woSzKhR7^DC%$}u%h4p|q$wR!Ka*6O^V9XFW-70D
zL7DFP2Z@HHUHIt=9i1xkj
z;FeYTFGQ2>KbdTfU*@CE!J*)g8TI>YClx9W#!=ZMNM|!DJwv`%q<${_(MarxrF52w
z`${mIH(Lu&tWUsGlmCY{q_?@R}9I4dHV&&?9=}J90#lp)h#ML=(9-n1(
zJSFpQpZn4fnsB@8D^*Gh-dWCf)rd3PjZE%oe$Io)oTwVOhecB9?oU|P)m
z;7r!&jpqL1^YDDRLGE&wG<9(t-|oBMnx>AAWUR_PqB5{a)F0qb67FxbGhIBr<$0$|
zRC==V=W_Y|1!3pBzeiZyw!S`d97^;R>(9IW5g$zwtGM`4l|cwI0Zab-b$o?R%fVW#
zXe6$9YeRXxV~zWH68M5`4e>bgWj0R=Bk~muOoiFgqo??6MxTTj+`-C}3N;bZSxhqeN9&a2a#>(bl!W@7z6ge*
zwW_KlHM&v@13pY=)I&t9H_$iO^tx1idek7j&pgquCzcpIeb37qK|UY8L;=|-#N|95
zKa!T+!3Sdk;x=9IES&u(%4LTI@&Y&+Pbhq4iQsK&%OLcM);{5*o|YYNtjX%Clii6=
zx-MN{IDx>W#*-}<@1qNm-gdvJCJs2yl}ne}r;R?TOXGHAU865i@t;L>V+nuA
z5UyaP@1zoaglbuc$8{57V<1G7x&wkhX5+lTyD0m6qR*Z7wZR%s=2Pm{-?miRQEqGZ
zN9k-$eW&fMkQac}XYjcfro44z)TsA}RLc~%Z%JZTRficrHOsEAsfcWTrha*}v?P;@
zJ~2l?^eT8eLnhT~&W@)}o$7A7-H=AUDliej_~7aB>+sM?hZSYdw?`oIzk7ODblINAY!dv9)ww%MY<4!q!K4f(^;Pi%8=x&$mDkgS*`CyfDu(@
zlT$1lsq%6PQ9Kbg49!?oc#{Nxn|=G@z^6c$b@f$hFxQM{veF*O7MX7s4ie|wIOEK
zV5Qbo;bmsDZLpo1ocb~IvN&P2H~7(E+x{%-qU$LC^Ad`oE`gG;?uP->LpQ|+VTur2YBjE2u-hvpk00vY
z{R3ZK@L3EaP*4(7*;XNyNoT->vHOCLTe0eA@DmQ@wS!246Y3FQUedlVeW|Y7u3J#2
zrO@=qPt~alw78t)(kf4`H6nX#M$TPyoZk05gx)3m1B-Zs4=j^7RpU%M3?5_?
z?bDYq#E!^dvt5?&toqynF-x5V<+Q;Mwe{JROI{!tk3QRe9HIQVq9o3F4SrfpRfT%X
zkJrVD+bdr&&r`3`?UHYncbY%Rt@%Wet!Lc`w!W}JZYo&c=Bs1U?;=>y0Jk;BPr~HM
zGxqoFS{a8FUPMnZ=Jf!({52HcN7Z%7Q}D1zzHR0e6dj^ejc)rLOvYLkS_Oh#Nff5x
zV<3q?g|hU`%aSn{zH)?kq>$ns3wHqx=;`96uV)<<8nrF@9|>E9w^-a>MI6~gBOlmH
zF=sl|k*kzUw`kZCepu(~er$KYJk)3g+)om@tYw>mcQ7AWx{aQAoW)z8?IT)0Wwbl>Co(Q?Xq7F=qVVuvt>%7i=O7!NgGLwo-U8xd%jrK{^bUdwM
z%2$<9JIA^PX`}pAh59o%IIY%iL&i{-f&vJ|6=j1^)dh96U%G;IBCrtE*YD74sc;$z
z@&yp78rM$|kL8vN|AC2~iV3Mr)PBsi*5xPC^4VPqPs
zk?`}B3F7i(yNGE(5=wJ+oKOXiI<4cPET^
zKX@*l!?qxs3`C^XzNz(Xca9BfR_Iz(le}4&E4j$}2~<(Ppk6-@57W>WEoPLoLy@!^
z=eC~LFD?iu!!52XfGRI75MnVsA>+wQ7E-pCael{bRvS9t*-c?tV~n60mbj{07;_i2
z(=J*Ri$M2Wc4P15hbT(%vbV;etPu&F5adaY4I^KCiO7$IyCgc#cWnz9~SzKE;5v#$>i^f%7<+
z19@3dGLb5mrZ~(}gzR_%3O3w)J1x{9;N-pYY!8)u91%NR0x2QF@%BE8rIiR`#|eYf
z>oNv{lbH%o@)t|gAvtC@`~7LkayNfL^O&^H3lw4U5J?~8N*2lpB;v>>u3A>@uY-36
zvk3?oFnv-wUR4-ft_4QE_Dy_AtEr{JedR^R272P6@{>Lxx6GI(E}Z#Hnl@xS5_!oE<^(+tmP*rmU6a@}&e
z94xV2aDv^_m^@9u;$1}z3PmY8yCHXJCIodA#PXOlIyLg+H0R@Mty}AmSQ++n?*TkM
zD%50_CiN)YgGU~epe7Iu6S2CamlaE@)ljy--4G;X8!I&QhL^~smI=p|6aV^P35$xI
zj1%)H(IqsVM!}Xsl-1^Tw5)~J;Q_Ef4|_3NtBgaW{p)2Sac9~wsn|`Oo3LNfI*zg$
zn)#)mT_Q&;BvUGh`o~QwjSN(qwM;csrmEgv;S;2I%)(>J18_;=CoyEiER2!fK%8(~
zs_hWI?)HG~Po8RxQN_h@nbsq57-#{h1*kormA)3>Fc-LaHxlRp9(!>2
z{P}%G0~*YajqTU6twc1V6jZs^nT5+{BmK^&-*nFt(@dT*7k#^en8O`%A8DHE)LTPc
zGT3KL9eFU8JDF%t$D;1bvK`XDDM|Cexnk;?44LzU4Jk5m$KZm(FWu*Qd6k6!7^(CaL$#cwcoPk`S4UznwELH_MzURlAU$
zT-ps;2dyZf)oS$-FgR`mo?o0|U2Vdebo(D5pWh9{q)FzY7YX;ZR{?le<#(Hnd}DK9BzjZ
z#?tB1$5&^WHLwY+?vrl)UiMSHd{VLCUG>7Dq||s2-NSOrYOcZp7C(XK{aIPhp;lGb3gVYy+xWST-uB}K)jOXu
z&)J~8?IV+nvAJ4gYas)KzC!vl?x>vxB@Qp_#U(>9jN#J7
z#P3iae_o^_EZ)XQYI`|-Muo!t^;t%o3vPi`2D^o1i0$i;Zb*#NukZnzH|XT0Xj?qq
zw{?|7gat;pdeTQN@*0S*lul8Rgg=ix-(zN5=q6Od@@g4hC%$*DpQL$bc`@
zzVx)NjY))P^XEhqJP^{xlZ25=p!X$X6w*sBD$}VY#(?=Ey#2YOV;7LgP4tZ4M!VdR
z`Q0&vD&7m+h!OrB(DDU9Sw&a}QvD=+-R=PwVl3uvwf^T9Y!;IPOnS&a+(OYk;5Ocw
zj7C74F454>ODD;sb&?wT=~L-pq?q|_^OxG&6d9Njmt3tw^U
zOMWdDhKeadsgz%*hHY@*uz7nm6FuY!38_dd$i4Y^UFwwK*k7brZ_1yf-qetSsOn1=
zRl7kQ=o|q!XV=S-^E9%Kx*80^Nd&TefbW~H&2d$1>CiUN@+@|gU0#(kTbd*|Dmy+u
zbQ5XWA3&b*;0cn3_RiI|_MB17AP6}#n3sNsZc%xmqLrnwa`+hrD3#hbU(Pcc@PUIw
zD|B1;neUpNj%$TeB0@39SxX^lFQ&6ptgcmxxJObgpe)@;jKM6HUXN`j$aFM_+CIdFaCg!fb*ES;xt(%M?a&*d5Y?I^T&!ANlf{aDOrN4)UX)hj-sL9{b%P(&>ufQ_
zne`>NCm2=$Art1zl$%tkps+lDy11QIqY8sgHDvA^Ni3FJ-=6wqT~P-%YSElT%lo6U
zWt)A@BS&eZ@IDMEb3v8QXJ^i7ADCgVLt$`i(i60`5#cPMUT
z8cTOq94F@{-G*4tcMzA$78?!-lnSMtODUNu1&o>Ab0P4(-fdfLc9Oe%%Sj6W{<7g%
zd~Ho!VE8UUSj5CF2@EQb`eyeTCJCK`i*j0Ayo0=(D_|b`D}|u@#%Ya9A?w}JzA=q;wHsnj>)
zR)cY%fE4yDa3|lReckDxEs{?fU1n{b>E}QR#p(^NER~_kPTR1W6jqdT-BXkLAa=nl
zM(@+-*I^I(`v~DgeMlXW{N5>|SZC4<2N*DPeCOCS39IexW@Z`=cXZ3#bc?=
zYKwKYdx>x_X=+V9<%%PWIGYm*dFmAFEln&Yn_}BkE^R9FN>$5~fN0d-Le3!<@g1)4
zGb7JCXbrh!&SD@AqjibLTTY{fE`^I_M5;;vn;Hy5g*MR*i
zOvh~s^Oo`|`x~*S$LM3g0f*@i_{!n1v4yH{t9!aQHVEx^KQQF3AV(wvkYnR9>3+m1
z)fnM&vdNy2qxPZ;s2>Hy9;uYh&BwoOc7Zu{jsv!f)dB2XhgPHAa7=g4p~UR%64sE`
zK@bvl&Fm3%iX)aPAFvMV<51pmQ_yPFS2qA)X-^0CTVxmepc)4cpQKE0}HzzWa4=
zN~M+r2}iBfHuqthB`4_d_IRwX>x4aTpw9*UcZRV>Yi)g(0Prw@+uc!Wsi7RNw!wNv
zRYvBRS4;7~w#eDmJxLz%>kMAda+8bJziD?m9Kdj+B168CHet6w%*D&4wq#OL%KWMuUMO_G_~zEJaV1@UJ{
zY-@kUs>X5q%5+XhPjt3@oqFJ8x_F9YR7p-EtClBta)r!fW
zJ9f$K+Rj>f!?EQwYVV1s3P$Tv1om8Sz&?1^4dSt%b+^4qbG-TPt7dK3XnLO^gS869K
z0l{mRnFW#HWI-r25s0-)fgvU;g8*`p*jxQY<1sLXg0lw7ukDcapQ8_tG35k~YIk}e
zkqR)#>}eKDRFE=PH)`cfE)O|$KTYVgILEu6XN*2(QuUSz5{}Xs59MrPY7VBeMJLz5
z)IykyCMn6Wg!7l~N(anr5|k&VKU?)#?6`c64V+)+D^0aHKEH>DX4kyuHm0%=x
z&-6{L^qmM0Q3@F^Bgum~D3815nnv3JDB;KMw;DSCB^dywYEOtAc$(-Rh30e`>BTD2
z_b^uf?1o4qb?Q$oFJ5aXuz*vv&Mw7LBx!T^jR6g{w
zK3%4JE1f>a8OCbFgS7TK>)Q!PHHAuyBh{TsGU@;a=gSMcPG_;&FD*)Zo3`V&?)Ml+
zqrp^aEnKlRlG?L_3I2(icRoG#b7}*?Bj90Jva9{g^Z<;%bw&cz%|xoX3LOk`YAolh
zw09O;?-9PqZoI>DD3sMn817eTY|DCG*{LfEM2|<97pz_%lL9E(OPaY_22(nVS6u_V
z%ZV8qy>7Et6xJW^0$`n>9S<0GmfCK}7ty<{J?Xk{4nW~`Gaq+&Ya{Q>zWf+OUtsP`
z*>tBPKG5BruJ#T&wzY3;cG&zl^QK9fR-=s{m4V|OlleOKq72LH+`kw^jGhFp1EA@FRTn-K$~8PUtu=IkEAk>10!vf
zNmpgE*kC{UxZaFGye;qi{4KYvOwaZD9fy945>ES?O8y%O6f;04s$=1ap0ia>hk~K@tTel
zjpe9>1H#l#09AG5SpZHjI+-L%H&ubKvW9HRdyxzDtNpW0@~!Jo3`YeW=-wHLbk=f3
zCeW2)o`|p(-~FzVM#~SY#uC(}&E&|{V^iByB75SRW7v`R&H#qN;c=Kk;AW(`U2>k_
z*bFYbZgbmq^ksp(F*r$lJW{jFyg2M7tK0IGKI@x^QIc$ZW8%3g8lkTOrmSzUwX{+zGk
zX~dyh183GGS@ors>fS*+9(Ps*n2y)I??MNxP!}SMaJ3qee;IoJ@#h4E{3H{HFq8NJLL^{`&@d1^%qy^7d#WwWh4%?
z(SMr9H&%G>pGH`qa~Guxui0SzX=;5D8o{CfXXIG;AD+^$CE_3awkT;pf`AG^xm;5t
z44eLYErNVOAfTtDqo#{-JO{}6kAIV1{z~}whX4eh=!w4X#bNp$i#?Chi
zeh*#&S6-AcM?doyd!iXhILI=?#l-Aq4qf`Yq5oPcsHRXEiX0=m>Zb~X`UMueUe{I2
zEiO`W^ch4Vh%D67xZQF8J{$hqfGkXrvP0hIe{YfB13VS-JLdC&aA5l%^8JsX*?*28
z6mjZb8u_k>K+$%l!Gp
z{y*nR5{u8T>3`urXZ#$MaFE6CVg4(z9t?=&|Ga&_5=GLs$O~)k#y_tdf)eLGV)Re+_^#3!HB%YKzLXD4de`$^DbfZY4^l(@Q>JvqNg2{4JaggkDv?j_S?cBsYgm@wnbI
zQWdZ;x|mI{>az-7BB#czIKC*|Zzp!<-$WFAw0GKY&?O@8i$ON25oohv>Sp6QZLT|G
zc+K8-4f!(hRG+C#MSeDYT7=%@a9452=dDw*Y7ECpro9;`*PBFBydl*_aD`p4`yS7`
zehPaN;GqmoZ0>Adu6V`~_-G>_h7rq8_9{zcayv-da4!8Xz18!iU{lJ_(cX(S!JDxYi^HF7tcqkbJ#
z{sTmQYoqx?lB72KBXxR*V0F?;GG;Bys8i70B2fobXg2%#-v
zo{N4?$5w$;kr}(|fyc9Cv3SrNI6O`ZQkO^}FrFhDcU=B`-nj9vhc*es5or*055V|n
zJs@cNnCEUpD~>EgTZLNT>HMiE-z%zw6p1dMqr-!VBkTM67iXTRKe46X
zu~Yw3w2;zevv^XO9AB-6nLwbtSUA71wi1=f+j7qUGa&UFP*d7e?>J>eq{a2AMX{0vWNU^SIQ?KuQ~Kdgn+1m5-^!&dAe%>BP_%iDr1{G
z4pPkU;?l}YFS=LgW3i>LO*lw8AvTy%`Ey`$&|e2^S2(}?;XLH%)+_U6tV(DG!bS9u
z5GzTLWLR&?zGuFtlccN{gg@wXGtcgBa00XD^|_Z^AQ?eqOMC&|S+
z3;bdwUXLFsZ}=PpvoWBUzmF%=3yz-v$T|3m?}>djmB^h*BJ-9~B13&t4`0Y+c=kzy
zRxXvO8SuummbCw;r3=sHA6%jQlTz@LacS#NqD*OW*HCU-&gZgUm*CqPcYn184U+6f
zKB55)t#=ER-wS<2ZcL!M^vL#RZ7q9ns82jm(7rhz&jfb|XAe9++_lT1Xv3krB{7jq
z1}|b`V3>}k(KgMBBEOv{mg7DPTzG!vIKIlGm@5cEJs3>C5-HXxEtoD+kO3|+yf$3r
zcg^DQRJC1omRWg8E*qn`nvYm#UIbnkFE<_CXSyEt&!rk40aQT;0;Vr&GNVUs9+qDwAVt8SYvR_$)pYULOG7A6246Z|E8`wbS=
zy8Z1BoMM3e9r2du(&00D@y=~O{!%{RC@3~NvT(dVR1bV}5HF`C{so(vp*4(!yf~Vy8hQIZQ!B_x0$$x;b
z%Z$#ki8ri13;!DY$xV~-GUIIvNK!n%#pQsq^Wm~J5q1_58tzB3`sqy*y-urh+*}y;
zoK{~rpO0iB5H%Yt9MyXD#sgt4Ax|V6u}tmoC9n7GrIMtdWON2s%+jFP=VxwT)aZ&lX@S-qo*_l2dowsqR#tY;q!86Q7-%x|+Vx2g7L^iG;
zOAsy|OWAA(=TBS*qI~6~I!1~??(R=?&RUn5F`oP4u(buT%*ho8HO<))q?GY6vmJU*
zH*)B}JvR!WP)?}MH%$bz*vE-II~7`y_KJBab<%^I!!c9~`R3or%kLRYOm@a}9OYK(
z=-W=U`DJt)ZQHq@?w#V8Oc49;+3Z&1_*{<@pzly58>}@{R<+UdmyEfM_=nDItRo4q&D|+x5V~BS#yBs{gZD^V)W%Xcq6=-RJYB|);y&{C>z$Q?F%vow|)7zbtmVynh^k7i~TpRaDSvjm>m
z67paihx+a15#>UyCw{-~Ai!*Lek2x)LZk`l9)IKwZhIVC)5V`v*ong9+FtWTk@!B+
zeXHrIS)tqPD1wjevNLj1*71enHQ;jx9zeLBd)8{X+kGWj@C)X7Ry*7dOqx|f~@@38Dmo|Ptun-b*NY(`=y
zI(K!k$g^WIR7q~UPo^dwNRGk&^!A1`TU2C9vSAvbYz1yyI~lYzJ`gHJSL$vRoSisk
z$4i@?BuM@SABq}87J1NsHRd6K_?u3e%rgv^DZtU#ySV|>;w717xM!X*E
z3(h~&MfnQs_pL$Wisbfo&npdE0abyeApmrlMw*~&c0S9)q|+AXQ6IGNTv0pwbOumA
zhbKOXZ6|4tr;*m)c8?vp+;h1e@8at!abBku&LC+>;;~~R65g-x$n)`z7dh)WZfr>`
zG}?7$C_4x$f@EnIW{~6oaL~)dRqAOwS;lth;$TLFo~@mv!GrLFbSA3~=les$?VGdy
z?0nU7+*wvt>E~$b+9cvJ{52+{c^y?u9_=(6;n+4oy-LTdz+!G&2T+=8CDf||^9dsG
zRy>MsTQ@5G`yyOH*#_uj;OH`;2HnX{0WoPZ?DKfcSXI}D)_YNPOej^6yw6f~jJP$kq7!BL_
zF8H6?fw*Qn5!t1L&xN3w@7ePotM6Pyet`2ld>SY!VxVBbrPw|BJ}3^S>jDcE$3bRU
z?xHJj92XCvo;~8CE}1+hHyHcw^PNwAx81yip)>WvIX=5*G^w6T36X=tN%1~$YEGc!
z+(^l$%rD=0$n)pg^h~5{C*z2;^d*rR5$~-d?rqaYmQJHFeOSwlC9&q67|r)yu1us)
zY|t*aUq{rXw#a^Dqa&o>d47mv!(-EqId+@y-1a&xd$#$#+^sXZsOQmHdHVEH;Vch;Wc9b8dk
zHD`O1=W9o)!^r>|N@L+e93oZ5bBBjI1wc!2U7zNVRnbDj^)5mt-)_V5f%!@rQO6x0
z-H$Kuj9tFQUUtJ}4=vR0)Cqpiza6z*%+GyiHLE`7fBuHkI$v9Nx^k+w9
zsuwyIOAR2EI~Zz4=diL;}`@C(c#*K+Pw=v*|hlGvKjA+r?Oa8^l=A;nXwvPC-1WzX~dH*
z4;xluCiy@I4_^;569bnO?reXgI53$EJ@>Zz5{)mnriVq{QOG9gXugx9F#P3$NyY&(XS6(ly&FPxA6z)GS7~%9XO%Om$Xs6Z>9*3N>yMz%2k%qwS#+kin+{QziOX-;Kb^
zY3My(s*BOa;jQ!WyMtJiMkvcqT8(u3u%K8VN-K8qc{h?rv=5*H{*an$I>T5Fn+3vw
zEv_edi7!pz49$P+E@-`^Q8$h&BQ0|jjeJvp#i5$lGj!7VbewcMDFs`Ojd|!+`JUD$
z3yB&@{Bt16ySUv96nsX>FHsLe!%)zYWd=fUQowaAXO8=H9?vMOVHnB0Y9mpJ`hAv_
zAy#X3z1zz@QhSO0`QqB8jyXMgVq($f^$D*pZ{?q^sFS50o<**dS=AU15^eTJUMda{
zbkg749@rTtIJyMX^wTvvbrJ{#KSxy2xdf{R6IFa(+6KjJWYGH(T3rQ(#^RoTO!zz(9!Xo)HEi!M$>(~DR@SL*LhACg42ae76TZqZr_Gbw)
z>8w%!6JjNcR9i_q*p;dUQ-xxxR*cPJar$EOd7n;W1rJRBIcCDqN@?qo_g-r7(j$U3
zpPOcu2UBi@C9d}-%|q2g)v^NpIipN5`pSw=R7R&QrLujY8-%r&d@QLHs(u{c}k_n2-v*@4cN
zTZ63eN{WT3bja%aY*@UkmXDXnM1&acs8#dMPE1Of$LXYoJDw%>Bco0Tn#t!YK&=d%egydMtnxN8RwjpXblZ88ai+-k
zIE9?(bGiW5f4$)L`MBrM>&oO=)k=BAiwCb9>D2qgC9ZT{{#Q@m9x9BMzN1yBFVr8<
zm&@4wild8QM_-oeh>=7^cke~A;4^thwvQh@DQZbB5*R5bE)$<
z^ZE`b56uRzp!?GvIVR6pWgEhvlQ_-#*F`>q+&9;orkBGdi@JiohoMsi
zUt+yjUO?6PI>r_gS^NW2jz(?tGN->d+hnO4zQt5Q`@#=R*)(nyZY-(+n9_8GPhZq;
z&PbKZJ#55+5Sa)~`>89FZ&~5?$8j+q
zppuQYPv(ompX0upmpL9Rk(>^>%0!fZAs{^`q!XJTgA7`~04R9s={NQp}6
z&zpNGLTani0mXlq+Jp2@ItwWfO?WjwIt6}Z1G5*$yuVR#C)nC
zQ3ZadMWq=E2LVM(DR_se?W(}cJ9puk8aH-FlOaB4@_YXal@*T{ZNOfh5{+EJ$|!i_
zW6hYJ94`p#F8}gs`}=5TDpB;P(@zuPSvC34t<^Hw{3
z8lUi0O20lNYPlW{1##i`nIEoO0RwmqN5cP&Pa8rFTa`hfmwZ5Lw*)2GX?
zyJYnx;p|Q`MrUzfcqb8y%FeUSC3rvGj%BUI8Yn#PfsH;rD_9szDpU&c{WdkF@8f!9
zT*Bf~xtLEUY&H}UaU`>uYv65dMEsNyA$^PMF|O?y@j9v8FfY6IiPet&p@;RNp>+^(p3%fKCykhLX@CQXX*nM`$g}L^b
z!Oesl%KM&OA8RpXx^EM|S|y;<{?Loz084yW1b2)O!+!#ssqyfkk0yatzKDNa_Wm23
zOg-ro;O#nV3O_K1B?<*cnTIEa6k(ryMWsM7$b}i!P-l9sqN=ku1*%7O5YHT5@9qJ$
zC|Y|L9ft$#n1;*l+d{o30nV2wSv_B5c&A4k?5^Vmnv#$D5x26!i^t!LP2uxx`Kt`I
zp0r@byrQAg%&$_7OS!rN>Cwk0(Jl>ErZ2BG12+lj`6_gNhN?wbYy(dC#rLO+mnTO*
z?l5ByxT4co?$4ClG-q_zm>#AWfG4FMX(`S!QGz5tJaZ{Kft*T8sj`+QiL@;!6od^8
z$#t|dc6i_@oDF{5eW<`1;IQR%lbAheC9rvUlKgg9J1kw&{jGNAWu;l%0}s;RMQ-K3
z34mg{)EilvCXd-Qb2Fy3#mSB#yJ-}TTO>%)dEbQnkgt$bf1H?b$;^^{E9YaLB}Rwr
zAwpL)9v1CXy4DI;5*!^~m~7-7J`icp_rsxOxpK(|`BRA*M#ce-OBvcs&V01V8eaJ<
zeuf6-JEWmVkBiqWE?=}7ZTHxr-X?u-SNdjSFUww-bNTi%BW*MV}a#%XZ{yIQF`
zT-T#TjR*59jEI=m{(0R>%vP7VyzpiEsNp?yAA+Ax_46-&771VZf7pA=sJOnQUpTl0
z3GNWwH3YX1+}$M*+&wrn5Zv9H;O_1ugy7n^1*aQ_hTw1iXP$Xx?#!(B^ZjtYowcgZ
z?pQ_RyYF=gvHqBEUV||97Hm?nanL?ffA`3OjoB{}rn-hK2ZI~4^0#BB7
znCxLi0FEG(#T-e5zC;y@)h-Z!&;~qfLI9F!y8t1Z9V|P~def3Q!HjR`=mrsjZwk0K
z3D~oQy6G&|kmHLuu6mtok1NQ&CSmf84IYD)f0mnY<>(!Rc}X?ED<+?#XD%b1DkV-g
z2B_Sng?8l;ti-?b-{Pctb6eU|Q>Y(7Gn8U)Z
zGLdb^&uOH|sNec1tlxGz5TmCL#pQQg`FsRw>N32k`x)oG8aU72dl%4mo!=+lH=Z$?
zCl5rm<+IE)>N@I77_M32DBxVHUUzRS4$#=IelgsjYBJz3?c4i`T#LhLsaSMc(S9Ea
zotMY^~)?>ogR}krVtX6$$C(0#4iuW`M`Ov{F7x*7QhIglivOU&tFEy5+9TF
zGHINI{j)X+w2CEPcx+4GG0JOxN5x~YZYrdBTBcdyc0tvwt`A!44$$o&e`3Q+Yh?IS
zQOrU(u4#Za?>Na>x?z0<3?
znilwLqgY5u(0yC`{Uoh*Ud)Ft16$sYBI<2^Y+fQ@
z#MJwI*2AAq^gb3dl)aC!CV?O#r8#R-JJJCCD1<0GvS8YX~F{-Nu1etXp>9
zx6Sx~cUGo!l)REW^nASC)vUV7*-Wns3lLQncV+tdE}hR9_r~;?Mwd!vAg;q?n4x9TVe>a;DvXlmltT?6W6;wBgsYDZ{
z@K0Ngeyn}?J&Tz!*z}z&tGLgtM?Pg24VLN0ho=h`hG^gLE0%z~Baiy}uV9i<5Ayvs$i>#{qGwc~Mp$P;sHSB`@=
zZII4#yZti8w?M8Yy(i5Nx7s=uIEfuovPdXcKOVw2!DuJksgU|pOA=+=<_9Lwj3D$a
zO|g3!R%d8jC+Yig&Y|dx=E^7NqOvcA_&vLreXXq0If8nPul73JkI63=J4bIkG*KBs
zN)*z#a-7C6A&Yix6hBZZG+Ms43UQN|MWtvD5e@hhevjSxp>1jdv*#dA!OV5kQ`XWs
zG)R0pdv?yY$=LN#VGTu1HSd~mJri~t&5i-$B03ir+}e2~oGyb6m^(Xkhm4;o_K*aF
zpxsU{)A0+lpP{nkYX~W=3mkwI=O&F^cc9UwpHF6W%Vd{%Iz54$Td5DV
zP`O>^D?;hIjPcKe)h4!9-5Rerk*ol+g}SD9dy!E9l4NR|?;AaDhc~%B!j{WxH^CJ5bM41am#z>+U7U%~CimT6%=M;^{
zj@JveMa~y9hMc2QUGa8EuNU4D)onCihI#MJ581<4WhYl+B0z}dKS|c>7O7H8}##sS=~_61YZ@+3%cy#&sWr5+d6(q$;T%
za!)%l@5g=e?d2YE&JIt|wVSu`riQ}MYW?s$w^pR0Y%;hl7!R#0OnPoTMC2aCs%g{d
zdU>Z&0G7nPc(9N>aQ(pL?2DLt{+?)GO6(x+mXUi*}k|r_iGyi1H6(
z`Ft+9zb=SR(vKHy4TX1!etd>ucl2s?*NKp{J&WIYJe$<~kj$FXT|*fdi{E(5>Rphs
z*eK3yFYc#KN~BEYxKsVHLSx7X@d4LW5QusE+T3;u@0YL7YWbT~Qdo$?%=3CCOFDu=
z91B*JISuL%f~Beg5GdARVd*Z4{aN~qy9&c^D@?GYa{?43Nz*Frn(b1D{sf+Q)9R(F
z`_P@i!QTf3i;%t2i5zxmc(52zKeiLBrdjK*g~#}gO=|3TnOj7{pL8ozyQat<%-%Lz3>TCN
zJ%!slF6rQ;eD99jHb`YPTwvF`fO(&E0s>1qg8?8tw6_H43C&KC{W^=@oA>opq
z^-@ZAgP5u6tdtf{g6d4Cjdo^QnfMkvk(v$f
z+Y|RTqtO~<RtyY1`RrT9B!JIr|wot7eo78DNQ^Oz180Q>gUMyQ&m
zmVBr8sK{N133Eb`jv{;c?wa~Jj|&`qtDoG9U3=!b=zSghdoM$hOFrIw_H}OYuV6z`
zSShaEWY_D7HSiv{^!Zk;TDhxCFV5;+3|ECcmM(>j54AzTXGtu$F`8cB_;L_gi_4zM
zLi`k>Ljb>rY$Oh|p`Sh5r7*BL(DU;yVAY--p4Z9|6zEZuqP`EYM_Xr0K4j{5Br@^VR<5b<93TLOWmh{4ap9NZUj&(bcYwD^hd^vk@$hTje}tOUxct
zT4bnZrum+MI
zjCD*UW1mp4e%T|=3D7=|E{`pi*u;Azvs$1#7B(IgMDiE#55I=+l
ziG-LVd0Tksl=qKPH^Wy&hL6U<(Vlu`OkChGKqlRO#*(a=%RA_D$PzzI=O_-q-_1LBcJa_jef4mA470zUp8vGQtx=(m5+}hNEKzPfm7ig&Im{aF<=-@B
z;H0I)2m{TUbv0M2#@DsH@_3y#vZ60v68cToChjVw-
zj@)5=Mp$42
z!Bo0>8lTI$ejP(Rpt`4CHbRwOqFyeN#~jdJqjh{DF^;Ln@_VjbU6i1_BZN(Z+ci7r
zz7Xp?rdyIFA<2JKl$@$tRssm*N)a(5JHy8DGm^?Pdmu`>ZTt%eCh>2_f-Jn(VN|tJ
z7u$8NvNN78f2Qe
zV-W>63@gt_sq53XqF*f#OgV%IkLacK+{utYoK
zIGCAanM(}9Zj#Hd%@z8Z9(E@Z<(>uH=#{Ls93sc&%Yy139K1&ukc0dUAWJt;(kq^46o7zgFGSF)SREdJu~N##?5K2|`>mXAew
zoI>r-&s#Mrm!#K|XACGGM?b3b{)WHw+1xOxrE&))cu!=1Iz#-v*Y6*)GtW^GF~NaK
z{xzv|Q6beU1|dWwvh1??{!O#@%8BLoMltgrOniHb5^diOx%LAtq)$?!u{@{&lMfRQ
z21c3N<}22EgIk(qDvlw-GCjVSHI+CnSPBG)M*%RHDAx7regF!tj&w`~BioqbC=K$Q
zI@v(0aV&kL=tQ*zKIS7ZjMqFN)M9p=rvZJE$mC81$)rg!y*dkO^|?ME^S1OUSER$F
zV;g+DdIfa!nxV}`!&^@2W~)7(lU?QACduOti00YLXPVP?vEIS5yxh9SqImz|SzCO!
zNCu04gxgDBi5Ufl3h7j|qrkPNerMR~`Df6zplHrO$+CDk;3v(gd;+QTd`w)n(AjVv
z54g+m60-TCzvuQ@j-!U9T?TiH43EJ(;hjs#{zFEp-S3u?e1J*>ee6WY>ydY^8c2
zwD0VvD%W7du}JIJQ*NCWT>_uA*jW8pE=#Y+V>2a6{CL*(CWzlj{P5aIJ(`$F%Xfi|
zWe=l0za^e`VYNv%#&hQ$7N*!Kd(&I3d3+RD>9U476ip(^k}Y^ldl8@ZAQv`7Z-m35
zU2TRW6%IiM)PLY|CqoRy^10fdfh?$}Om038L){N1$A$}{<8+92}??-1qgbkM2{LVE9{3|;@wutiq62*tFzk8PWLRo~&*zw=vAjbIjC@~*Z
zSup|nFZ+K`&7j@B6gt|_uGks5Ppia6li4GEhI&7X`rd%h^Qad5%h;W|ZV!uu{}60=
zb=-W5_o(b4OZCG>Oy|xdy_?`S&A_EMN`IRQDnQ4Dof81AmA6X59_9LxEQ
z3!fjMIYFLo?P227Lr1=ko{MC!7F_g&l4J#s;>0g^75%Vf>%9>AZuJj-V(v^-v);J)
zOn+*ZgSK8Z8Z>%u_Tm&!S(IqhtaRyQWwtkdez3J%P8zM#K+3@i0H
zJ;I*!M;2{Db`x_7s#6-%KtZ*>;@`ulAyx?5mEAAT5jrOA-41K#DTcv(cnO2#4i7gJ
zz97xFTrju<=o?T2=05uOM>LnH=*{@rk2GNVA6|I=zNT05OVvr+ti@NC5e)TEI7Iu?sM1gt(W|2y6;YzZeIhkX!7H*AP7w{SM`pI7
z+`jwa{4_XT)Lg&as!|XrD>%VaK8Zirca{eKDldjbn`I;gthe9xP7)B-nG&i0PNZZ@
zv92=SLzdaNvv?ysX$e80;%dW>Pqc|eG1A@+ywSSiM!SR-C{Vt3a-p7uP^XP2;BAoKf*yLVkMP-Ovux|Lfwhr
zTHL)}$4-(tN(p)k;bNO6t{IS2mNG*s?Y~3@jA?MS!r>!jq8TUgkPC{X40CbYuEfVdIAHJ
z9)&okrW=mp+GS}d71G9LrBT<@^!G%OWV-|zsh_Q%2z$(M^Br?g!90_sg_>;ps@jc!
zd&t($qxpxnl#f4p9tHkNDUnnUIg1un7>LpzHUpXCzmbmVTC81`uiQR-9mMPPU0YoctWGi
zUnzz<*MpvK0AAnO9nUkKps$4T4S#Ukt(6DHwrUJ?DBo!h(W?*G6&~6MeD|R?v(dH`
zEiTo>f*gwrV115_j+yOQn_D?SiB4%?=^ep-$;CrV5?!iF9DjaFO`S|qGVx`I!V)p{
zx-O^%z&%FzsitJi$*=N|XpgsqxowSm)(8yv*`N0IDSoH1E%u3ety~HqXAR
zVRxoO$i}VxO{)Ul{>_{|tA1k`482ooLQ-tee7Vum9=bJtb3fC@6IKtX2t>hjyW4(y
zUK)V7)=u-~XZ#=F@(f>3=|_}T;LDDr{t@Yo7fCK2Xtc@6
zrT%og8IXSeq#uXV8i7qUEAGNj@A7#)=gUl(`44#)huBnD7RbF{QmXb++5*430)q{DDfc+*}-M)T^9cWmcP5mil4miQi2z
zg@;qG?AkXs_BWXaIi@r+vbsQbVq*-^@?#X?xasfFY~Zt8Hb4U4K@jB6NiYr#%)V3i`faLelHZLP3gHZ)D(Lvzsy_isl+eTF6nwCVqX+%xTmrGUSq(r?`hpL
z@Rv!4%lnYk$wPuw58H8@R9-0Pq|LSAGm3;him&&h
zJB?FM=kW|ER$9wM`grB>6g8R7>J@`;3YmFjE1@hA;dxzNI9p<`deWDGg-|N-zG%C=
zI1M}=N6Bk4rEr-HX4{euxG=v}0n~*~nAYo^0m9+LWPrKBG0N193i?^plVK?uNJTfq
zk0I3g(Z(|I#MQ!OS-dEaH#?M~_lH?dW|Dvzv-Tbdv#d`m%P%pUp4oTSY}`6^cj{e@
zTY8c1W*MI10cXTJh?26Op45-lNweQ>+kc*Xj143T-9~p^n
zvY!uq6q8m`QWCJ0K_Tp^+qBUE4r$RWi+5BejA^LzgX3nyd2G`fS@a
zHgDJ*$WpxrjgnW*qUzoGd}kmaW9<2u8Xj$n%NF9qj6tPGIG}+6KZGYV@^hBS8y3U`
z+K7{gnKxr8M2lEzRg*oWc6}k7VXoC^dGA%F&tp2vYx3#*rzQ>9B+#g!L*kF+Bzbio
z?}hP2V3X=Ky#%$se*wvDAQSz`;`Eh}pkqb=1XIxSvRNtjo%Ym1s5Qk@W)$|`-8j-^
z-gSE8`%viXZGB0Xmlo&E6^(dvLT;w4Pf=g3mzW~VJJX_n8``d^=&x=|-(56`7>od3
z)kn4f%xWTwl0`llF>}vD#Vkh=8@mq@j}Z2pn*KZ;SW1+z8B|=}|Dw2T61o}F&&MA}
zEPfr6mNR3?`~p%jCe>j}e8A{&dR}j!9|R*Ea5n|2_%M1aAK_tTApz
zSi!`1JoM=yXI3*0FCt#jq|5m7x6N0H6{7c?7I~uH7nDK^hYlsmJ3O)p<5u7KkT_Uy
zYzEq#SM4aUnkHeu9bty!Z+NR>N3jVLC+#!O&zC&y*`{ZzM5b01+lilNU
zu1-x&+4-)oRSxs>@{H5#@=;1PwRQW}d7A=CD@jv?-bw({85sheml-=b-O47{McA>`
z7)5UQjVaE4L{a%raAuE9WIlI|n4Ch}HW~a{4w>6R978H@K~i6R*O@lI>_C&VlW7Wq
zF47h?4HKX0mU*>;cC0SvH7(|M&Tc$A^qPD-tf^UJ1Ke)cZ+&iBeL*~`65u@VO--u6
zTi=C=d_F1uy{3!^OdOG;`G%r{+-#*Ufd7MtmcG9ROci%${InS{sh
znyE_eGHfrWt9A37be78f+|J5Z`%}81MftYI_%5W2a7N1LLxetO9S4CvkP~ku?t6oi
zLYm97-YXrs#nLkB)sId4HI9n@Q}M*EeXq%U5=St_4TB)+=)83O|%a-jD^~9##lpCVzTI)wN`UL9;f=nB|w&S&Sc6eigb7FH?
z-X0SMoZDk0-jTrmTL>}_}
zb-z&Gg|QYYc`!>?nFk$^2Q6-+AkIw;jP$-?8%)61AI4<#8GpZ2(DOjJ@O$aPm}KP2
z3XC7GJKxvbd^~{lJo+6wf*E`!zqXbgCg~XT=YsKW>#6M;kKXmsX)>I7_=I)Seewqm
zYOF@W^G{&QZw2B|dQs6LjSa}YZOKCCz2B668=9qWgD=bPw|-qb4`T_#q_Q->F9r|y
zL(LRA?Xm#eS`6cBxXt!z?cjwL`9?OGv837Pw8#d7bA+{palj=~1+o3qenq2%=+}-P
z@4qVC#j$$JAH`VKoJp;Z^{V!(DWY14T`&8?(B(}e(O!#1lL^I=Y`=S(2`GaC=_7g!
zF%7;`0|6e7{X3tV?;ClIgL@yr_I&lTi@p@2^#>r<4}Y*t?}%B`X3H!TW+;!^pw*-y#)Tf4VosN#%|!{dEp*JS=7Z$pPw4C
z-?r(RVf|hQnuVFpHN8SqpbG1a(D~*45Opd48kZ5J?ha38*nrKZ->qZaNj+8{oAUjx
zR8v-9oQ~UxkO8$M_Q`?1FSnu6g?1UQZH?wnTORRzRsDq}>d>DxqW}U96DL
z{KV=&Z0NUH1{o{?ohW
zJEnZ^dtI%D*Df|=hs557qxAWkgeQRn27wO1S??Lu2H10_FT
zL{JEOm6z6g&iC74_GFu_Tmf^4WI8xmShNuOTdtRlK>3VDSI?anz$gv_fi2hhLgX4H
z3Uw7Lt8{SCvKn7n{CFL$)h0oMwC4B;nEcyI1BvyoRI&>Dx#Out)>{2yvmiRl&sL*9
zG0Co5jLTFgRMm;`?<=b!eD_VsUMj(Ee7|@T(2T|oLlfMW>OX}7Ex=zas>4GJG-w1P7w<@5KypO@DH!EvM`wcV&<>c{yu^hZ3qj6W(lcaJqv6kBqYkf
zFJW7*ze8~I!C|%HO8@xT|GZ%bcx6~QAJ)`fK>j@#ZrIn;Rni-~G@CYfSgrSZ`^s&-
z<@>HIR1U&tzi@Z~Yc66(535g@M_4s~WyJ8W{|Xz9PdZpKE!&OZHgu<7GwM8{!V1IV
zY@=o^CB*LL&DG)ma`y`9#yTV!7wT`yfF8!wUkd+rkedvN$;Ax)qclb4urXfzitlOl
z9Oz^T0IF$j))Hk_{@BB%{y!YzAcvSk@kh-z`<9fIUON|j?>DZAMjaO1(^juhVP=(r
zL)Y>SDHaHH(7AQrtqWXmx6Zq13(#iAHfdv$SBcH|_HDbelIB+N@87Ik9lpaS{Jx8C
zNfPRikL!R}yE%n8=&Iu5U0;yrp_2iRUv3cMJ95mY-(pRD-D5bF=P7iJ%gSh7-}yVE
zxq1HM09Ek+eo`$ZpxTpM10$_&P#ZGq5x@j9)Nv5{kR>57$sEe^uq(V0ILbXCQZ`V>|GE=l<#As{`DF=5JBn$OHtR1JTvCg7Iutsgpv|o(`*N)k0ty
z>!1^n`>L{@jZE2>O{+NjnDP)P56@L`eSM}y^&h}C&)*j^7&`ppW?`??U5SCfDyDSXCXHIYW%QL+`eY?f-N4AG`re92KIJFopgP0YU$W;Sf$A{9
zlxQp{oouK#NVa0<^>aoV*&+qV8rKpYU1z7W=i{NNYU;_!!I4DK)kLrP^eIzUjV{yr
z+y96@b^R-Nrl^aC&M|C*askY8J;ea<0Va>@saIAXcg|*?PNtnm+*K^M*7P1DIlI<)
zAy2tE-5-VjL;C+mtc_6X9}+Owoc=2@_Ejj04504cG~sXZ*&hz0an!dn|5F+Nsh3>v
zuPcesdNuy3YyVU`A{ec`f4lU*4vNb4|1(jp@@@E-oc}r~Z9gzNX^Zv0&Bf&{jQ0N+
z{O98Q!+!o>wt_hJ3^W%))))73$6p`*F~|QyfFzN8y&XwBawNz;zAM+58ATStsV(|X
zzJlSC@Xc-u{=RGf2YH?t4q4l7yka-xpCb9c<{3vGMx?2j2>6E${g(|x%>t2FtAe{M
z8Rf%&>X8H;60ufP@%vlp|3ZsfI$9}dP6ZCyt=@j5^CR4*N)yYjScf^^BbuIrFw;+V!}|ay`9qa>`C|phmP<
zA{a*v&dU5lH68O7I8hDz<7~8+%WlD*VTp9giiR-zj5_F28;72kRn?KKgfm^JC0ToV
zR9(mEKiMjGg+J^M`HIoefs~w4z-|kE7UJ&Rew!5O{i5F!SXNy6QxQ<R6@)ri6J!dw!(i?*$`6J;IGK-;y(l2U_0sO
z%7=Xy5430-HOo8jiH4$d==5I1NXM)0E#y8kW?AX=Zy-=|GC7rlW^LKO4Frcy?gHO#
zDkJsvIQJ2q%I{++i=a<93(b#U1tx1ur*n*Sx2qUB<|w!{GZiD%e_uS5+E=GJd21FZ
zc(DIQ3LOly=gKrg(V1KLju{9m0d5~6W^+Kpmy3e@%jxZJk6RK%{Q>Tu)aAoT;5SQj
z+rON_Z-XT2L6&L;XW7~>g6#vGYJ>0T!Qa$4|Mz_KFQ)0wo9Ww$PhZB}VAFkF{zote
zi)e1@Ei4uKKe+oSLH$iK4V4_*Tk_v0|Cjloq3H)Ie9Y{?`(JDKPtmcevW@+uCF=+!;dd{HQxCM4M^=0BJorE?3s1(
z+L=M>p06hPDkDjku1&?D5ZpLt|58r%9PrLN2fcDW!+O$@vjw+`>Ot2uh}B|PjI->?
zIx&{qwT?Oy5Vke?K;=(YR^Xa%5Lkd!|Am6u`aiixDVLb9T_-6S8XD5j(xOu)epQeZr}@k+4Z82ggd
z-a?U+tO%d%V#AukDma`?B>l+uUeijWM2nfqR
z9(I7H;~To;298ZB^KUX(d*1A{{vmG41}>9=h)qg9UY&nVG?BjJ_vUt2Y#vQ^_Tj)r~sw3+~~UZfbzj65(FmC~Ck$w)yI&l1t|
zdJTuuxK)FL)IWWvQEFtT-KFL2`19>e1dqi&Il(W*MA$r^d|!e`@TWc1DX-gSb?Z$8OwB>W(g=KJ&g#H~1M$~(c*mp7j{S9L>R*%kJa-QjK<`ejEJ
z&=zIs^d9IlquV9gu-)9ni=QsmndZ&<`Mxlor^^C3=BUfLPu-x+fn(puSp4|q`mS*S
z4w`p;#}8ZWDG5l&pjUXfwC~jzrR{VeV?u?IuH?Y5~1H=wP|WdxK7vazXL5
z`$Zl4OnHcQqj&q=_FvXJn^~@|VM-O=?gr4bEwHTV)OP>WTC9RC!xS
zX;fviO43$J{+BKVfCUEkkhbd7wS4h5H*lqb$LW!bN9zN2Wp|AeK2nh9Kd=B|r&;!r
zP|oISuo^*e5ZVOsDrdFf*uZI54PuM%MHccY>DFXJTT5xZHb;G>79&<)2Fw7Hb
zWnG*d!Z)cip*UJ==<&bV^LG2*qMJSBU-HjAxcoOfNT{60!n2bymGI!z0B#xDKs0w{
zc#NE4nf`|jtQy-7@`tlp6tj(ctdH?U+f{+e+U~Hv76%Uodta8n#^vl4?t>!HUME-0qzYj(#{f7LPOFI2MbohCR^1Vyvb&SOm>yLL-`_h9lY7#X-o;9+!
zwQeKQ2j#WI7x$&$-Xzsu@?fG97}Uy`49IS)#9HRazjR!brG2I$fUHBWMW?=1Nxv2x
z?C5o}LMvNtntxICr9I#G-P6?aY^OFxT`emazoYs(a$wTX3&$c3tEY;kWFAuGF9VW5B*B+O~tt0DHZZMa<7$p*s;Fi;V54fX&}s~{ou
zCNuZFR2Tx*p8731`6e2`3@t#QTJQahY*qz4x{bbv8muv-r8F!)60k2h4R>P`FjJ!_
z8-Qxq=9pn^@dtVgXm$Hq{AKn44UT}$qt9mfTh`;_suqQo
zBr5@;SnYFPj7SaRr1-7Jy7JzwZP2J~S$_G|-M#bW{E^$Q0pk{g&XzyumCd5%X^%p8
z*gd9eTEg-pBl7p6!H#eABq7Ki_Lpf}*Q=@GpHDh5XSI;zkPF;9o7EpaX0!|s_ZAy;
zU8mut5#buB_?LASt_6;@@SMhZe_p?j1Kh4gr`aRcyxU4n$ze71hlW1Zbk3%xrXLa#
zT0b7p1v~*QaVDwutt&Y=?B~V&DtE-CTWVo>Fohc^oqd0VgU;{$e&crReSPa|26-J?YMsKZWfr%_-W
zQeAltv4Y05K}*T_?-MF^mfBroa=!t{Mnq|98=-z9hL|G#N*Gk
z2?@!OiJf`F_9;kJ^eP(bbFTY-MW^BS%!8jt3%u>>4vVE}SVFnAfY%hM!n0xCjHBM-
z&!zAf>$}&IjH9LOhI`CVhFNR%MMb
z<~+vmsz2f!k2wdXO20f-wTWuwMdW-nJ?Y?ZY3e*ID7oJ!BRgJBDXfb+ZRHlhiIm(z
zMU&*CTeHat+aiNEBI9@Fjv4J4B!ep~(q7E6h!^^R!USuWZtNtCNRDNSUPNAs7Wd^QL;H9MO|w9`|4@mlwu{2O%a0Z$wR
zhlW_EB5+Df5#}({U9pvGP6AL9IGD43E{*8HO;fIy7_Tny_#YDFyZI}dtr5^&Wo_G&m5q%b;Ew`?JJb2fbyeeq
zOAB)A07eXN|HSM)#h4$mrIbx@ZEb-_@lVEsO8_7kA
zPnBI<64UKwK+`ilMc?!eao?YN6i+;Zz}TEKZ46R}gbOk*HP(2f_0nm;fIQD?Apu%v
z7!W%AfuLJXMP*@t6%l!%N(Xa6(qrZu>Ux^eSO^S4V&uJ0)jb!x~BG0oBo@$fgv^Ke$DfRX<&(R(b&Di
z)3e|9bzt-YKWgP4(yi;Kr~-(q)N~Cp8hhE-O}9EbWj<-s3{>JtwZ%g}mQ27^Bq0e=
zuJ_js!bR~~?p%9!l^IgRMYztlg)tboKT8Mryhp;VArk26g=tBGSg-G6YB^C?fZ@u(
ztB7uf-zy&!vmVYm^-US|HdI>T2cZa3bC*aKduC(;l(jz{JFS1%P;d=B%ms>ioUJV5
zpUq*gzIip^8dw5wx3TD**qJ}~FK!l}Ds`(6)$9Pvc`zYG00`K`Ab5lvCh|<#<1mW0$Z9Z@35?F+
zk+KchDfKT~#Ugfz-AWo&31wL#^kGSM;T1jxEAFi|sc7$*z^uOW_)Om=Z7@J$)Q+ze
zW%dy%MyoBeQ6j2Ce>g?cr764tlgkR(AO$Erc$rqEeVb%cX9v~lv&m`pRo2gnfS%eC
zRuD2zc(S6h^>gmZ1^7az>;7Q#s~uj3q;nG-i3K;FH`A_V?l99Z6e=PIDi@re%33Aa
zxh7T^0>2RIG3eBoFp6sFzJ{bYPv;FHDzfF==N>PVq+sF3lJm)ImKPaf#NxP|XP7nH
zTxhIITQ=F10Lbi$*+97T^G@nEN$=!6C4JA6$~No`u=oGe4TDOOt4
zRlV<;jMR`ITzV(k8K%Htqz{Y51}(YRUa^csh0svZ!WLwBIbw36_0LL!p1q%(?Qx7U
zzH9aG9UYi}s%B1*Yg`^n2*3gGM0j-lUZvVd$cxg6uSXCux#Dg~aScv@tLnh3GXAv(
zs#<3w+EOJpnGV!SYPC-Q7F2_*V4_Z!x4+Cc4nk^CAic0RSe~=O%s}gH>twNhURKgo=2}Kn#|w4V~F2GSRL>xz(*hCgtY_z?bKi5?m|0Hd
z`tay`uHJ#iR0lOY*MPZh+phOify^%oo-KkexpUW?+g2$1KZ&nUJGXQ_Upx2}kXFBw
z^<*7T)-VJ)B84Ew)|o4VBb-$Sm$2lR!HbU)BSQV9o|_?;0{R){PWVY~w+je!s7loO
zw{s0rhCSoWvD3VMFH%5iRV3@`5s`gR=lJG30HZ|#afPAaxbBYBqo92)7IJL+ZJ(Gk
zSRL!<2mNo9NNbXD;&Tddzu|)r8`tRkBrFo`KF!JGHJJwHlp4?}FVxU+sO{`!x=Q+|
z#mPGN-Tp4~ttNt`IDi+}G1_Ukf-gQOtuz!J%S&X|)fu1+;2FDDtDZ^b-<)9a=y#i3
z;L~{+4mNBGZ@bocqM`yHqC_ctzBr36jJ<3;OVoBB!#~&+T$LjLgilr|wVVPZKZTfl
z4Gx8pN}5e0($z~+5KMEU)$qWVIDl3VM+{7)Ks=}~IOAL+q&6|}msmPNqCu#1D+nS>
zoX?-~d|QWAN*w35_v9wLW*cJ2T)XyItx
zeg4&}gP!Jtt~Q*a9lVP|r3yECe$`ClU`mnyh(Pps5wz;aKjPT7Nec^~P;k}5LO|~K
z>Z1f5pZfc&iT$=O6(_GqO%d5?645cDuj_ti%4i1haxocTnLWl3PGp12x`6h>Bm71VX2zlpqxeJY_bB*XBbz;7)vEuPV$rtSN#QeP##yenLll?J~M9@2!6xwwD-
zn&aT1TEB7a+o}uqDptw@vwb|TZMqukKAP~&;i=n#Eh8id0W1m8E{1C&Z0b_K{#Df;u%7aDWGc~VkoJ@375=2}g4txjSF8~Q^J1Qz$Fn!_&O
z?+;W-!9YO-ky1gVMWtf^MM7YRp}VEKOTqv|q?z?55PoBW!r>A+JpTAgo@yu5Q+cvR2qoJl`u0yGL
zydSpZqI4+&ul-UwgU^1=39s)A_kQDUk{R{vUTQ*op4G2A^I
zf?wxXXuqvdxN}2O6P5E!3zwWp^g{~C;PEi$?OXDwnwp|)zj5he(n856L{d?;B`+P8
zx89v~-Wh2lE#xo2k9zi=BB
z$4^eOqdYWuHEXfHw{URXpJ7B2A1wRyO#ad(lb+cw4(i!EU@6Ig8yx{GYm9SA&D8g|
z^5VFz6fi374?DwF;_kkwF$8JDfkK66igSSbZCQd7>O(TzaEE_@6gm5!WMDrNqg%h!lnKxdInI
zmJvTf11$$(%7qZ~g6=PS`UXshl*uOhVggRcO{Lt-z&o83UBSNnjo+$%?RJquIo0L$
z1|$hDQ`#6zk+(xU&l*U)d}1{^8jA2(*j=vPA<&gy8!HLA(U_plnc$v0(C|A=*iI=(
z2FK(O=LHVv>(f1kPcf~ktE56o@aQAC+-;)E=TTJC_5{Zv~
zyu0^P*sehl^ppyGrI|6&gRSoaga6m6Dx@-Z`RRx3vGinoyoYZ%-#(WSt!WpDTydZ*
z7w^FLbj*0y9ZG09~L0=*0umaEG6VR48c!}db}`rhC$yPYIsh;m|H%
zkhRsb$h!4IBA-TNdMxSY%3aKcpe5r=IwDKNoOVy%%SqLpF8-#JtBW%$e11A&+ma=^_9%Cqc&F
zgyF~4yr5dGj^|BY{v83>^v0@RJLy)+4mDmc9W`Kj7CEEBW?=h}9c{ZAV(r%1TQ!dq
zP8Y9^Sj~~$MK@E_>K_UvZ4|)9h$OCjqBQ#4R!cu6F~2Y`dYRZJV)jNY_jpI=ljC*I
zV%kF9f(4fZ+dlSMgC?>m-GVN^-ci?pEJxA%)k`RCp5p;h!U(taZN#q+<`!icKy+!Lf&g7LgKeSx;rDkEn?9u!9F6y#_foaxAkRb
zNwAI}NAFX!sqfQBe2nqi>DauUn?y$&8EGmm`Bs)cfY34|^-?W#PV{8#g}a6xbG60)
z1m|T9JYrp?wphh0_nzgD>bEhr2B0j7eh(Yy_Iqje!LHj5gdM$6b{8{(H-&pj2P%n%R@NQktGo-zeH9)vRRZHjmkAZ>THFMtlnJy>c7fEmU
z>=&^kW6X!Qq^EeyHWYOC3P0i7wz>YzO8wW@0DK+s8GdPLHR}67n7BEEoRxKs&i`ML
z@0ceZmNxR`6GZ|8=DO1VbM^f@LM)I@=rBW@O~VX%u2xS##Ve!uDY{v5db^Hs&xVx$
zi14*6Nl8?)&P|(V7X{sm@v80JoFeG1JqG5zVM`f6xalvZ^1ZDGHe>?NPz6xv;IKV&6JyVIIVDs4qD3e}kt34WDP=MFP{WxlVp8Rvk
z{POL2f)--M?ZD*d+uv%>h817OWMn*$MRdmEjWkQ4DV?JdC;!HT{{7V|{nBQbqyHz&
zVsrBYSygo3Pa|qoX1+o7>bVa1Qog&4mtE0X%k6W7M&OQkp3qWmfT8mqX?`t@&_E1S
zwPhGV{4YzigsVEN}{+4*`7S4?QV~~&!6?bAi-bf8$iR9j`x`Q
z1)-kbfFv{RWy+P8|A7hW@IANul};40qx9d`@NYMZFOj^g$AFjUNMHYR%)d@7k^(>y
zIgS3JxClukbB-i(dFuK2kLTht=}Sf6VyBif_=0Q0jOTEvfv&}`e^T%9O~G@xltrKD
zMR2L0bGVcQOZ10};8Kgg#gG(U^q*jobn)xt09=YFRi2*of{pzD*d!yLQyr-<7zlxX
zwJ=xw=R*dZja9ig1OkbrHHalryUAhnVt)kRG1}VqoT-t
z=Tm51!UbDIZeB2Ip8O@AD-@8B&o>Zn9s>{W5oy+JI<;gE3M3-VPUSictelg4X!*CN&P5)-3B&lNUDAx
zuk~%{^^md)9*mdrKL|ABsTkMC=;039iE>x-G}(hKA#qc_DQS1?{^TL);$|d_#evj>
z#*`nm7_}Ct7127Z5|pana@((rXnrR>CFp^IyU+8X8kRax>Bo|Ey*I
zdjl3bsKPv^xDh)ma={yRJLd+ToiR-;Ii%!ab?z5Y?&W{L=KoqWaGDS%^IM1Mq44e_
z9eu6G8~_6R|4w?&!wAT?sq(k0e(9?NM`)f6lmvL{O(^gOxa$1QJjqKXq!h4iG)<1a
z(e*rniCf4E*ot^S64TAf^w5x%F~?KRD*KL$iAafuGp54DB@4ah%rPb{ZzP(man(^&
z{gd1P%AEWP^ZQ$I>7mhd!sA(av(*L{9Lo)n%Pb|K;*+iKgE$6mG%Gim;DNe(s=@d>SXC)U}Za*`stPHd_iGovcL|yKnXa4!qC`3naVhh)(
ztgoMTD(GAp6B8pB5mYA|M0C(YHwaV&Fx{*t^zwXBfitW~g+l)>T?GBxAjvItKpp01mw`w~AzBWcbiaYX-74
z%2g6+7YsF4y4KqK1ifA?`3Xk#?d|O`3kyrDs6;W}zc0aEw>2#sNTkMRGsZ+Q?FF`L
zSn^6mb~PIK9$a4?&JF5cFvTpft9KWkHRzc4rErk!>?oG5yHEBe@Vvgmq07|rUY|0q
z_F=;A>__ENR}`P#v@=5NYoLmBJiGU>3AiT$gw2bGy3C7vu60TG*ai`fkB>XeV99#y
zqy5p^XGbd^Ob1w5aEAR)b4fF0TulcRVZ|6~l
zY@9js))tg{Zu2A^B)I!u51NjHxZ|r>KDqx2Bsg~4n&xEi-%Zp7oziqjP%fJ6-g$e5
z2Az_}r2{=2!14F&YNx!3#eQey#W6ohpEs#MX6(Qewh16bwYw@>jmEKtAorPPl0c8}
zhZ~a>k?dz%Dln0I{C2xB&}x3A57&RKBlE@k|M@nHhu;~41+pn3TEBzg5dL9RvyRWH
zgRrezPF-z5nSNNWz)?!D7&e9LcP+|3_Ti1KZ#vLLs@t7_N2kC(XJ}|h4H>=Z)N=45
z({s=Kv)eIjEoy(RRrVChauZAL~cmJe+wx6)fBkErK{i&Nw9N`s^GJ!e=6P`}jef
z^~YDgmsu(7b!8jKOx3zB)>?m%Q8tQ{_rQp5IJB>3cONgOGV}28)Ltv!^+Y$2nN5`6
zRVk?LO7R)oaoUkueyyvUQlNDC;|F?rPW~B})Cuzp8|6ajevt);;KKgdiumxoGjAOv
zWuY8b-6>7YV${{em}u|-#&aigrxvA(Qs;CD`w~6k^u6shE_SI$BhLxb+>Rdqja)*(hm>l%{>;dqT^0ur?CQKFo7o
zdwjXh?x=8gYtZcJVqTA$d+uka0uLHW6>eIU@vL
zP+wLUvZw{;
z>4DxA2*N^kKg@v+f|{c*iC67%l3v==6nT-e_2{UW7^W%6mxaJE9N4aQN2q2y(Ajk~
zF^{m5vgb7cZzei{8b&PKa;2Sno{6yew|dJub%L_l_0iU!i(?OGaXm-
zu~x;202t^pml34?I*ucn;*cooX1Qd1`Ui$uu<%3GnZ^&VlY_KTr|vVJ`MO>^gkqw%
zQb=O%ZDMI>SY+pI}JM7sp=
z)e5ZG?HyCitVmIBAB>rN-X(w(Z(EH_v?#2NeQmgr!$_uG%jmi`rVpQoA8t&LrpW~d
z7YR_$qEp>L!+S@FYd6F0+#%=v(qcckq4sX{!9{KL7iLK4pRjYp;Hy1MQgBVKBc
zF%@xLf5X}ROPk6O#QW%b3$Z%WaOq^Ijv`GoPo64p`MZ-VQx2QRy8ha{7s})
z>rz8g_dRz_->DX^(8Jl0aPN@il!wV9Fdu1
z1SfqW47~oE0gwL5spiJHTd3~iXA-~MPkuJvMV=ixvO+pUtoBu(u7H+Tc;rRi1wRSM
zMi)#7`*nlXR>A0B!YZyWP88$!ktv>Oj_L(c$)h})m44V)h`b7GBx*J2uriH@UEkX`
zFzqEfrHid3sTo}8;o0B9RDWr30r;;Nk5YI2UK$ZmVZECkfD3u9aN0EjpxSw@_aXC9
z#-b6ktyMGF#}T4JlAtuIh%1}Z4f)8*0P_J#q9q-j_4Lg5vR76N4MzaX?enmG)H?k4
zYLP%f6VC5whYI#oDeG>;cja&IYh6QFe@rB`ayaizsD(!dF1*s9FUS3We?{uD#^+tO
z(5bMQtA6~c&zSrKTBu#|N|fmM@y5{*nZeqo+6ui|WU!soqq#1SfX0e>a4>*bJv+57
zo7fAL2vLa7K!c8CxH~G%dv8++G=+{>k9H$xd|*{~{ibeWL(e3~VJy#B{%K^-zP*{F
zEJ67x63E?uqO<{hW)UC0v$MSr1%<+D7x$4Yn_rHM~A32(V6ib-hmoq5%pkhX{F^)Wn3{s{Q?F^
zimN-%A4j)G_^X05VoB48%%X;{NgKz1n8L(q;_o^jBrnZv8*aU+QyP_$jp@Hbr*~-8
zElzd&QxnhnMDoD{k%r$R8fnp43N$Fs`i$hOX>NP@G~4@y{06Zd4Bj%EjqbtOZOw#1
zh@TPH_%Kh*FkTygUMnhqDnm4IEEpuG<3IPfz2l64XIN>f^NS2p1x<^I9(wwkL^$d{
z5$9~zmk`nvZFcV+0>WZjx*j{RUU#)44F`0-`&rpg^e(K5ya{kzxZXk#p>>#?QLoVJ
z=7D#Eyp|^1|G;y~l?co%+3c8(`dopD(4Sj|n?R;^n9}BuXBtn^Iolt2?ne^4Y_DX-
z8w}Mbs)Fx4#a}7{nl%w?574pkjUJn6WV_imfvlh6_c!C2bTRg+G~GX1$bBJG+^{u0
z>3ZpE6T^3)r%6{r_N&znYZLm*T;)CzwMIuuSSy@!twEWn!9Pta!?Qc*)<}i5`zzL3
z$8zF4^wBM;plHdeaZ+!LX|9gII^X&v)1?Eipu#6`S`^O7;{l#p!r7
z+3kjRZZiO-DZW;aX!j({zH7L)j^9MNH+&!C)oYRx8xwOoBrJ@*ipKSGLF`FsN&v#{IxaKJqbd;7pmrh7nN_!k3^avxXrH|imcb0E
zXD}N8i~e(Y*o9h1+{=7A%HE-+=4qY*tgRXzQ;~e0_9_Aaz;I)1F)Y2#KaT{
z8M}!e^%{-gvs|*7C=b!vIH9bj?s=%xEQUu2`BJ5rTG}CkVe8PhFqo{?d(UIQ7Ue@|
zQV_vY8D|TBT!>;53U_pQ;ubEN9_YmGq|dI+{rjILazGNhk_nL2f{xkgT*rIE?9xA;
z{W`wiOwWHECHSWWnsW{CWwE`8HG2iQR2a-vx8MA6Gg|nctno5wOt`Kb@jv(bFT+>k
zJhOFvzWo9_SSelptpue$$wikK34oa;#ZB&9H0qCZQrLgZ_`fr(n}I-9&i!rituoK{NZ`>3{XK&Zki&@ovqjvr7o+eSTu~l%XXb}yS>f)BMvAaU;XKy
zrtM$81t6`G`N~a=i>&&~26*eZh1bmTJ%{UEU&fuOWaQ<`X{RwaWfc^DGE-4fc74)v
zW@cdle_k0uT8P<6$ZcQP+5+YY9&}T8~>f&|8|96sRF711naoidtS-;
zg`K4+b;Y=8mAbt9g&t4^GHWuBV#n(O$Ll>?X1Hem#eU*fukG~H^l=C7pq{JTa8^M7
zio5l#y}Oh$pFP)&Bks?A1%#3oXUa(tVi#u$iAw4ho1ZPM_v6iRK
ziW;>A6776nW_;AdrR#)aDw$E>?k)e`xK;oDNIN}YxkxXO$#w;RCr{O;
zHH_wKXb`H!bysc(GxHYO^imc88e^r+OvzALYII1-FCSQ6RP>=}^I+qRdqmpMFXb?<
zu~A!`;gYkjp?@710#xm?8~lY5ArSIEJQeYu-U@d(O1~Dpa?fu@sc0)FN0XJ66H`yh
z3>SoYnBfNCpmjgOcg!lf^S}Xjd^uEmR9dq07
z;-E(Je0W(#*th1BV1!r&HOLO8g@B_(oDB8kZO^@LxPsy5h@XXdI
zI_p4a$z|l~IXR(0KpKa%zOP@5&19vXIYNuk)e3p1T%X6XFX=!fTRmyGC^btv@B3Av
z5-IIEyP)q`9%pkVyGP#Pq2xSgFNag#X|Np>wD2_{z0F1^lS@;VU@N%98Pv7MpU1}D
zAOx@Z;Z~NHvZu-F{aTKXl|*6OA)ljE^eWc0K+f0cJ+@}Z8_$|gu(T%!;nuKqQDbay
z!6q~UBUZ<@yhVnUj-+hea)~+lM1sa3eYg^k4)GDY^5d}!9lNV_TcX-p$gRe$!vWCQ
zAsPj*FPw>BE6TyUTnWi#+Gp@fdvNs*mc44qB|Nks4rsUtkM#A64nt4Id_L^k}04Q?R4M&ZWB_>|g46ge8ZYlcWjiFsqN$ZKx^
zg(lNEG$7@8O%RBKX*|jUR!-KK@Oz{Acffk}SEq$Fe(omDOkwcXR|zqG4PT+&Ak;fr
zE_m-JmxC~S`5MGGhgkchwX{Gx~bR_IA>PFuF8W6+HqR*$jNAZveIhn}+Lq584zQ;*-}34>#-?B5%P%Cg)Lk^9Ur0CqiK
zjXOFLDASy%5|n9&KhY-BPNq&D31PwiL&XIgpgB*^1zn;T*C;;^eKsw_R$Uh>K3lAh
zisql*V8&~BjazFiN>9T6zNr7kqBj)FgYwQ=JOOIxjN{yGSYOGr+
z)^2r6dD(+-B2vG5bskSvZ4IC8Uftc_g~2ge`X0v$I^`3~$*c-p|Gp)!FySo*&iv7W_|F@YopH9pOQ&Vv*rHTnkEOH=c(wgj
z#Vv~qWKPbV^T%t@^3CY?$X_C-a(Z4~ud>!<5nmpK-&;Edsta`sGx$9Mr0ZZdU`v>8
zYehi~7y)bTCxF`-23Ym+D$>%+8+TDm<^YHpW=0`o0h9ET-wCrIWfpdcc$#lFqq;O`^GaVFPAO0TuaupiQz&Woyz>#u;iFT)zR=Pp2it3qoT=0$DN(_
zzE=-FyXWF7IoMds7(aPRIR)DDhQf1J1T2S&f)bqN8SJ5X)ne#|tzGfPuGFJ}s0VQ{2Lio|dnP`!jnVe#@fFiT8ciH6$KIBO
z*wm+0*_n*$#A{{Oh~X`Bf0_Z0I)AWC1Gz85%3n$ma^%)xa%Vm=rTEWi-p~WTk~Sji
zR}sO*shkz$X81kMhhY1bwy4>)#rEpF{WTGsS*seNr%qv4nT5D`*02F{AYN8ydzBxSPm&9xPpu##+7VG7@*kO>>
z{lf%kBl-#}a&Lu(q`bfDfMVf6PE^887LuLmt@zMQ
z5EtL8&@fUgy@^zhh2Pem8Fqcw-FNZ#Zx6n2fWRP2OS%%z0G}z$ODX#N*PEo(^eyr{
ze{mj?A8o`xm5+8Bm$K;jiMOb82k>ZIqr#;h)
zqU!W0s}AFf_*xD?UP{XS=(8`IdW(fSCcZ@*?xyyu-Y>aD1#FFt11*vdZEr;FaDR%c
zulFh8Lfa^{JTkY{TR8f7!`|o1f^E(HKh$|fa$wCbCC59&G9b>X{s9#JJ-)Zg47k0F
z4-uuJ{Ol_{!(jPHgd+UWircS016=